SlideShare ist ein Scribd-Unternehmen logo
1 von 22
~ 1クリックの後悔~
※本稿の内容を管理下ではない環境に対して
実施しないでください。
自己紹介
Twitter: abend
Webセキュリティをメインでやってます。
本が出てます。
クリックジャッキングって
見た目上、無害に見せかけてた罠サイトに利用者を誘導
し、利用者が意図しない操作を正規サイトに対して実行
させる攻撃手法。
Robert Hansen & Jeremiah Grossmanに2008年にOWASP
で発表された。
IPA
http://www.ipa.go.jp/about/technicalwatch/20130326.html
StyleSheetを用いて正規サイトを透過させるため、見た目
では無害な罠サイトであると誤認識させて、利用者が正
規サイトで意図せず処理を実行してしまう。
罠サイト
クリックジャッキングって
罠ボタン
正規サイト
ボタン
正規サイトは
全く見えない
状態にする。
じゃあ、やってみる
<クリックジャッキングに必要なもの>
・攻撃対象サイト
・罠サイト
・攻撃者
・被害者
・被害者が利用するブラウザ
攻撃対象サイトの用意
脆弱性検証用に作成したショッピングサイトをターゲッ
ト。
会員制のショッピングサイトで、認証済みの利用者が商
品を購入可能なサイト。
罠サイトの用意
ネタを仕込み済みの罠サイトを使用。
罠サイトの中身
罠サイトでは2つのことをしています。
・ 埋め込まれたサイトのstyle属性を変更し、見えないようにする。
・ iframeを用いて、攻撃対象サイトを罠サイトに埋め込む。
罠サイトの中身
変更しているstyle属性は、以下の通り。
filter:alpha(opacity=0);
opacity: 0.0;
-moz-opacity: 0.0;
→IE6
→ほとんどのブラウザ
→古いFirefoxやNetscape
とりあえず、いろいろ仕込んでおけば、多くのブラ
ウザで有効化(見えなくなる)される。
罠サイトの中身
スケスケ度30%に設定
ああっ。
2クリックが紡ぐ新たなストー
リー
通常の退会処理手順
ログイン済みのユーザを誘導して・・・。
2クリックが紡ぐ新たなストー
リー
2クリックが紡ぐ新たなストー
リー
2クリックが紡ぐ新たなストー
リー
たとえば、「いいね」ボタンを押させるなど・・・
1クリックの後悔
アダルトサイトで「いいね」を連呼させられるな
ど・・・
攻撃対象サイト 罠サイト(スケスケ度3
0%)
どう守る?
サーバ側とユーザ側で対策を行う必要がある。
サーバ側
ユーザ側
守りたいサイトがiframeで表示できないようにX-FRAME-OPTIONS
ヘッダを埋め込む。
X-FRAME-OPTIONSヘッダを認識するブラウザを使用する。
どう守る?
攻撃対象サイトの対策実施前
HTTP/1.1 200 OK
Date: Sat, 06 Jul 2013 07:51:54 GMT
Set-Cookie: JSESSIONID=01081CAB2A51C5D0B2317A80B400E79E;
Path=/WithUS/; HttpOnly
Set-Cookie: cart=""; Path=/
Content-Type: text/html;charset=utf-8
Connection: close
Content-Length: 12802
どう守る?
攻撃対象サイトの対策実施後
HTTP/1.1 200 OK
Date: Sat, 06 Jul 2013 08:27:45 GMT
X-FRAME-OPTIONS: DENY
Set-Cookie: JSESSIONID=7C1504026774FBB9AB462F66D060251B; Path=/;
HttpOnly
Content-Type: text/html;charset=utf-8
Connection: close
Content-Length: 12802
DENY
サイト側の意図に関わらず、ページをフレーム内に表示することはできません。
SAMEORIGIN
自身と生成元が同じフレーム内に限り、ページを表示することができます。ALLOW-
FROM uri
指定された生成元に限り、ページをフレーム内に表示できます。
オプション内容
ユーザ側は、古いブラウザを使わないってのが一番の対策。
以下、記載よりも新しければOK。(リリース時期)
どう守る?
IE8.0(2009年3月)
Safari4.0(2009年6月)
Chrome4.1.249.1042(2010年4月)
Firefox3.6.9(2010年9月)
Opera10.5(2010年10月)
ちゃんとアップデートしましょう。
ブラウザでも動作の止め方が異なります。
以下は、スケスケ度30%でのブラウザごとの挙動。
どう守る?
IE Chrome、Firefox、Opera
IEの場合、エラーメッセージ表示される。それ以外のブラウザは、
特に何もなし。この点においては、IEの方が親切。
Chrome、Firefox、OperaもIE同様エラーメッセージを表示するよう
にしてほしい。クリックジャッキングのリスクはないにしても、被
害者にアクセスしているサイトが罠サイトであると気づいてもらえ
るようにした方がいいと思う。
いろいろと。
<ブラウザに関して>
サーバアプリは、デフォルトでX-FRAME-OPTIONS(値:DENY)を
セットするようにしてほしい。クライアントが最新ブラウザ使っても
サーバで何もしていなければ意味がないので。
<サーバに関して>
追加情報だよ。
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」を入力させることで実行させるというも
のです。
ブラウザの種類によって挙動が異なるため、有効性は不明。対策は前
述のとおり。

