>
>
最終更新日
Webサイトを閲覧しているだけで、知らないうちにSNSへ投稿されたり、意図せず商品を購入させられたりする危険性があることをご存知でしょうか。これは、Webサイトの脆弱性を突いてユーザーに意図しない操作を強要する「クリックジャッキング攻撃」の代表的な手口です。
攻撃者は、Webページ上に透明な要素を重ねるなどの手法で視覚的な欺瞞を生み出します。近年ではPCだけでなくスマホでの被害や、パスワードマネージャーの拡張機能を狙った新たな手口も報告されており、情シス部門やWebサイト運営者にとって根本的な対策が急務となっています。
本記事では、クリックジャッキングとは何かという基本から、最新の手口やスマホでの事例、CSRFとの違い、そしてエンジニア向けのAWSやWAFを用いた具体的な対策方法までを図解を交えてわかりやすく解説します。
本記事のポイント
クリックジャッキングは、ユーザーの視覚を騙して意図しないクリックを物理的に誘発する攻撃である。
2025年にはパスワードマネージャーを狙う「DOMベース」の新たな攻撃手口が確認されている。
運営者側の最新の防御策は、非推奨の「X-Frame-Options」ではなく、「CSP(frame-ancestors)」を利用することである。
一般ユーザーは、ブラウザ拡張機能の更新とスマホ特有のポップアップに対する注意が必要である。
クリックジャッキングとは
クリックジャッキングとは、ユーザーのクリック操作を乗っ取り、意図しないアクションを実行させるインターフェースベースのサイバー攻撃です。
Webページの見た目を偽装することから「UIレッドレッシング(UI Redressing)」とも呼ばれます。攻撃者は、ユーザーが本来クリックしようとしているボタンやリンクの上に、透明な悪意のあるページを重ねて表示します。ユーザーは正規の操作をしていると信じ込んだまま、実際には攻撃者が仕込んだ見えないボタンをマウス等で誤ってクリックさせられる仕組みになっています。この巧妙さから、多くのユーザーが被害に遭うまで攻撃の存在に気づくことができません。
日本国内におけるWebアプリケーション攻撃の激化
クリックジャッキングをはじめとするWebの脆弱性を突いた攻撃は、近年爆発的に増加しています。
株式会社サイバーセキュリティクラウドが発表したレポート(2025年1月〜12月観測データ)によると、日本国内のWebアプリケーションに対するサイバー攻撃の年間総検知数は約20.2億件に達し、前年比で182%も増加して過去最高を記録しました [1]。1日あたり約554万回、1秒あたり約64回という猛烈な頻度で攻撃スキャンが実行されており、「自社のサイトは小規模だから狙われない」という前提はもはや通用しません [1]。
IPAの「情報セキュリティ10大脅威 2025」においても、組織向け脅威の第3位に「システムの脆弱性を突いた攻撃」がランクインしています [2, 3, 4, 5, 6, 7]。システムの不適切な設定(HTTPヘッダの欠如など)を放置することは、重大なインシデントに直結します。
クリックジャッキングとCSRF(クロスサイトリクエストフォージェリ)の違い
クリックジャッキングとCSRFは目的が似ていますが、ユーザーの自覚の有無と攻撃のメカニズムが根本的に異なります。
検索需要でも頻繁に比較されるCSRF(Cross-Site Request Forgery)ですが、「ログイン済みの正規ユーザーに意図しない操作を実行させる」という結果は共通しているものの、アプローチには明確な違いがあります。
比較項目 | クリックジャッキング | CSRF(クロスサイトリクエストフォージェリ) |
|---|---|---|
攻撃のターゲット | ユーザーの視覚的誤認と物理的なクリック操作 | ユーザーのセッション(認証情報)と自動リクエスト |
ユーザーの自覚 | 別のボタンをクリックしたという自覚はある | 操作の自覚が全くない場合が多い |
主要な攻撃手法 | 透明化(opacity)したiframeのオーバーレイ等 | 罠サイトからの自動POST、画像タグの悪用など |
有効な主な対策 | CSP(frame-ancestors)、適切なWAF設定 | CSRFトークン、SameSite Cookie属性、Origin検証 |
CSRF対策として「CSRFトークン」を導入していても、クリックジャッキングは防げません。クリックジャッキングでは、正規のページがそのままiframe内に読み込まれており、ユーザー自身が物理的にクリック操作を行うため、サーバー側からは「完全に正規のリクエスト」として処理されてしまうからです。
▲ クリックジャッキングとCSRFのアプローチの違い
クリックジャッキングによる具体的な被害事例
クリックジャッキングの被害は、SNSの乗っ取りから金銭的被害、さらにはスマホ特有の不正アプリ連携まで多岐にわたります。
以下に、実際に報告されている代表的な被害事例と、よくある手口を解説します。
SNSアカウントの乗っ取りと意図しない投稿
過去に最もよく知られた事例の一つが、SNSアカウントの乗っ取りです。攻撃者は「限定クーポンはこちら」といった魅力的なボタンを設置した罠サイトを用意します。ユーザーがそのボタンをクリックすると、透明化されて配置されたSNSの「いいね!」ボタンやシェアボタンが押され、意図せずスパムメッセージを自身のタイムラインに投稿してしまいます。これにより、マルウェアの拡散に加担させられる被害が発生しました。
意図しない商品購入やサービス契約
金銭的な被害に直結するケースです。ECサイトにログインした状態のユーザーを罠サイトに誘導し、「景品が当たるスロットを回す」などの無害な操作に見せかけて、実際には透明化された「商品を購入する」ボタンをクリックさせます。ユーザーはゲームを楽しんでいるつもりでも、裏では高額な商品が購入されている事態になりかねません。
【スマホ特有】意図しないアプリ連携と不正広告タップ
近年増加しているのが、スマホ環境を狙ったクリックジャッキング事例です。スマホの狭い画面とタップ操作の特性を悪用し、以下のような被害が発生しています。
不正なアプリ連携(OAuth認可の悪用):動画再生ボタンをタップしたつもりが、裏に隠された「アプリ連携を許可する」ボタンをタップさせられ、連絡先や写真データへのアクセス権限を攻撃者に奪われる。
アドフラウド(広告詐欺):スマホのスクロール操作中に、透明化された不正な広告を連続してタップさせられ、サイバー犯罪者の広告収入源にされる。
2025年にも、Webシステムの脆弱性を起点とした不正アクセスによる個人情報漏洩インシデントが多数報告されています(例:株式会社クリエイティブボックスや日本プラスト株式会社などにおけるランサムウェア被害や不正アクセス事案)。これらは直接的なクリックジャッキング単体の事例ではありませんが、脆弱性を放置して認証後の操作権限を奪われることが、いかに致命的な結果を招くかを示しています。
【実用部品】Webサイト運営者向けセルフチェックリスト
自社サイトがクリックジャッキングの標的になりやすいか、以下のリストで確認してください。
ログイン機能を持ったWebアプリケーションであるか
パスワード変更や退会、送金などの重要な状態変更を伴う操作があるか
HTTPレスポンスヘッダに
Content-Security-Policyが設定されていないかAWS WAF等のセキュリティ製品で、クリックジャッキング対策のルールが有効になっていないか
▲ クリックジャッキングによるSNS乗っ取りの被害プロセス
クリックジャッキングの攻撃手法
攻撃手法は、従来のiframeを用いた手法から、ブラウザ拡張機能を狙った高度なDOMベースの手法へと進化しています。
どのようなやり方で攻撃を仕掛けてくるのか、その仕組みを理解することが適切な防御策の第一歩です。
iframeによるページの重ね合わせと透明化
最も基本的なやり方は、HTMLのiframeタグとCSSを利用したものです。攻撃者は、まずiframeを使って自身の罠サイト上に正規のWebサイトを読み込みます。次に、正規サイトの要素の透明度(CSSのopacity)を0に設定して不可視化し、罠サイトのダミーボタンの上に重ねます。そして、positionプロパティなどを駆使して、ユーザーがクリックしたくなる偽ボタンの真下に、正規サイトの重要なボタンが来るように配置します。これにより、ユーザーは視覚的に騙されてしまいます。
ダブルクリックジャッキング
ダブルクリックジャッキングは、通常のクリックジャッキングをさらに巧妙にした発展的な手口です。ユーザーに2回クリックさせることを前提としており、1回目のクリックではユーザーが期待する無害な動作を実行して警戒心を解きます。その直後、ページのレイアウトを瞬時に変更し、2回目のクリックで本来の目的である悪意のある操作(権限の付与など)を実行させます。
【2025年最新】DOMベースの拡張機能クリックジャッキング
2025年8月にセキュリティカンファレンス「DEF CON 33」でMarek Tóth氏が発表し、業界に衝撃を与えたのが「DOMベースの拡張機能クリックジャッキング」です [8, 9, 10, 11, 12, 13]。
これは外部サイトをiframeで読み込むのではなく、パスワードマネージャーなどのブラウザ拡張機能がDOMに直接注入するUI要素(オートフィルのドロップダウンメニューなど)を透明化して悪用する手法です。攻撃のステップは以下の通りです。
罠サイト上に「Cookieに同意する」などの無害な囮ボタンと、不可視のログインフォームを設置する。
JavaScriptで不可視フォームにフォーカスを当て、パスワードマネージャーの「オートフィルメニュー」を強制的に展開させる。
展開されたオートフィルメニュー自体をDOM操作で透明化し、囮ボタンの上に重ねる。
ユーザーが「同意」をクリックすると、実際にはオートフィルが実行され、保存されていたクレジットカード情報やTOTP(2段階認証コード)が攻撃者に送信される。
この脆弱性により、1PasswordやBitwardenをはじめとする数千万ユーザー規模の主要パスワードマネージャーが影響を受け、各社は緊急のセキュリティパッチ配信を余儀なくされました [8, 10, 11, 12]。
▲ iframeを利用したページの重ね合わせと透明化の仕組み
Webサイト運営者が行うべきクリックジャッキング対策
情シスやWebエンジニアにとっての現在のベストプラクティスは、X-Frame-Optionsからの脱却と、CSP(frame-ancestors)およびWAFの活用です。
Webサイトの運営者にとって、クリックジャッキング対策は自社サービスの信頼性を維持するために不可欠です。以下に、IT管理者向けの技術的な最新対策を解説します。
CSP(Content-Security-Policy)の frame-ancestors
現在、クリックジャッキング対策のグローバルスタンダードは、HTTPレスポンスヘッダにCSPのframe-ancestorsディレクティブを設定することです [14, 15, 16]。
過去の多くの記事ではX-Frame-Optionsの利用が推奨されており、特に特定のサイトのみを許可するALLOW-FROMという設定値が紹介されていました。しかし、現在多くの主要ブラウザは ALLOW-FROM のサポートを終了しており、この設定を行っていても攻撃を防げないという「失敗パターン」が多発しています [16, 17]。
したがって、MDN Web DocsのCSP: frame-ancestorsに記載されている通り、以下のいずれかのCSPヘッダを設定します。
一切の埋め込みを禁止する場合:
Content-Security-Policy: frame-ancestors 'none';自サイト(同一オリジン)のみ許可する場合:
Content-Security-Policy: frame-ancestors 'self';特定の外部サイトを許可する場合:
Content-Security-Policy: frame-ancestors https://trusted.example.com;
AWSおよびWAFを活用したインフラレベルの対策
アプリケーションのコード改修が難しい場合、インフラ層での対策が有効です。
例えば、Amazon CloudFrontを利用している場合、「レスポンスヘッダーポリシー」機能を利用することで、エッジロケーションで自動的にCSPヘッダを付与することができます [16]。AWSコンソールからカスタムポリシーを作成し、Content-Security-Policyヘッダにframe-ancestors 'none'を設定して対象のディストリビューションにアタッチするだけで、全ページに対して強固なクリックジャッキング対策が完了します [16]。
また、AWS WAFやその他のクラウド型WAF(例:攻撃遮断くんなど)を導入し、セキュリティヘッダの欠如を検知するルールセットを有効化することも、情シス部門が取るべき重要な多層防御の一手です。
一般ユーザーができるクリックジャッキング対策
一般ユーザーは、ブラウザと拡張機能を常に最新に保ち、不審なポップアップを無思慮にタップしないことが最大の防御となります。
サーバー側での対策が不十分なサイトを利用するリスクに備え、ユーザー自身も以下の自衛策を講じる必要があります。
ブラウザおよびパスワードマネージャーの更新
前述の「DOMベースの拡張機能クリックジャッキング」のような最新の脅威に対抗するためには、Google ChromeやSafariなどのブラウザ本体だけでなく、パスワードマネージャー等のブラウザ拡張機能を手動で最新バージョンにアップデートすることが必須です。1PasswordやBitwardenなどのベンダーは、不自然なオートフィルを防ぐための確認アラート機能を追加するなどのパッチを既に提供しています [12]。必要であれば、修正が確認されるまでオートフィル機能を「自動」から「手動(コピー&ペースト)」に切り替えることも有効な回避策です [10]。
スマホ利用時のポップアップに対する警戒
スマホのブラウザでWebサイトを閲覧中、突然全画面を覆うような「ウイルスに感染しています」「Cookieに同意してください」といったポップアップやバナーが表示された場合は要注意です。画面のどこをタップしても背後の不可視ボタンが押される仕掛けになっている可能性があるため、安易に「閉じる(×)」ボタンや「同意する」をタップせず、ブラウザのタブごと閉じる習慣をつけましょう。
よくある質問(FAQ)
クリックジャッキングに関連して、読者から寄せられるよくある疑問とその回答をまとめました。
Q. 一見問題のなさそうなバナー上に、透明なバナーを重ねておき、クリックした閲覧者を攻撃用のサイトに誘導し、ウイルスに感染させる手口は何ですか?
A. それは「クリックジャッキング攻撃」です。このフレーズは、情報処理技術者試験(基本情報技術者試験や応用情報技術者試験など)でも頻出する典型的な定義です。視覚的にユーザーを騙し、意図しない操作を実行させる代表的な手口として知られています。
Q. フォームジャッキングとはクリックジャッキングと同じですか?
A. 異なります。フォームジャッキングは、ECサイトなどの決済ページに悪意のあるJavaScriptを仕込み、ユーザーが入力したクレジットカード情報などを直接盗み取るサイバー攻撃です。クリックジャッキングが「クリック操作の乗っ取り」であるのに対し、フォームジャッキングは「入力データのスキミング」を目的としています。
Q. X-Frame-Optionsヘッダを「SAMEORIGIN」に設定していれば安全ですか?
A. 多くのケースで有効ですが、完全ではありません。最新のベストプラクティスとしては、X-Frame-Optionsと併用して、より柔軟で強力な「Content-Security-Policy (CSP) の frame-ancestors」ディレクティブを設定することが推奨されています。
まとめ
本記事では、クリックジャッキングの仕組みから、最新のDOMベースの拡張機能攻撃、スマホ事例、そして技術的な対策までを解説しました。透明なiframeを悪用してユーザーを騙すこの手口は、巧妙さを増して進化し続けています。
Webサイト運営者や情シス担当者は、非推奨となった対策を見直し、明日からでもAWS CloudFrontやWAFの設定画面を開き、CSP frame-ancestorsの導入可否をチェックしてみてください。適切なヘッダ制御による多層防御が、自社とユーザーを守る鍵となります。
本記事の内容に誤り等がございましたら、こちらからご連絡ください。
監修
Admina Team
情シス業務に関するお役立ち情報をマネーフォワード Adminaが提供します。
SaaS・アカウント・デバイスの管理を自動化し、IT資産の可視化とセキュリティ統制を実現。
従業員の入退社対応や棚卸し作業の工数を削減し、情報システム部門の運用負荷を大幅に軽減します。
中小企業から大企業まで、情シス・管理部門・経営層のすべてに頼れるIT管理プラットフォームです。






