Mosaic.fm #4 聞いた。これからのインターネット
先週末騒ぎになった OpenSSL #ccsinjection Vulnerability のインタビュー的位置づけなポッドキャスト Mosaic.fm #4 Security (protocol) をひと通り聞いたのでまとめ。
今回の脆弱性ではクライアント偽装なる攻撃が、内容も手段もよく分かってなくて一番気になってたんだけど、それについては検証の結果大丈夫そうだということでひと安心した。
前半は CCS Injection そのものや、それに関連した OpenSSL (コードとして、組織として)の話。
- 「(もともと)TLSを知らないと、ちょっとCoqで書いてみようとは思わないと思いますw」
- 過去に TLS 検証プロジェクトをやったんだけど、そのときちゃんとやってれば Heartbleed 見つかったかも
- さっき OpenSSL のコードを見返したら謎のところに ChangeCipherSpec が……
- さらに脆弱性を探すか?っていうと、それは世界平和への貢献ってやつで、なかなか難しいね
- OpenSSL の API は間違いやすい。LibReSSL はそれを引きずっている
- HTTPS で正しい証明書なのに MITM attack できてしまったことが大変
- Heartbleed は能動的に攻撃できるけどメモリガチャ。CCS Injection は中間者攻撃だけど 100% 攻撃が成功する。比較はムズカシイ
- 全体を通して、脆弱性の情報が関係者以外に漏れず、コーディネーションがうまくいった
- OpenSSL のコードベースはさておき、中の人はすごいがんばった。これだけは言っておきたかった
- OpenSSL が広まるスピードに開発が追い付いていない感じ
- 実装者向けの RFC があればやりやすいんじゃないかな
そして、これからのインターネットやセキュリティについての話。クライアント偽装の次に気になってたのが日和見暗号についての話だった。それについては55分ぐらいから。でもそんなに踏み込んだ話はしてなかった。
- end-to-end の暗号化が主流になっている。Gmail の End-to-End とか
- 日和見暗号なら、end-to-end を暗号化できる。ただしアクセス先が誰々であるという保証はできない
- explicit trusted proxy。end-to-end な暗号化をしているときに、指定したプロキシに復号を許可する
- parental control とかしようとすると、どこかに信頼できるプロキシがほしい
- フィルタリングの極論として、ウェブ上に何かを公開するのが許可制になるんじゃないか?嫌だね
- ブラウザの役割が広がってる。どこかの認証局がやられて証明書が発行された時、Chrome が気づいた
- ブラウザは信頼性は最高なの?
- TLS の実装が少ない、難しいなんて言ってたら、ブラウザなんて作れない
- インターネットの自由のため、ちょっとでもインターネットに良さそうなことをするのが大事。脆弱性を報告したり、パッチ書いたり、仕様を作ったり
で、80分間聴き終わって、最後のオチはこれだった
- 菊池さん「Coq じゃなくてもいいけど ATS とかでもいいけど、C言語やめて、もうちょっと高級な言語で実装してくれる人がいっぱい増えるといいですね〜」
- Jack さん「お前ら早くCoqを勉強しろと」
- 菊池さん「そうそう、それそれ」