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

More Related Content

Similar to Welcome to the Black Hole of Bug Bounty Program Rebooted

Mozapps installがなくなったことへの不平不満
Mozapps installがなくなったことへの不平不満Mozapps installがなくなったことへの不平不満
Mozapps installがなくなったことへの不平不満Masakazu Muraoka
 
危機管理コンテスト1次予選ver2016
危機管理コンテスト1次予選ver2016危機管理コンテスト1次予選ver2016
危機管理コンテスト1次予選ver2016Takumi Ishibashi
 
SecurityCamp2015「バグハンティング入門」
SecurityCamp2015「バグハンティング入門」SecurityCamp2015「バグハンティング入門」
SecurityCamp2015「バグハンティング入門」Masato Kinugawa
 
kintone café 大阪 Vol.1
kintone café 大阪 Vol.1kintone café 大阪 Vol.1
kintone café 大阪 Vol.1Koji Asaga
 
プッシュからデータ保存まで。アプリ開発でニフティクラウド mobile backendを使う上での良くある質問、疑問にお答えします
プッシュからデータ保存まで。アプリ開発でニフティクラウド mobile backendを使う上での良くある質問、疑問にお答えしますプッシュからデータ保存まで。アプリ開発でニフティクラウド mobile backendを使う上での良くある質問、疑問にお答えします
プッシュからデータ保存まで。アプリ開発でニフティクラウド mobile backendを使う上での良くある質問、疑問にお答えしますAtsushi Nakatsugawa
 
ニフティクラウド mobile backendを使う上での良くある質問、疑問にお答えします
ニフティクラウド mobile backendを使う上での良くある質問、疑問にお答えしますニフティクラウド mobile backendを使う上での良くある質問、疑問にお答えします
ニフティクラウド mobile backendを使う上での良くある質問、疑問にお答えしますAtsushi Nakatsugawa
 
2014年を振り返る 今年の技術トレンドとDockerについて
2014年を振り返る 今年の技術トレンドとDockerについて2014年を振り返る 今年の技術トレンドとDockerについて
2014年を振り返る 今年の技術トレンドとDockerについてMasahito Zembutsu
 
【AWS×Deployment】TechTalk #5
【AWS×Deployment】TechTalk #5【AWS×Deployment】TechTalk #5
【AWS×Deployment】TechTalk #5幸夫 茅根
 
WordPress の現況
WordPress の現況WordPress の現況
WordPress の現況Naoko Takano
 
世界最安値!? 鯖江産コンピューターIchigoJam 〜福井技術者の集い その2〜
世界最安値!? 鯖江産コンピューターIchigoJam 〜福井技術者の集い その2〜世界最安値!? 鯖江産コンピューターIchigoJam 〜福井技術者の集い その2〜
世界最安値!? 鯖江産コンピューターIchigoJam 〜福井技術者の集い その2〜Taisuke Fukuno
 
【DL輪読会】マルチモーダル LLM
【DL輪読会】マルチモーダル LLM【DL輪読会】マルチモーダル LLM
【DL輪読会】マルチモーダル LLMDeep Learning JP
 
マイクロサービスとそれを支えるアーキテクチャー
マイクロサービスとそれを支えるアーキテクチャーマイクロサービスとそれを支えるアーキテクチャー
マイクロサービスとそれを支えるアーキテクチャーTsukasa Kato
 
Movable Type CPI Seminar 2010/11/15
Movable Type CPI Seminar 2010/11/15Movable Type CPI Seminar 2010/11/15
Movable Type CPI Seminar 2010/11/15Six Apart KK
 
mixiアプリxZendFramework
mixiアプリxZendFrameworkmixiアプリxZendFramework
mixiアプリxZendFramework清水樹
 
20130302 mt cafe_gunma
20130302 mt cafe_gunma20130302 mt cafe_gunma
20130302 mt cafe_gunmaSix Apart
 
さくらのIoT Platformを使ってみよう ~OSC浜名湖編~
さくらのIoT Platformを使ってみよう ~OSC浜名湖編~さくらのIoT Platformを使ってみよう ~OSC浜名湖編~
さくらのIoT Platformを使ってみよう ~OSC浜名湖編~法林浩之
 

Similar to Welcome to the Black Hole of Bug Bounty Program Rebooted (20)

