BinaryAlert

無伺服器即時和回溯惡意軟體偵測
1,149
作者Austin Byers, @mimeframe, Daimon Greaves

無伺服器即時和回溯惡意軟體偵測

Build Status Coverage Status Documentation Status

BinaryAlert 是一個開源的無伺服器 AWS 管道,任何上傳到 S3 儲存貯體的檔案都會立即使用一組可配置的 YARA 規則進行掃描。一旦發現任何匹配項,就會立即觸發警報,讓事件回應團隊能夠在威脅擴散之前迅速控制它。

功能特色

  • 基於 Amazon Web Services (AWS) 建置: 您只需要一個 AWS 帳戶即可部署 BinaryAlert。
  • 廣泛的 YARA 支援: 新增您自己的 YARA 規則和/或自動從第三方儲存庫複製它們。
  • 即時: 上傳到 BinaryAlert (S3 儲存貯體) 的檔案會立即排隊等待分析。
  • 無伺服器: 所有運算都由 Lambda 函數處理。無需管理伺服器意味著更強大的安全性與自動擴展!
  • 基礎設施即程式碼: 整個基礎設施都使用 Terraform 組態檔進行描述,使任何人都能夠在幾分鐘內透過單一命令部署 BinaryAlert。
  • 回溯分析: 在更新 YARA 規則集後,BinaryAlert 將回溯掃描整個檔案語料庫,以找出任何新的匹配項。
  • 易於配置: BinaryAlert 配置是在單一 Terraform 變數檔案中進行管理。
  • 高品質程式碼: 以 Python3 編寫,並具有單元測試和程式碼檢查,以確保程式碼庫的整潔和可靠。
  • 低成本: AWS 帳單僅根據分析的檔案數量計算。

架構

BinaryAlert Architecture

  1. 組織收集檔案並將其傳送到他們的 BinaryAlert S3 儲存貯體。感興趣的檔案可能包括可執行二進位檔、電子郵件附件、文件等。
  2. 每個上傳到 S3 儲存貯體的檔案都會立即排隊等待分析。
  3. 一個分派 Lambda 函數每分鐘執行一次,將檔案分組為批次並平行調用多達數十個分析器。
  4. 每個分析器使用預先編譯的 YARA 規則列表掃描其檔案。
  5. YARA 匹配項會儲存到 DynamoDB,並將警報發送到 SNS 主題。我們使用 StreamAlert 來分派這些警報,但其他組織可以改用電子郵件或任何其他支援的 SNS 訂閱來接收警報。
  6. 對於回溯分析,批次處理 Lambda 函數會將整個 S3 儲存貯體排隊以進行重新分析。
  7. 如果任何 BinaryAlert 組件行為異常,可配置的 CloudWatch 警報將會觸發。這將通知與用於 YARA 匹配警報不同的 SNS 主題。