FE SUBJECT B
基本情報技術者 科目Bの問題解説
問題
A社の会員向け通販サイトは,ログイン後はCookieのセッションIDだけで利用者を識別している。配送先住所の変更などの操作は,画面のボタン押下でサーバへ送信される。ある日,複数の会員から「身に覚えのない住所変更がされた」と問い合わせがあった。調査の結果,攻撃者が用意した外部サイトを会員が閲覧した際,その画面に仕込まれた仕掛けにより,会員のブラウザからA社サイトへ住所変更リクエストが自動送信されていた。リクエストは正規のセッションIDを伴っていたため,サーバは正当な操作として受理していた。
この攻撃を防ぐ対策として,最も適切なものはどれか。
- ア 住所変更画面にCAPTCHAを追加し,自動入力を防ぐ。
- イ 状態を変更するリクエストに,画面表示時に発行した推測困難なトークンを含め,サーバ側で照合する。
- ウ セッションIDの有効期限を従来より短く設定する。
- エ 住所変更の完了後に,会員へ通知メールを送信する。
- オ 会員にパスワードを定期的に変更するよう促す。
正解と解説
正解:状態を変更するリクエストに,画面表示時に発行した推測困難なトークンを含め,サーバ側で照合する。
正解:イ
状況の整理:正規のセッションIDを持つ会員のブラウザから,本人の意図しないリクエストが送られている。攻撃者はセッションIDを盗んだのではなく,会員のブラウザに「ついでに送らせている」。これがクロスサイトリクエストフォージェリ(CSRF)。
なぜイか:CSRFトークンは,正規の画面を経由したリクエストにだけ含まれる秘密の値。外部サイトからの自動リクエストはこのトークンを知らないため,サーバ側の照合で弾ける。CSRFの定石対策。
誤答の理由:ア・ウ・エ・オはいずれも「セキュリティ的に悪くない施策」だが,CSRFの本質を突かない。CAPTCHAは多少の緩和にはなるが利便性を損ない根本対策ではない。ウは盗まれたセッションの話で本問とずれる。エは事後通知で防止にはならない。オはパスワード漏えい対策でCSRFには無関係。
読み解きのコツ:「正規のセッションを伴うのに意図しない操作」と書かれたらCSRF。トークン照合を選ぶ。
この問題について
公開問題・サンプル問題のセキュリティ事例形式(A社シナリオ+もっともらしい誤答)を参考にした独自問題です。本文・選択肢・解説は新規作成しています。
公式試験問題、公開問題、市販教材、外部問題サイトの問題文を転載・改題したものではありません。