現在地 HOME > 掲示板 > IT7 > 307.html ★阿修羅♪ |
|
Tweet |
ィンドウからの操作への対策
JavaScriptを利用して他のフレームやウィンドウから操作される事への考慮も必要です。
たとえば隠れフレームやポップアップ広告を装ったウィンドウ等に標的サイトを表示し、JavaScriptによってユーザーが実際操作しているかのように画面遷移させるといった攻撃手段が考えられます。
これをやられるとリファラーチェックもhiddenタグに埋め込んだワンタイムトークンも意味がありません。
これに対してはJavaScriptでフレームやウィンドウの情報を取得してチェックをかけることで対策できると思います。
その際にJavaScriptがOFFになっているユーザーが操作不能になってしまわないよう注意してください。
必ずユーザーからの入力を求める
重要な操作を確定する前に必ずユーザーの入力を求めます。
ユーザーの利便性はある程度損なわれますが、CSRFに対してはかなり有効なガードとなります。
たとえばユーザーのIDとパスワードや画面に画像として表示したワンタイムトークンの入力を求めるとか言った手法は、実際にオークションサイトやネットバンキングで実装されています。
金銭の移動が発生する操作やサービスからの退会といった重大な操作など、利便性より安全性を求めるべき場面ではこうした対策を採るべきでしょう。
一方でコミュニティサイト等において気軽に記事をポストしたりコメントを付けたりといった軽快性が必要な場面では、こういった実装は好ましくないように思えます。
エンドユーザーとしてのCSRF対策
以下はエンドユーザーとしてCSRFの被害にあわないための対策です。
都度ログインログアウト
CSRFは正規ユーザーのログイン中に危険がありますので、サイトにログイン中はそのサイトから出ないようにし、サイトの利用が終わったら必ずログアウトすることで、少なくともあなたがCSRFの被害にあうことは防ぐことができます。
複数のブラウザを使い分けるというのも有効です。
発見したら報告する
普段利用しているサイトにCSRFの脆弱性があることをもし見つけてしまったら、サイトの管理者にそっと教えてあげましょう。
その際サイトの管理者からのレスポンスが悪ければ、静かに都度ログインログアウトの自衛策を取りつつ利用を続けるか、利用をやめるかしたほうがいいと思います。
それをサイトの脆弱性として広く喧伝するなどの行為はやめた方が無難です。
そのサイトの