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

Security 4月 28, 2005
(Last Updated On: 2018年8月3日)

クロスサイトリクエストフォージェリ(Cross-Site Request Forgeries – CSRF)の話。名前はともかくこれが新しい攻撃ではないことは高木さんも書かれている通り。誰でも思いつくセキュリティ上の不備ではないでしょうか? 私はもう何年も前からこういった事が起きないようライブラリ化しています。

HTTP Response Splitting Attackの時もHTTPヘッダに出力する値を確実にコントロールするのは当たり前。おかしなヘッダを送信させられるとキャッシュがおかしくなる事はまっとうなWebシステム開発者なら解っていて当たり前、と思っていたのですが…

セキュリティ関係の話をする時にはいつも言うことですが、「間違いを探すのではなく正しい事を確認するように」を実践していれば、なんだか訳の分からないセキュリティ用語が飛び出してきても慌てることは無いはずです。

参考:
http://d.hatena.ne.jp/hoshikuzu/20050130
いろいろリンクがあって参考になります。

追記:
入力済みの値の再検証を防ぐ方法(つまり期待したとおりの入力であること保障する方法)をいくつかのセミナーで説明したと思います。前のフォームに入力された値をメッセージダイジェストで確認していればCSRF問題は発生しません。フォーム毎にIDを発行し、再投稿を防ぐなど処理を行っていれば完璧です。

投稿者: yohgaki