問16 CSRF の対策にならない物

情報処理​安全確保​支援士 令和7年度 秋期 午前II、全25問のうちの問16。

出典:令和7年度 秋期 情報処理安全確保支援士試験 午前II 問16

クロスサイトリクエストフォージェリ攻撃の対策として,効果がないものはどれか。

  1. アWeb サイトでの決済などの重要な操作の都度,利用者のパスワードを入力させる。
  2. イWeb サイトへのログイン後,HTTP レスポンスボディに含めた秘密の値と,Web ブラウザから送付される値とを,Web サーバ側で照合する。
  3. ウWeb ブラウザからのリクエスト中の Referer によって正しいリンク元からの遷移であることを確認する。
  4. エWeb ブラウザからのリクエストを Web サーバで受け付けた際に,リクエストに含まれる“<”,“>”などの特殊文字を,“&lt;”,“&gt;”などの文字列に置き換える。
答えと解説を開く

正解はエです。

CSRF は、利用者が別のサイトを開いただけで、ログイン中のサービスへ本人の意図しない操作が送られる攻撃です。防ぐには「この操作は、本人が自分のサイトの画面から送った物か」を確かめる必要があります。エの文字の置き換えは、入力が HTML として動かないようにする XSS の対策で、送られてきた操作が本人の意図かどうかは確かめません。だから効果がないのはエです。

ほかの選択肢が違う理由

  • ア重要な操作のたびにパスワードを入れさせると、罠のサイトはパスワードを知らないので、操作を成り立たせられません。効果がある対策です。
  • イ自分のサイトの画面にだけ埋めた秘密の値 (トークン) を照らせば、罠のサイトはその値を知らないので見分けられます。代表的な対策です。
  • ウReferer を見て、自分のサイトの画面から来た送信かを確かめるのも対策になります。ただし Referer が付かない場合もあるので、付かないときの扱いを決めておく必要があります。

仕組み

ブラウザは、ログイン中のサービスへの送信に、どのサイトから送られたかに関係なく Cookie を自動で付けてきました。CSRF は、この「自動で付く」所を突きます。

今は Cookie に SameSite を付けることで、別のサイトからの送信に Cookie を付けないようにできます。それでも、状態を変える操作は GET で受けない、トークンや Origin を確かめる、を重ねるのが基本です。

この問に出る言葉