1つのC2キット、30の顧客、そして2つの政府機関

国家プログラムは、自らが動かすインフラを構築することをほぼやめてしまいました。今では他の誰もが利用するのと同じ犯罪市場からレンタルしているのです。しかし、あなたのトリアージルールはその変化に追いついていません。

私が国家に関連する侵入セットの背後にあるコマンド・アンド・コントロール(C2)インフラをマッピングしていたとき、あるクエリの結果が返ってきて、自分が進めていたつもりの調査を事実上終わらせてしまいました。

そのマルウェアは、パブリックブロックチェーン上のスマートコントラクトを読み取ることでC2アドレスを解決していました。公開されているレポートでは1つのコントラクトについて説明されていましたが、サンプルではなくチェーンそのものを起点に調べたところ、そのコントラクトは実は大きなファミリーの一員であることが分かりました。バイト単位で同一のコントラクトが24個、さらに複数の亜種が存在し、いずれも同じイベントを発行し、同じビルダーによって量産されていたのです。これらを動かしていたオペレーターウォレットはおよそ30個でした。

そのうち2つのウォレットは国家関与の可能性がありそうですが、残りの28個ほどは一見普通の犯罪ツールのように見えます。

私は当初、ある攻撃者のインフラを追っているつもりでした。しかし実際に見つけたのは、顧客リストを持つ「製品」でした。

国家と犯罪組織の融合というテーマ自体は、すでに広く報じられており、CSOも国家アクターが犯罪ツールの裏に隠れている実態について記事を書いています。そうした報道の多くは行動面からこの現象を捉えており、「国家が犯罪者のように振る舞い、ランサムウェアを展開し、身代金を受け取っている」というものです。それは事実ですが、私の日々の業務を変えるほどの話ではありません。私が実際の案件で繰り返し直面しているのは、もっと構造的な問題です。国家プログラムは、自らが運用するインフラを構築しているのではなく、レンタルしているのです。この点を理解すると、SOCが日々当たり前のように行っている作業の多くが、実は意味をなさなくなってきます。

まずこの比率に注目してください。これこそが議論の核心だからです。ある国家プログラムと、無関係な犯罪オペレーターおよそ28者が、同じビルダーから生まれた同じC2キットを、同じインフラパターン上で運用していました。このキット向けに私がどんなフィンガープリントを作成しても、それは30者すべてに反応してしまい、自社のネットワーク内にいるのがどのアクターなのかについては何も教えてくれません。

これは、私たちの多くが訓練で教わってきた考え方を逆転させるものです。共有されたキットは、弱いアトリビューション(帰属)シグナルなどではなく、むしろ「アンチシグナル」なのです。それは無関係な攻撃者たちを1つの指標の下にまとめてしまいます。フィンガープリントが特徴的であればあるほど、実際には何の関係もない者同士を、自信満々に同一グループとしてまとめ上げてしまう危険性が高まります。

妥当な解釈は、「共通のサプライヤーが存在し、それぞれ独立した顧客がいる」というものです。2つの政府プログラムと数十人の犯罪者が、同じ犯罪市場からC2の手口を調達していた、ちょうど全員が同じ市販のエクスプロイトを購入するのと同じような構図です。ただし、このデータが誘発しがちな過剰解釈には注意しなければなりません。私はオンチェーンデータだけからオペレーターレベルのアトリビューションを行うことは一切していません。コントラクトファミリーが共有されていることは、その顧客同士が互いを知っている、連携している、あるいはタスクを共有していることを一切意味しません。2つのウォレットに付されている国家関連というラベルは、私がコントラクトから読み取ったものではなく、そのキットに乗っているインプラントについて他の研究者が行ったマルウェアファミリーのアトリビューションに基づくものです。チェーンが教えてくれるのは、1つのビルダーと多数の買い手が存在するという事実だけです。どの買い手が「旗」を背負っているかまでは教えてくれません。

同じ構図は、マルウェア自体にも繰り返し現れます。私がそのオンチェーン手法を使うイラン系ボットネットを調査した際、そのツール自体は実はロシア発祥の犯罪サービスであり、そのアクターが独自に開発したものではなく、既存のものを採用していたことが判明しました。これは考えさせられる事実です。ある国家の情報機関が、自らのC2レイヤーを犯罪ベンダーにアウトソースしていたのです。私が手がけた中国系ローダーの複数の分析でも、同じ構造的理由からアトリビューションを低い確度にとどめざるを得ませんでした。サイドローディングのチェーンや、既製のCobalt Strikeは共有財産であり、国家アクターと犯罪アクターの双方に広く使われています。あるケースでは、ペイロード全体が既製のCobalt Strikeそのものでした。そのバイナリの中には、誰が送り込んだのかを示す手がかりは何一つなく、それでもなお主張するアナリストがいるとすれば、それは占いのようなものです。

別の3つの方向からも見えてくる同じパターン

私が目にできるのは自分自身の案件だけですが、まったく異なる角度からこの問題にアプローチした研究者たちも、同じ結論にたどり着いていることは注目に値します。

