情報セキュリティ講座(99) クロスサイトリクエストフォージェリ

サイトをまたがって攻撃をする点では、クロスサイトスクリプティング(XSS)と似ていますが、XSSが、PC側でスクリプトが動作するのに対し、クロスサイトリクエストフォージェリ(CSRF = Cross Site Request Forgeries)は、ターゲットとなるサイトにログインしたユーザが、ログインしたまま悪意あるサイトに移ると、ターゲットサイトに対して勝手な操作をする、というものです。

Webサイトは、一旦ログインすると、時間オーバーとなるか、ログアウトするまでは、ログイン状態が続きます。この状態で、悪意あるサイトに移り、操作をすると、もともとログインしているWebサイトに対して、意図しない動作をすることがあります。Cookieなどを介して、ログインして確立したセション情報が、悪用されてしまうのです。

この対策として、いくつか挙げられます。

1. GETメソッドではなくPOSTメソッドでアクセスする

HTTPでWebサーバにアクセスする際に、GETメソッドを使うと、IDなどがURLに記載されてしまいます。これらの情報が洩れないように、POSTメソッドを使います。ID情報はそのままでは伝達できないため、hiddenフィールドに格納すると、URL上には情報が表示されません。

2. パスワードの再要求

注文や支払いなどの処理を実行する前に、再度パスワードを要求するようにすると、悪意あるアクセス者は、それ以上の操作ができなくなります。

3. Refererを参照し、リンク先を確認する

HTTPでRefererを確認することで、遷移してきたページが正しいページであったかを確認できます。

4. 重要な操作の際にはメールを送信する。

あらかじめメールアドレスを登録しておけば、重要な操作(注文や、支払いや、引き落としなど)が不正に行われた際に、早期に気づくことができます。

投稿者プロフィール

小笠原 裕
小笠原 裕中小企業診断士 行政書士
バラの咲く街、八千代市緑が丘で、コンサルティング事務所を運営しています。

前の記事

飛行機物語