クリックジャッキング
クリックジャッキング とは何ですか?
クリックジャッキング攻撃者ページ内に対象ページを覆い被せたり隠したりして、ユーザーが見ているものとは別の要素をクリックさせる UI 詐欺攻撃。
クリックジャッキングは、機微なページ(例えばアカウント設定、OAuth 同意、決済確認)を悪意あるサイト上の iframe に埋め込み、それを視覚的に偽装します。多くの場合、透明化、入念な CSS オーバーレイ、あるいは囮ボタンの下への戦略的な配置によって行われます。ユーザーは可視ページを操作しているつもりでも、そのクリック、タップ、ドラッグは実際には隠されたフレームへ届き、認証済みセッションで操作を実行します。
この用語は 2008 年に Jeremiah Grossman と Robert Hansen によって作られました。彼らは Adobe Flash の設定マネージャをフレームに埋め込み、被害者のウェブカメラとマイクをひそかに有効化してみせました。そこから生まれた防御策である X-Frame-Options ヘッダは、RFC 7034(2013 年)として標準化され、その後、より粒度が細かく複数の許可オリジンに対応する Content-Security-Policy の frame-ancestors ディレクティブに取って代わられました。亜種は進化を続けており、カーソルジャッキング、ドラッグアンドドロップによるデータ窃取、ライクジャッキングなどがあります。2024 年末、研究者の Paulos Yibelo は「DoubleClickjacking」を公表しました。これはダブルクリックの 2 つのイベントの間隙を突き、1 回目のクリック後に背後のページを差し替えるもので、クリック時に実際にはクロスサイトのフレームが存在しないため、X-Frame-Options、frame-ancestors、SameSite クッキーを回避します。
防御策は、フレーム制御(frame-ancestors 'self' または明示的な許可リスト)、機微な操作に対する明示的なユーザー操作と確認の要求、フォーカス後の短い遅延までボタンを無効化すること、そしてクロスコンテキストの状態を制限する SameSite クッキーを組み合わせます。
flowchart TD A[被害者が<br/>攻撃者ページを訪問] --> B[囮 UI<br/>クリックで当選] B --> C[不可視 iframe が<br/>実際の標的サイトを読込] C --> D[被害者は標的に<br/>ログイン済み] B --> E[透明オーバーレイが<br/>隠しボタンに整列] E --> F[被害者が囮をクリック] F --> G[クリックが隠れた<br/>承認ボタンに着弾] G --> H[操作が被害者の<br/>セッションで実行]
● 例
- 01
「ここをクリックで当選」と表示しつつ、ボタン上にソーシャルネットワークの権限付与ダイアログを指す透明 iframe を被せる。
- 02
ピクセル単位で重ねたオーバーレイにより、攻撃者アプリの OAuth 同意画面で「承認」を押させる。
● よくある質問
クリックジャッキング とは何ですか?
攻撃者ページ内に対象ページを覆い被せたり隠したりして、ユーザーが見ているものとは別の要素をクリックさせる UI 詐欺攻撃。 サイバーセキュリティの 攻撃と脅威 カテゴリに属します。
クリックジャッキング とはどういう意味ですか?
攻撃者ページ内に対象ページを覆い被せたり隠したりして、ユーザーが見ているものとは別の要素をクリックさせる UI 詐欺攻撃。
クリックジャッキング からどのように防御しますか?
クリックジャッキング に対する防御は通常、上記の定義で述べたとおり、技術的統制と運用上の実践を組み合わせます。
クリックジャッキング の別名は何ですか?
一般的な別名: UI 詐欺攻撃。