<前の日記(2005-10-01) 次の日記(2005-10-13)> 最新

おおいわのこめんと (2005-10-11)


2005-10-11

[Security] OpenSSL: Potential SSL 2.0 Rollback (CAN-2005-2969)

出ました。今回はかなり対応が素早かったなぁ。 製品がそもそもセキュリティ機能そのものを扱うものだからというのも大きいとは思いますが、 極めてよいレスポンスと対応でした。ちょっと感激(大袈裟)

具体的なユーザへの影響ですが、一言で言えば、「SSL3.0 以降で通信しているつもりでも SSL2.0 の脆弱性の影響(の一部)を受ける」 というものです。多分この中で一番強烈なのは、「一連の Web のやりとりの途中でいきなり 40bit の弱暗号に切りかえる」 攻撃ではないでしょうか。9/23 に書いた通り、今となっては 40bit 暗号は通常利用する暗号として必要な強度を持っていないので、一旦40bit 暗号で送ってしまったデータは、 悪者が解読する意思さえ持っていれば容易に解読されます。これは、 本当に秘密にする必要のあるデータを通信しているときには結構な脅威かと思います *1。 あと、「通信内容の一部(SSLレコードの末尾)を削り落とす通信改竄攻撃」も、なかなか嫌らしいです。 削れる場所がレコードの末尾に限定されるので、本当に何でも改変できるわけではないですが、 通信内容が推測されていると結構いろいろできるかも。

修正以外の回避方法ですが、Web に限れば割と簡単で、 サーバかクライアントのどちらかで SSL 2.0 を無効化すれば、 この脆弱性の影響は受けません。たとえバージョンを落とそうと攻撃者が頑張っても、 ネゴシエーションに失敗するからです。
ですから、現時点でクライアント側は、可能なら SSL 2.0 を無効にすることで 問題を回避できます。弱暗号を無効化することでもかなりのリスクが低減できるでしょう。 とはいえ、そのような設定項目の存在しないクライアントもたくさんありますので、 その場合はソースに手を入れるか、サーバ側の修正を待つしかありません。
同様に、サーバ運営者側も、SSL 2.0 か弱い暗号を無効化することで、 問題を回避できます。当たり前ですがこの場合、Web の通信データを送受信する前の SSL ネゴシエーションの段階で拒否しておく必要があります。 POST メソッドの場合、ユーザのデータを受け取ってから拒否しても何の意味もありませんので。

今回の脆弱性はサーバ側の問題なので、基本的にはクライアント側で問題を修正する 手段はありません。サーバ側の OpenSSL を修正して、サービスを再起動することになります。 サーバ側では、修正のパッチ当ては当然するにしても、 この機会に SSL2.0 サポートと輸出強度暗号のサポートが本当に必要なのか、 検討するのもよいのではないでしょうか。

そもそもこの脆弱性ですが、SSL3.0 を設計した時点でこのバージョン低下攻撃の存在は認識されていて、 OpenSSL にも攻撃検知のチェック機構が実装されていたにも関わらず、 当時のブラウザのバグ対応のためにわざと無効にされていたというものでした。 今回の修正は、この「チェックを無効化する機能」自体を削除した模様です。 ドキュメントによれば「IE3.02 のバグ (1996年頃?) の対処」とされていますが、 こちらで試した限り、遅くとも IE5.0 の時点 (1998年?) ではとっくに修正されて いましたから、もはや存在価値を失った機能であって、 明示的に有効にする必要性すら存在しないという判断なのでしょう。

追記 (10/14)

セキュリティホールmemoさんからリンクが張られてすごいことになってますね……。10/13のアクセス1386件って当初の2ヶ月分くらいなんですけど……。

正直、運営側にかかってくる責任がとんでもなくでかくなるんで、緊張しています。 個人日記として、コメント欄などは50人程度の読者を想定して運用してたんで、 少しシステム・体制ともに改編をさせてもらうことになると思います。

とりあえず、目下の変更として、コメント欄を廃止し、「メッセージ欄」にさせてもらいました。 但し、日記の内容を補完し、公開することが読者にとって有益と僕が独断で判断したメッセージは これまで同様公開されることがあります。 また、煽り・放言の含まれるコメント1件を、削除させてもらいました。 コメントの前半に含まれていた技術的質問については、週末に FAQ の方に反映させてもらいます。

読者のご質問・ご指摘にはできるだけお答えしていきたいんですが、 あくまで個人で運営している日記ですので、限界があります。 とても何でも書き込めるBBSを現在の職務外の余暇で運用していくほどの 余力はありませんので、あくまで「個人日記」であることをご理解の上ご容赦ください。

あと、/.J などに関連ストーリーが ありますんで、なにか意見がある方はそちらでもどうぞ。 ウォッチしてますので、技術的に補完すべき点はFAQに取り込ませてもらいます。

追記 (10/16)

アクセス件数は少し落ち着いてきました。 金曜日は出張でろくにメンテできる状態じゃなかったんで、 数時間に渡って即席の「人大杉」を見た人がいたかと思います。 実際のところ、原因はアクセス過多そのものじゃなくて、 アクセス増大対策をしようとしてミスって却って状況悪化させて、 にっちもさっちもいかない状況で仕事時間に突入してしまった (^^; とかいうオチだったりしますが。

FAQ の方は引き続き更新してますんでよろしく。 例のコメントについても、 一応気になった部分はFAQ更新しました。 あまり変わってないように見えるかもしれませんが……。 気になる方がいるようなので、コメント本文も張っておきますんで、ご参考までにどうぞ。

もう疲れたよ……。

*1 Web ブラウザを使っている場合、40bit 暗号にされたこと自体は判るので、パスワードが盗られただけなら即時に対処すれば取り返しはつきます。

[TrackBack URL: http://www.oiwa.jp/~yutaka/tdiary/trackback.rb/20051011 (note: TrackBacks are moderated: spams will not be shown.) ]

大岩 寛 (おおいわ ゆたか) <yutaka@oiwa.jp.nospam ... remove .nospam> .

Copyright © 2005-2014 Yutaka OIWA. All rights reserved.
Posted comments and trackbacks are copyrighted by their respective posters.

記事の内容について (Disclaimer / Terms and Conditions)