20
SecurityCamp2015 CVE-2015-4483 解解 Masato Kinugawa

SecurityCamp2015「CVE-2015-4483解説」

Embed Size (px)

Citation preview

Page 1: SecurityCamp2015「CVE-2015-4483解説」

SecurityCamp2015CVE-2015-4483 解説

Masato Kinugawa

Page 2: SecurityCamp2015「CVE-2015-4483解説」

このスライドについて

セキュリティ・キャンプ全国大会 2015 の 2 日目(8 月 12 日 ) の夕食時に行われた特別コーナー「俺たち、高レイヤーの講師だけど質問ある?」で発表したものです。この日、ちょうど自分の報告した脆弱性 (CVE-2015-4483) が修正されたので、どのような問題だったか、どのようにして発見に至ったかについて、自分が担当した講義「バグハンティング入門」で紹介した脆弱性発見のテクニックを実際の場面で使っていることを示しながら解説しました。

Page 3: SecurityCamp2015「CVE-2015-4483解説」

Firefox 40 がリリース!今朝こんなのがでました。

http://www.mozilla-japan.org/security/announce/2015/mfsa2015-86.html

Page 4: SecurityCamp2015「CVE-2015-4483解説」

概要

feed:  プロトコルの接頭辞付き URL でターゲットとするページを POST メソッドで開いた場合に、そのページのための混合コンテンツブロッカーが無効化されてしまうことが、セキュリティ研究者の Masato Kinugawa  氏によって報告されました。これは、本来ブロックされるべき安全でないコンテンツを偶然含んだページに対する中間者 (MITM) スクリプティング攻撃のリスクを生む恐れがありました。

タイトル:

POST 時の feed プロトコルによって混合コンテンツ制限が回避される

Page 5: SecurityCamp2015「CVE-2015-4483解説」

feed プロトコル?

feed:  プロトコルの接頭辞付き URL でターゲットとするページを POST メソッドで開いた場合に、そのページのための混合コンテンツブロッカーが無効化されてしまうことが、セキュリティ研究者の Masato Kinugawa  氏によって報告されました。これは、本来ブロックされるべき安全でないコンテンツを偶然含んだページに対する中間者 (MITM) スクリプティング攻撃のリスクを生む恐れがありました。

タイトル:

POST 時の feed プロトコルによって混合コンテンツ制限が回避される

Page 6: SecurityCamp2015「CVE-2015-4483解説」

こんなの

feed:(RSS feed まわりのどこかで使われているもの…? )

Page 7: SecurityCamp2015「CVE-2015-4483解説」

ハントの秘訣[ 過去の失敗を知ろう ] 過去の修正済みの脆弱性をじっくりみてみよう

修正後に詳細情報が公開されているものはたくさんある

大抵の脆弱性は形を変えたよく似た失敗探すべきポイントがみえてくる

という話をしました

Page 8: SecurityCamp2015「CVE-2015-4483解説」

昔こんなのがあった (CVE-2012-1965)

feed:javascript:alert(1)

次のようなリンクをクリックすると JS がうごく

feed: をつけるとなんか起きる場合があるのね。

Page 9: SecurityCamp2015「CVE-2015-4483解説」

些細なバグや特徴的な挙動いちいち悪用できないか考える

僕は小さな気付きをメモするようにしているあとで脆弱性に繋がると気付くことも

という話をしました

ハントの秘訣[ 細かいことを気にしよう ]

Page 10: SecurityCamp2015「CVE-2015-4483解説」

講義で紹介した僕のメモ

ftp: の URL で、存在しないディレクトリをスクリプトなどのリソースとしてよみこもうとするとダイアログがでる。

Firefox のメモ ( browser/firefox/bug.txt ) の No41 :

Page 11: SecurityCamp2015「CVE-2015-4483解説」

今回に関係するメモ

feed: な URL に対して POST するとfeed: が URL から消えない。

Firefox のメモ ( browser/firefox/bug.txt ) の No49 :

Page 12: SecurityCamp2015「CVE-2015-4483解説」

「 feed:な URL に対して POST 」とは

<form method="post" action="feed:http://example.com/">

<input type="submit"></form>

こういうこと

Page 13: SecurityCamp2015「CVE-2015-4483解説」

「 feed:が URL から消えない」とは

こういうこと

Page 14: SecurityCamp2015「CVE-2015-4483解説」

混合コンテンツ制限?

feed:  プロトコルの接頭辞付き URL でターゲットとするページを POST メソッドで開いた場合に、そのページのための混合コンテンツブロッカーが無効化されてしまうことが、セキュリティ研究者の Masato Kinugawa  氏によって報告されました。これは、本来ブロックされるべき安全でないコンテンツを偶然含んだページに対する中間者 (MITM) スクリプティング攻撃のリスクを生む恐れがありました。

タイトル:

POST 時の feed プロトコルによって混合コンテンツ制限が回避される

Page 15: SecurityCamp2015「CVE-2015-4483解説」

講義で話した Live にあった件

http://maps.google.com/maps/ms?msid=XXX

https://cybozulive.com/[ 掲示板の URL]

これが混合コンテンツ制限

Page 16: SecurityCamp2015「CVE-2015-4483解説」

大きな影響があるもの

なぜ影響があるか?

location.protocol == "feed:"

Page 17: SecurityCamp2015「CVE-2015-4483解説」

var _gaq = _gaq || [];_gaq.push(['_setAccount', 'UA-xxxxx-y']);_gaq.push(['_trackPageview']);(function() {

var ga = document.createElement('script');

ga.type = 'text/javascript';ga.async = true;ga.src = ('https:' ==document.location.protocol ?'https://ssl' : 'http://www')+ '.google-analytics.com/ga.js';var s = document.getElementsByTagName('script')

[0];s.parentNode.insertBefore(ga, s);

})();

Page 18: SecurityCamp2015「CVE-2015-4483解説」

DEMOhttp://vulnerabledoma.in/camp2015/fx_feed_mixedcontent.html

Page 19: SecurityCamp2015「CVE-2015-4483解説」

脆弱性を引き出すコツ [ 列挙 ]同じ性質のものを列挙しておくと便利

例えば HTML タグ例えば HTTPLeaks例えば様々なフォーマットのファイル

例えばブラウザで利用可能な文字コード

パーツがたくさんあればアイデアに幅が生まれる一度列挙しておけば必要なときそこをみるだけ

http://l0.cm/encodings/table/

という話をしました

Page 20: SecurityCamp2015「CVE-2015-4483解説」

ちなみに

"about:","blob:","chrome:","data:","feed:","file:","ftp:","http:","https:","jar:","javascript:","mailto:","mediasource:","moz-anno:","moz-device:","moz-icon:","moz-page-thumb:","moz-safe-about:","pcast:","resource:","vbscript:","view-source:","ws:","wss:","wyciwyg:"

Firefox で使えそうなプロトコル

列挙して何かしようとしている最中