CSRF(クロスサイトリクエストフォージェリ)とは?XSSとの違いや攻撃への対策を紹介

[ 更新: ]

「CSRFとはどんなサイバー攻撃なのか知りたい」「具体的な被害リスクや対策方法を教えてほしい」という疑問を持つ方もいるでしょう。

CSRF(クロスサイト・リクエスト・フォージェリ)攻撃とは、Webアプリケーションの脆弱性を利用し、ユーザーが意図しない形で処理を実行するサイバー攻撃のことです。

CSRF攻撃を受けると、登録情報やパスワードが勝手に変更されたり、口座から不正に送金されたりなど、さまざまな被害リスクが生じます。CSRF攻撃のリスクを低減し、安全にWebサイトやWebアプリケーションを運営するためには事前対策が必要です。

本記事では、CSRF攻撃の被害リスクや被害事例、効果的な対策方法について解説します。CSRF攻撃の脅威を深く知り、企業に適した対策を講じたい方は最後までご覧ください。

目次

[ 開く ] [ 閉じる ]
  1. CSRF(クロスサイトリクエストフォージェリ)攻撃とは
  2. CSRF攻撃の仕組み
  3. XSSとの違い
  4. CSRF攻撃による被害リスク
  5. 登録情報やパスワードが勝手に変更される
  6. 口座から不正に送金される
  7. 企業の機密情報が外部に漏洩する
  8. 悪意のある投稿や犯罪予告をされる
  9. CSRF攻撃を受けやすいWebサイトの特徴
  10. CSRF攻撃の被害事例
  11. はまちちゃん事件
  12. パソコン遠隔操作事件
  13. ブラウザの進化でCSRF対策は不要になったのか?
  14. CSRF攻撃に有効な5つの対策方法【サービス提供者向け】
  15. Refererヘッダでリンク元を検証する
  16. ワンタイムトークンを使用する
  17. SameSite属性をCookieに設定する
  18. 重要な処理の前に再認証を求める
  19. 脆弱性診断を定期的に実施する
  20. サービス利用者が実践すべきCSRF対策3つのポイント
  21. Webサービスの利用後はこまめにログアウトする
  22. 不審なURLやメールのリンクを安易にクリックしない
  23. 身に覚えのない操作履歴があればサービス元に報告する
  24. CSRF攻撃の対策ならGMOサイバーセキュリティ byイエラエにお任せ
  25. まとめ

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

CSRF(クロスサイト・リクエスト・フォージェリ)攻撃とは、Webアプリケーションの脆弱性を利用し、ユーザーが意図しない形で処理を実行するサイバー攻撃のことです。この攻撃はリクエストを偽造(フォージェリ)するため、CSRFという名称で呼ばれています。

CSRF攻撃を受けた場合、不正リクエストの送信により、意図しない悪質な情報発信や会員情報の書き換え、ID・パスワードの変更などの被害が生じる可能性があります。

IPA(独立行政法人 情報処理推進機構)では「安全なウェブサイトの作り方 - 1.6 CSRF(クロスサイト・リクエスト・フォージェリ)」として、CSRF攻撃について注意喚起がされています。

また、CSRFはWebアプリケーションのセキュリティリスクをまとめた国際的な指標「OWASP Top 10」の2021年版および2025年版で、第1位の「Broken Access Control(アクセス制御の不備)」に分類される代表的な脆弱性です。IPAの「安全なウェブサイトの作り方」でも、CSRF脆弱性の届出は2006年頃から継続的に報告されていると記載されており、現在も注意が必要な脅威といえます。

参考:OWASP「A01:2021 – Broken Access Control

【関連記事】サイバー攻撃とは?種類や被害事例、対策方法についてわかりやすく解説

CSRF攻撃の仕組み

CSRF攻撃の仕組みは、ユーザーがログインしているセッションを悪用することにあります。この攻撃は、基本的に以下のような流れで実行されます。

▼CSRF攻撃の基本的な流れ

  1. ユーザーが正規のWebアプリケーションにログインする
  2. ユーザーが攻撃者の罠サイトを閲覧する
  3. 罠サイトに仕込まれたJavaScriptにより、正規のWebアプリケーションに対して不正なリクエストが送信される
  4. 正規のWebアプリケーションでユーザーが意図しない形で処理が実行される

