gallu’s blog

エンジニアでゲーマーで講師で占い師なおいちゃんのブログです。

クリックジャック

ちと詳細を調べる時間がないので、とりあえずmemo程度に。


http://blogs.zdnet.com/security/?p=1973
http://japan.zdnet.com/sp/feature/07zeroday/story/0,3800083088,20381028,00.htm
http://japan.zdnet.com/sp/feature/07zeroday/story/0,3800083088,20381029,00.htm
http://slashdot.jp/security/08/09/27/0419211.shtml

ZDNet(日本語訳)にて、多くのブラウザやAdobe Flashに存在するクリックジャック(Clickjacking)に対する脆弱性について報じられている(本家/.より)。この脆弱性IEFirefoxSafariOperaなど多くブラウザやAdobe Flashに存在し、影響を受けないブラウザはLynxくらいだそうだ。
クリックジャックされると、ユーザのクリック全てがクリックジャックのクリックとなり、ユーザの意図や動作とは無関係にページ上のリンクやボタンをクリックしたことになってしまう。このため、Flashゲームなどは格好のターゲットとなり得る。攻撃はブラウザの根本的な欠陥を突いたもので、DHTMLを利用しているとのこと。また、JavaScriptは必須ではないため、JavaScriptを無効にしても完全には防げないそうだ。
クリックジャックはOWASP NYC AppSec 2008 ConferenceにてProof of Conceptとともに発表されるはずだったが、Adobeや他ベンダーからの要請により、発表はベンダーが対策を準備できるまで延期されたとのこと。
なお、ZDNetのアップデートにはNoScriptの製作者Giorgio MaoneがZDNetの記者にあてたメールが掲載されており、それによるとNoScriptのデフォルトコンフィグでは危険な攻撃の大部分を防げるとのこと。さらに、「プラグイン」設定の「IFRAMEの禁止」オプションをオンにすることで、攻撃を100%防げるとしている。
現時点ではまだ詳細が発表されていないため、続報が待たれるところだ。

で…

これは、CSSを使って、透過したFlashをウィンドウの全面に貼付けて、クリックを奪ってしまう、ってことなんだろう。
実際に実行コードも書いてみたけど、見事にちゃんと、記事のとおりになった。
(と、ここでかっこ良くサンプルページを貼付けたいんだけど、あまりにも単純すぎて、コピペでそのまま悪用できるのでやめた)

…だとすると、Flashを切っておけばよいのではなかろうか?
でも

以前、今回の件に良く似た IE の不思議な動作を見つけましたが、
何か関係があるのかもしれません。
ただし Firefox では動作しなかったので、別件だとは思いますが...

<a href="http://slashdot.jp/">
<iframe width="300" height="300" src="http://google.com/"></iframe></a>

こんなふうに <iframe> 要素全体を <a> で括ってやると、
iframe 内の任意の箇所(リンクは除く)をクリックすると <a> が動きます。
上記例では、iframe 内の google ページの適当なところをクリックすると、
スラドが開いてしまうというものです。

ウィンドウ全体に広がるような iframe を作成して、
アフィリエイト等のクリックさせたい URL に向けたリンクで囲ってやれば、
何か面白いことができそうだね、という話をしていたのですが...

こっちだと怖いなぁ。


いずれにしても。続報待ち&考察待ちかなぁ。