クロスサイトリクエストフォージェリ(CSRF)とは、閲覧者が意図しない間に別のWebサイトに、サーバが本来拒否すべきHTTPリクエストを送信させ実行させる攻撃手法のことを指す。
クロスサイトリクエストフォージェリ(CSRF)とは、閲覧者が意図しない間に別のWebサイトに、サーバが本来拒否すべきHTTPリクエストを送信させ実行させる攻撃手法のことを指す。
攻撃者は、細工したリクエストを発生させるよう仕込んだ“わな”サイトを用意し、閲覧者がアクセスするよう誘導する。閲覧者がその“わな”サイトにアクセスすると、例えば掲示板などでは、意図しない書き込みが行われる。ログイン処理が必要なサービスでは、正規のアカウントでログインされた状態で購入操作や退会処理などの操作が可能になってしまう。この場合、細工されたリクエストを送信するのは閲覧者となるため、攻撃元の特定が難しくなる。
CSRFでは、攻撃者が予測できてしまう内容のみでリクエストが構成されている場合に攻撃が成立するため、攻撃者が予測できないような情報をリクエストに含めてWebアプリケーション側で検証することで、攻撃を未然に防ぐことができる。
Webアプリケーション開発時の対策として、情報を送信する際に一意に識別できる情報としてトークンを含めることが望ましい。このとき、トークンは推測可能な情報で生成するのではなく、容易に推測できない安全な疑似乱数などを用いる。Webフレームワークにトークンを生成するライブラリが用意されていることが多いため、それらを利用することで容易に実装できる。
【2004/1/1】初版公開。
【2018/9/3】最新情報に合わせて内容を書き直しました(セキュリティ・キャンプ実施協議会 著)。
Copyright © ITmedia, Inc. All Rights Reserved.