この結果、パスワードの変更や金銭の送金など、企業や個人にとってリスクの大きい処理が意図せずに実行されます。

XSSとの違い

CSRFとよく比較される別の攻撃手法に、XSS(クロスサイトスクリプティング)があります。XSS攻撃は、悪意のあるスクリプトをWebサイトやWebアプリケーションに埋め込むことで、ユーザーのデータを盗んだり、不正な操作を行わせたりするサイバー攻撃です。

CSRF攻撃はWebアプリケーションのセッション管理を悪用するのに対し、XSS攻撃は出力処理の問題を悪用します。XSS攻撃では攻撃者が不正なスクリプトを埋め込み、第三者のユーザーがそれを実行することで被害に繋がります。

このようにCSRF攻撃とXSS攻撃では仕組みや手段が異なりますが、どちらもWebサイトやWebアプリケーションにとって深刻な脅威となるため、状況に適した事前対策が必要です。

なお、CSRFはフィッシング攻撃と混同されることもあります。フィッシングは偽サイトにユーザー自身が情報を入力してしまうことで被害が発生する攻撃です。一方、CSRFはユーザーが正規サイトにログインしている状態を悪用し、本人が気づかないうちに意図しない操作を実行させる点が大きく異なります。

【関連記事】XSS(クロスサイトスクリプティング)とは?攻撃手法と5つの対策を紹介

CSRF攻撃による被害リスク

CSRF攻撃はユーザーの意図しない操作を強制的に実行させることで、セキュリティを侵害する重大なリスクを引き起こします。本項では、CSRF攻撃による具体的な被害リスクを4つ紹介します。

  1. 登録情報やパスワードが勝手に変更される
  2. 口座から不正に送金される
  3. 企業の機密情報が外部に漏洩する
  4. 悪意のある投稿や犯罪予告をされる

以下、CSRF攻撃によって生じ得るリスクについて詳しく解説します。

登録情報やパスワードが勝手に変更される

CSRF攻撃により、アカウントの登録情報やパスワードが無断で変更されることがあります。それに伴い、攻撃者によってアカウントが乗っ取られ、個人情報の漏洩や不正アクセスの危険にさらされる可能性があります。

口座から不正に送金される

攻撃者によって銀行や決済サイトのセッションが悪用され、ユーザーの口座から不正に送金が行われるケースもあります。この種の攻撃では、金銭的な被害が直接的に発生し、自分の意思に反して高額な被害が生じることとなります。

企業の機密情報が外部に漏洩する

企業の内部システムに対するCSRF攻撃により、機密情報が外部に漏洩するリスクも存在します。具体的には、重要なビジネス情報や顧客データ、アクセス情報などが含まれます。

このような攻撃は、企業の信頼性損失や法的責任、さらにはビジネスの存続にも関わる深刻な問題を引き起こす可能性があります。

悪意のある投稿や犯罪予告をされる

SNSなどのアカウントが乗っ取られ、悪意のある投稿や犯罪予告に利用されるリスクも考えられます。悪意のある投稿により、個人への誹謗中傷や企業への名誉毀損が発生し、結果としてユーザーが加害者として責任を問われることもあります。

CSRF攻撃を受けやすいWebサイトの特徴

CSRF攻撃は特定のWebサイトの特徴を悪用することで実行されます。特に以下のような技術を利用しているWebサイトは、CSRF攻撃のターゲットとなる可能性が高くなるため注意が必要です。

▼CSRF攻撃を受けやすいWebサイトの技術

  • Cookieを用いたセッション管理
  • Basic認証
  • SSLクライアント認証

これらの技術はWebサイトにおいて広く利用されていますが、セキュリティ対策が不十分な場合、CSRF攻撃のリスクを高める可能性があります。例えば、Cookieを用いたセッション管理では、攻撃者がユーザーのセッションを乗っ取りやすくなります。

