応用情報技術者ブラウザ・セッションとAPIの防御オリジナル・公式資料照合難易度★★★★☆
ログインCookieにSameSite=Laxを明示したサイトが、GET /account/deleteでアカウントを削除している。ログイン中の利用者が、別サイトのリンクからこのURLへトップレベルで移動できる。サーバーに追加のCSRF検証はない。適切な評価と修正はどれか。
A
Laxなら別サイトからのトップレベルGETにもCookieが付かないので変更不要
Laxは安全なHTTPメソッドのクロスサイトトップレベル遷移ではCookieを送る場合があり、このGETの副作用を防げません。
B
トップレベルGETにはCookieが付き得る。削除をGETから外し、POST等でCSRFトークンや信頼するOriginの検証などを行う★ 正解
状態変更をGETから除き、サーバー側のCSRF対策を適用します。POSTへ変えるだけで全攻撃が防げるとも考えません。
C
CookieをHttpOnlyにすれば、GETによる削除とCSRFの問題も必ず解消する
HttpOnlyはJavaScriptからのCookie読取りを制限しますが、ブラウザによる認証Cookie送信を止める機能ではありません。
D
CORSの許可ヘッダーを付けなければ、別サイトからのGETナビゲーション自体を必ず防げる
CORSは主にスクリプトからの応答読取り等を制御する仕組みで、リンクによるトップレベル遷移やサーバーの状態変更を一律には防ぎません。
解説
SameSite=LaxをあらゆるCSRFの防止と扱わないことが重要です。GETに状態変更があるとリンク遷移で副作用が起こり得るため、メソッドと追加検証を併せて修正します。
根拠資料・確認情報
対応範囲:2026年度 応用情報技術者試験
資料確認日:2026-10-28
同じレッスンの問題
問題 1
利用者のブラウザはexample.comを一度も訪れたことがなく、同ドメインや親ドメインのHSTS情報を持たず、preload登録もない。ブラウザ独自のHTTPS優先機能は無効で、利用者はhttp://example.comを開く。サーバーはHTTPSへ転送し、HTTPS応答にHSTSを付ける。初回接続について正しいのはどれか。
問題 2
サーバー生成HTMLで、必要なインラインscriptだけをnonce型CSPで許可したい。攻撃者は以前の応答HTMLを閲覧でき、一部の文字列注入も試みる。アプリが全応答で同じ公開済みnonceを使っている。適切な改善はどれか。
問題 4
端末ごとに異なるsidを含む署名付きアクセストークンと更新トークンを発行するAPIがある。端末Aのログアウト後は、盗まれたAの未期限切れトークンによる以後の認証も拒否し、端末Bのログインは維持したい。現在は署名と有効期限だけを検証している。最も適切な設計はどれか。
問題 5
OIDCを使うSPAのclient_idはspa-client、別の業務APIの識別子はorders-apiである。APIはRFC 9068形式のJWTアクセストークンを受け入れる設計である。SPA向けIDトークン(aud=spa-client)がAPIへ送られ、署名・発行者・期限は正しい。APIの判断はどれか。