×
サイバー攻撃について

2013年版では「A8 Cross-Site Request Forgery」として掲載されていましたが、2017年版では独立項目から外れました。

OWASPは2017年版のリリースノートで、主要フレームワークがCSRF防御を備えるようになり、調査対象アプリケーションでの検出率が約5%だったことを理由として説明しています。

ただし、独立項目から外れたことは「CSRFがなくなった」という意味ではありません。

フレームワークの標準機能を無効化したり、独自APIやSPAで防御を実装し忘れたりすれば、現在でも成立します。


2-3. CSRFトークンの普及

2000年代後半から2010年代にかけて、主要フレームワークがCSRFトークンを標準機能として実装しました。

代表例は次のとおりです。

  • Django

  • Ruby on Rails

  • Spring Security

  • ASP.NET

  • Laravel

  • Symfony

正規サイトが発行した秘密の値をリクエストに含め、Cookieだけでなくトークンも一致した場合に処理を許可します。

攻撃者サイトはSame-Origin Policyにより正規サイトの画面やレスポンスを自由に読み取れないため、正しいトークンを取得できません。


2-4. SameSite Cookieの普及

その後、CookieにSameSite属性が普及しました。