FUNDAMENTAL INFORMATION TECHNOLOGY ENGINEER
基本情報技術者の問題解説
問題
B社の社内Webシステムでは,ログイン中の社員が「退会申請の承認」をボタン操作で実行できる。最近,ある管理者が業務中に受信したメール内のリンクを開いたところ,気付かないうちに複数の退会申請が一括承認されてしまう事象が起きた。リンク先のページには,B社システムへ承認リクエストを送る仕掛けが埋め込まれていた。管理者はB社システムにログインしたままだったため,リクエストは有効なセッションで処理されていた。
この事象を防ぐ対策として,最も適切なものはどれか。
- ア 受信メールの文字コードをUTF-8に統一する。
- イ 承認ボタンのデザインを大きく目立たせる。
- ウ 承認などの重要操作のリクエストに,推測困難なトークンを付与してサーバ側で検証する。
- エ 管理者のメールボックスの容量を増やす。
- オ 社内システムのトップページに注意書きを掲示する。
正解と解説
正解:承認などの重要操作のリクエストに,推測困難なトークンを付与してサーバ側で検証する。
正解:ウ
状況の整理:ログイン中の管理者のブラウザが,外部リンク先の仕掛けによって意図しない承認リクエストを送らされている。有効なセッションで処理されている点も含め,CSRFの典型である。
なぜウか:重要操作にトークンを要求すれば,正規画面を経ない外部からのリクエストはトークンを持たず拒否される。攻撃の成立条件を断てる。
誤答の理由:ア(文字コード)・イ(ボタンの見た目)・エ(メール容量)・オ(注意書き)は,リクエストの正当性検証とは無関係。注意喚起は補助にはなるが,操作させられる仕組み自体は止められない。
読み解きのコツ:「ログイン中の利用者が外部リンクで意図しない操作を実行」はCSRF。サーバ側のトークン検証が答え。
この問題について
公開問題・サンプル問題のセキュリティ事例形式(A社シナリオ+もっともらしい誤答)を参考にした独自問題です。本文・選択肢・解説は新規作成しています。
公式試験問題、公開問題、市販教材、外部問題サイトの問題文を転載・改題したものではありません。