mandiant/stringsifter

A machine learning tool that ranks strings based on their relevance for malware analysis.

解決的問題

StringSifter 是為了透過自動對二進位檔中提取的字串進行排序,加速惡意程式分析而設計。分析人員無需手動篩選 strings 或 FLOSS 等工具輸出的數千行內容,而是可以專注於識別惡意程式功能的最相關字串。

工作原理

此工具使用基於梯度提升決策樹(特別是 LightGBM)的機器學習模型,並採用學習排序(learning-to-rank)目標函數。模型以 EMBER 資料集中的惡意程式二進位檔字串為基礎,透過弱監督(weak supervision)產生標籤進行訓練。可透過命令列使用 rank_strings 處理,支援從 flarestrings 或 FLOSS 等字串提取工具接收管道輸入。

適用對象

主要針對需要快速識別二進位檔、記憶體轉儲或沙箱執行中高價值字串的惡意程式分析人員與逆向工程師。

主要亮點

  • 與現有工具無縫整合:可與 flarestrings 和 FLOSS 無縫配合,處理提取出的字串。
  • 批次處理:透過 --batch 選項支援對資料夾中的多個檔案進行批次處理。
  • 靈活過濾:允許使用者僅輸出排名最高的字串,或符合最低分數閾值的字串。
  • 支援 Docker:以容器形式提供,便於部署並在不同平台保持一致執行。

相關

  • 專案
  • 專案
  • 專案
  • 專案
  • 專案