「SUNSPOTマルウェア」:SolarWinds製品のビルド中に埋め込んだ高度な手口を解明
クラウドベースのエンドポイント保護とクラウドワークロード保護の業界リーダーであるCrowdStrike, Inc.(Nasdaq:CRWD、日本支社:東京都港区、以下「CrowdStrike」)は本日、SolarWinds Orion製品のビルドプロセスにバックドアを混入させるために使用されたマルウェア「SUNSPOT」に関する詳細情報を公開しました。SolarWindsは、ネットワークパフォーマンス監視ツールの大手プロバイダーであり、あらゆる規模の組織が世界中でそのサービスを利用しています。2020年12月、綿密に練られたサプライチェーン攻撃がSolarWinds社を襲った事実が判明し、業界を震撼させました。
CrowdStrikeを含む2社では、ビルドサイクルにおいて不正かつ悪意あるコードが組み込まれた、というこの出来事に関する調査および根本原因の究明にあたり、SolarWindsのサポートを行っています。SolarWindsは、顧客やビルドプロセスのセキュリティ確保を目的とした取り組みを進めており、この件についてブログで説明を公開しています(英語)。今回、製品提供に没頭するSolarWindsの開発チームに気付かれることなく、同社のOrion Platformにバックドアを混入させるためビルド環境にデプロイされた悪意あるツールについて、CrowdStrikeではSolarWindsと連携して技術的な分析を行っています。現時点では、SUNSPOTの埋め込み、SUNBURSTバックドア、およびポストエクスプロイトツールのTEARDROPについて、CrowdStrikeでは既知の攻撃者によるものとしていません。そのためCrowdStrike Intelligenceチームは、こうしたアクティビティを仕掛けた攻撃者をStellarParticleと呼び、今回の侵入プロセスを追跡しています。
重要ポイント
- SUNSPOTはStellarParticleのマルウェアで、SolarWindsのIT管理ソフトウェア製品であるOrionのビルドプロセスに、SUNBURSTバックドアを組み込むために使用されています。
- SUNSPOTはOrion製品のコンパイルに関連する実行中のプロセスを監視し、ソースファイルの1つを置き換えてSUNBURSTバックドアコードを混入させています。
- Orionのビルドが失敗し、開発者に攻撃者の存在が警告されるのを防ぐため、SUNSPOTにはいくつかのセーフガード機能が追加されていました。
- 起動時に作動するようスケジュールされたタスクにより、持続性を確保
- AES128-CBCを使用し、バイナリ内において対象のソースコードファイルおよびバックドアソースコードファイルを保護
- ハードコードされたキーでRC4による暗号化を使用し、ログファイルのエントリを保護
- ハードコードされた値(32 78 A5 E7 1A 79 91 AC)で区切られたマルウェアの様々な実行によるログエントリ
- 正規のVMWareログファイルになりすまし、システムの一時ディレクトリC:\Windows\Temp\vmware-vmdmp.logにログファイルを作成
- exeプロセスの仮想メモリを読み取り、対象となるソリューションのファイル名を探すことで、標的のVisual Studioのソリューションビルトを検出
- リモートプロセスのPEB構造体を介した、リモートプロセス引数へアクセス
- ビルドプロセスにおいて、コンパイル前にファイル内容をSUNBURSTが含まれる別のバージョンと置き換えることによる、ソースコードファイルの置き換え
- バックドアコードの行がビルドログに表示されないよう、#pragmaステートメント内にバックドアコードを挿入し警告を無効化および復元
- 改ざんによってビルドエラーが発生しないよう、元のソースコードとバックドアソースコードにおけるMD5ハッシュ値をチェック
- NON-EXISTENT状態のミューテックスを開き、マルウェアの操作者がバックドアの実行を停止して安全に終了するタイミングを検出