NTTセキュリティ・ジャパン SOCアナリストマネージャー 羽田です。
第1日目は、海外の SOC アナリストとの連携に関する取り組みとして、海外のアナリストが執筆したブログ記事を紹介したいと思います。
NTT セキュリティではグローバルの脅威に関する話題を扱った ブログ を公開しています。記事は英語のため本サイトとは別の URL になりますが、海外のリサーチ部隊が得た情報や知見はサービスにもフィードバックしています。その一例として、少し古い記事になりますが、2019年 3月 29日に公開されたバンキングマルウェア TrickBot のインフラに関する興味深い調査結果「Analyzing the botnet infrastructure and threat actors behind TrickBot(TrickBot の背後に存在するボットネットインフラと攻撃者の分析)」の一部を抜粋・日本語訳し、どのような情報が SOC サービスに活かされているかをお伝えします。
---
TrickBot 被害者の分布
Trickbot は 2016年から開発されており、バンキングトロイ Dyreza と歴史的なつながりがあります。このブログ記事では、これまで知られていなかった C2 インフラを解明するために、 独自の知見をどのように利用しているかを説明します。また、調査結果とともにこの過程で得られた落とし穴や知見を共有します。
これまでのところ、3兆の NetFlow データを分析した結果、7件の未知のセキュリティインシデントが脅威分析サービスとして報告されています。
脅威分析サービスで特定されたセキュリティインシデントから得られた既知の TrickBot の C2 ノードに関するフロー情報をシードとして、Threat Intelligence、OSINT、被害者および攻撃者に関するナレッジを使用して、TrickBot インフラの全体像を徐々に明らかにすることができました。
私たちの当初の目標は、TrickBot のコアインフラを、私たちが予測する攻撃者(もしくは単純にボットマスター)の活動地点にマッピングすることでした。
そこで、まず以下のように発想しました。感染したマシンは、1つか多くても少数の C2 サーバーにしか接続しませんが、C2 サーバーの管理者は多数もしくは全ての C2 サーバーに接続します。この理論を適用することでボットマスターが特定できれば、新しく投入された C2 サーバーが活動する前にネットワークの観測に基づいて予測や特定が行えます。
インターネットのノイズの中で被害者、C2 およびボットマスターのトラフィックを自動的に識別するために、フローを分類して関係図を描くことができるグラフベースのアルゴリズムの実装を開始しました。アルゴリズムの一部を以下に示します。
感染した TrickBot のノードから C2 サーバーへのネットワークトラフィックはすでに解析されていて、特定のポートを使用しているため通常のネットワークトラフィックと区別することは非常に簡単です。通信の種類に応じて、通常の HTTP / HTTPS ポート上のトラフィックとともに TCP 447、TCP 449、または TCP 8082 に接続します。TrickBot はハッキングした家庭用の無線ホームルーターを Layer 1 の C2 サーバーとして利用していることからサーバーは停止することがあるため、感染端末をアップデートして新しいサーバーを設定する必要があります。私たちはこれを観測することで、マルウェアや設定ファイルをダウンロードすることなく、感染を追跡して新しいインフラの全体像を把握することができます。
アルゴリズムが決まったので、私たちは最初のシードとして既知の C2 サーバー を追加することから始めました。NetFlow のフィルターに追加するとすぐにこのシードはアクティブな C2 サーバーであることが分かり、600 を超えるアクティブな感染ホストを特定しました。
調査開始時は、約半数のハッキングされた MikroTik ルーターでプロキシサービスが設定されていたのですが、理由が分かりませんでした。このルーターには脆弱性が存在していたため、TOR ノードによって定期的にスキャン、エクスプロイトされて、再設定されていました。このルーターの悪用は、グループの活動や目的の一部であると考えられ、C2 サーバー群の一部がプロキシサーバーとして設定されていたこと裏づけとなりました。しかしながら、TrickBot インフラの攻撃者が、トラフィック監視を回避し、C2 サーバからバックエンドにある Leyer 2 の C2 サーバへのトラフィックを隠すため、ハッキングしたルータに機能を追加していた可能性も考えられます。
MikroTik 製品以外の場合
初期のTrickBotでは感染するとmcconf.xmlという名前の設定ファイルが配置されます。このファイルには、バージョン番号、キャンペーン ID、および感染端末が接続を試みる C2 サーバーのリストが含まれています。
最初に感染した後、マルウェアがどのキャンペーンに属しているかによって、1つもしくは複数の設定ファイルがダウンロードされます。これらは dpost、sinj、dinj と呼ばれます。
IoC情報はTrickBotによって使用される全てもしくはほとんどのC2サーバーが侵入されたホームルーターであることを示唆しています。私たちのリサーチではC2サーバーの約半分がMikrotikルーターであると結論づけました。
私たちの TrickBot の研究と新しい C2 サーバーを検出するためのグラフアルゴリズムの使用は、最初は驚くほど成功しています。2月だけで、当社のボットネットインフラマッピング技術は、既存の検出機能では検出できなかった 7つのアクティブな感染を顧客のネットワークで特定しました。
NetFlow データを利用して新しい C2 サーバーを検出するまでの時間を継続的に改善することができました。VirusTotal の検出スコアで測定すると、新しい C2 ノードを検出した時間が他のどのベンダーより 168 時間早いものもありました。
---