サイバー攻撃用語
クロスサイトリクエストフォージェリ(CSRF = Cross-Site Request Forgeries)とはWebアプリケーションの脆弱性の一種です。クロスサイトの名前通り複数のサイトにまたがり攻撃が成立する仕組みです。
クロスサイトリクエストフォージェリはユーザーが会員サイトにログインしている状態で攻撃者が作成した偽サイトを閲覧すると、ユーザーがログインしている会員サイトへ強制的に悪意のあるリクエストが送信されてしまう攻撃です。フォームへの書き込みや商品の購入など本来ログインしているユーザーのみが可能な操作のはずが、クロスサイトリクエストフォージェリによりユーザーが認識していないところで勝手に書き込みや商品を購入されてしまいます。クロスサイトスクリプティング(XSS)は罠が設置されたページを閲覧しただけで不正なスクリプトが実行されますが、クロスサイトリクエストフォージェリは会員サイトなどに「ログイン」している状態である必要があります。
クロスサイトリクエストフォージェリ攻撃は以下のような流れで実行されます。
2005年株式会社イー・マーキュリー(現在は株式会社ミクシィ)が運営するソーシャル・ネットワーキング「mixi」にてURLをクリックすると勝手に「ぼくはまちちゃん!」というタイトルの日記が書き込まれる事象がありました。これはクロスサイトリクエストフォージェリ攻撃よるもので、「はまちちゃん」の場合は、書き込まれた日記にクロスサイトリクエストフォージェリを誘発するリンク含まれていたため被害に遭う人が連鎖的に広がりました。「はまちちゃん」はクロスサイトリクエストフォージェリが世の中に知られるようになった事例です。
2012年インターネットの掲示板などに小学校襲撃や殺害予告が書き込まれ、5名が逮捕される事件が起こりました。後にこれらの事件は全てCSRF攻撃が原因で書き込まれたもので、5名は無実であることがわかりました。事件の1つ横浜市のホームページに書き込まれた小学校襲撃予告は、別サイトの掲示板に書き込まれていたURLをクリックすると勝手に書き込まれてしまうものでした。クロスサイトリクエストフォージェリ攻撃により無実の人が逮捕されてしまった事例です。
HTTPリクエストを受けた際にリファラーをチェックすることで、投稿ページにアクセスしているかクロスサイトリクエストフォージェリ攻撃によるアクセスかを判別します。しかしリファラー情報を出力しないブラウザを使用している場合には利用できない欠点があります。
商品の購入などの前に必ずパスワードの再入力を求めるようにします。重要な変更時に正規ユーザーが直接パスワードを入力することでクロスサイトリクエストフォージェリ攻撃対策となります。また、文章の書き込みや削除については、「本当に削除して良いですか?」のようなポップアップを表示しワンクッション挟むことでユーザーの確認を促す方法もあります。
GoogleやYahooでアカウントを作成する際にも利用されているもので、フォーム入力時の画面にランダムの英数字が表示される画像で表示され、ユーザーに同じ英数字を入力させるものやパズルを完成させるものなどがあります。
正規のユーザーが目視で確認し操作する必要があるため、クロスサイトリクエストフォージェリ攻撃のように勝手にフォームへ書き込みがされるといったことは起こりません。
事前にトークン(第三者が予測困難なランダムな文字列)をセッション変数に記憶しておき、利用者の入力を確認す画面においてトークンをhiddenパラメーターに出力するようにします。入力を実行するページにおいてhiddenパラメーターのトークンとセッション変数に記憶したトークンを比較し合致しない場合は実行しないようにします。こうすることで、攻撃者がhiddenパラメーターに出力された情報を入手できなければCSRF攻撃は成立しません。
イニシャルコスト、運用コストを抑えることができ、簡単にWebサイトのセキュリティ対策が出来るクラウド型WAFは、企業にとって有効なセキュリティ対策の1つです。
クラウド型WAF「攻撃遮断くん」は、最新の攻撃パターンにも自動的に対応していくため、セキュリティパッチをすぐに適用できない状況や、定期的に脆弱性診断が出来ない状況でも、セキュアな環境を保てます。ぜひこの機会にWebセキュリティ対策を見直し、WAFの導入を検討してみてはいかがでしょうか。
「攻撃遮断くん」の詳細資料は、こちらからダウンロード頂けます。
(2018/4/10 執筆、2019/3/12修正・加筆)
この記事と一緒に読まれています
2020.03.07
用語集
2019.01.11
用語集
2019.11.22
用語集
2020.03.13
用語集
2019.09.12
セキュリティ対策
2020.03.08
用語集