また、これらの特徴のうち、ログイン後に決済処理等の重要な処理を行うサイトの場合、被害が大きくなりやすいため細心の注意をはらいましょう。具体的には、セッション管理の安全性を高めたり、認証プロセスを強化したりなどが求められます。

実際にIPAには、EC-CUBE(ECサイト構築システム)やASUS製無線LANルータの管理画面、Web給金帳といった身近な製品からもCSRF脆弱性が届出されています。ECサイトやネットワーク機器の管理画面のように、日常的に利用されている製品にもリスクがあることを知っておきましょう。

参考:IPA「安全なウェブサイトの作り方 - 1.6 CSRF(クロスサイト・リクエスト・フォージェリ)

【関連記事】企業が取り組むべきセキュリティ対策とは?重要性や対策内容を解説

CSRF攻撃の被害事例

CSRF攻撃による被害事例は過去にいくつか報告されています。本項では被害事例の内容、そして危険性について詳しく解説していきます。

はまちちゃん事件

2005年4月、SNSの「mixi」をターゲットとしたCSRF攻撃により、特定のURLをクリックすると勝手に「ぼくはまちちゃん!」というタイトルで⽇記がアップされてしまう現象が発生しました。日記が勝手に投稿されるだけで、幸いにも大きな実害はありませんでした。

サービスを提供しているイー・マーキュリーは、この件について「ハッキングでもなく、サーバ攻撃やウイルスでもない。ID盗難などの被害は発生していない」という回答をしており、「それ以上はコメントできない」とも述べています。実際、「はまちちゃん事件」ではIDなどの流出はありませんでしたが、CSRF攻撃の影響力を世間に知らしめるきっかけとなりました。

パソコン遠隔操作事件

2012年6⽉から9⽉にかけて、攻撃者が他人のパソコンを遠隔操作し、殺害や爆破予告など13件もの犯罪予告を行いました。これを受け、著名人を含む複数の容疑者が逮捕されました。

しかし、警察が逮捕された人物が使用していたパソコンを再度調べたところ、マルウェアが仕込まれていたことがわかり、パソコンが遠隔操作されて書き込みを行っていたことが判明。結果として、これらの逮捕は全て誤認逮捕だったのです。

その後、予告のあったサイトの脆弱性を狙ったCSRF攻撃だと判明し、長期にわたる捜査の結果、2013年2月に真犯人が逮捕されました。

ブラウザの進化でCSRF対策は不要になったのか?

2020年以降、Google ChromeやFirefoxなどのモダンブラウザでは、CookieのSameSite属性のデフォルト値がLaxに変更されました。この変更により、外部サイトからのPOSTリクエストにCookieが自動送信されなくなったため、「ブラウザが自動的にCSRFを防いでくれるのでは?」と考える方もいるかもしれません。

しかし、ブラウザの保護だけでCSRF攻撃を完全に防ぐことはできません。たとえば、GETメソッドで更新処理を受け付けているサイトでは、SameSite=Laxの設定下でもCookieが送信されるため、攻撃が成立する可能性があります。また、外部サービスとの連携のためにSameSite=Noneを明示的に設定しているサイトや、SameSite属性に対応していない古いブラウザを利用しているユーザーが存在する場合も、依然としてリスクが残ります。

実際に、JVN iPedia(脆弱性対策情報データベース)では2025年現在もWordPressプラグインを中心にCSRF脆弱性が多数報告されており、脅威が過去のものになったわけではありません。ブラウザのSameSite属性はあくまで緩和策のひとつであり、サーバー側でCSRFトークンの実装などの根本的な対策を行うことが引き続き重要です。

CSRF攻撃に有効な5つの対策方法【サービス提供者向け】

CSRF攻撃はWebサイトのセキュリティを大きく脅かすため、効果的な対策を講じることが重要です。ここでは、サービス提供者の立場で実践すべき5つの対策方法を紹介します。

  1. Refererヘッダでリンク元を検証する
  2. ワンタイムトークンを使用する
  3. SameSite属性をCookieに設定する
  4. 重要な処理の前に再認証を求める
  5. 脆弱性診断を定期的に実施する

Refererヘッダでリンク元を検証する

