Overview
ドライブバイダウンロード(Drive-by Download)とは、ユーザーがWebサイトを閲覧しただけで、知らないうちにマルウェアが自動的にダウンロード・実行される攻撃手法です。ユーザーのクリックや同意なしに感染が成立するため、セキュリティ意識の高いユーザーでも被害に遭う可能性がある極めて危険な攻撃です。
攻撃者はブラウザやそのプラグイン(Flash Player、Java、Silverlight等)の脆弱性を悪用し、正規のWebサイトを改ざんしたり、Malvertising(マルバタイジング)と呼ばれる悪意のある広告を正規の広告ネットワークに紛れ込ませたりすることで、大量のユーザーにマルウェアを配布します。
ブラウザのセキュリティ強化(サンドボックス化、自動更新)やFlash Playerの廃止により、従来型のドライブバイダウンロードは減少傾向にありますが、ゼロデイ脆弱性を利用した高度な攻撃や、ソーシャルエンジニアリングを組み合わせた新たな手法は依然として脅威であり続けています。
Details
攻撃プロセス
ドライブバイダウンロード攻撃は、通常以下の段階で進行します。
- 侵入経路の確保:正規Webサイトの改ざん(CMSの脆弱性を悪用)、または広告ネットワークを通じた悪意のある広告(Malvertising)の配信。水飲み場攻撃(Watering Hole)の手法で、標的組織がよく訪問するサイトを改ざんするケースも多い
- 脆弱性スキャン:改ざんされたページにアクセスしたユーザーのブラウザ環境(OS、ブラウザバージョン、インストール済みプラグイン)を自動的にスキャンし、悪用可能な脆弱性を特定する
- エクスプロイトの実行:検出された脆弱性に対応するエクスプロイトコードを実行し、ブラウザのセキュリティ機構を回避して任意のコードを実行できる状態を作り出す
- ペイロードの配信:ランサムウェア、バンキングトロイ、情報窃取マルウェア、バックドアなどのペイロードをダウンロード・実行する。多段階のローダーを使用してセキュリティ製品の検知を回避することが一般的
iframeインジェクション
ドライブバイダウンロードで最も一般的な手法の一つがiframeインジェクションです。攻撃者は正規のWebページに不可視のiframe(幅0px、高さ0px、またはページ外に配置)を埋め込み、そのiframe内で悪意のあるサーバーからエクスプロイトキットを読み込みます。ユーザーの画面上には何の変化も見えないため、感染に気づくことは極めて困難です。JavaScriptの難読化やドメイン生成アルゴリズム(DGA)を組み合わせて検知を回避する手法も一般的です。
エクスプロイトキットとの連携
ドライブバイダウンロード攻撃の多くはエクスプロイトキット(Exploit Kit)と連携して実行されます。Angler、Rig、Magnitude、Falloutなどのエクスプロイトキットは、複数の脆弱性を自動的にスキャン・悪用する機能を提供し、技術的知識の乏しい攻撃者でも大規模なドライブバイダウンロード攻撃を実行可能にしています。これらはダークウェブ上でMaaS(Malware as a Service)として提供されるケースも多いです。
ブラウザセキュリティの進化
近年のWebブラウザは多層的なセキュリティ機能を実装しており、ドライブバイダウンロードへの耐性が大幅に向上しています。
- サンドボックス:各タブやプラグインを隔離された環境で実行し、エクスプロイトが成功してもシステム全体への影響を制限する
- 自動更新:脆弱性の修正パッチを自動的に適用し、攻撃窓口(Window of Vulnerability)を最小化する
- Safe Browsing:Google Safe BrowsingやMicrosoft SmartScreenなどのURL評価システムにより、既知の悪意あるサイトへのアクセスをブロックする
- プラグインの廃止:Flash Player、Java Applet、Silverlightなどの脆弱なプラグイン技術が廃止され、攻撃対象面が大幅に縮小した
Malvertising(マルバタイジング)の手法
Malvertisingは、正規の広告ネットワークを悪用してマルウェアを配布する手法です。攻撃者は広告主として広告プラットフォームに登録し、一見無害な広告を出稿します。広告が表示されるだけで(クリックせずとも)悪意のあるコードが実行されるケースもあります。リアルタイムビディング(RTB)による広告配信の自動化と複雑なサプライチェーンが、Malvertisingの検知と防止を困難にしています。大手ニュースサイトやポータルサイトでもMalvertisingによる被害が報告されており、サイトの信頼性だけでは安全性を判断できません。
Security Measures
- 01ブラウザとOSの自動更新を有効化:Webブラウザ、OS、およびすべてのソフトウェアの自動更新を有効にし、セキュリティパッチを速やかに適用してください。特にブラウザの更新は脆弱性の修正に直結するため、更新の遅延は攻撃リスクを大幅に増大させます。
- 02広告ブロッカーとスクリプト制御の導入:信頼できる広告ブロッカー拡張機能を導入し、Malvertisingのリスクを低減してください。NoScriptなどのスクリプト制御拡張機能を使用して、信頼されたサイトのみでJavaScriptの実行を許可する設定も効果的です。
- 03ネットワークレベルでのWebフィルタリング:企業ネットワークにDNSフィルタリングやWebプロキシを導入し、既知の悪意あるドメインやエクスプロイトキットのインフラへのアクセスをブロックしてください。SSL/TLSインスペクションによる暗号化通信の検査も検討しましょう。
- 04エンドポイント保護プラットフォーム(EPP/EDR)の導入:次世代アンチウイルスやEDR(Endpoint Detection and Response)ソリューションを導入し、エクスプロイトの実行やマルウェアのダウンロードをリアルタイムで検知・遮断してください。振る舞い検知機能により、未知のマルウェアにも対応できます。
- 05不要なプラグインの無効化と最小権限の適用:ブラウザで使用していないプラグインや拡張機能をすべて無効化または削除してください。Click-to-Playの設定を有効にし、プラグインコンテンツの自動実行を防止しましょう。管理者権限での日常的なブラウジングは避けてください。
- 06Webサイト管理者向け:CMSとサーバーの堅牢化:Webサイト運営者は、CMSやプラグインを常に最新バージョンに保ち、Webアプリケーションファイアウォール(WAF)を導入してください。CSP(Content Security Policy)ヘッダーを適切に設定し、不正なスクリプトやiframeの挿入を防止しましょう。改ざん検知システムの導入も重要です。
Incidents
📋 Gumblar(ガンブラー)攻撃(2009年)
2009年、日本を含む世界各地で大規模なドライブバイダウンロード攻撃「Gumblar」が猛威を振るいました。攻撃者は多数の正規Webサイトを改ざんし、サイト訪問者のPCにマルウェアを自動的にダウンロード・実行させました。
日本ではJR東日本、ホンダ、ローソンなど大手企業のWebサイトが次々と改ざんされ、社会的に大きな問題となりました。感染したPCからFTPの認証情報が窃取され、それを利用してさらに多くのサイトが改ざんされるという連鎖的な感染拡大が特徴でした。この事件を契機に、日本国内のWebサイト管理者のセキュリティ意識が大幅に向上し、FTPからSFTPへの移行が加速しました。
📋 Yahoo! Malvertising事件(2014年)
2014年1月、Yahoo!の広告ネットワークを通じて大規模なMalvertising攻撃が実行されました。攻撃者はYahoo!の広告枠に悪意のある広告を出稿し、Yahoo!のページを閲覧したユーザーを自動的にエクスプロイトキットのサーバーにリダイレクトしました。
被害は主にヨーロッパのユーザーに集中し、推定で毎時約27,000人のユーザーがマルウェアに曝露されたとされています。配布されたマルウェアにはZeusやAndromedaなどのバンキングトロイが含まれていました。世界最大規模のWebサイトですらMalvertisingの被害を受けるという事実は、広告エコシステム全体のセキュリティ見直しの契機となりました。
📋 Forbes Malvertising事件(2016年)
2016年、大手ビジネスメディアForbes.comが、Malvertisingを通じたドライブバイダウンロード攻撃の被害に遭いました。皮肉なことに、Forbesは広告ブロッカーの使用を検知し、広告ブロッカーを無効にしないとコンテンツを閲覧できない「Anti-Adblock」ポリシーを採用していました。
広告ブロッカーを無効化して記事を閲覧したユーザーが、悪意のある広告を通じてマルウェアに感染するという事態が発生しました。この事件は、広告ブロッカーの無効化を強制することのセキュリティリスクを浮き彫りにし、ユーザーのセキュリティ対策の自由と広告ビジネスモデルの矛盾について広く議論されるきっかけとなりました。Malvertisingに対する広告プラットフォーム側の検証強化が急務であることが改めて認識されました。