Weitere ähnliche Inhalte

Was ist angesagt?

Was ist angesagt? (20)

SI企業におけるHCDとビジネスチャンス
SI企業におけるHCDとビジネスチャンスSI企業におけるHCDとビジネスチャンス
SI企業におけるHCDとビジネスチャンス
 
UI設計の土台になる考え方-インテリジェントネット社内勉強会
UI設計の土台になる考え方-インテリジェントネット社内勉強会UI設計の土台になる考え方-インテリジェントネット社内勉強会
UI設計の土台になる考え方-インテリジェントネット社内勉強会
 
スタートアップは行動しない / フォーカス、ツール、オペレーションについて
スタートアップは行動しない / フォーカス、ツール、オペレーションについてスタートアップは行動しない / フォーカス、ツール、オペレーションについて
スタートアップは行動しない / フォーカス、ツール、オペレーションについて
 
Denoで動くReactフレームワークAleph.jsでポートフォリオサイトをリプレイスした話
Denoで動くReactフレームワークAleph.jsでポートフォリオサイトをリプレイスした話Denoで動くReactフレームワークAleph.jsでポートフォリオサイトをリプレイスした話
Denoで動くReactフレームワークAleph.jsでポートフォリオサイトをリプレイスした話
 
やはり俺のスタートアップの意思決定はまちがっている。
やはり俺のスタートアップの意思決定はまちがっている。やはり俺のスタートアップの意思決定はまちがっている。
やはり俺のスタートアップの意思決定はまちがっている。
 
じげんのサーバサイドエンジニアリング
じげんのサーバサイドエンジニアリングじげんのサーバサイドエンジニアリング
じげんのサーバサイドエンジニアリング
 
ユーザーインタビューからその後どうするの? 発話録からKA法(本質的価値抽出法)でインサイトを見つけよう!
ユーザーインタビューからその後どうするの? 発話録からKA法(本質的価値抽出法)でインサイトを見つけよう!ユーザーインタビューからその後どうするの? 発話録からKA法(本質的価値抽出法)でインサイトを見つけよう!
ユーザーインタビューからその後どうするの? 発話録からKA法(本質的価値抽出法)でインサイトを見つけよう!
 
成功するスタートアップの作り方 ー 完全版
成功するスタートアップの作り方 ー 完全版 成功するスタートアップの作り方 ー 完全版
成功するスタートアップの作り方 ー 完全版
 
顧客体験のデザイン〜そのサービスに“願い”はあるか?
顧客体験のデザイン〜そのサービスに“願い”はあるか?顧客体験のデザイン〜そのサービスに“願い”はあるか?
顧客体験のデザイン〜そのサービスに“願い”はあるか?
 
ナラティブ・プロトタイピング
ナラティブ・プロトタイピングナラティブ・プロトタイピング
ナラティブ・プロトタイピング
 
エンジェル投資家って何者?
エンジェル投資家って何者?エンジェル投資家って何者?
エンジェル投資家って何者?
 
ユーザーストーリー駆動開発で行こう。
ユーザーストーリー駆動開発で行こう。ユーザーストーリー駆動開発で行こう。
ユーザーストーリー駆動開発で行こう。
 
UnityでのLINQ活用例
UnityでのLINQ活用例UnityでのLINQ活用例
UnityでのLINQ活用例
 
チームワーク、努力、勝利 / スタートアップのチームワークとコミュニケーション
チームワーク、努力、勝利 / スタートアップのチームワークとコミュニケーションチームワーク、努力、勝利 / スタートアップのチームワークとコミュニケーション
チームワーク、努力、勝利 / スタートアップのチームワークとコミュニケーション
 
ユーザーインタビューするときは、どうやらゾンビのおでましさ
ユーザーインタビューするときは、どうやらゾンビのおでましさユーザーインタビューするときは、どうやらゾンビのおでましさ
ユーザーインタビューするときは、どうやらゾンビのおでましさ
 
OWASP TOP10 A01:2021 – アクセス制御の不備
OWASP TOP10 A01:2021 – アクセス制御の不備OWASP TOP10 A01:2021 – アクセス制御の不備
OWASP TOP10 A01:2021 – アクセス制御の不備
 
UXデザインを速く! 軽く! そして根拠をもって、回せ! すばやいユーザー調査からつなげるアジャイルUX
UXデザインを速く! 軽く! そして根拠をもって、回せ! すばやいユーザー調査からつなげるアジャイルUXUXデザインを速く! 軽く! そして根拠をもって、回せ! すばやいユーザー調査からつなげるアジャイルUX
UXデザインを速く! 軽く! そして根拠をもって、回せ! すばやいユーザー調査からつなげるアジャイルUX
 
