はじめにサイバーセキュリティを再定義した情報漏えい事件
2020年末、ソーラーウインズのサプライチェーン攻撃はサイバーセキュリティ業界を震撼させました。
SolarWindsのOrionプラットフォームのデジタル署名されたアップデートに悪意のあるコードを注入することで、敵対者は何千もの公共部門および民間部門に秘密裏にアクセスすることができました。一見、信頼できるソフトウェアのアップデートに見えますが、バックドアが仕込まれており、歴史上最も壊滅的なサイバースパイ活動の1つを可能にしました。
この事件は痛ましい真実を明らかにした:高度でステルス性の高いゼロデイ脅威に対しては、シグネチャベースやレピュテーションベースの防御策だけでは不十分だ。しかし、もしサプライチェーン内の組織がOPSWAT MetaDefender を導入していたらどうだっただろうか?
MetaDefender 2.4.0により、 OPSWAT 脅威インテリジェンスを統合した適応型エミュレーションベースのサンドボックスOPSWAT 。これはSolarWindsマルウェアが隠そうとした微妙な異常を検出する独自の能力を備えています。
このブログでは、攻撃がどのように展開したかを解き明かし、さらに重要な点として、MetaDefender それをどのように阻止できたかを解説します。
ソーラーウインズの攻撃の手口
SolarWindsのサプライチェーン攻撃は、Orion IT管理プラットフォームで使用されている正規のDLL(SolarWinds.Orion.Core.BusinessLayer.dll)を侵害することで可能になりました。脅威行為者は、このコンポーネントに悪意のあるコードを直接埋め込むことで、このコンポーネントをこっそりと改ざんしました。
見慣れたコードベースに目立たない数行を加えただけの、無害で小さな変更と思われたものが、結局は重大な脅威をもたらすことになりました。このDLLは、公共部門と民間部門の両方で使用される、広く配備されたプラットフォームの一部であったため、攻撃の範囲は前例のないものとなりました。
侵害されたDLLの中には、約4,000行のコードから作られた完全に機能するバックドアが隠されていました。このコードにより、攻撃者は感染したシステムに秘密裏にアクセスすることができ、警報を発することなく被害者のネットワークを持続的に制御することが可能になりました。
この攻撃の最も重要な側面の1つは、ソフトウェアのビルドプロセス自体に配置されていたことです。改ざんされたDLLは有効なデジタル署名を持ち、攻撃者がSolarWinds社のソフトウェア開発または配布インフラに侵入したことを示していました。これにより、悪意のあるコードは信頼できるように見え、標準的なセキュリティ制御をトリガーすることなく特権的なアクションを実行できるようになりました。
ステルス性を維持するため、攻撃者はDLLの本来の機能を破壊することを避けました。注入されたペイロードは軽量な修正で構成されており、ホストアプリケーションの動作が変更されないように、別のスレッドで新しいメソッドを起動しました。このメソッド呼び出しは、既存の関数RefreshInternalに組み込まれていましたが、検出を避けるために並行して実行されました。
このバックドアロジックは、OrionImprovementBusinessLayerという名前のクラスに存在していました。このクラスには、13の内部クラスと16の関数を含む、悪意のあるロジックのすべてが格納されていました。すべての文字列は難読化されており、静的解析が著しく困難になっていました。

