Gecko inside #2

Firefox OS や Firefox を支える GeckoをMozilla のエンジニアと一緒に学ぶ勉強会です。
0
Mozilla Japan コミュニティ @mozillajp

ブラウザエンジニアのための勉強会 #geckoinside の第2回はこちらで中継しています!セキュリティのテスト手法であるファジングと、テレビ用Firefox OSシミュレータについてMozillaのエンジニアが解説します。 ow.ly/RUWh1

2015-09-08 19:22:05
mantaroh @_mantaroh_

海老名は地の果てですよー #geckoinside

2015-09-08 19:35:19
dynamis (でゅなみす/レッサーパンダ) @dynamitter

日本で公演できて嬉しい。今日はファジングについて話します。スライドは矢倉さんが訳してくれました。ありがとう! #geckoinside

2015-09-08 19:37:16
dynamis (でゅなみす/レッサーパンダ) @dynamitter

プレゼンスライド nth10sd.github.io/2015-Fuzzing-a…見ている人はNキー押したらノートが見られるからね! #geckoinside

2015-09-08 19:39:48
dynamis (でゅなみす/レッサーパンダ) @dynamitter

Fuzzingの自動テストで6450のバグを見つけてきたがそのうちの12%がセキュリティバグでありFuzzingはとても効果ある squarefree.com/categories/fuz… #geckoinside

2015-09-08 19:45:23
dynamis (でゅなみす/レッサーパンダ) @dynamitter

もうJesse (Fuzzingツール)なしにJITは書かないよ。by Andreas Gal (SpiderMonkeyのJITエンジン開発をした元CTO) #geckoinside

2015-09-08 19:46:37
dynamis (でゅなみす/レッサーパンダ) @dynamitter

いろんなアプリを特定の順番に起動したときにだけ発生するような問題もFuzzingテストによって発見・特定して修正していける。Fuzzingしておくことでクラッシュとか色々探すためのテストケース削減にも繋がる #geckoinside

2015-09-08 19:56:39
dynamis (でゅなみす/レッサーパンダ) @dynamitter

Fuzzingデモのログにも出力されてたけど、Firefox OS端末(や普通のFirefoxブラウザ)のリモート制御に使ってるのはMarionette developer.mozilla.org/ja/docs/Mozill… Fuzzingに限らず自動テストしたい人はどうぞ #geckoinside

2015-09-08 19:59:32
dynamis (でゅなみす/レッサーパンダ) @dynamitter

Fuzzing使い始めると大量のバグ報告が来てエンジニアが嫌がったりどれくらいの価値があるのかって理解されるまで苦労したが、レポートも簡潔になったり改善してきたり成果が出てきたことで歓迎されるようになってる #geckoinside

2015-09-08 20:05:34
dynamis (でゅなみす/レッサーパンダ) @dynamitter

Q: 何か決まったフレームワークを使ってるのか? A: フレームワークはプロジェクト(対象ソフト)によって異なる。カスタムで作るのが最も効果を得られるから。 #geckoinside

2015-09-08 20:21:16
dynamis (でゅなみす/レッサーパンダ) @dynamitter

Q: XSSについてもFuzzingでカバーできているのか? A: アプリ起動してテキストフィールドがあればそこに突っ込むテストを含んでいる。 #geckoinside

2015-09-08 20:27:05
dynamis (でゅなみす/レッサーパンダ) @dynamitter

Q: Fuzzingツールで使う言語は対象に合わせるのか、ツールを使いやすい言語なのか? A: NO. 例えばC++でかかれたJavaScriptエンジンのFuzzingテストをPythonで書いている #geckoinside

2015-09-08 20:32:20
dynamis (でゅなみす/レッサーパンダ) @dynamitter

Fuzzingする側からすればテスト対象のプログラムの方はブラックボックスだと思ってランダムに処理するので対象言語でテストを書いていく必要は無い #geckoinside

2015-09-08 20:33:30
dynamis (でゅなみす/レッサーパンダ) @dynamitter

Q: Fuzzingは製品開発スケジュール、マイルストーンに合わせてやってるのか?HTML Injectionバグ簡単に見つけられてるのでもうちょっとテストタイミングと方法考えた方が良いんでは?(笑) #geckoinside

2015-09-08 20:37:09
dynamis (でゅなみす/レッサーパンダ) @dynamitter

司会: 反省しました。自分のFuzzbugは明日修正しますw #geckoinside

2015-09-08 20:39:32
dynamis (でゅなみす/レッサーパンダ) @dynamitter

TV向けのFirefox OSではスマホのものとはホームアプリが違ったりTV向けのAPIが入ってたりNotificationの実装が違ったり設定アプリが違ったり。実際の製品ではビルドオプションによって機能の有無や独自の機能も入っていたりはする #geckoinside

2015-09-08 20:50:15
dynamis (でゅなみす/レッサーパンダ) @dynamitter

スマホのGaiaとテレビのGaiaはマージしていこうとしている #geckoinside システムアプリのマージ bugzilla.mozilla.org/show_bug.cgi?i… とかそういやつのことかな?

2015-09-08 20:52:05
dynamis (でゅなみす/レッサーパンダ) @dynamitter

TV Manager APIの図はこちら seanyhlin.github.io/TV-Manager-API… ただしこれは今の時点では実機に自由にインストールできるアプリからは利用できない制限がかかっている(certifiedなAPI) #geckoinside

2015-09-08 20:53:39