CSRFについて

こんにちは!

今回はCSRFについてまとめます。

CSRFとは

  • Webサイトへの脆弱性とそれを利用した攻撃手法
  • CSRF(Cross-site request forgery)の略
  • 「サイトをまたいだ偽のリクエスト」といった意味
  • 罠サイトへのアクセスによって、別のWebサイトへの操作を送ってしまう

影響

  • URLをクリックするだけで、次のような動作が起こる可能性がある
    • 偽の内容の投稿
    • 勝手に商品を購入
    • 他人の口座に送金

  • はまちちゃん事件
    • mixiに「ぼくはまちちゃん!」という内容とURLが添付された投稿が大量に発生した事件
    • 添付のURLをクリックすると、同様の内容の投稿が勝手に行われる
  • 犯罪予告
    • URLをクリックすることで、勝手に犯罪予告が行われた事例が実際に発生している

脆弱性の原因

  • Webサイト側において、POSTリクエストの検証が不十分なため

対策

  • フォームのGETリクエストが送られた際に、生成したランダムな文字列を埋め込んでおき、POSTリクエストが送られた際には、サーバー側に保存しておいた文字列とPOSTリクエストの文字列が一致するか検証することで正しいリクエストか判定する

おわりに

はまちちゃん事件の時は界隈が騒然としていたのを覚えています。あの時はよくわからなかったですが、CSRF脆弱性だったんですね!Railsでは対策がされているようですが、こういった脆弱性にも気を付けながら開発していきたいですね。

38/100