セキュリティ・認証 / Webセキュリティ
CSRFとは
Cross-Site Request Forgery。ログイン済み利用者のブラウザに意図しない操作を送らせる攻撃です。
用語集内のカードを見るセキュリティ・認証 / Webセキュリティ
Cross-Site Request Forgery。ログイン済み利用者のブラウザに意図しない操作を送らせる攻撃です。
用語集内のカードを見るCSRFを、定義だけで終わらせず、現場で出てくる場面、確認材料、見落としやすい点、関連語とのつながりまで順に確認できます。
実務メモ
CSRFは管理画面、設定変更、承認、申請、送金、メールアドレス変更など状態変更操作で効きます。ログイン済み利用者の意図しない操作を調べるときに確認します。
証跡には対象操作、HTTPメソッド、Cookie送信有無、CSRF token、SameSite、Origin/Referer、再現HTML、成功/拒否結果、監査ログを残します。
CORSで応答を読めないこととCSRFを防げることは別です。リクエスト自体は送られる場合があります。SameSiteだけに頼らずtokenやOrigin検証も確認します。
CSRF(Cross-Site Request Forgery)は、ログイン済み利用者のブラウザに意図しない操作を送らせる攻撃です。管理画面、設定変更、申請、承認、送金、メールアドレス変更など状態変更操作で重要です。
実務では、CSRF token、SameSite、Origin/Referer検証、再認証、HTTPメソッド、Cookie送信条件、CORSとの違いを確認します。
証跡には、対象操作、HTTPメソッド、Cookie送信有無、CSRF token有無、Origin/Referer、SameSite、再現HTML、成功/拒否結果を残します。
CSRFは、攻撃者がCookieを盗む必要はありません。利用者のブラウザが正規サイトへCookieを自動送信する性質を使い、意図しない状態変更を狙います。
GETで状態変更できる、POSTでもCSRF tokenがない、SameSiteが緩い、Origin検証がない場合は注意します。読み取りAPIよりも状態変更操作を優先して確認します。
CSRF tokenは、正規画面から発行された値を状態変更時に検証する仕組みです。SameSiteはCookie送信条件を絞り、攻撃成立条件を減らします。
どちらか一方だけに頼るより、重要操作ではtoken、SameSite、Origin/Referer、再認証を組み合わせます。外部IdPや決済戻りでSameSiteを緩める場合も、状態変更側のtoken検証を残します。
CORSはブラウザがJavaScriptへ応答を渡すかを制御する仕組みで、CSRFそのものを防ぐ仕組みではありません。CORSで読めなくても、リクエスト自体は送られる場合があります。
認証付きAPIでは、CORS許可、SameSite、CSRF token、Authorization方式をまとめて確認します。SPAではプリフライト成功とCSRF防御を分けて見ます。
CSRF対応では、対象操作、対策方式、除外理由、外部連携影響、テスト結果、監査ログを残します。状態変更操作は業務影響が大きいため、例外を作る場合は理由が必要です。
引き継ぎでは、アプリ担当、認証基盤担当、セキュリティ担当、関連語としてSameSite、Cookie、Origin、CORSを残すと確認しやすくなります。
同じ主要カテゴリの用語をまとめて確認できます。現在の用語を起点に、前後の用語へ進むと文脈を保ったまま読み進められます。