クリックジャッキング攻撃|情報処理安全確保支援士試験 令和4年秋期午前Ⅱ 問11
出典:令和4年秋期 午前Ⅱ 問11
分野:セキュリティ / セキュリティ実装技術
クリックジャッキング攻撃に有効な対策はどれか。
- ア:cookieに,HttpOnly属性を設定する。
- イ:cookieに,Secure属性を設定する。
- ウ:HTTPレスポンスヘッダーに,Strict-Transport-Securityを設定する。
- エ:HTTPレスポンスヘッダーに,X-Frame-Optionsを設定する。
TSUNAGARU-ADVICE
まず押さえたいこと
クリックジャッキング攻撃は、攻撃者のページ内に正規サイトを透明なフレームなどで埋め込み、利用者に意図しない操作をさせる攻撃です。対策としては、HTTPレスポンスヘッダーにX-Frame-Optionsを設定する方法が有効です。
迷ったときの判断軸
HttpOnly属性はスクリプトからのcookie読取り対策、Secure属性はHTTPS通信時だけcookieを送る設定、Strict-Transport-SecurityはHTTPS接続を強制するための設定です。クリックジャッキングでは、他サイトのフレーム内に自サイトを表示させないことが重要なので、X-Frame-Optionsを選びます。
科目Bにつなげるために
科目Bでは、Web攻撃ごとに有効なHTTPヘッダーやcookie属性を切り分ける力が問われます。クリックジャッキングは、入力値の検証やcookie保護ではなく、画面を不正に埋め込ませない表示制御の問題として理解しておきましょう。
クリックジャッキング攻撃は、利用者に見えているページとは別のページを透明に重ね、意図しない操作をさせる攻撃です。
たとえば、攻撃者のページ上では普通のボタンに見えていても、その上に透明な別サイトの操作画面が重ねられていることがあります。利用者がボタンをクリックしたつもりでも、実際には透明なページ上のボタンを押したことになり、会員情報の変更や投稿などが実行されるおそれがあります。
この攻撃では、iframe要素やframe要素を使って、別のWebページを攻撃者のページ内に読み込みます。そして、CSSで透明にして、利用者に気づかれないように重ねます。
クリックジャッキングを防ぐ代表的な対策が、HTTPレスポンスヘッダーのX-Frame-Optionsです。これを設定すると、自分のWebページが他のサイトのフレーム内に勝手に表示されることを防げます。
つまりクリックジャッキング攻撃は、「透明な別ページを重ねて、利用者に気づかれないまま操作させる攻撃」です。フレーム内に表示される必要がないページでは、X-Frame-Optionsを設定することが有効な対策になります。
したがって、エが適切です。
❌他選択肢が誤りの理由ア:cookieに,HttpOnly属性を設定する。
⇒Cookieの盗取対策です。
HttpOnly属性を設定すると、JavaScriptからCookieを参照しにくくなり、クロスサイトスクリプティングによるCookie窃取のリスクを下げられます。クリックジャッキング攻撃への直接的な対策ではありません。イ:cookieに,Secure属性を設定する。
⇒Cookieの送信経路をHTTPS通信に限定するための対策です。通信経路上でCookieを盗聴されるリスクを下げられますが、ページをフレーム内に表示させて誤クリックを誘導するクリックジャッキング攻撃への対策ではありません。
ウ:HTTPレスポンスヘッダーに,Strict-Transport-Securityを設定する。
⇒HSTSの設定です。ブラウザに対して、以後そのサイトへHTTPSで接続するよう指示する仕組みであり、HTTPへのダウングレードや中間者攻撃のリスクを下げる目的で使われます。クリックジャッキング攻撃を防ぐヘッダーではありません。