こんにちは。hirafujiです。
OJTに入って、早いもので半月が過ぎました。自分の技術や知識の未熟さに泣けてきます…。
めげずに取り組んで、少しずつ確実に経験を積んで行きたいと思います!
さて今日は、「CSRF」についてと、その対処法について学びました。
【CSRFとは?】
例えば、銀行のサイトにログインしていたら、知らないうちに「hirafujiの口座に100万円振り込む」という操作をされてしまったり、SNSのサイトから「友達リストを全消去する」という操作をされてしまったり…。
そんなことが出来てしまうのが、CSRFです。
一言で言うと、被害者がログイン中のサイトへ、被害者が期待しないリクエストを送信する攻撃方法のことです。
【どんな時に起こるのか?】
- 被害者が、特定のサイトにログイン中に、
- 攻撃用のサイトにアクセスすると起こる。
CSRFの特徴は、被害者がサイトにログイン中に起こる、という事です。
加害者は、被害者がログイン中のサイトに向けて、攻撃用のサイトから本物そっくりの命令を送ります。
すると、被害者がログイン中のサイトは、本物の命令を受けたのだと勘違いして、その命令を実行してしまうのです。
その命令が、先ほどあげた様な「お金を振り込む」というものであったり、「情報を全部消去する」というものであったら…考えただけで恐ろしいですね。
【どうやったら防げるのか?】
- 信頼できないサイトにはアクセスしないこと。
- こまめにログアウトすること。
- 複数のサイトに、同時にログインしないこと。
先ほどもあげた通り、CSRFの特徴は「被害者がログイン中に起こる」ということです。
ということは、ログインしていなければ防げるということですね。
また、気づかぬうちに攻撃用のサイトにアクセスしてしまわないように、信頼できないサイトにはログインしないことも大切です。
この通り、CSRFの被害は1人1人の心がけで簡単に防ぐことが出来ます。
今回の内容を頭の片隅にでもとどめておいていただいて、参考にしていただければと思います。
【おまけ/技術者としての心構え】
CSRFの被害は、私たち技術者が以下のことを心がけることで、利用者の皆さんの目に触れる前に防ぐことができます。
セキュリティーホールの出現は、未然に防ぎたいですね。
- リクエストの項目の中に、外部からは知り得ない情報をhiddenで持たせる。
- 大切な操作を行う場合は、パスワードを入力させる。
(2008/11/5 irisawa追記)
お待たせしました、動画上がりました。
part.1
part.2

コメントをどうぞ