攻撃と脅威
クロスサイトリクエストフォージェリ(CSRF)
別称: CSRF, セッションライディング
定義
認証済みユーザーのブラウザに、脆弱なサイトへ意図しないリクエストを送らせ、本人の同意なく状態変更操作を実行させる Web 攻撃。
クロスサイトリクエストフォージェリ(CSRF)は、ブラウザが送信時に Cookie などの認証情報を自動的に付与する仕組みを悪用します。標的サイトへすでにログイン済みの被害者が攻撃者の用意したページを開くと、そのページが裏でフォーム送信や API 呼び出しを行い、パスワード変更・送金・アカウント設定の変更といった操作を正規ユーザーとして実行させられます。対策には、シンクロナイザートークン(anti-CSRF トークン)、SameSite Cookie(Lax または Strict)、ダブルサブミット、機微な操作での再認証の要求、Origin/Referer ヘッダーの検証、メモリ保持のベアラトークンなど Cookie 以外の認証情報の利用が挙げられます。
例
- ログイン済みのユーザーが攻撃者ページを開いた瞬間、裏で /transfer に POST が送信され銀行口座から送金される。
- 管理者がリンクをクリックすると、隠しフォームが /users/promote へ送信され、攻撃者に管理者権限が付与される。
関連用語
クロスサイトスクリプティング(XSS)
他のユーザーが閲覧するページに悪意あるスクリプトを注入し、当該サイトのオリジンとして被害者のブラウザで実行させる Web 脆弱性。
SameSite Cookie
SameSite Cookie — definition coming soon.
セッションハイジャック
セッション識別子を盗用または偽造して被害者の認証済みセッションを乗っ取り、攻撃者が認証情報なしで本人として振る舞う攻撃。
CORS (Cross-Origin Resource Sharing)
CORS (Cross-Origin Resource Sharing) — definition coming soon.
Session Management
Session Management — definition coming soon.
OWASP Top 10
OWASP Top 10 — definition coming soon.