従来のセキュリティはなぜ見逃したのか
- デジタル署名だけでは十分ではない: DLLは署名されていたため、AVとエンドポイントツールはそれを正当なものとして扱いました。
- 静的解析は失敗した:難読化と暗号化された文字列が疑わしいロジックをカモフラージュしていました。
- ランタイム・チェックが検知を回避バックドアのステルス性は、非常に特殊な条件が満たされるまで異常が発生しないことを意味していました。
- サプライチェーンの盲点:セキュリティ・チームは、ソフトウェアのアップデートをサンドボックス内で爆発させることなく信頼することが多いです。
これは単なるマルウェアではなく、見えないように仕組まれたサプライチェーンの侵害でした。
MetaDefender これを検出できた可能性について
VMベースのサンドボックスは回避されやすいが、MetaDefender 命令レベルエミュレーションと適応型脅威分析を採用している。これにより、攻撃者が隠蔽を試みた場合でも、隠された動作を検出することが可能となる。
サンドボックスは、この種の攻撃を発見する上で重要な役割を果たします。たとえ悪意のあるDLLがデジタル署名され、正当な動作を模倣するように注意深く作られていたとしても、サンドボックスはバイナリレベルでの異常を分析することで、挿入されたバックドアを検出することができます。
YARAルールとレピュテーション・チェックは、SolarWinds攻撃の当初の状況をシミュレートするため、このサンドボックス・スキャンでは意図的に無効にしています。

クリーン DLL レポート:
Filescan.IO - 次世代マルウェア解析プラットフォーム

トロイの木馬化 DLL レポート:
Filescan.IO - 次世代マルウェア解析プラットフォーム
左側が正規のSolarWinds.Orion.Core.BusinessLayer.dllファイル。右側は、悪名高いSolarWinds事件の原因となったトロイの木馬化されたバージョンです。
サンドボックス分析で明らかになった主な結果を説明しよう:
- 文字列の暗号化:このコードには、様々なマルウェアに見られる典型的な難読化テクニックが使われている。

WMIクエリは、一般的にシステム・フィンガープリンティングと関連している。この場合、検出を避けるために関連する文字列は暗号化されている。

特権の昇格、ユーザー・アイデンティティのなりすまし、アクセス・コントロールの改ざんに関連する複数の指標である。





大きな静的バイト配列(1096バイト)があり、一般的に隠しペイロードを埋め込んだり、ステージングしたりするのに使われます。この場合、プロセス名のハッシュを表す整数値が格納されており、偵察やフィルタリングに使用される可能性が高いです。サンドボックスがこの異常に対してフラグを立てたため、アナリストはさらに調査を進めることができます。

要約すると、4,000行のコードを持つクラスは大きく聞こえるかもしれないですが、何千ものファイルを持つ大規模なソフトウェア・プロジェクトでは、本当に見逃しやすいです。サンドボックスが貴重な役割を果たすのはこの点です。サンドボックスは奇妙な振る舞いを強調し、アナリストにどこを見るべきか、何が本当に重要なのかを教えてくれます。
Threat Intelligence 備えたAdaptive Sandbox どのように攻撃を阻止したか
1.深部構造解析(DSA)
Sandbox 実行前にバイナリを逆アセンブルし、埋め込まれたロジックを抽出します。SolarWindsの場合、これはフラグを立てる:
- プロセス・ハッシュのステージに使用される1096バイトの大きな静的配列。
- マルウェアにありがちな、 圧縮+base64エンコードされた文字列。
- 珍しい OrionImprovementBusinessLayer クラスとその難読化された関数。
2.次世代侵入防止エンジン
MetaDefender 2.4.0 は、SolarWinds で使用された戦術に特に対処します:
- メモリのみのペイロードを公開→ ディスクに書き込まないコードを検出。
- .NET用コントロールフロー難読化解除→ Orionのような難読化されたDLLの解凍に最適。
- 自動Base64デコード→ 攻撃者が使用した暗号化文字列のマスクを解除。
3.Threat Intelligence 強化
検出はサンドボックスで終わりません。MetaDefender は MetaDefender Threat Intelligenceと統合し、以下を提供します:
- エンリッチメントのための50B以上のIOC(IP、URL、ドメイン、ハッシュ)。
- 既知のマルウェアの亜種を検出する類似性検索-たとえ改変されていても。
- 脅威スコアリングにより、このDLLを重大性の高いものとして優先する。
MetaDefender 2.4.0 の利点
最新リリースでは、ソーラーウィンズのような脅威に直接対応する機能が追加されています:
- メモリのみのペイロードの公開→ SolarWindsのステルス的なメモリ内実行が明らかになっただろう。
- パックされたマルウェアのアンパッキング→ 静的アレイの中に隠されたステージングされたペイロードを特定します。
- 疑似再構築バイナリ→ 解析者が難読化された DLL の全体像を見ることができます。
- YARAとコンフィグ抽出の強化→ 暗号化にもかかわらずマルウェアのコンフィグを抽出。
- .NET Loader Unpacking→ Orion DLLの難読化された.NETロジックに直接関係しています。
この記事を書き始めている間に、npmエコシステムのサプライチェーンに対する新たなキャンペーンが公開されました(npmとは、Node.jsに含まれるJavaScriptパッケージ・マネージャーで、JavaScriptをブラウザ以外で実行できるようにするもの)。この最近のキャンペーンには「Shai-Hulud」と呼ばれる自己複製ワームが関与しており、何百ものソフトウェア・パッケージを危険にさらすことに成功しています。この事件は、OPSWAT 発行の「From Dune to npm: Shai-Hulud Worm RedefinesSupply Chain Risk」で詳細に分析されています。
しかしながら、この新たなキャンペーンは、MetaDefender チェーン侵害に対して最新かつ有効であることを示す点で、本記事の文脈において特に重要である。悪意のあるファイル「bundle.js」に関する当社のレポートを参照されたい。同レポートでは、難読化されたコードを用いたライブラリのダウンロードを検知し、この活動を「悪意のある可能性が高い」と判定している。

