オープンソースの StringSifter

マルウェア アナリストは、バイナリの印刷可能な文字を検査するために、静的分析中に定期的にStringsプログラムを使用します。ただし、関連する文字列を手作業で識別するのは時間がかかり、人的ミスが発生しやすくなります。大規模なバイナリは数千以上の文字列を生成し、アナリストの疲労をすぐに引き起こす可能性があり、関連する文字列は無関係な文字列よりも発生頻度が低く、「関連」の定義はアナリストによって大きく異なります。間違いは、マルウェア分析の実行に費やされる全体的な時間を短縮する手がかりを見逃す可能性があり、さらに悪いことに、調査の結論が不完全または不正確になる可能性があります。

stringsifter

今年初め、FireEye Data Science (FDS) チームと FireEye Labs Reverse Engineering (FLARE) チームは、これらの問題に対処するために文字列を自動的にランク付けする機械学習モデルについて説明したブログ投稿を公開しました。本日、このモデルをStringSifterの一部として公開しました。これは、マルウェア分析との関連性に応じて文字列を識別し、優先順位を付けるユーティリティです。

目標

StringSifter は、 Stringsプログラムの下流に位置するように構築されています。文字列のリストを入力として受け取り、マルウェア分析の関連性に従ってランク付けされた同じ文字列を出力として返します。アナリストの作業を楽にし、予測された出力の上部にある最も関連性の高い文字列のみに注意を集中できるようにすることを目的としています。 StringSifter は、ユーザーの既存のマルウェア分析スタックにシームレスにプラグインできるように設計されています。その GitHub リポジトリが複製され、ローカルにインストールされると、次のように、デフォルトの引数を使用してコマンド ラインから簡単に呼び出すことができます。

文字列 <sample_of_interest> |ランク文字列

また、移植性と使いやすさを高めるための Docker コマンド ライン ツールも提供しています。カスタマイズ可能な機能のためにオプションの引数を指定する方法など、StringSifter の使用方法の詳細な概要については、GitHub の README ファイルを参照してください

FireEye のリバース エンジニア、SOC アナリスト、レッド チーム、インシデント レスポンダーから、StringSifter に関する優れた最初の内部フィードバックを受け取りました。心強いことに、経験範囲の両端にいるユーザーも、ツールが有用であると感じていることを観察しています。初心者から、 トレーニング コースの一環として最初のマルウェアを起爆する人から、最前線で入ってくるサンプルをトリアージする専門のマルウェア研究者までです。 StringSifter を一般公開することで、幅広いペルソナ、ユース ケース、クリエイティブなダウンストリーム アプリケーションを実現したいと考えています。また、将来のリリースでツールの精度と有用性を向上させるために、外部からの貢献も歓迎します。

結論

9 月 7 日に開催される DerbyCon 2019 でのプレゼンテーションに合わせて StringSifter をリリースします。また、今年 10 月に開催される情報セキュリティのための応用機械学習に関するカンファレンスでも、このモデルの技術的な詳細を説明する予定です。このリリースにより、StringSifter はFLARE VMFakeNet 、およびCommandoVMに加わり、FireEye が一般公開することを選択した多くの最近のマルウェア分析ツールの 1 つになります。悪を見つけやすくし、セキュリティ コミュニティに利益をもたらすデータ駆動型ツールの開発に関心がある場合は、当社の求人に応募して、FDS または FLARE チームに参加することを検討してください。

参照: https://www.mandiant.com/resources/blog/open-sourcing-stringsifter

コメント

タイトルとURLをコピーしました