Skip to content
Vol. 1 · Ed. 2026
CyberGlossary
Entry № 332

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 の監視などが挙げられます。

  1. 01

    Cobalt Strike ビーコンが CreateRemoteThread を用いて svchost.exe に DLL をインジェクトし、プロセス移行する。

  2. 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 インジェクション に対する防御は通常、上記の定義で述べたとおり、技術的統制と運用上の実践を組み合わせます。

関連用語