Skip to the content.

まず結論

クロスサイトリクエストフォージェリ(CSRF)は、ログイン済みの利用者になりすまして、意図しないリクエストを送らせる攻撃です。
SG試験では「本人の操作に見せかける攻撃かどうか」を見抜けるかがポイントになります。


直感的な説明

イメージとしては、

  • 銀行にログインしたまま別のサイトを見る
  • そのサイトに「見えない送金ボタン」が仕込まれている
  • 気づかないうちに送金リクエストが実行される

という状態です。

ポイントは
👉 自分は何もしていないのに、勝手に操作が行われること

です。


定義・仕組み

クロスサイトリクエストフォージェリ(CSRF)は、

  • 利用者がログイン済みの状態を利用して
  • 攻撃者が用意したページやリンクを踏ませ
  • 正規のWebサイトに対して不正なリクエストを送らせる

攻撃です。

仕組みの流れ

  1. 利用者が正規サイトにログイン(Cookie保持)
  2. 攻撃者のページを閲覧
  3. 見えない形でリクエスト送信(例:送金・設定変更)
  4. サーバは「ログイン済みユーザの操作」と誤認

重要ポイント

  • サーバ側は「正規ユーザの通信」と区別できない
  • 攻撃の成立条件は「ログイン状態」

どんな場面で使う?

起きやすい場面

  • ログイン状態を保持するWebサービス
    • 銀行
    • ECサイト
    • SNS
  • ワンクリックで実行される処理
    • 送金
    • パスワード変更
    • メール変更

現場での対策の考え方

  • トークン(CSRFトークン)の付与
  • 再認証(重要操作時)
  • Refererチェック

👉 「その操作、本当にユーザ本人が意図した?」を確認する仕組みが重要


よくある誤解・混同

❌ XSSと混同する

  • XSS:スクリプトを実行させる攻撃
  • CSRF:ユーザの操作を悪用する攻撃

👉 SG試験ではここをよく狙われます


❌ 「不正アクセス」だと考える

  • CSRFはログイン済みユーザを利用する
  • ID・パスワードを破るわけではない

👉 「なりすまし操作」がキーワード


❌ 「ユーザが怪しい操作をした」と思う

  • 実際はユーザは気づいていない

👉 「本人の意思ではない」が重要


確認問題(SG試験対策)

次のうち、最も適切なものはどれか。

A. CSRFは、閲覧者のブラウザで不正スクリプトを実行させることでCookieを盗む攻撃である。
B. CSRF対策として、重要処理のリクエスト時にCSRFトークンを確認する方法が有効である。
C. CSRFは、通信経路を盗聴してパケット内容を改ざんする攻撃である。
D. CSRF対策は、ログイン失敗回数の制限だけで十分である。

答えと解説を見る

正解:B

解説

  • A:誤り。これはXSSの説明に近く、CSRFの本質(ログイン状態を悪用した不正操作)とは異なります。
  • B:正しい。CSRFは「正規サイトへの不正リクエスト送信」を防ぐ必要があり、トークン検証が有効です。
  • C:誤り。これは中間者攻撃に関する説明で、CSRFの攻撃手法ではありません。
  • D:誤り。ログイン失敗回数制限は総当たり攻撃対策であり、CSRFの主要対策にはなりません。

👉 判断ポイント
「不正スクリプト実行(XSS)」か「ログイン状態の悪用(CSRF)」かで切り分ける。

まとめ(試験直前用)

  • CSRF=ログイン状態を悪用したなりすまし操作
  • サーバは正規ユーザの操作と区別できない
  • XSSは「スクリプト実行」、CSRFは「リクエスト悪用」
  • 選択肢で「本人の意思でない操作」があればCSRFを疑う

🔗 関連記事


🏠 情報セキュリティマネジメントトップに戻る