Refererヘッダを使用することで、リクエストが正当なものかどうかを確認できます。リクエストが信頼できるソースから送信されているかをチェックすることで、不正なアクセスを効果的に防ぐことが可能です。

サーバー側でRefererヘッダを検証することにより、悪意あるリクエストを事前に識別し、迅速に対処できるようになります。不正なリンク元からのリクエストを特定してブロックすることで、CSRF攻撃のリスク軽減に繋がるのです。

しかし、ブラウザの設定などでRefererの送信を無効にしている場合、サービスを利用できなくなる可能性があります。また、チェック漏れが発生するリスクもあるため、他の対策と併用して行うことが推奨されます。

ワンタイムトークンを使用する

ワンタイムトークンの使用もCSRF攻撃に対して有効です。この方法では、各フォーム送信ごとに一意のトークンが生成され、重要な処理が実行される際にトークンの確認が行われます。

トークンが一致せず、確認が完了しなかった場合、第三者からのリクエストは拒否されます。これにより、不正な操作が実行されることを事前に防止します。

ワンタイムトークンはセッションごとに生成されるため、攻撃者がトークンを予測することは非常に困難です。ワンタイムトークンの使用は突破されにくいCSRF対策だと言えます。

また、Django(Python)、Laravel(PHP)、Ruby on Rails、Spring Security(Java)など、主要なWebアプリケーションフレームワークにはCSRFトークンがデフォルトで組み込まれています。これらのフレームワークを利用している場合は、設定を正しく有効にするだけで基本的な対策が可能です。

参考:OWASP「Cross-Site Request Forgery Prevention Cheat Sheet

SameSite属性をCookieに設定する

CookieにSameSite属性を設定することで、クロスサイト(異なるサイト間)でのCookie送信を制限し、CSRF攻撃を緩和できます。SameSite属性には3つの値があり、それぞれ異なるレベルでCookieの送信を制御します。

設定値 挙動 CSRF防御力
Strict 同一サイトからのリクエストのみCookieを送信 高い
Lax GETリクエストによる画面遷移時のみCookieを送信 中程度
None クロスサイトリクエストでもCookieを送信(Secure属性が必須) なし

現在、Google ChromeやFirefoxなど主要ブラウザはSameSite属性のデフォルトをLaxとして扱うため、未設定でも一定の保護が働きます。ただし、古いブラウザでは対応していないケースや、外部サービス連携でSameSite=Noneに設定しているケースもあるため、SameSite属性だけに頼らず、CSRFトークンなど他の対策と組み合わせることが重要です。

参考:MDN Web Docs「Set-Cookie - SameSite

重要な処理の前に再認証を求める

パスワード変更や送金といった重要な処理を実行する直前に、パスワードの再入力やCAPTCHAの入力をユーザーに求める方法も有効です。CSRF攻撃では攻撃者がユーザーに代わってリクエストを送信しますが、再認証を設けることで、ユーザー本人の操作でなければ処理が完了しない仕組みを作れます。

この対策はIPA「安全なウェブサイトの作り方」でも推奨されており、画面設計の変更を伴いますが、CSRFトークンの実装が難しい場合の代替策として有効です。トークンとの併用により多層的な防御を実現できるため、特に金銭や個人情報に関わる処理では積極的に導入を検討しましょう。

参考:IPA「安全なウェブサイトの作り方 - 1.6 CSRF(クロスサイト・リクエスト・フォージェリ)

脆弱性診断を定期的に実施する

自社のWebサイトやWebアプリケーションにCSRFの脆弱性が残っていないかを定期的にチェックすることも重要な対策です。開発時にCSRFトークンを実装していても、後から追加した機能やプラグインに対策漏れがあるケースは珍しくありません。

脆弱性診断では、CSRF以外にもXSSやSQLインジェクションなど複数の脆弱性をまとめて検出できるため、Webサイト全体のセキュリティ向上に効果的です。自社での対応が難しい場合は、外部の専門サービス(Webアプリケーション診断など)を活用することで、より精度の高い検査が可能になります。

参考:IPA「安全なウェブサイトの作り方 - 1.6 CSRF(クロスサイト・リクエスト・フォージェリ)

