正規プログラムの検索順序を悪用し、セキュリティソフトの目をすり抜けるDLLサイドローディング攻撃は、近年のサイバー攻撃で多用されています。「なぜ正規アプリが悪用されるのか」「どのようにマルウェア感染を防ぐべきか」を構造的に理解できる内容となっておりますので、社内の情報セキュリティ担当者や、安全なWeb開発を目指す方は是非ご一読ください。
1. DLLサイドローディング攻撃とは?その仕組みと脅威

DLLサイドローディング攻撃とは、Windows OSや正規のアプリケーションが、実行時に必要なプログラムコード(DLLファイル)を読み込む際の「検索順位の仕組み」を悪用したサイバー攻撃です。
通常、アプリケーションは定められた特定の順序(自身と同じフォルダが最優先されることが多い)に従って必要なDLLを探し出します。攻撃者はこの仕様を悪用し、正規の実行ファイル(EXE)と同じフォルダなどに、アプリケーションが読み込もうとするファイル名に偽装した「悪意あるDLL」を配置します。すると、ユーザーが安全だと信じて正規のアプリケーションを起動した際に、裏で密かに悪意あるプログラムが読み込まれ、実行されてしまいます。
この攻撃の最大の脅威は、「正規の署名を持った安全なアプリケーション」が攻撃の引き金になる点にあります。一般的に信頼されているアプリケーションのプロセスとして悪意あるコードが動作するため、従来の「検知型」のセキュリティ製品では不審な挙動として認識しづらく、検知を回避する目的でこの手法が悪用されるケースが多数報告されています。
2. なぜDLLサイドローディング攻撃は後を絶たないのか?
近年、アンチウイルスやEDRといった検知型のセキュリティ製品は高度化しており、昔ながらの「明らかな悪意を持ったプログラム」を単独で実行させてシステムを感染させることは困難になっています。
そのため、攻撃者は巧妙な文面のメールを送りつけ、ユーザー自身にファイルを実行させる手口を多用する傾向にあります。こうしたメールを起点とした攻撃において、セキュリティ網の検知を逃れる手段としてDLLサイドローディングが好んで用いられていると推測されます。
この手法が選ばれる理由は、「検知のすり抜けやすさ」だけでなく、攻撃の準備が非常に簡単であるためだと考えられます。OSの「正常な仕様」をそのまま悪用するため、複雑な攻撃コードを一から開発する必要がありません。インターネット上で公開されている「正規の実行ファイル(EXE)」を用意し、悪意あるコードを仕込んだ偽装DLLとセット(ZIPファイル等)にして送り込むだけで成立してしまうのです。
つまり、「高度な技術を持たない攻撃者であっても、既存のセキュリティを容易にすり抜ける攻撃キットを作れてしまう」という点が、この手法が猛威を振るう最大の要因となっているのではないでしょうか。
3. DLLサイドローディング攻撃の例
下図に示す攻撃フローは、ある脅威グループが日本を始めとするアジア太平洋地域に属する組織に対して展開した攻撃キャンペーンで実際に使用されたものです。この攻撃フローでは、2段階のDLLサイドローディング攻撃(青枠で囲んだ部分)が組み込まれています。
1段階目:中国語入力システム(IME)の正規ファイルを介して悪意あるDLLファイルを読み込む
2段階目:Windows .NET Frameworkの正規ファイルを介して悪意あるDLLファイルを読み込む
既存の検知型セキュリティ製品での対応が難しいとされる、正規の実行ファイルを起点としたDLLサイドローディング攻撃に対し、極めて確実性の高い防壁として機能するのが、AppGuardに搭載されている「Code Load機能」です。
Code Load機能は、アプリケーションが自プロセスのメモリ領域内にプログラムコード(DLLファイルなど)を読み込んで実行しようとする挙動を確実に捕捉します。そして、その対象となるDLLファイルが、AppGuardによって「信頼された発行元」に登録されたデジタル署名を保持しているか、あるいは管理者によって個別に許可されていない限りは、プロセスのメモリへの読み込みを認めないという厳格な制御を行います。
この攻撃において、トリガーとして悪用されるEXEファイルは信頼できる正規のデジタル署名を持っているケースがほとんどですが、一方で読み込まれる悪意あるDLLファイルは、筆者が検証してきたサンプルの傾向から署名を持っていないケースが大半です。
Code Load機能は、起動した正規のEXEファイルを介して読み込まれようとする無署名もしくは「信頼された発行元」に登録されていない署名を持つ不正なDLLファイルの読み込みそのものを初期段階で確実に阻止します。正常な仕様や正規ルートを巧妙に隠れ蓑にした攻撃であっても、この厳格なプログラムコードのロード制御により、プロセスの侵害を未然に遮断し、エンドポイントの安全性を強固に維持することができます。
前述の攻撃例においても、AppGuardは2つのDLLサイドローディング攻撃を完璧に封じ込めました。
正規プログラムを悪用するDLLサイドローディング攻撃は、検知回避を狙う攻撃者の常套手段です。仕組みとリスクを正しく理解し、適切な防御策を講じて被害を防ぎましょう。その中の一つの防御手段として、是非AppGuardをご検討ください。
AppGuard製品ページ / 製品に関するお問い合わせ / ホワイトペーパーのダウンロード
株式会社AppGuard|執筆:AppGuard 上席セキュリティアドバイザー
※株式会社Blue Planet-worksは「株式会社AppGuard」へ社名変更いたしました。また、2026年4月1日より「AppGuard Enterprise」および「AppGuard Small Business Edition」は「AppGuard Workstation」へ統合・名称変更いたしました。