HOME > WAFとWebセキュリティ > サイト運営者のためのWebサイトセキュリティ対策入門

CSRFって一体何?

セキュリティ対策の専門家でないサイト運営者の皆さんにとって、Webサイトセキュリティは疑問だらけ。EC/オンラインショップ、顧客/会員管理、企業ホームページ、BtoBサイト…など、様々なWebサイトに共通の対策を分かりやすく解説します!

- サイト運営者のためのWebサイトセキュリティ対策入門 -

【6】CSRF(クロスサイトリクエストフォージェリ:リクエスト強要)って一体何? どう対策すればいいの?

2011年に発生したWebアプリケーションの脆弱性を利用したいたずら(?)で一般の市民が被害にあい、誤認逮捕されてしまった事件をきっかけに良く知られるようになったのがCSRFの脆弱性です。被害者の一人だった大学生が自主退学する事態になってしまったとも報じられ、社会問題として大きく取り上げられました。

遠隔操作ウイルスによる誤認逮捕で百家争鳴 - @IT

今回はこのCSRFという脆弱性に対して、どのようなWebサイトが注意しなくてはならないのか、またどのような対策があるのかをWebサイト運営者の目線で説明します。
2025年5月更新

CSRFとは?

まずCSRFまたはリクエスト強要とは何か? これはSQLインジェクションやクロスサイトスクリプティングと同じくWebアプリケーションの脆弱性の一種で、クロスサイトリクエストフォージェリを略してCSRF(シーサーフ)と呼ばれているものです。IPAではリクエスト強要と呼んでいます。

この脆弱性を悪用すると、ECサイトの他人のアカウントで勝手に注文したり、前述の事件のように地方自治体のWebサイトへ犯罪予告のコメントを第三者になりすまして書き込んだりできてしまいます。

CSRF脆弱性による被害

攻撃の仕組み

攻撃の仕組みの大まかな流れは、以下のようになります。

  • 【1】 攻撃者が罠を仕掛けたWebサイトを用意する
  • 【2】 被害者が罠サイトを閲覧する
  • 【3】 罠サイトを閲覧した被害者のPCから、被害者がそのときアクセスするつもりのないWebサイトの掲示板などに強制的にアクセスさせられ、コメントなどが書き込まれる
  • 【4】 書き込まれたWebサイトの接続ログを調べると、被害者のPCからのアクセス情報(IPアドレスなど)が記録されている

CSRF攻撃の例

CSRF攻撃の仕組み

この脆弱性自体は過去にも話題になったことがあります。20年前の、2005年にも国内のセキュリティ研究家がSNSサイトにCSRF脆弱性があることを実際に証明し、問題になりました。

2025年の現在においても、JVN iPediaの脆弱性対策情報データベースでは、WordPressのプラグインを中心に、数多くのCSRF脆弱性が報告されています。

JVN iPedia「脆弱性対策情報データベース」-「クロスサイトリクエストフォージェリ」での検索結果

また、詳しい技術的な解説は以下のサイトで説明されています。

情報処理推進機構:情報セキュリティ:脆弱性関連情報の取扱い:知っていますか?脆弱性 (ぜいじゃくせい)/3. CSRF (クロスサイト・リクエスト・フォージェリ)

どのようなWebサイトで注意が必要なのか?

ログインした状態でユーザが何か操作を行うタイプのWebサイト、掲示板・コメント機能をはじめフォームと呼ばれる入力機能を持っているWebサイトなど、幅広いサイトで注意が必要で、CSRF対策が必須となります。

まずはどうすればいいのか?

自分や自社が管理しているWebサイトにログイン機能や、掲示板/コメント機能などが備わっているかを確認してください。もしそのような機能が存在する場合は、Webサイトを保守している会社や開発した会社にCSRF対策が施されているかを確認します。

もし保守会社や開発会社に相談できない場合は、セキュリティ診断を相談されることをおすすめします(弊社でも実施しております。調査は有償になります)。

もしCSRF脆弱性が存在する可能性が高い場合は?

CSRFの対策は、その他の脆弱性対策に比べて厄介です。一番良い方法はプログラムを改修することですが、時間がかかったり費用が高額だったりするため、緊急対応として以下の方法もあります。

CSRF脆弱性に利用されやすい機能を停止する

前述したとおり、掲示板やコメントフォームなどと呼ばれる「閲覧者が情報を書き込める機能」はCSRFの攻撃対象となります。そうした機能が必須でないWebサイトの場合は、その機能を無効にしてしまうことで被害を防げます。

コメント承認機能などがある場合はそれを有効にする

また、コメントや意見を書き込む機能には、その情報をWebサイトに表示する前に管理者が確認する機能がついている場合もあります。そのような機能がある場合は、承認機能を有効にし、未承認の書き込みについてはWebサイトに反映させないようにしましょう。

プログラムの改修

もちろん一番の対策はWebサイトのプログラムを改修することですが、手間と時間と費用がかかります。少々仕組みの話をしますと、Webサイトの「セッション管理」を見直す必要があります。これは、簡単にいうと複数の閲覧者がWebサイトにアクセスした際に、誰がどういった行動をとったか、どのような結果を誰に表示すればいいかを管理する機能です。

CSRF脆弱性が存在するWebサイトでは、この機能に若干不備があり、攻撃者は第三者になりすますことが可能になってしまいます。CSRFへの対策としては、このセッション管理を厳密に実施する必要があります。しかし、プログラムを改修せずにCSRFの対策が可能なサービスもあります。

手軽で有効な対応 (Scutumでの対応)

ここからは自社サービスの紹介になってしまいますが、弊社のクラウド型(SaaS型)WAFサービス「Scutum」でCSRF対策が可能です。本来、Webサイトで実施すべき厳密なセッション管理をScutumにて行うことによりCSRF攻撃を防御します。(有償カスタマイズとなります。)
Scutumはクラウド型であるため、一般的なWebサイトであれば約1週間で導入が可能です。緊急対応の場合は、最短3日間での導入も可能です。(緊急対応の際は追加料金が必要となる場合がございます。ご利用環境/条件によって緊急対応の所要期間は変動します。)

CSRF対策を低コストかつ手軽に実施する方法
- WAF Tech Blog | クラウド型 WAFサービス Scutum 【スキュータム】