概要
CSRFは、ユーザーが意図しない操作をWebサイト上で勝手に実行されてしまう攻撃手法です。
ログイン中のWebサービスを標的にして、
攻撃者が不正なリクエストを送信させることで、被害者のアカウントを使って勝手に操作を行います。
正式名称
Cross-Site Request Forgery(クロスサイト・リクエスト・フォージェリ)
→ 「サイトをまたいだリクエストのなりすまし」といった意味
略称
CSRF(シーサーフ/シーエスアールエフ)
特徴
- 被害者がログイン中の状態を利用して攻撃が成立する
- 攻撃者は、ユーザーに悪意あるページを踏ませることでリクエストを送信させる
- リクエスト自体は正規のものなので、サーバー側は「不正」と気づきにくい
- ユーザーの意図しない操作(例:設定変更、送金、投稿など)が行われる
- 対策が不十分なWebサービスに対して簡単に仕掛けられる攻撃
具体例
例:銀行サイトでの送金を勝手に実行されるケース
- ユーザーが「銀行サイトA」にログインして、ログイン状態のまま他のページも見ている
- 攻撃者が用意した悪意のあるWebページ(例:クリックで送金が実行される)を開く
- そのページに「銀行サイトA」宛ての不正な送金リクエストが仕込まれている
- ユーザーが気づかないうちに、自分のアカウントで攻撃者の口座に送金してしまう
関連用語
用語 | 解説 |
---|---|
XSS(クロスサイトスクリプティング) | ユーザーのブラウザ上で不正なスクリプトを実行させる攻撃手法 |
セッションハイジャック | ユーザーとWebアプリケーションとの間のセッションを第三者が 不正に乗っ取る攻撃手法 |
SameSite属性 | クッキーの送信を制限するためのブラウザのセキュリティ設定。 CSRF対策に有効 |
CSRFトークン | サーバー側が発行する一時的なキー。 リクエストが正規ユーザーからのものかを判定するために使用される |