スタートアップ共同創業者の見つけ方、付き合い方、別れ方
スタートアップ共同創業者の見つけ方、付き合い方、別れ方スタートアップ共同創業者の見つけ方、付き合い方、別れ方
スタートアップ共同創業者の見つけ方、付き合い方、別れ方
 
Web ブラウザで DRM
Web ブラウザで DRMWeb ブラウザで DRM
Web ブラウザで DRM
 
転職基準 スタートアップへの転職を検討するための予備知識
転職基準 スタートアップへの転職を検討するための予備知識転職基準 スタートアップへの転職を検討するための予備知識
転職基準 スタートアップへの転職を検討するための予備知識
 

Mehr von abend_cve_9999_0001

フリーでできるWebセキュリティ(burp編)
フリーでできるWebセキュリティ(burp編)フリーでできるWebセキュリティ(burp編)
フリーでできるWebセキュリティ(burp編)
abend_cve_9999_0001
 
フリーでできるセキュリティWeb編(SQLMあpを楽しもう)
フリーでできるセキュリティWeb編(SQLMあpを楽しもう)フリーでできるセキュリティWeb編(SQLMあpを楽しもう)
フリーでできるセキュリティWeb編(SQLMあpを楽しもう)
abend_cve_9999_0001
 

Mehr von abend_cve_9999_0001 (20)

Bypassing anti virus using powershell
Bypassing anti virus using powershellBypassing anti virus using powershell
Bypassing anti virus using powershell
 
ポートスキャンを擬人化してみた
ポートスキャンを擬人化してみたポートスキャンを擬人化してみた
ポートスキャンを擬人化してみた
 
Bypassing Windows Security Functions(ja)
Bypassing Windows Security Functions(ja)Bypassing Windows Security Functions(ja)
Bypassing Windows Security Functions(ja)
 
Bypassing Windows Security Functions(en)
Bypassing Windows Security Functions(en)Bypassing Windows Security Functions(en)
Bypassing Windows Security Functions(en)
 
Burp Suite Japanユーザグループ紹介
Burp Suite Japanユーザグループ紹介Burp Suite Japanユーザグループ紹介
Burp Suite Japanユーザグループ紹介
 
バックアップファイルの管理
バックアップファイルの管理バックアップファイルの管理
バックアップファイルの管理
 
標的型攻撃からどのように身を守るのか
標的型攻撃からどのように身を守るのか標的型攻撃からどのように身を守るのか
標的型攻撃からどのように身を守るのか
 
Your hash is.
Your hash is.Your hash is.
Your hash is.
 
Nmapの真実(続)
Nmapの真実(続)Nmapの真実(続)
Nmapの真実(続)
 
Nmap 9 truth "Nothing to say any more"
Nmap 9 truth "Nothing to say  any more"Nmap 9 truth "Nothing to say  any more"
Nmap 9 truth "Nothing to say any more"
 
Nmap 9つの真実
Nmap 9つの真実Nmap 9つの真実
Nmap 9つの真実
 
Nmapの真実
Nmapの真実Nmapの真実
Nmapの真実
 
Burpで指定文字列を検索
Burpで指定文字列を検索Burpで指定文字列を検索
Burpで指定文字列を検索
 
The vulnerabilities never bothered me anyway
The vulnerabilities never bothered me anywayThe vulnerabilities never bothered me anyway
The vulnerabilities never bothered me anyway
 
フリーでできるセキュリティチェック OpenVAS CLI編
フリーでできるセキュリティチェック OpenVAS CLI編フリーでできるセキュリティチェック OpenVAS CLI編
フリーでできるセキュリティチェック OpenVAS CLI編
 
もしWebセキュリティのエンジニアがRFC7540の「HTTP/2アプリ」をWeb診断したら
もしWebセキュリティのエンジニアがRFC7540の「HTTP/2アプリ」をWeb診断したらもしWebセキュリティのエンジニアがRFC7540の「HTTP/2アプリ」をWeb診断したら
もしWebセキュリティのエンジニアがRFC7540の「HTTP/2アプリ」をWeb診断したら
 
フリーでできるWebセキュリティ(burp編)
フリーでできるWebセキュリティ(burp編)フリーでできるWebセキュリティ(burp編)
フリーでできるWebセキュリティ(burp編)
 
Burp番外編~バープ、チョトニホンゴデキル~
Burp番外編~バープ、チョトニホンゴデキル~Burp番外編~バープ、チョトニホンゴデキル~
Burp番外編~バープ、チョトニホンゴデキル~
 
おちこんだりもしたけど、私は元気です。
おちこんだりもしたけど、私は元気です。おちこんだりもしたけど、私は元気です。
おちこんだりもしたけど、私は元気です。
 
フリーでできるセキュリティWeb編(SQLMあpを楽しもう)
フリーでできるセキュリティWeb編(SQLMあpを楽しもう)フリーでできるセキュリティWeb編(SQLMあpを楽しもう)
フリーでできるセキュリティWeb編(SQLMあpを楽しもう)
 

クリックジャッキング