無料ブログ「rentafree.net」の管理人ブログ

正規のリファラー以外の要求を受け付けなくなりました

まず、CSRFですが、
攻撃用のページを用意し、攻撃用のページを誰かに表示させ、
ターゲットサイトへの投稿等を攻撃用のページを表示した端末に行わせる。
という手法です。

フィッシング的な方法で攻撃を成立させますが、
パスワード等の入力はさせずに、ページを表示した時点で攻撃が成立します。
うちのような認証を必要とするサービスでは正規のログイン中ユーザーが悪意を持ったページを表示しなければ攻撃が成立しませんので容易に成立させることはできませんが、
正規にログインしているユーザーの端末からの要求になりますので、要ログインのコマンドが成立します。
結果の取得は通常できませんので、情報の盗難はできませんが改竄はできます。

といった感じですが、
サービス提供側ではなく釣られるユーザー側に問題があるような気もしますが、
ページを表示しただけで改竄されるのではユーザー側で防ぐのも難しいと思いますし、
CSRFで誤認逮捕されたりして社会問題化していますし、
こちらで対策しました。


対策方法はリファラー判別です。
公式サイトのほとんどのコマンドに対して、
リファラーが正規の www.rentafree.net 以外の場合要求を受付なくしました。

この修正で問題が生じるようになっている箇所に気づかれましたら報告おねがいします。

リファラーがない場合コマンドを受け付けないようにしようかと・・・

CSRF対策で、
公式サイトのほとんどのコマンドに対して、
リファラーがない場合コマンドを受け付けないようにしようかと考えてます。

リファラーが送信されないブラウザで利用しているユーザーは利用できなくなりますが、
数日分のログを見たところリファラーを送っていないユーザーは一人もいなそう。

リファラー確認以外の対策も考えましたが、
投稿系コマンドはPOSTですが、削除系等はGETだったりしますし、
単純な掲示板と違ってコマンドがたくさんあるからコマンドごとに個別に対策してると穴ができそうなんで、
リファラーで一括制限にします。たぶん。

たぶん今日明日にでも実装する。