クロスサイトリクエストフォージェリ

更新日:

用語解説

クロスサイトリクエストフォージェリ(CSRF)は、Webサイトにログインしている利用者に罠のページを開かせ、その利用者の権限で、意図しない操作を実行させる攻撃です。

■ 試験で押さえるポイント

  • 罠のページから、正規のサイトへの要求を利用者のブラウザに送らせます。

  • ブラウザが自動でCookieを送るため、正規の利用者からの要求として処理されてしまいます。

  • 対策は、推測できないトークンを使った確認、SameSite属性、重要な操作での再認証です。

■ 過去問での着眼点

利用者のブラウザから正規のサイトへ偽の要求を送らせる攻撃です。スクリプトを埋め込むXSSと区別します。

例: ネットバンキングにログインしたまま罠のサイトを開くと、勝手に送金の要求が送られることがあります。

■ 要求の成立条件とサーバ側の検証

  • Cookie等の資格情報が自動送信され、攻撃者が状態変更の要求を作れ、サーバが本人の意図を検証しないと攻撃が成立する。応答を攻撃者が読めなくても、送金や設定変更が実行されれば被害になる。

  • CSRFトークンは利用者のセッションと結び付けてサーバで検証する。Origin・Refererは許可する送信元と照合し、欠落時の扱いも定める。SameSiteは補助となるが、同一サイトの別オリジン等の条件を確認する。

  • GETで状態変更をしない。CORSの読取り制限やJSONという形式だけで安全とは判断しない。変更APIと別に単純フォームで操作できる経路が残っていないか確認する。XSSがあるとCSRF対策も回避され得る。

音声で聞く

同じ分野の用語