この概念が出た関連問題

この試験の対策ガイド

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

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

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

正解は エ

解説

CSRF(Cross-Site Request Forgery:クロスサイトリクエストフォージェリ)は、攻撃者が被害者のブラウザを経由して、被害者がログイン済みのWebサービスに意図しないリクエストを送信させる攻撃。被害者がログイン状態でCSRF攻撃ページを閲覧するだけで、被害者のセッションCookieが自動送信されてリクエストが正規ユーザーのものとして処理される。有効なCSRF対策:①CSRFトークン(サーバがセッションに紐付けたランダムな秘密値をフォームに埋め込み、送信時に照合)②SameSite Cookie属性(Strict/Lax設定でクロスサイトリクエスト時のCookie送信を制限)③Refererヘッダチェック(正規リンク元からの遷移か確認)④重要操作での再認証(パスワード再入力)。特殊文字のHTMLエスケープ(`<`→`&lt;`等)はXSS対策であり、CSRFには全く効果がない。CSRF攻撃はHTMLの特殊文字を含まない通常のリクエストでも成立する。問いは「効果がないもの」を選ぶ問題。

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

選択肢 ア
決済などの重要操作の際にパスワードを再入力させるのは有効なCSRF対策。攻撃者は被害者のパスワードを知らないため、CSRF攻撃でパスワード再入力フォームを通過させることができない。再認証(Re-authentication)は高い権限が必要な操作前の本人確認として推奨されるCSRF対策の一つ。正しい選択肢なので「効果がない」に分類されない。
選択肢 イ
サーバがHTTPレスポンスボディ(フォームの隠しフィールド等)にセッション固有の秘密の値を埋め込み、次のリクエスト時にその値をサーバが照合するCSRFトークン方式は最も一般的で効果的なCSRF対策。攻撃者はCSRFトークンの値を取得できないため(同一オリジンポリシーで別ドメインからのJavaScriptによる読み取りが制限される)CSRF攻撃を防止できる。
選択肢 ウ
RefererヘッダによりHTTPリクエストが正規ページからの遷移であることを確認するRefererチェックはCSRF対策として一定の効果がある。完全ではないが(プライバシー設定等でRefererが省略される場合がある)CSRFトークンの補完的な対策として実装される有効な手法であり、「効果がない」対策ではなくCSRF対策として採用される方法の一つ。

解くときのポイント

CSRF対策: CSRFトークン、SameSite Cookie属性、Refererチェック、再認証。XSS対策: エスケープ処理、CSP(Content Security Policy)、HttpOnly Cookie。両攻撃の対策を混同しないよう注意。