ひつじのにっき

mhidakaのにっきです。たまに長文、気が向いたとき更新。

デブサミ2012 自分メモ 【16-C-3】趣味と実益の脆弱性発見

今年もデブサミいってきましたー。自分メモ。

スライド引用(SlideShareです)

●[デブサミ2012]趣味と実益の脆弱性発見 はせがわようすけさん

感想

このセッションは自分にない視点を教えてくれて面白かったです。
セキュリティは怖くない。うまく付き合う方法が知られてないだけ、なのかな、と。
セキュリティ的に危ういところを指摘する際に、
「その仕様を最も悪用できる方法を思いつくことが、世界平和の貢献につながる」
というのは非常にわかりやすい。
仕様か不具合か、リスクを共有するためのいいコミュニケーション。

以下、スライドメモ

メモ(一部不正確なところがあります)

視点:ウェブアプリケーションとブラウザ
普段のお仕事はJavaScriptの難読化(顔文字でのコーディング例など)
ウェブアプリケーションの脆弱性検査はサーバーに対して実施される。
こちらは企業が請け負ったり、事業として行われている

ブラウザの脆弱性問題はあまり検査されることがない。
こちらはほとんど行われておらず、個人が趣味で行うことが多い。
(Chromeなどでは報奨金が支払われるが、事業としては成り立ちにくい)

その反面、脆弱性の影響範囲が大きい
→ すべてのウェブアプリケーションが範囲

XSSなどの脆弱性W3C/HTMLの仕様、ブラウザ仕様を
組み合わせて発見される(作り出す、と表現している)

Speakerはこれまでさまざまな脆弱性を発見(趣味として)
→ UTF7によるJSON Hijacking(IE) 実例紹介
   攻撃者がJSONの中身を知ることができる。
   IEはサーバーが吐き出すCharasetよりScript要素で書いたCharasetが優先

ブラウザ側で対策予定がない場合は、
ウェブアプリ側で(この件ではJSONを読まれないように)対策する必要がある

E4X + Web Workers = データ漏えい
ECMAScript for XML(ECMA-357):XMLの内部にJavascriptを記述できる規格
→ 外部から読み込み可能

攻撃者はHTMLのファイルをScriptとして読み込ませて、
JavaScriptとして扱うことができる。
HTMLのファイルはドメインを超えて読めてはいけないが、
攻撃者がHTMLの中に書かれた個人情報を取得できる可能性
→ HTMLのヘッダを見て実行できないように修正した

Web WorkersJavaScript待望のマルチスレッド機構
DOMと切り離されているが、計算とか通信など時間のかかる作業はWorkerに任せる

new Workers(src)はドメインを超えて指定できないが
importScript機能を使えばドメインを超えて読み込める。
→ E4XWeb Workersを組み合わせると再度脆弱性がReopenされる
(この問題はモジラに報告し、報奨金をもらえました)

なぜ脆弱性を探すのか
まず、探している技術者が数少ない。
・自分が放置していれば直されずに悪用されるのではないか?との懸念
・趣味的な、パズルみたいな楽しみ

仕事で設計をしていたが、不具合を経験する中で
安定したソフトウェア設計を求めるようになったのがきっかけ。

2006年ごろ
セキュリティについて学べば学ぶほど、あっさり見つかり、
報告しても「脆弱性ではなく仕様です」など問題が解決されず、
直される見込みがないなど閉塞感があった。

※PNGファイルがHTML扱いされXSS(IE)
→RLOを利用した拡張子の偽装
(ユニコードの制御記号を入れるとテキストが右から左で入れ替わる
拡張子の偽装方法)

ここ2,3年「仕様です」とは聞かないが何年も直らない状況が続く…
ブラウザ競争が勃発してから、このような仕様です発言がなくなった。

閉塞感の打開の仕方
「その仕様を最も悪用できる方法を思いつくことが、世界平和の貢献につながる」

・悪用されたときのダメージで仕様の改定を促せる
・セキュリティ製品を通じて、社会に貢献できる

10年後も世界で通じるエンジニアであるために
Webのセカイ=標準化+ブラウザ独自実装
標準化された部分を勉強する、というのはある側面について正しいが、

ブラウザ独自の技術には独自の視点があり、試行錯誤が行われている

未開の地を探し続けることが重要
誰も通ってない道を探してみては?

セキュリティについては啓蒙がまだまだ必要。
もっと発信しても良い、特に日本発が少ないので、どんどん議論できれば。

未来のための人材発掘:SECCON CTF
学生向けのセキュリティに関連した問題を旗取りコンテストを実施します
九州から全国に回ります。