セキュリティ
CSRFトークンによる防御の仕組みとして正しいものはどれか。
ア.クッキーのSamesite属性をStrictに設定することでCSRFトークンが自動生成される
イ.サーバはユーザーのIPアドレスを記録し、異なるIPからのリクエストをCSRFと判断する
ウ.サーバが生成したトークンをセッションと照合することで、正規フォームからの送信か確認できる正解
エ.HTTPSを使用することでCSRF攻撃を防ぐトークンが自動的に付与される
解説
CSRFトークンは「偽造防止のシリアルナンバー」。本物のフォームにだけ付いた番号を確認することで、正規の送信か偽サイトからの攻撃かを見分ける。
なぜ ウ が正解か
サーバはセッションに紐付けたランダムなトークンを生成し、フォームの隠しフィールドに埋め込む。フォーム送信時にサーバはセッションのトークンとフォームのトークンを照合する。攻撃者は被害者のトークンを知ることができないため、CSRF攻撃が防げる。
出典: AI生成問題(学習用)