CSRFの被害は防げる!

こんにちは。hirafujiです。
OJTに入って、早いもので半月が過ぎました。自分の技術や知識の未熟さに泣けてきます…。
めげずに取り組んで、少しずつ確実に経験を積んで行きたいと思います!

さて今日は、「CSRF」についてと、その対処法について学びました。

【CSRFとは?】

例えば、銀行のサイトにログインしていたら、知らないうちに「hirafujiの口座に100万円振り込む」という操作をされてしまったり、SNSのサイトから「友達リストを全消去する」という操作をされてしまったり…。

そんなことが出来てしまうのが、CSRFです。

一言で言うと、被害者がログイン中のサイトへ、被害者が期待しないリクエストを送信する攻撃方法のことです。

【どんな時に起こるのか?】

  1. 被害者が、特定のサイトにログイン中に、
  2. 攻撃用のサイトにアクセスすると起こる。

CSRFの特徴は、被害者がサイトにログイン中に起こる、という事です。

加害者は、被害者がログイン中のサイトに向けて、攻撃用のサイトから本物そっくりの命令を送ります。
すると、被害者がログイン中のサイトは、本物の命令を受けたのだと勘違いして、その命令を実行してしまうのです。
その命令が、先ほどあげた様な「お金を振り込む」というものであったり、「情報を全部消去する」というものであったら…考えただけで恐ろしいですね。

【どうやったら防げるのか?】

  • 信頼できないサイトにはアクセスしないこと。
  • こまめにログアウトすること。
  • 複数のサイトに、同時にログインしないこと。

先ほどもあげた通り、CSRFの特徴は「被害者がログイン中に起こる」ということです。
ということは、ログインしていなければ防げるということですね。

また、気づかぬうちに攻撃用のサイトにアクセスしてしまわないように、信頼できないサイトにはログインしないことも大切です。

この通り、CSRFの被害は1人1人の心がけで簡単に防ぐことが出来ます。
今回の内容を頭の片隅にでもとどめておいていただいて、参考にしていただければと思います。

【おまけ/技術者としての心構え】

CSRFの被害は、私たち技術者が以下のことを心がけることで、利用者の皆さんの目に触れる前に防ぐことができます。
セキュリティーホールの出現は、未然に防ぎたいですね。

  • リクエストの項目の中に、外部からは知り得ない情報をhiddenで持たせる。
  • 大切な操作を行う場合は、パスワードを入力させる。

(2008/11/5 irisawa追記)

お待たせしました、動画上がりました。

part.1

part.2

コメントをどうぞ

名前: (Required)

eMail: (Required)

Website:

Comment:

Spam Protection by WP-SpamFree