クリックジャッキング

22
クククククククククク クククククククク ~ 1~ ※ ククククククククククククククククククク クククククククククク

Upload: abendcve99990001

Post on 28-May-2015

4.262 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: クリックジャッキング

クリックジャッキング~ 1クリックの後悔~

※本稿の内容を管理下ではない環境に対して 実施しないでください。

Page 2: クリックジャッキング

自己紹介

Twitter: abend

Web セキュリティをメインでやってます。

本が出てます。

Page 3: クリックジャッキング

クリックジャッキングって見た目上、無害に見せかけてた罠サイトに利用者を誘導し、利用者が意図しない操作を正規サイトに対して実行させる攻撃手法。

Robert Hansen & Jeremiah Grossman に 2008 年に OWASP で発表された。

IPA

http://www.ipa.go.jp/about/technicalwatch/20130326.html

Page 4: クリックジャッキング

StyleSheet を用いて正規サイトを透過させるため、見た目では無害な罠サイトであると誤認識させて、利用者が正規サイトで意図せず処理を実行してしまう。

罠サイト

クリックジャッキングって

罠ボタン正規サイト

ボタン正規サイトは全く見えない状態にする。

Page 5: クリックジャッキング

じゃあ、やってみる<クリックジャッキングに必要なもの>・攻撃対象サイト・罠サイト・攻撃者・被害者・被害者が利用するブラウザ

Page 6: クリックジャッキング

攻撃対象サイトの用意脆弱性検証用に作成したショッピングサイトをターゲット。

会員制のショッピングサイトで、認証済みの利用者が商品を購入可能なサイト。

Page 7: クリックジャッキング

罠サイトの用意ネタを仕込み済みの罠サイトを使用。

Page 8: クリックジャッキング

罠サイトの中身罠サイトでは2つのことをしています。

・ 埋め込まれたサイトの style 属性を変更し、見えないようにする。

・  iframe を用いて、攻撃対象サイトを罠サイトに埋め込む。

Page 9: クリックジャッキング

罠サイトの中身変更している style 属性は、以下の通り。

filter:alpha(opacity=0);opacity: 0.0;-moz-opacity: 0.0;

→IE6→ ほとんどのブラウザ→ 古い Firefox や Netscape

とりあえず、いろいろ仕込んでおけば、多くのブラウザで有効化 ( 見えなくなる ) される。

Page 10: クリックジャッキング

罠サイトの中身スケスケ度30 % に設定

ああっ。

Page 11: クリックジャッキング

2クリックが紡ぐ新たなストーリー通常の退会処理手順

Page 12: クリックジャッキング

ログイン済みのユーザを誘導して・・・。

2クリックが紡ぐ新たなストーリー

Page 13: クリックジャッキング

2クリックが紡ぐ新たなストーリー

Page 14: クリックジャッキング

2クリックが紡ぐ新たなストーリー

Page 15: クリックジャッキング

たとえば、「いいね」ボタンを押させるなど・・・

1クリックの後悔

アダルトサイトで「いいね」を連呼させられるなど・・・

攻撃対象サイト 罠サイト(スケスケ度30 % )

Page 16: クリックジャッキング

どう守る?サーバ側とユーザ側で対策を行う必要がある。

サーバ側

ユーザ側

守りたいサイトが iframe で表示できないように X-FRAME-OPTIONS ヘッダを埋め込む。

X-FRAME-OPTIONS ヘッダを認識するブラウザを使用する。

Page 17: クリックジャッキング

どう守る?攻撃対象サイトの対策実施前HTTP/1.1 200 OKDate: Sat, 06 Jul 2013 07:51:54 GMTSet-Cookie: JSESSIONID=01081CAB2A51C5D0B2317A80B400E79E; Path=/WithUS/; HttpOnlySet-Cookie: cart=""; Path=/Content-Type: text/html;charset=utf-8Connection: closeContent-Length: 12802

Page 18: クリックジャッキング

どう守る?攻撃対象サイトの対策実施後HTTP/1.1 200 OKDate: Sat, 06 Jul 2013 08:27:45 GMTX-FRAME-OPTIONS: DENYSet-Cookie: JSESSIONID=7C1504026774FBB9AB462F66D060251B; Path=/; HttpOnlyContent-Type: text/html;charset=utf-8Connection: closeContent-Length: 12802

DENYサイト側の意図に関わらず、ページをフレーム内に表示することはできません。

SAMEORIGIN自身と生成元が同じフレーム内に限り、ページを表示することができます。 ALLOW-

FROM uri指定された生成元に限り、ページをフレーム内に表示できます。

オプション内容

Page 19: クリックジャッキング

ユーザ側は、古いブラウザを使わないってのが一番の対策。以下、記載よりも新しければ OK 。(リリース時期)

どう守る?

IE 8.0(2009年3月)Safari 4.0(2009年6月)Chrome 4.1.249.1042(2010年4月)Firefox 3.6.9(2010年9月)Opera 10.5(2010年10月)

ちゃんとアップデートしましょう。

Page 20: クリックジャッキング

ブラウザでも動作の止め方が異なります。以下は、スケスケ度30 % でのブラウザごとの挙動。

どう守る?

IE Chrome 、 Firefox 、 Opera

IE の場合、エラーメッセージ表示される。それ以外のブラウザは、特に何もなし。この点においては、 IE の方が親切。

Page 21: クリックジャッキング

Chrome 、 Firefox 、 Opera も IE 同様エラーメッセージを表示するようにしてほしい。クリックジャッキングのリスクはないにしても、被害者にアクセスしているサイトが罠サイトであると気づいてもらえるようにした方がいいと思う。

いろいろと。

<ブラウザに関して>

サーバアプリは、デフォルトで X-FRAME-OPTIONS (値:DENY )をセットするようにしてほしい。クライアントが最新ブラウザ使ってもサーバで何もしていなければ意味がないので。

<サーバに関して>

Page 22: クリックジャッキング

追加情報だよ。

http://www.sophos.com/ja-jp/press-office/press-releases/2013/06/ns-anatomy-of-a-browser-trick.aspx

SOPHOS から新手のクリックジャッキングの手法に関してのレポートが2013年6月29日に出てました。

不正なファイルを実行させるための方法で、 EXE をダウンロードさせ、CHAPCHA などを用いて「 E 」を入力させることで実行させるというものです。

ブラウザの種類によって挙動が異なるため、有効性は不明。対策は前述のとおり。