サービス利用者が実践すべきCSRF対策3つのポイント

CSRF攻撃はサービス提供者だけでなく、利用者側でもリスクを軽減できます。日常のちょっとした心がけが被害を防ぐ第一歩です。ここでは、サービス利用者が実践すべき3つのポイントを紹介します。

  1. Webサービスの利用後はこまめにログアウトする
  2. 不審なURLやメールのリンクを安易にクリックしない
  3. 身に覚えのない操作履歴があればサービス元に報告する

Webサービスの利用後はこまめにログアウトする

CSRF攻撃は、ユーザーがWebサービスにログインした状態でなければ基本的に成立しません。そのため、利用が終わったらこまめにログアウトすることが最も手軽で効果的な自衛策です。

特にネットバンキングや決済サービスなど、金銭的な被害に直結するサービスでは、利用後すぐにログアウトする習慣をつけましょう。「ログイン状態を保持する」設定はブラウザを閉じてもセッションが残り続けるため、CSRF攻撃のリスクを高めることになります。

参考:IPA「安全なウェブサイトの作り方 - 1.6 CSRF(クロスサイト・リクエスト・フォージェリ)

不審なURLやメールのリンクを安易にクリックしない

CSRF攻撃は、攻撃者が用意した罠サイトにユーザーを誘導することで始まります。そのため、不審なURLやメール・SNSで送られてくるリンクを安易にクリックしないことが基本的な防御策です。

たとえば、身に覚えのない差出人からのメールに含まれるリンクや、SNS上で拡散されている短縮URLなどには注意が必要です。リンク先のURLを事前に確認し、正規のドメインかどうかをチェックする習慣をつけることで、罠サイトへの誘導を防ぎやすくなります。

参考:IPA「不正なメールに注意

身に覚えのない操作履歴があればサービス元に報告する

自分では行っていない送金・投稿・設定変更などに気づいた場合は、CSRF攻撃を受けた可能性があります。まずはパスワードを速やかに変更し、サービス提供元に状況を報告しましょう。

被害の早期発見・早期報告が、被害の拡大を防ぐカギです。放置すると不正操作が繰り返されたり、攻撃者にアカウントを完全に乗っ取られたりするリスクがあります。不審な操作履歴を見つけたら、まず落ち着いてパスワード変更→サービス提供元への連絡の順で対応してください。

参考:IPA「情報セキュリティ安心相談窓口

CSRF攻撃の対策ならGMOサイバーセキュリティ byイエラエにお任せ

GMOサイバーセキュリティ byイエラエ

画像引用元:GMOサイバーセキュリティ byイエラエ

CSRF攻撃は、多くのWebサイトや企業にとって重要なセキュリティ課題です。この種の攻撃を効果的に防ぐためには、専門的な知識と技術が必要となります。

そこでおすすめしたいサービスが、サイバーセキュリティの脅威に対して包括的な対策とサポートを提供する「GMOサイバーセキュリティ byイエラエ」です。本サービスは企業のセキュリティ弱点を特定し、効果的な対処法を講じることで、CSRF攻撃を含むあらゆるサイバー攻撃のリスクを低減します。

さらに、セキュリティコンサルティングサービスを通じて、進化し続ける脅威に対しても常に対応することが可能です。企業のサイバーセキュリティ対策を講じたい方は、本サービスの利用を検討してみてください。

まとめ

本記事では、CSRF攻撃の被害リスクや被害事例、効果的な対策方法について解説しました。

CSRF攻撃はユーザーが意図しない形で処理が実行されるサイバー攻撃であり、個人や企業に対して深刻な被害をもたらすリスクが存在します。CSRF攻撃を防ぐためには、Refererヘッダでリンク元を確認する、ワンタイムトークンを使用するなどの対策が求められます。

また、ホワイトハッカーの技術力で包括的に対策できる「GMOサイバーセキュリティ byイエラエ」を利用するのも1つの手です。「CSRF攻撃の被害リスクを軽減したい」「最新のサイバー攻撃を対策したい」という方は、本サービスの利用を検討してみてください。

文責:GMOインターネットグループ株式会社