Programs may specify DLLs that are loaded at runtime. Programs that improperly or vaguely specify a required DLL may be open to a vulnerability in which an unintended DLL is loaded. Side-loading vulnerabilities specifically occur when Windows Side-by-Side (WinSxS) manifests (Citation: MSDN Manifests) are not explicit enough about characteristics of the DLL to be loaded. Adversaries may take advantage of a legitimate program that is vulnerable to side-loading to load a malicious DLL. (Citation: Stewart 2014)
Adversaries likely use this technique as a means of masking actions they perform under a legitimate, trusted system or software process.
このT1073は、「正規のプログラムが特定のDLLを読み込む仕組み」を悪用して、攻撃者の悪意あるコードを実行させるものです。
攻撃者は一般的に以下の3つのファイルを同じディレクトリに配置します。
[攻撃ステップ]
A.exe を起動します。B.dll が優先的に読み込まれます。A.exe の権限とプロセス名で、悪意のあるコードが動作を開始します。DLLサイドローディングは「正規プロセスの動作」に見えるため、防ぐにはOSレベルおよび開発レベルの対策が必要です。
SetDefaultDllDirectories を使用して、DLLを検索するパスを制限する。C:\Windows や C:\Program Files などの書き込み制限が厳しい場所にアプリケーションを配置し、攻撃者がファイルを置けないようにする。この手法はアプリケーションの「仕様」や「設計」を突くため、OSの脆弱性というよりは各ソフトウェア個別の脆弱性として報告されます。
※実際には、APT41や Lazarus といった国家背景を持つ攻撃グループが、独自のツールを動かすために「脆弱性のない正規ソフト(VLCメディアプレーヤーの旧版など)」を悪用してこのテクニックを頻繁に使用します。
この攻撃手法を利用する脅威アクターは登録されていません。