上記の投稿で概説されたベストプラクティスに従い、すべてのオープンソース依存関係は、その安全性が証明されるまでは信頼できないものと見なすべきです。影響を受けたnpmパッケージへの更新がMetaDefender で分析されていれば、悪意のある行動や不審な行動が拡散する前に特定されていたでしょう。
これらの機能は、MetaDefender SolarWindsやNPM攻撃者が依存したステルス性と難読化に特化して設計されていることを示しています。
ケース例Sandbox レポートがどのように見えたか
1.静的所見
a.疑わしい難読化されたクラス名(OrionImprovementBusinessLayer)。
b.ハッシュ値にリンクされた大きな静的配列。
c.暗号化された Base64 文字列。
2.動的所見
a.WMIシステムクエリ。
b.特権昇格の試み
c.オリオンのメイン・ワークフロー外の隠しスレッドの作成。
3.Threat Intelligence 相関
a.類似性検索では、既知のAPTサンプルと95%以上一致する。
b.IOC相関はC2インフラの重複を特定する。
c.脅威スコアリングは、DLL を「悪意のある高信頼度」と評価する。
ディフェンダーへの教訓ソーラーウィンズとその後
SolarWinds社の侵害は警鐘となったが、サプライチェーンへの攻撃は増加の一途をたどっています。2025OPSWAT Threat Landscape Reportによると、重要インフラは依然として最重要ターゲットであり、ファイルベースの難読化ローダーがますます一般的になっています。
MetaDefender 防御担当者に以下を提供します:
ゼロデイ耐性
予備知識に頼らない行動検知。
Supply Chain 保護
アップデート、パッチ、ベンダーが提供するファイルはすべて爆発させることができる。
コンプライアンス保証
NIST、NIS2、HIPAA、NERC CIPのゼロデイ検出要件に適合。
実用的なインテリジェンス
SIEMおよびSOARパイプラインに直接供給される忠実度の高いIOC。
ゼロデイ準備ディフェンスの構築
SolarWindsのサプライチェーン攻撃は防げなかったのではなく、検出されなかったのです。MetaDefender 導入されていれば、難読化されたDLLは本番環境に到達するずっと前に検知され、復号化され、フラグが立てられていたでしょう。
攻撃者が回避戦術に磨きをかけている今日、エミュレーションベースのサンドボックスはもはやオプションではありません。本格的なゼロデイ防御戦略の基礎となるものです。
MetaDefender 2.4.0OPSWAT Threat Intelligenceを活用することで、組織は侵害への対応から、侵害が発生する前に積極的に無力化する段階へと移行できます。
MetaDefender Aetherの詳細をご覧ください。


