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