情報セキュリティ

安全なウェブサイトの作り方 - 1.9 クリックジャッキング

概要

ウェブサイトの中には、ログイン機能を設け、ログインしている利用者のみが使用可能な機能を提供しているものがあります。該当する機能がマウス操作のみで使用可能な場合、細工された外部サイトを閲覧し操作することにより、利用者が誤操作し、意図しない機能を実行させられる可能性があります。このような問題を「クリックジャッキングの脆弱性」と呼び、問題を悪用した攻撃を、「クリックジャッキング攻撃」と呼びます。

  • 罠ページの仕組み
  • 罠ページの仕組み

発生しうる脅威

クリックジャッキング攻撃により、発生しうる脅威は次のとおりです。マウス操作のみで実行可能な処理に限定される点以外は、CSRF攻撃による脅威と同様です。

ログイン後の利用者のみが利用可能なサービスの悪用

利用者が意図しない情報発信、利用者が意図しない退会処理 等

ログイン後の利用者のみが編集可能な設定の変更

利用者情報の公開範囲の意図しない変更 等

注意が必要なウェブサイトの特徴

ログイン後の利用者のみが利用可能な機能(サービスや設定)を、マウス操作のみで実行可能なウェブサイトが、クリックジャッキング攻撃による影響を受ける可能性があります。マウス操作のみで実行可能な処理が、利用者に紐づいた情報の公開範囲の変更処理等の場合は、攻撃による被害が大きくなるため、特に注意が必要です。

また、対策を実施した場合、後述する副作用が発生します。そのため、ウェブサイトの情報セキュリティポリシーや副作用等を加味して、クリックジャッキングの脆弱性対策の実施有無を検討してください。

届出状況

クリックジャッキングの脆弱性に関するウェブサイトの届出は、2011年に初めて受け付けました。ウェブサイトの届出全体に占める割合は、1パーセント未満と多くはありません。しかしながらこれらの脆弱性については2011年から継続して届出を受けています。なお、届出受付開始から2014年第4四半期までに、ソフトウェア製品の届出は受け付けていません。

根本的解決

9-(i)-a HTTPレスポンスヘッダに、X-Frame-Optionsヘッダフィールドを出力し、他ドメインのサイトからのframe要素やiframe要素による読み込みを制限する。

X-Frame-Optionsは、ウェブアプリケーションをクリックジャッキング攻撃から防御するためのヘッダです(*1)。HTTPのレスポンスヘッダに「X-Frame-Options: DENY」のように出力することで、X-Frame-Optionsに対応したブラウザにおいて、frame要素やiframe要素によるページ読み込みの制限ができます。なお、Internet Explorer 7は、X-Frame-Options ヘッダに対応していないため、本対策を実施したとしても、当該ブラウザにおいてはクリックジャッキング攻撃を防げません。

X-Frame-Optionsで指定する設定値により、制限の範囲が変わります。設定値の挙動は下記表の通りです。なお、ALLOW-FROMはブラウザによって適切に動作しない場合があります。開発しているウェブアプリケーションがサポート予定のブラウザの対応状況を調査した上で、当該設定値の使用を検討してください。

設定値:frame要素およびiframe要素により表示できる範囲
DENY

すべてのウェブページにおいてフレーム内の表示を禁止

SAMEORIGIN

同一オリジンのウェブページのみフレーム内の表示を許可

ALLOW-FROM

指定したオリジンのウェブページのみフレーム内の表示を許可

9-(i)-b 処理を実行する直前のページで再度パスワードの入力を求め、実行ページでは、再度入力されたパスワードが正しい場合のみ処理を実行する。

処理の実行前にパスワード認証を行うことにより、クリックジャッキングの脆弱性を解消できます。ただし、この方法は画面設計の仕様変更を要する対策であるため、画面設計の仕様変更をせず、実装の変更だけで対策をする必要がある場合には、9-(i)-aの対策を検討してください。

保険的対策

9-(ii) 重要な処理は、一連の操作をマウスのみで実行できないようにする。

クリックジャッキング攻撃は、利用者を視覚的に騙して特定の操作をするように誘導します。そのため、利用者に複雑な操作をさせることは困難です。マウス操作のみで処理が実行されないように、キーボード操作などを挟むことで攻撃の成功率を下げることができます。

以上の対策により、クリックジャッキング攻撃に対する安全性の向上が期待できます。クリックジャッキングの脆弱性に関する情報については、次の資料も参考にしてください。

脚注

  1. (*1)
    RFC7034:「HTTP Header Field X-Frame-Options」

CWE

  • 直接対応するCWEはありません。

参考URL

  • IPA: テクニカルウォッチ 『クリックジャッキング』に関するレポート