Decode報告(提供版)
Decode報告(提供版)Decode報告(提供版)
Decode報告(提供版)
 
Security camp cpu
Security camp cpuSecurity camp cpu
Security camp cpu
 
Mozapps installがなくなったことへの不平不満
Mozapps installがなくなったことへの不平不満Mozapps installがなくなったことへの不平不満
Mozapps installがなくなったことへの不平不満
 
危機管理コンテスト1次予選ver2016
危機管理コンテスト1次予選ver2016危機管理コンテスト1次予選ver2016
危機管理コンテスト1次予選ver2016
 
Cybozu lt2017
Cybozu lt2017Cybozu lt2017
Cybozu lt2017
 
SecurityCamp2015「バグハンティング入門」
SecurityCamp2015「バグハンティング入門」SecurityCamp2015「バグハンティング入門」
SecurityCamp2015「バグハンティング入門」
 
kintone café 大阪 Vol.1
kintone café 大阪 Vol.1kintone café 大阪 Vol.1
kintone café 大阪 Vol.1
 
プッシュからデータ保存まで。アプリ開発でニフティクラウド mobile backendを使う上での良くある質問、疑問にお答えします
プッシュからデータ保存まで。アプリ開発でニフティクラウド mobile backendを使う上での良くある質問、疑問にお答えしますプッシュからデータ保存まで。アプリ開発でニフティクラウド mobile backendを使う上での良くある質問、疑問にお答えします
プッシュからデータ保存まで。アプリ開発でニフティクラウド mobile backendを使う上での良くある質問、疑問にお答えします
 
ニフティクラウド mobile backendを使う上での良くある質問、疑問にお答えします
ニフティクラウド mobile backendを使う上での良くある質問、疑問にお答えしますニフティクラウド mobile backendを使う上での良くある質問、疑問にお答えします
ニフティクラウド mobile backendを使う上での良くある質問、疑問にお答えします
 
2014年を振り返る 今年の技術トレンドとDockerについて
2014年を振り返る 今年の技術トレンドとDockerについて2014年を振り返る 今年の技術トレンドとDockerについて
2014年を振り返る 今年の技術トレンドとDockerについて
 
【AWS×Deployment】TechTalk #5
【AWS×Deployment】TechTalk #5【AWS×Deployment】TechTalk #5
【AWS×Deployment】TechTalk #5
 
WordPress の現況
WordPress の現況WordPress の現況
WordPress の現況
 
世界最安値!? 鯖江産コンピューターIchigoJam 〜福井技術者の集い その2〜
世界最安値!? 鯖江産コンピューターIchigoJam 〜福井技術者の集い その2〜世界最安値!? 鯖江産コンピューターIchigoJam 〜福井技術者の集い その2〜
世界最安値!? 鯖江産コンピューターIchigoJam 〜福井技術者の集い その2〜
 
AppCenter
AppCenterAppCenter
AppCenter
 
【DL輪読会】マルチモーダル LLM
【DL輪読会】マルチモーダル LLM【DL輪読会】マルチモーダル LLM
【DL輪読会】マルチモーダル LLM
 
マイクロサービスとそれを支えるアーキテクチャー
マイクロサービスとそれを支えるアーキテクチャーマイクロサービスとそれを支えるアーキテクチャー
マイクロサービスとそれを支えるアーキテクチャー
 
Movable Type CPI Seminar 2010/11/15
Movable Type CPI Seminar 2010/11/15Movable Type CPI Seminar 2010/11/15
Movable Type CPI Seminar 2010/11/15
 
mixiアプリxZendFramework
mixiアプリxZendFrameworkmixiアプリxZendFramework
mixiアプリxZendFramework
 
20130302 mt cafe_gunma
20130302 mt cafe_gunma20130302 mt cafe_gunma
20130302 mt cafe_gunma
 
さくらのIoT Platformを使ってみよう ~OSC浜名湖編~
さくらのIoT Platformを使ってみよう ~OSC浜名湖編~さくらのIoT Platformを使ってみよう ~OSC浜名湖編~
さくらのIoT Platformを使ってみよう ~OSC浜名湖編~
 

More from Muneaki Nishimura

Find Blue Oceans - Through the Competitive World of Bug Bounty
Find Blue Oceans - Through the Competitive World of Bug BountyFind Blue Oceans - Through the Competitive World of Bug Bounty
Find Blue Oceans - Through the Competitive World of Bug BountyMuneaki Nishimura
 