Mandiantはネットワークの側面からこの問題に取り組み、中国系アクターが請負業者が運用するリレーネットワークを経由して活動を行っている実態を文書化しました。これは「攻撃者が管理するインフラ」という概念そのものを根底から揺るがすものです。防御側が特に心に留めておくべきなのは、指標の寿命に関する彼らの指摘です。あるノードのIPアドレスはおよそ1か月で入れ替わってしまうため、そのIPを基にブロックリストを作成しても、チケットを書き終える頃にはすでに陳腐化しているのです。

ロシアの場合は、また別の経路でこの結論にたどり着きます。MicrosoftとLumenは、FSBに関連するグループであるTurlaが、コモディティ化されたAmadeyボットを含む他のアクターのインフラをそのまま乗っ取って利用し、独自のバックドアをウクライナの軍事標的に配信していたことを明らかにしました。特に印象的なのは、Turlaがそのアクセス権を購入したのか、それとも単に犯罪組織のパネルに侵入しただけなのか、Microsoftのアナリストでさえ判別できなかったという点です。専門家でさえ「購入」と「窃取」を区別できないのであれば、インフラからその国籍を推測できるという考え方は、もはや成り立たないと言えるでしょう。

イランはこの市場の両側に登場します。CISA、FBI、DC3は、イラン国家に関連するグループがアクセスブローカーとして犯罪アンダーグラウンドで活動していたことを文書化しています。ランサムウェアのアフィリエイトに足がかりを販売し、そこから手数料を得る一方で、顧客に対しては自らの国籍を隠していました。

動機はそれぞれ異なりますが、そこが興味深い点です。イランと北朝鮮は「購入」します。制裁によって、自らコントロールできない市場で買い物をせざるを得ないからです。中国は、そのために存在する国内産業に「委託」します。ロシアは、すでに近隣にいるアクターから、必要なものを大部分「奪う」形を取ります。経路は4つありますが、行き着く先は1つです。もはや「攻撃者が所有するインフラ」というものは、あなたが見つけられる形では存在しないのです。

アトリビューションだけでなく、トリアージそのものが崩れる理由

アトリビューションは誰もが話題にする部分です。しかし、実際にコストがかかるのはトリアージであり、その部分をアップデートしている組織はほとんどありません。

ほとんどのSOCは、書面化されているかどうかにかかわらず、推定される攻撃者の種類に基づいて重大度を振り分ける部分があります。ワークステーション上のコモディティ化されたインフォスティーラーはティア1のチケットとなり、再イメージ化で対応されます。一方、国家関与が疑われる活動はエスカレーションされ、リテーナー契約先への連絡や本格的なハンティングにつながります。このルール自体は妥当で、ほぼ業界標準と言ってよいものですが、その根底には、もはや成り立たない前提があります。それは「使用されているツールと攻撃者の種類が相関する」という前提です。

その前提がどのような結果を招くか見てみましょう。Amadeyは教科書的なコモディティ犯罪ウェアですが、ウクライナではFSBのバックドアを配信する手段として使われていました。Playランサムウェアは犯罪組織の活動ですが、Unit 42はPlayのインシデント内部で北朝鮮の国家グループが活動していることを発見しています。もし「Amadeyはコモディティだからクローズしてよい」というルールを適用していたら、あなたはある情報機関の作戦をクローズし、それをアドウェアとして処理してしまったことになります。

そこで、以下の3つの変更を提案します。いずれも新しいツールを必要としません。

まず、重大度判定をアトリビューションから切り離してください。トリアージは「誰が所有していると思われるか」ではなく、「侵入が実際に何をしているか」に基づいて行うべきです。アクセス、永続化、ステージング、データ流出、そして影響――これらはすべてテレメトリ上で観測可能です。一方、オペレーターの国籍は観測できません。少なくとも、判断を下さなければならないその瞬間には分かりません。重要なホスト上において、コモディティ化されたツールであることが、もはや重大度を引き下げるシグナルとして機能してはならないのです。

次に、検知の起点をインフラではなく、変わりにくい定数に置いてください。レンタルされたアドレスはローテーションされ、リレーノードは毎月入れ替わり、オンチェーンC2はコーヒー1杯分の費用で再設定されてしまいます。動かないのは、そのキット固有の技術的フィンガープリントです。イベントシグネチャ、カスタム暗号の改変された定数、特定のサイドロードチェーン、独特な文字列テーブルなどです。これらはローテーションを経ても生き残ります。そこを起点に検知ルールを構築し、同じルールが国家アクターにも一介の若者にも等しく反応してしまうことを受け入れてください。

そして、確信度に上限を設け、その数値を書面に残してください。ツールが共有財産である場合、ツールに基づくアトリビューションは、よくても低い確度でしか成立しません。そのことを報告書に明記してください。正直に「低い」と書くことは、自信満々の推測よりもはるかに有用です。なぜなら、人はあなたが書いたものを基に意思決定を行うからです。

そもそも、このインフラが「彼らが誰なのか」を教えてくれることは決してありませんでした。それは彼らのものではないからです。その問いを投げかけるのをやめたとき、インフラははるかに有用な証拠へと変わります。

この調査で使用した検知コンテンツとオンチェーンクエリは、私のGitHubで公開しています。

翻訳元: https://www.csoonline.com/article/4205129/one-c2-kit-30-customers-2-governments.html

ソース: csoonline.com