まずは、デモを見てから行ってみたほうがいいと思う。
□YouTube - Webcam ClickJacking(デモ)
□Camera ClickJacking - The Game(実際のサイト)
上記動画とサイトのソースを見てみると、なんとなくクリックジャッキングの仕組みがわかってきた。
もちろん、それだけじゃないんだろうけど気づいたことを説明する。
ポイントとなるのは「透明」と「iframe」
まず、iframeタグををposition:absolute(絶対位置指定)で画面全体におき、その中に押させたいボタンのあるHTMLを読み込んでおく、
そしてそのiframe自体をz-indexで通常のHTMLより前に出し、CSSを使って透明化してしまうのだ。(z-index指定は必要ないかもしれない)
もちろん、他にも手法があるだろう(単純に透明ボタンを前に置くってのも可能ですよね)がこれでJavascriptを止めても意味のないクリックジャッキングのできあがりだ。
しごく簡単。
なお、上記サイトを紹介している記事に、クリックジャッキング対策がいくつか紹介されていた。
□アドビ、「Flash Player」の「クリックジャッキング」回避策を発表:ニュース - CNET Japan
AdobeはFlashのユーザーに対して、Adobe Flash Playerの「設定マネージャ」の「グローバルプライバシー設定」で「常に拒否」を指定するよう忠告している。これはつまり、ユーザーが該当設定を変更した後、カメラやマイクへのアクセスを許可するかどうかが問われなくなるということを意味している。Adobeによると、この問題への対策が施された Flash Playerのアップデートは10月中にリリースされる予定だという。前も書いたけど、一番の防御策は変なサイトに行かないことです。
一方、Firefoxユーザーは「NoScript」プラグインの利用を検討し、iframeコンテンツを禁止する設定にしておくべきである。NoScriptにおいてこの攻撃を防ぐための設定に関する詳細はこのページを参照してほしい。
また、その他のブラウザをセキュアにするためのUS-CERTによる助言はこのページを参照してほしい。
気をつけましょう。