Overview
水飲み場攻撃(Watering Hole Attack)とは、標的とする組織や個人が頻繁にアクセスするWebサイトを特定し、そのサイトを事前に改ざんしてマルウェアを仕込むことで、標的を感染させる高度なサイバー攻撃手法です。自然界で肉食動物が水飲み場で獲物を待ち伏せする戦略になぞらえた名称です。
この攻撃は戦略的Web侵害(SWC:Strategic Web Compromise)とも呼ばれ、APT(高度標的型攻撃)グループや国家支援型の攻撃者が好んで使用します。フィッシングメールのように標的に直接接触するのではなく、標的が自発的に訪問するサイトを利用するため、セキュリティ意識の高いユーザーでも被害に遭いやすい特徴があります。
水飲み場攻撃では、ゼロデイ脆弱性と組み合わせて使用されることが多く、ブラウザやプラグインの未知の脆弱性を悪用してドライブバイダウンロード攻撃を実行します。標的の業界団体のWebサイト、専門ニュースサイト、政府機関の情報ポータルなどが改ざんの対象として狙われます。
Details
攻撃プロセス
- 偵察(Reconnaissance):標的組織の従業員がどのようなWebサイトを頻繁に訪問しているかを調査する。業界団体のサイト、専門フォーラム、ニュースサイト、サプライヤーのポータルなどが候補となる。SNSの投稿や公開情報、DNS分析などが偵察に利用される
- サイト侵害(Site Compromise):標的のWebサイトの脆弱性(CMS脆弱性、サードパーティプラグインの欠陥、管理者アカウントの侵害など)を悪用してアクセスを獲得し、Webページに悪意のあるコードを挿入する
- エクスプロイト設置(Exploit Deployment):改ざんしたWebサイトにエクスプロイトキットやiframe、悪意のあるJavaScriptを埋め込む。ブラウザやプラグインの脆弱性を悪用するコードが設置される
- 選択的感染(Selective Infection):すべての訪問者を感染させるのではなく、IPアドレス範囲、ブラウザのUser-Agent、言語設定、地理的位置などに基づいて標的を選別し、特定の条件を満たす訪問者のみにエクスプロイトを配信する
手口の高度化
近年の水飲み場攻撃は非常に高度化しています。攻撃者はWebサイトの正規のJavaScriptファイルに数行の悪意あるコードを追加するだけの場合があり、表面的にはサイトの外観や機能に変化がなく、サイト管理者も訪問者も改ざんに気づきにくくなっています。
また、多段階の攻撃チェーンを構築し、最初のスクリプトがプロファイリングのみを行い、条件に合致する訪問者にだけ第2段階のペイロードを配信するケースもあります。ペイロード配信サーバーを短期間で変更するフラックス(flux)技術も使用されます。
ターゲット選定の巧妙さ
水飲み場攻撃の本質は、標的のインターネット行動パターンを理解した上での待ち伏せにあります。特定の業界で広く使われる専門サイト、政府関係者が利用する情報ポータル、特定の技術コミュニティのフォーラムなど、限定されたユーザー層が訪問するサイトが狙われます。
これにより、フィッシングメールとは異なり、標的のメールフィルタリングやセキュリティ教育を完全に回避できます。攻撃者にとっては、個別にフィッシングメールを送信するよりも効率的に複数の標的を同時に攻撃できる利点があります。
検知の困難さ
水飲み場攻撃の検知は極めて困難です。改ざんされたのは正規の信頼されたWebサイトであるため、URLフィルタリングやブラックリストでは防御できません。また、選択的感染により一部の訪問者のみが攻撃対象となるため、セキュリティ研究者やサンドボックス環境からのアクセスでは悪意のあるコードが実行されず、分析を回避します。
Strategic Web Compromise(SWC)
水飲み場攻撃はSWC(Strategic Web Compromise)とも呼ばれ、特に国家支援型のAPTグループによる高度な攻撃を指す場合に使用されます。ロシア、中国、北朝鮮、イランなどの国家関連の攻撃グループが、外交官、軍事関係者、反体制活動家などを標的としてSWCを頻繁に実行しています。これらの攻撃では高価なゼロデイエクスプロイトが投入されることも珍しくありません。
Security Measures
- 01ブラウザとプラグインの最新化:ブラウザ、Java、Adobe Flash(レガシー環境)、PDFリーダーなど、Webブラウジングに関連するすべてのソフトウェアを常に最新バージョンに保ってください。ゼロデイ脆弱性のリスクを最小化するため、自動更新を有効にし、不要なプラグインは削除しましょう。
- 02ネットワークトラフィック監視とサンドボックス:Webトラフィックをプロキシ経由で検査し、不審なリダイレクトやダウンロードを検知してください。Webコンテンツをサンドボックス環境で分析するソリューション(ブラウザ分離技術)を導入し、悪意のあるコードの実行を隔離しましょう。
- 03エンドポイント保護の強化:次世代アンチウイルス(NGAV)やEDR/XDRソリューションを導入し、メモリ上での不審な動作やエクスプロイトの兆候を検知してください。ブラウザのエクスプロイト保護機能(Windows Defender Exploit Guard等)も有効にしましょう。
- 04Webサイト管理者としての防御:自組織のWebサイトが水飲み場として悪用されないよう、CMSやプラグインの脆弱性管理を徹底してください。WAF(Web Application Firewall)の導入、コンテンツセキュリティポリシー(CSP)の設定、Webページの改ざん検知システムの導入が有効です。
- 05脅威インテリジェンスの活用:業界固有の脅威インテリジェンスを購読し、水飲み場攻撃に使用された既知のIoC(侵害指標)をセキュリティ機器に反映してください。ISACなどの業界情報共有組織に参加し、同業他社への攻撃情報を早期に入手しましょう。
- 06最小権限ブラウジングの実施:Webブラウジングには管理者権限のないアカウントを使用してください。ブラウザの権限を制限し、JavaScriptの実行を信頼されたサイトのみに限定するブラウザ拡張機能(NoScript等)の導入も検討しましょう。重要な業務には専用のブラウザプロファイルやセキュアブラウザを使用してください。
Incidents
📋 iOS/Android標的の大規模水飲み場攻撃(Google TAG 2019年)
2019年8月、Google Threat Analysis Group(TAG)は、少なくとも2年間にわたって複数のWebサイトが水飲み場攻撃に利用され、iPhoneユーザーが大規模に標的となっていたことを公表しました。攻撃にはiOSの14種類のゼロデイ脆弱性を含む5つのエクスプロイトチェーンが使用されていました。
改ざんされたWebサイトを訪問したiPhoneユーザーは、ブラウザの脆弱性を通じてマルウェアに感染し、メッセージ、写真、GPS位置情報、キーチェーン(パスワード)などが窃取されました。特定のコミュニティを標的とした国家関連の攻撃と見られており、水飲み場攻撃の規模と高度さが注目を集めました。
📋 ポーランド金融規制当局Webサイトの改ざん(2017年)
2017年2月、ポーランドの金融規制当局(KNF:Polish Financial Supervision Authority)のWebサイトが改ざんされ、ポーランドの複数の銀行が水飲み場攻撃の標的となりました。攻撃者はKNFのWebサイトに悪意のあるJavaScriptを挿入し、サイトを訪問した銀行職員のブラウザにマルウェアをダウンロードさせました。
少なくとも20のポーランドの銀行が影響を受け、攻撃者は銀行の内部ネットワークに侵入しました。この攻撃はLazarusグループ(北朝鮮関連)によるものと見られており、金融機関を標的とした戦略的な水飲み場攻撃の代表的な事例です。信頼される規制当局のWebサイトを攻撃の踏み台にした点が特に衝撃的でした。
📋 ForbesウェブサイトへのSWC攻撃(2015年)
2015年、Forbes.comの「Thought of the Day」インタースティシャルページが改ざんされ、水飲み場攻撃に悪用されていたことが発見されました。中国関連のAPTグループ(Codoso Team / C0d0so0)によるものと見られるこの攻撃は、防衛・金融業界の関係者を標的としていました。
攻撃者はForbesの広告配信ページにAdobe FlashとInternet Explorerのゼロデイ脆弱性を悪用するエクスプロイトを仕込みました。Forbesのような大手メディアサイトが攻撃の踏み台にされたことで、水飲み場攻撃の脅威が広く認知されるきっかけとなりました。高い知名度と広範なユーザーベースを持つWebサイトでさえ改ざんリスクがあることが示されました。