クリックジャッキング攻撃の仕組みと対策方法

  • このエントリーをはてなブックマークに追加
  • Pocket
  • LINEで送る
security_320

ある日気づいたらSNSのプライバシー情報の公開設定が変更されていたといった経験はありませんか?

クリックジャッキング攻撃という攻撃手法により、Webサイトを利用しているときに設定を変更させる方向に誘導させられているのです。

被害に遭わないためには、Webサイトの運営者とユーザーサイドの注意が重要です。

ここでは、クリックジャッキング攻撃について解説します。

クリックジャッキング攻撃とは?

クリックジャッキング攻撃とは、透明レイヤーなどを使いWebページ上のコンテンツ(ボタンやバナー)を正常に見えるよう視覚的にだまし、実際は別のWebページのコンテンツをクリックさせる攻撃手法のことです。

信頼のおけるWebサイトであれば、ユーザーも安心して表示されているコンテンツをクリックします。クリックジャッキング攻撃とは、そうようなインターネット上の習慣を悪用して、ユーザーにクリックさせ意図しない操作を行わせます。

クリックジャッキング攻撃の仕組み

クリックジャッキング攻撃は、ユーザーを視覚的にだまし別のコンテンツをクリックさせる必要があります。

それには、「悪意あるページ」と「表示形式が透明に細工されたページ」、この2つの部品の組み合わせの仕組みを利用します。

部品1:ユーザーのWebブラウザ上で表示される悪意あるページ

security_251

部品2:表示形式が透明になるように細工されたサイトAのページ

security_252

2つの部品を以下のような配置で組み合わせることにより、ユーザーを別のページに誘導することが可能です。

security_253

クリックジャッキング攻撃の被害

  • ユーザーが見えているのとは異なる広告ページのURLのクリックをさせられる
  • 意図しない掲示板への書き込みをさせられる
  • 非公開にしていたはずのプライバシーの情報を変更されてしまう
  • 望んでいないのにSNSなどのサービスの退会処理をさせられる

クリックジャッキング攻撃の対策

Java ScriptのWindowオブジェクトを使用する対策

Java ScriptのWindowオブジェクトを使用した対策があります。Java Scriptのwindowオブジェクトにはwindow.topとwindow.selfというプロパティがあります。

Window.topプロパティにより、表示されるWebページの最上位の位置を取得し、window.selfプロパティにより、Java Scriptが記載されているWebページの位置を取得することが可能です。

これにより、クリックジャッキング攻撃で、iframe要素等により、Webページを表示させようとした場合、window.topとwindow.selfの値が異なるため、それを基に表示するWebページを変更する対策です。

注意点として、この対策手法はWebサイトの制作者であれば導入できますが、利用者のブラウザでJava Scriptの実行が許可されていることが条件となります。

ブラウザサイドでの対策

ユーザーサイドで行える対策として、細工に使われるz-index、opacityといったコードの表示を避ける方法があります。

Firefoxのアドオンである「NoScript」は、ブラウザの機能を制限(制御)するアプローチから、フレームの不透明度を変更し可視化する「Opacize」や、透明なiframe上でのクリックをブロックする「ClearClick」といった対策技術が使われています。

注意点として、iframeを使用した安全なWebサイトのコンテンツを誤ってクリックジャッキング攻撃と判断する可能性があります。

X-FRAME-OPTIONSによる対策

X-FRAME-OPTIONSとは、frame要素またはiframe要素でWebページを表示させることを指定することができる仕組みです。

X-FRAME-OPTIONSを使用することで、frame要素やiframe要素で読み込ませたいページを除外することが可能です。

X-FRAME-OPTIONSの設定値は、以下を参照ください。

Content Security Policyを使用した対策

Content Security Policyとは、W3C(ワールド・ワイド・ウェブ・コンソーシアム)が勧告している規格です。

Content Security Policyは、クリックジャッキング攻撃の対策だけでなく、XSSや盗聴による情報漏えい対策に有効な対策です。

Content Security Policyを利用することで、自身のWebサイトで動作してもよいスクリプトを指定することができます。対策内容は、X-FRAME-OPTIONSとほぼ同じで、指定したサイト以外にframe要素やiframe要素から読み込ませない効果があります。

特徴として、X-FRAME-OPTIONSに比べて細かい設定が行えます。

まとめ

クリックジャッキング攻撃は、ユーザーを意図していないページに誘導して悪さを働きます。Webサイトの改ざん可能であれば簡単に設置することが可能です。

Webサイトを運営されている方は、ユーザーが被害に遭わないように、対策をしていおきましょう。

  • このエントリーをはてなブックマークに追加
  • Pocket
  • LINEで送る