OWASP Testing Guide からはじめよう - セキュリティ診断技術の共有、そして横展開
OWASP Testing Guide からはじめよう - セキュリティ診断技術の共有、そして横展開OWASP Testing Guide からはじめよう - セキュリティ診断技術の共有、そして横展開
OWASP Testing Guide からはじめよう - セキュリティ診断技術の共有、そして横展開Muneaki Nishimura
 
Webプラットフォームのセキュリティ
WebプラットフォームのセキュリティWebプラットフォームのセキュリティ
WebプラットフォームのセキュリティMuneaki Nishimura
 
Mozillaの報奨金制度で100万円ほど稼いだ話
Mozillaの報奨金制度で100万円ほど稼いだ話Mozillaの報奨金制度で100万円ほど稼いだ話
Mozillaの報奨金制度で100万円ほど稼いだ話Muneaki Nishimura
 
Webアプリ開発者のためのHTML5セキュリティ入門
Webアプリ開発者のためのHTML5セキュリティ入門Webアプリ開発者のためのHTML5セキュリティ入門
Webアプリ開発者のためのHTML5セキュリティ入門Muneaki Nishimura
 
GeckoのLocal Storageについて調べてみた
GeckoのLocal Storageについて調べてみたGeckoのLocal Storageについて調べてみた
GeckoのLocal Storageについて調べてみたMuneaki Nishimura
 
Firefox OS パッケージ型アプリ インストールの仕組みを調べてみた
Firefox OS パッケージ型アプリ インストールの仕組みを調べてみたFirefox OS パッケージ型アプリ インストールの仕組みを調べてみた
Firefox OS パッケージ型アプリ インストールの仕組みを調べてみたMuneaki Nishimura
 
Firefox OS 起動の仕組みを調べてみた
Firefox OS 起動の仕組みを調べてみたFirefox OS 起動の仕組みを調べてみた
Firefox OS 起動の仕組みを調べてみたMuneaki Nishimura
 

More from Muneaki Nishimura (9)

Find Blue Oceans - Through the Competitive World of Bug Bounty
Find Blue Oceans - Through the Competitive World of Bug BountyFind Blue Oceans - Through the Competitive World of Bug Bounty
Find Blue Oceans - Through the Competitive World of Bug Bounty
 
OWASP Testing Guide からはじめよう - セキュリティ診断技術の共有、そして横展開
OWASP Testing Guide からはじめよう - セキュリティ診断技術の共有、そして横展開OWASP Testing Guide からはじめよう - セキュリティ診断技術の共有、そして横展開
OWASP Testing Guide からはじめよう - セキュリティ診断技術の共有、そして横展開
 
Firefoxの倒し方
Firefoxの倒し方Firefoxの倒し方
Firefoxの倒し方
 
Webプラットフォームのセキュリティ
WebプラットフォームのセキュリティWebプラットフォームのセキュリティ
Webプラットフォームのセキュリティ
 
Mozillaの報奨金制度で100万円ほど稼いだ話
Mozillaの報奨金制度で100万円ほど稼いだ話Mozillaの報奨金制度で100万円ほど稼いだ話
Mozillaの報奨金制度で100万円ほど稼いだ話
 
Webアプリ開発者のためのHTML5セキュリティ入門
Webアプリ開発者のためのHTML5セキュリティ入門Webアプリ開発者のためのHTML5セキュリティ入門
Webアプリ開発者のためのHTML5セキュリティ入門
 
GeckoのLocal Storageについて調べてみた
GeckoのLocal Storageについて調べてみたGeckoのLocal Storageについて調べてみた
GeckoのLocal Storageについて調べてみた
 
Firefox OS パッケージ型アプリ インストールの仕組みを調べてみた
Firefox OS パッケージ型アプリ インストールの仕組みを調べてみたFirefox OS パッケージ型アプリ インストールの仕組みを調べてみた
Firefox OS パッケージ型アプリ インストールの仕組みを調べてみた
 
Firefox OS 起動の仕組みを調べてみた
Firefox OS 起動の仕組みを調べてみたFirefox OS 起動の仕組みを調べてみた
Firefox OS 起動の仕組みを調べてみた
 

Welcome to the Black Hole of Bug Bounty Program Rebooted