クリックジャッキングとは?
クリックジャッキングとは、透明または偽装したレイヤーをWebページの上に重ねて、ユーザーが意図しないクリックや操作をさせる攻撃手法です。Webサイト・APIの弱点の中でも視覚的なトリックを使う脅威で、見た目は安全なボタンやリンクに見えても、実際は別のサイトの危険な操作ボタンをクリックさせられてしまいます。iframe(インラインフレーム)という技術を悪用し、FacebookのいいねボタンやTwitterのフォローボタン、銀行の送金ボタンなどを透明にして重ね、ユーザーの知らない間に実行させます。UI改竄攻撃とも呼ばれます。
クリックジャッキングを簡単に言うと?
透明なガラスの仕掛けに例えると、ATMの操作画面の前に透明なガラス板を置いて、そこに偽のボタンの絵を描いたようなものです。利用者は「1000円引き出し」のボタンを押したつもりが、実際はガラスの後ろにある「全額送金」のボタンを押してしまいます。クリックジャッキングも同じで、例えば「無料動画を見る」というボタンの裏に、透明にしたFacebookの「友達申請を承認」ボタンを隠しておきます。ユーザーは動画を見るつもりでクリックしますが、実際は知らない人と友達になってしまいます。まるで手品のように、見えているものと実際にクリックするものが違う、視覚的な詐欺なのです。
クリックジャッキングで発生する被害は?
クリックジャッキングにより、SNSアカウントの乗っ取り、意図しない送金や購入、プライバシー設定の変更などが発生します。Webサイト・APIの弱点を突かれることで、ユーザーが気づかないうちに重要な操作を実行させられ、金銭的被害やプライバシー侵害につながります。特に、ソーシャルメディアの普及により、一度の攻撃で友人関係全体に被害が波及する可能性があります。
クリックジャッキングで発生する直接的被害
- 金融取引の不正実行
オンラインバンキングの送金ボタンがクリックジャッキングされ、知らないうちに攻撃者の口座に送金してしまい、預金が盗まれる
- SNSアカウントの悪用
FacebookやTwitterのフォローボタンが隠され、スパムアカウントを大量にフォローしたり、詐欺投稿をシェアしたりして、信頼を失う
- 個人設定の不正変更
プライバシー設定やメールアドレス、パスワード変更画面が悪用され、アカウントの制御を失ったり、個人情報が公開される
クリックジャッキングで発生する間接的被害
- マルウェアの拡散加担
知らないうちに悪意あるアプリの許可ボタンをクリックさせられ、友人にマルウェアを拡散する加害者になってしまう
- 詐欺の信頼性向上に利用
自分のアカウントから詐欺サイトに「いいね」がつけられ、詐欺の信頼性を高める道具として利用される
- Webカメラ・マイクの不正許可
ブラウザの許可ダイアログが悪用され、Webカメラやマイクへのアクセスを許可してしまい、プライバシーが侵害される
クリックジャッキングの対策方法
クリックジャッキングへの対策は、X-Frame-Optionsヘッダーの設定、Content Security Policy(CSP)の実装、フレームバスティングコードの使用が基本となります。Webサイト・APIの弱点を補強するために、重要な操作には再認証やCAPTCHAの要求、視覚的な確認画面の表示が重要です。また、ユーザー側では最新ブラウザの使用、怪しいサイトでのクリック注意、ブラウザのセキュリティ設定の確認により、被害を防ぐことができます。
クリックジャッキングの対策を簡単に言うと?
銀行のATMのセキュリティに例えると、まず「このATMにはカバーをかけてはいけません」というルール(X-Frame-Options)を設定し、透明な板を置けないようにします。重要な操作の前には「本当に送金しますか?金額は〇〇円です」という確認画面(再認証)を表示し、間違いに気づけるようにします。また、暗証番号入力時は手で隠す(フレームバスティング)ように、他のサイトから操作できないようにブロックします。利用者側も、怪しいATM(Webサイト)は使わない、画面がおかしいと感じたら操作を中止する、という基本的な注意が必要です。「クリックする前に一呼吸」という習慣が、この視覚的トリックから身を守る鍵となります。
クリックジャッキングに関連した攻撃手法
Webサイト・APIの弱点において、クリックジャッキングと密接に関連する3つの攻撃手法を解説します。
- CSRF(Cross-Site Request Forgery)
クリックジャッキングとCSRFは、どちらもユーザーの意図しない操作を実行させる攻撃です。クリックジャッキングは視覚的にユーザーを騙し、CSRFは自動的にリクエストを送信します。両者を組み合わせることで、CSRFトークンがあってもクリックジャッキングで回避できる場合があります。
- XSS(クロスサイトスクリプティング)
XSSとクリックジャッキングを組み合わせることで、より巧妙な攻撃が可能になります。XSSで悪意あるiframeを挿入し、そこでクリックジャッキングを実行することで、正規サイト内での攻撃に見せかけることができます。
- オープンリダイレクト
クリックジャッキングの準備段階で、オープンリダイレクトを使って信頼できるドメインから攻撃サイトへ誘導します。ユーザーは信頼しているサイトだと思ってクリックしますが、実際はクリックジャッキングが仕掛けられた悪意あるサイトに誘導されます。
クリックジャッキングのよくある質問
はい、スマートフォンでも発生します。特にタップ操作は範囲が広いため、PCよりも攻撃が成功しやすい場合があります。モバイルアプリ内のWebViewでも注意が必要です。
HTTPSは通信を暗号化しますが、クリックジャッキングは防げません。HTTPSサイトでもX-Frame-OptionsやCSPの設定がなければ、攻撃される可能性があります。
NoScriptやuBlock Originなどの拡張機能である程度防げますが、完全ではありません。サイト側の対策が最も重要で、ユーザー側の対策は補助的なものです。
信頼できないサイトでの過度なクリック要求は危険です。特に「ここをクリック」を何度も要求するサイトは、クリックジャッキングの可能性があるため注意が必要です。
特に金融取引、個人情報変更、認証関連の機能があるサイトでは必須です。静的な情報提供のみのサイトでもリスクはあるため、基本的な対策は実施すべきです。
X-Frame-Optionsは比較的古いブラウザでもサポートされていますが、CSPは新しいブラウザが必要です。ユーザーには最新ブラウザの使用を推奨することが重要です。
更新履歴
- 初稿公開