DLL インジェクション
DLL インジェクション とは何ですか?
DLL インジェクション対象の Windows プロセスに攻撃者提供の DLL を強制的にロード・実行させるコードインジェクション手法。
DLL インジェクションは、実行中のプロセスに悪意のある DLL を自身のアドレス空間にマップさせ、その DllMain やエクスポート関数をホストプロセスの権限と信頼属性で実行させます。古典的な手法では、OpenProcess、VirtualAllocEx、WriteProcessMemory で DLL のパスを書き込み、LoadLibraryA を呼び出す CreateRemoteThread を発行します。亜種にはリフレクティブ DLL ロード(ディスク上に DLL を残さない)、SetWindowsHookEx、AppInit_DLLs レジストリの悪用などがあります。MITRE ATT&CK では Process Injection 配下の T1055.001 に分類されます。対策には、プロセス越しの API トレーシングが可能な EDR、カーネルコールバック(PsSetCreateProcessNotifyRoutineEx)、Protected Process、コード署名、重要プロセスへのリモートスレッド生成のブロック、Sysmon Event 8 の監視などが挙げられます。
● 例
- 01
Cobalt Strike ビーコンが CreateRemoteThread を用いて svchost.exe に DLL をインジェクトし、プロセス移行する。
- 02
マルウェアが AppInit_DLLs を悪用し、すべての対話プロセスに認証情報窃取 DLL をロードさせる。
● よくある質問
DLL インジェクション とは何ですか?
対象の Windows プロセスに攻撃者提供の DLL を強制的にロード・実行させるコードインジェクション手法。 サイバーセキュリティの 攻撃と脅威 カテゴリに属します。
DLL インジェクション とはどういう意味ですか?
対象の Windows プロセスに攻撃者提供の DLL を強制的にロード・実行させるコードインジェクション手法。
DLL インジェクション はどのように機能しますか?
DLL インジェクションは、実行中のプロセスに悪意のある DLL を自身のアドレス空間にマップさせ、その DllMain やエクスポート関数をホストプロセスの権限と信頼属性で実行させます。古典的な手法では、OpenProcess、VirtualAllocEx、WriteProcessMemory で DLL のパスを書き込み、LoadLibraryA を呼び出す CreateRemoteThread を発行します。亜種にはリフレクティブ DLL ロード(ディスク上に DLL を残さない)、SetWindowsHookEx、AppInit_DLLs レジストリの悪用などがあります。MITRE ATT&CK では Process Injection 配下の T1055.001 に分類されます。対策には、プロセス越しの API トレーシングが可能な EDR、カーネルコールバック(PsSetCreateProcessNotifyRoutineEx)、Protected Process、コード署名、重要プロセスへのリモートスレッド生成のブロック、Sysmon Event 8 の監視などが挙げられます。
DLL インジェクション からどのように防御しますか?
DLL インジェクション に対する防御は通常、上記の定義で述べたとおり、技術的統制と運用上の実践を組み合わせます。
● 関連用語
- attacks№ 862
プロセスインジェクション
正規プロセスのアドレス空間で悪意のコードを実行し、その信頼と身元を継承する回避手法の総称。
- malware№ 417
ファイルレスマルウェア
ディスク上の従来型実行ファイルを使わず、主にメモリ上で動作して正規のシステムツールを悪用するマルウェア。
- malware№ 649
マルウェア
コンピュータ、ネットワーク、データを妨害・破壊したり、不正にアクセスしたりする目的で意図的に作成されたソフトウェアの総称。
- defense-ops№ 371
EDR(エンドポイント検知・対応)
プロセス・ファイル・レジストリ・ネットワーク活動を継続的に記録し、エンドポイント上の脅威を検知・調査・対応するエンドポイントセキュリティ技術。
- defense-ops№ 682
Mimikatz
メモリーや LSASS から平文パスワード、ハッシュ、Kerberos チケットなどの認証情報を抽出する、オープンソースの Windows 用ポストエクスプロイト ツール。
- defense-ops№ 298
防御回避(Defense Evasion)
検知を回避し、セキュリティ製品を無効化し、活動を隠すために攻撃者が用いる手法をまとめた MITRE ATT&CK 戦術(TA0005)。