この概念が出た関連問題

この試験の対策ガイド

情報処理安全確保支援士試験 対策ガイド

合格率・勉強法・参考書の選び方をまとめています

見る →
答えと解説を見る(先に解くのがおすすめ)

正解は エ

解説

クロスサイトリクエストフォージェリ(CSRF)攻撃は、利用者がログイン済みのWebサイトに対して、攻撃者が用意した罠(悪意のあるリンクやページ)を通じて、利用者の意図しないリクエスト(送金や設定変更など)を、利用者本人になりすまして送信させる攻撃です。本問は、CSRF攻撃の対策として「効果がないもの」を選ぶ問題です。有効な対策としては、重要操作の都度パスワードを再入力させる(ア)、推測困難なトークンをリクエストに含めてサーバ側で照合する(イ)、Refererヘッダを確認して正しいリンク元からの遷移であることを確かめる(ウ)などがあります。これらはいずれも、リクエストが利用者の正当な意図によるものかを確認する仕組みです。選択肢dの「リクエストに含まれる特殊文字をタグとして認識されない文字列に置き換える」は、サニタイジング(エスケープ処理)であり、これはクロスサイトスクリプティング(XSS)への対策です。XSSとCSRFは別の攻撃であり、サニタイジングはCSRFの防止には効果がありません。したがって、CSRF対策として効果がない選択肢dが正解です。XSS対策(サニタイジング)とCSRF対策(トークン・再認証・Referer確認)を混同しないことが重要です。

なぜ他の選択肢は違うのか

選択肢 ア
「重要な操作の都度、利用者のパスワードを入力させる」は、CSRFに対して有効な対策です。攻撃者は利用者のパスワードを知らないため、重要操作のたびに再入力を求めれば、なりすましリクエストを防げます。効果がある対策なので、効果がないものを選ぶ本問の答えにはなりません。攻撃者は利用者のパスワードを知らないため、重要操作のたびに再入力を求めればなりすましリクエストを防げる有効な対策であり、効果がないものを選ぶ本問の答えにはなりません。
選択肢 イ
「ログイン後、毎回異なる値をリクエストごとに送付させ、サーバ側で照合する」は、CSRFトークンによる有効な対策です。攻撃者は推測困難なトークンの値を知り得ないため、正しいトークンを含まないなりすましリクエストを拒否できます。効果がある対策なので、本問の答えにはなりません。攻撃者は推測困難なトークンの値を知り得ないため、正しいトークンを含まないなりすましリクエストを拒否できる有効な対策であり、効果がないものを選ぶ本問の答えにはなりません。
選択肢 ウ
「Refererによって正しいリンク元からの遷移であることを確認する」は、CSRFに対して有効な対策の一つです。攻撃者の罠ページから送られたリクエストはRefererが正規のサイトと異なるため、これを確認すれば不正なリクエストを検出できます。効果がある対策なので、本問の答えにはなりません。攻撃者の罠ページから送られたリクエストはRefererが正規サイトと異なるため、これを確認すれば不正なリクエストを検出できる有効な対策であり、本問の答えにはなりません。

解くときのポイント

CSRF対策=再認証・CSRFトークン・Referer確認など(リクエストが本人の意図か確認)。サニタイジング(特殊文字のエスケープ)はXSS対策でCSRFには効果なし。XSSとCSRFの対策を混同しないこと。