Welcome to the Black Hole of Bug Bounty Program Rebooted

3,348 views
3,243 views

Published on

Shibuya.XSS テクニカルトーク#5の発表資料です。

Published in: Technology

Welcome to the Black Hole of Bug Bounty Program Rebooted

  1. 1. Welcome to the Black Hole of Bug Bounty Program Shibuya.XSS #5 August 7th, 2014 R E B O O T E D
  2. 2. 西村 宗晃 a.k.a. nishimunea html5j Webプラットフォーム部 部員 HTML5 Experts.jp コントリビューター セキュリティキャンプ全国大会 2014 講師 FxOS コードリーディング 部員
  3. 3. 5月の話の続きです https://atnd.org/events/51627 https://codeiq.jp/magazine/2014/07/12138/
  4. 4. Mozilla Security Bug Bounty Program (Mozilla セキュリティバグ報奨金制度)
  5. 5. https://www.mozilla.org/security/bug-bounty.html
  6. 6. • 重大なセキュリティバグを発見した人に Mozillaが報奨金を支払う制度 • バグ1件につき3000ドル(約30万円)
  7. 7. 国内の報奨金獲得者 (2010年以降) 2012-2014年 Masato Kinugawaさん 2010年 はせがわようすけさん
  8. 8. でもどこを狙えば おれも報奨金ほしい
  9. 9. 1千万行を超えるFirefoxのコードからバグを探すのは 砂漠の中からダイアモンドを見つけ出すようなもの 過去にバグの見つかったところを狙う • 修正が不十分で、まだバグが残っているかも • 担当者のセキュリティの知識が浅く、類似のバグがあるかも
  10. 10. バグの見つかったところと言えば
  11. 11. Web Workers MFSA 2014-09 Masato Kinugawaさん MFSA 2010-42 はせがわようすけさん はせがわさんもKinugawaさんも Web WorkersのSOP制限回避で報奨金を獲得
  12. 12. 戦略① Web Workersを狙う
  13. 13. そして本当に見つかる
  14. 14. しかし既知のバグだとの返信 This is a dupe of 9497XX.
  15. 15. 既知のバグを見つけた場合 Mozillaは同件と思われるBugzillaに対して アクセス権を付与してくれる
  16. 16. き… Kinugawaさん…(;´Д⊂)
  17. 17. • Firefoxのバグ探しは競争率が高く、 既に探し出されている場合もある • ニッチケースまで安全に実装されており そもそもバグを見つけることが難しい
  18. 18. 諦めかけていたその時、こんな情報を発見 (割と古典的な脆弱性) ファイル名に「../」や「..%2f」を含めると 親ディレクトリを辿って任意のファイルにアクセスできる
  19. 19. Firefox OSは未開の地? フロンティア
  20. 20. 戦略② Firefox OS固有の機能を狙う
  21. 21. Browser API (いわゆるWebView) アプリの画面 ブラウザウィンドウ <iframe mozbrowser>
  22. 22. 実際にあったバグ① Content-Security-Policy ヘッダが 完全に無視される 返信:CSPの実装が古いだけ。 X-Content-Security-Policy なら使えるよ
  23. 23. 実際にあったバグ② X-Frame-Optionsヘッダも無視される (CSSで透過指定可能なのでクリックジャッキングに利用できる) 返信:フレームじゃなくてブラウザAPIだから。 そういう仕様だよ
  24. 24. • 未開の地ならではの苦労 • 実装されてない機能も普通にある • バグと仕様の境界も手探り (脆弱性はあるけど、悪用するアプリはレビューツールで 検知できるから問題無しということも)
  25. 25. 脆弱性がキマらない
  26. 26. 最終戦略 弱そうな機能を網羅的に狙う
  27. 27. https://www.mozilla.org/security/announce/
  28. 28. • 過去の脆弱性から弱そうな機能を抽出 • 機能の組み合わせに対して、起きたら 困ることを想像し、それを検証
  29. 29. CSP WebSocketappcache
  30. 30. CSP WebSocketappcache appcacheしたHTMLからWebSocketを送信すると CSPの違反レポートが機能しない
  31. 31. • 機能が増えれば攻撃方法も増える • 組み合わせを試すには時間がかかる
  32. 32. 夏といえばセキュリティキャンプ
  33. 33. 今年はWeb組の講師を担当することに
  34. 34. Webクラスの時間割 2日目 3日目 4日目 上野 国分 はせがわ Kinu gawa ※主担当者の名前(敬称略)です。主担当以外の講師も講義をサポートします
  35. 35. 鬼か…!! 2日目 3日目 4日目 上野 国分 はせがわ Kinu gawa ※主担当者の名前(敬称略)です。主担当以外の講師も講義をサポートします 西村(4時間) 西村(4時間) 西村(3時間) 西村(3時間)
  36. 36. 14時間分の資料作りが終わらない
  37. 37. 14時間分の資料作りが終わらない キャンプが終わるまで停戦を決意
  38. 38. しかし先月こんな脆弱性が MFSA 2014-66
  39. 39. Redirectiframe sandbox
  40. 40. それ、今度やろうと思ってたやつだ (;´Д⊂)
  41. 41. キーーッ!!、悔しい!!
  42. 42. Lesson Learned Bug Bounty Programは中毒性が高い
  43. 43. • 一日中バグのことを考えるようになる • 新しい機能を知ると無性に攻撃したくなる
  44. 44. しかし得られるものも多い
  45. 45. • 攻撃者の視点で物事を考える力が付く • 安全な実装方法を意識する習慣が身に付く
  46. 46. Let’s Bug Hunt!
  47. 47. 宣伝:本を書きました タイトル Firefox OSウェブアプリ開発読本 ページ数 128ページ 価格 1,000円(イベント頒布価格) 表紙 siosio 目次 第1章 WebIDEを使いこなす 第2章 Building Blocksを使ってアプリ画面を組み立てる 第3章 ハードウェアアクセスAPIリファレンス 第4章 カメラアプリを作ってみよう 第5章 Firefox OSでNFCを使ってみる 第6章 WebAudio APIを使ってサンプラーを作ろう 第7章 Firefox OSアプリのセキュリティ URL http://techbooster.github.io/announce/c86/ C86 3日目西か46b TechBoosterにて発売

×