2014年6月6日金曜日

OpenSSLのCCSに関する脆弱性

以下、http://ccsinjection.lepidum.co.jp/ja.html より引用


[English]
最終更新日: Fri, 06 Jun 2014 01:29:36 +0900

CCS Injection Vulnerability

概要


OpenSSLのChangeCipherSpecメッセージの処理に欠陥が発見されました。
この脆弱性を悪用された場合、暗号通信の情報が漏えいする可能性があります。
サーバとクライアントの両方に影響があり、迅速な対応が求められます。
攻撃方法には充分な再現性があり、標的型攻撃等に利用される可能性は非常に高いと考えます。

対策

各ベンダから更新がリリースされると思われるので、それをインストールすることで対策できます。
(随時更新)

原因

OpenSSLのChangeCipherSpecメッセージの処理に発見された欠陥により、第三者が通信に介在することが可能であることを確認しました。
そのためOpenSSLに第三者が知ることのできる弱い鍵を使用させることができます。
今回発見された脆弱性により、これにより修正前のバージョンのOpenSSLを使用して通信の保護を実施していたウェブの閲覧、電子メールの送受信、VPNといったソフトウェアには通信内容や認証情報などを詐取・改ざんされる危険性があります。

Q&A

どのバージョンが影響を受けますか?

以下のバージョンにバグが存在する。
  • 1.0.1から1.0.1g
  • 1.0.0から1.0.0l
  • 0.9.8y以前の全て
以下のバージョンではバグが修正されている。
  • 1.0.1h
  • 1.0.0m
  • 0.9.8za

どのような攻撃が行われる恐れがありますか?

クライアントとサーバがともにバグが存在するバージョンで、サーバがバージョン1.0.1以降の場合に、通信の盗聴・改ざんを行う攻撃が行われる恐れがあります。 サーバだけがバグの存在するバージョンの場合は、クライアントの偽装を行う攻撃が行われる恐れがあります。

秘密鍵を再生成し、証明書を再発行する必要はありますか?

この脆弱性を悪用したとしても、秘密鍵を盗み出すことはできません。しかし、一度でもOpenSSLのSSL/TLSで保護された経路で秘密鍵を転送したことがある場合は慎重に考慮してください。

SSL/TLSのプロトコル設計の問題ですか?

いいえ。実装の問題です。

どのプロトコルが影響をうけますか?

SSL3.0, TLS1.0, TLS1.1, TLS1.2 のすべてが影響をうけます。

どの暗号アルゴリズムが影響を受けますか?

全ての暗号アルゴリズムが影響を受けます。

過去に攻撃を受けた形跡を確認することはできますか?

OpenSSLを使っていた場合は何の形跡も残らないため、おそらく確認することはできません。

IDS等で検知することは可能ですか?

通常と異なるタイミングで送信されるChangeCipherSpecパケットを検知するよう構成すれば、検知できると思われます。

どのようにして発見されましたか?

レピダムの菊池がCoqを用いたTLSの安全な実装の研究中に発見しました。

参照

CCS-InjectionのロゴはCC0で公開されます。SVGフォーマットでダウンロード