ローカル環境でOpensslの脆弱性をためしてみた

この件でオープンソースはちょっとなぁって思う企業ももしかして増えるんじゃないかなって個人的に思っていたところで、こんなニュースがあった。

ITメディアエンタープライズ

OpenSSLの脆弱性、Microsoftサービスは影響受けず
Microsoftのサービスの大部分は影響を受けないことが判明したという。AppleもiOSとOS Xは影響を受けないと説明している。

鼻高々ですな。

大見出しと小見出しで若干矛盾があるような気がするんだけど、それはいいのか。

ほかにもオープンソースと商業用プログラムで切磋琢磨しているものといえばクラウドサービスとかOffice製品があるけど、この辺もどう影響していくのだろうか。

それほどないのかもしれない。

 

うーむ。

てことでが、脆弱性のまとめサイトがいろいろある中で、実際に検証しているサイトも増えてきてる。エクスプロイトコードも公開されているので実際に試してみることにしました。

コードの中身はこれからやろうとしているネットワークプログラミングなので、ちょうどいい題材だったのもやろうとしたきっかけでもありんす。そんなに長いものではないし、中身はSSLを使ったTCPクライアントの基本的なプログラムになっている。じっくりと関数ごとに勉強していきませう。

コードの中身の勉強は個人的にやるとして、日記の内容としては実行してみた結果!なわけだけど、まずコンパイルとかプログラムを用意する部分は問題なかったけど、それよりむしろ脆弱性を持ったサーバーを作るのがわりと大変で、普通に作ってもどこかしらでOpensslがアップグレードされてしまい実験ができないので、めんどうだけどApacheとOPENSSLとソースからビルドして、やっと実験環境ができた。

ちまたではガチャと言われているこの脆弱性だけど、(ガチャガチャの方がしっくりくるおっさん)ヒープ領域がコピーされちゃうのでなにがでるか分からないネタ。

実際とれたデータは

※スクリプトでとった訳ではなくて手動で20回くらい試した結果

証明書のCommonnameとかの情報(一部、これは普通に見れるな)

アクセスログ(一部、普通は見れない)

なんかのログ(一部、なんだこりゃ)

HTMLのソース(一部、これも普通に見れる)

こんな感じ。
ヒープに保存されるものは何でも見れるってことらしいからね。

|.3...cRLS[15/Apr|
|/2014:06:25:55 +|
|0900]....cRLSGET|
| /favicon.ico HT|
|TP/1.1.O......nP|
|......n404...h.N|
|.....(EO......nP|
|...209.~:....192|
|.168.24.53 - - [|
|15/Apr/2014:06:2|
|5:55 +0900] "GET|
| /favicon.ico HT|
|TP/1.1" 404 209.|
|.....,oP......AL|
|.....PoP......AL|
|.....`oP......AL|
|......oP......AL|
|......oP......AL|
|......oP......AL|
|................|
|................|
|................|
|.....cRLS[15/Apr|
|/2014:06:25:55 +|
|0900]....cRLS192|
|.168.24.53...TLS|
|v1.2.ECDHE-RSA-A|
|ES128-GCM-SHA256|
|.....ECDHE-RSA-A|
|ES128-GCM-SHA256|
|.....GET /favico|
|n.ico HTTP/1.1.H|
|.....@oP.....GAT|
|E.....bI...209.J|
|.....[15/Apr/201|
|4:06:25:55 +0900|
|] 192.168.24.53 |
|TLSv1.2 ECDHE-RS|
|A-AES128-GCM-SHA|
|256 "GET /favico|
|n.ico HTTP/1.1" |
|209..@n~:......B|

平文で取れるみたいだけど、だいたい同じ情報ばっかりで、脆弱性を試してみるコードにすぎない。のかもしれない。

そもそも、おおこれは秘密鍵じゃないか!とか分かるわけないので、このコード以外にもビット数とかで振り分けしたりして、いろいろとまぜて使う必要はあるようだ。
使う方もそれなりに技術がないと使える代物ではないようだね。

 

CentOSやUbuntuの利用者が多い中、1.0.1~1.0.1fは影響をうけるということだけを書いているサイトもあって、ちょっと誤解をまねくような書き方をしているサイトも多い。

使っているディストリのサイトをちゃんと調べようぬ。

そんな中でこちらのサイトはいろんなディストリやミドルウェアまでを書いてらっしゃいますのでお勧めなのです。

めもおきば

CVE-2014-0160 OpenSSL Heartbleed 脆弱性まとめ

 

開発は開発のテクニック、運用は運用のテクニックとか、Howto本や問題集やら、本には載ってないようなそれぞれのテクニックがあって、それが蓄積されて技術者になるんだなぁって、最近よく思います。

触手を伸ばすというのはいいことだな。
(シャアの声が合うな)

 

Related Posts


投稿者: Takeken

インターネット利用者のITリテラシーを向上したいという設定の2次元キャラです。 サーバー弄りからプログラミングまで手を付けた自称エッセイストなたけけんの物語。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です