
ThePhish: 自動化されたフィッシングメール分析ツール
ThePhishは、TheHive、Cortex、MISPをベースとした自動フィッシングメール分析ツールです。Python 3で書かれたFlaskベースのWebアプリケーションで、メールのヘッダーと本文から観測可能データを抽出し、ほとんどの場合最終的な判定を下すまで、分析プロセス全体を自動化します。さらに、アナリストが分析プロセスに介入し、必要に応じて分析中のメールに関する詳細情報を取得することも可能です。TheHiveおよびCortexとの連携には、それぞれのREST APIを利用するためのPython APIクライアントであるTheHive4pyとCortex4pyを使用しています。
以下の図は、ThePhishの高レベルでの動作を示しています。
この例では、ユーザーが分析のためにThePhishにメールを送信する方法と、アナリストがThePhishを使用してそのメールを実際に分析する方法を示します。
ユーザーは、分析対象のメールを取得するためにThePhishが使用するメールアドレスにメールを送信できます。メールはEML形式の添付ファイルとして転送する必要があります。これにより、メールヘッダーの汚染を防ぎます。この例では、使用するメールクライアントはMozilla Thunderbirdで、使用するメールアドレスはGmailアドレスです。
アナリストはThePhishのWebページに移動し、「List emails」ボタンをクリックして、分析対象のメールのリストを取得します。
アナリストが選択したメールに関連する「Analyze」ボタンをクリックすると、分析が開始され、その進行状況がWebインターフェースに表示されます。
その間、ThePhishはメールから観測可能データ(URL、ドメイン、IPアドレス、メールアドレス、添付ファイル、およびそれらの添付ファイルのハッシュ)を抽出し、TheHiveと連携してケースを作成します。
ケース内に3つのタスクが作成されます。
次に、ThePhishは抽出された観測可能データをケースに追加し始めます。
この時点で、Mailerレスポンダーにより、ユーザーに分析が開始されたことがメールで通知されます。
最初のタスクの説明により、Mailerレスポンダーがメールで通知を送信できるようになります。
最初のタスクがクローズされた後、2番目のタスクが開始され、観測可能データに対してアナライザーが起動されます。アナライザーが起動している間、分析の進行状況がWebインターフェースに表示されます。
分析の進行状況は、TheHiveのライブストリーム機能を使用して表示することもできます。
すべてのアナライザーの実行が終了すると、2番目のタスクがクローズされ、3番目のタスクが開始され、ThePhishが判定を計算します。判定が「malicious(悪意あり)」であるため、悪意があると判断されたすべての観測可能データがIoCとしてマークされます。この例では、1つの観測可能データのみがIoCとしてマークされています。
ケースはイベントとしてMISPにエクスポートされ、上記の観測可能データを表す単一の属性が含まれます。
次に、ThePhishはMailerレスポンダーにより、判定をメールでユーザーに送信します。
最後に、タスクとケースの両方がクローズされます。3番目のタスクの説明により、Mailerレスポンダーが判定をメールで送信できるようになります。さらに、ケースは5分後にクローズされ、「True Positive(真陽性)」、「No Impact(影響なし)」として解決されています。これは、攻撃が被害を及ぼす前に検出されたことを意味します。
ケースがクローズされると、判定が分析の進行状況の完全なログとともにWebインターフェースで利用可能になります。
この時点で、アナリストは戻って別のメールを分析できます。上記の例はフィッシングメールに関するものでしたが、分析されたメールが「safe(安全)」と分類された場合も同様のワークフローが見られます。実際、ケースはクローズされ、判定がメールでユーザーに送信されます。
その後、判定はWebインターフェースでもアナリストに表示されます。
一方、メールが「suspicious(疑わしい)」と分類された場合、判定はアナリストにWebインターフェースでのみ表示されます。