日本のセキュリティチーム
マイクロソフトの最新のセキュリティ情報は、次のリソースで入手することができます。
マイクロソフトは、2012 年 1 月SSL/TLS の脆弱性 (CVE-2011-3389) を解決するセキュリティ更新プログラム MS12-006 を公開しました。この脆弱性は、SSL プロトコルと TLS プロトコルに関するもので、業界全体で対応が進められています。しかし、残念ながら、脆弱性の修正により互換性の問題が生じ、Internet Explorer を含むブラウザーで一部の Web サイトに対する HTTPS 接続ができなくなるなどの影響が出ました。そもそも、この脆弱性はどういった内容で、なぜ問題が起きたか、問題が起きた後にはどう対処すればよいかについて解説します。
脆弱性の概要
SSL/TLS の CBC (ブロック暗号化) モードの脆弱性の存在は、10 年ほど前から知られていました。しかし、理論上は暗号を破ることが可能なものの効率的な攻撃方法は見つかっていませんでした。ところが最近、Juliano Rizzo、Thai Duong の両氏によって SSL/TLS で保護された通信に対する情報解読攻撃について詳述した論文が公開されました。これは、下記の条件が整っている場合、HTTPS 通信の一部の内容が解読可能になるというものです。
CBC モード (データをブロック単位で暗号化する方式) でブロック内のデータのす���てが不明な場合、解読は非常に困難ですが、1 バイトだけ不明で残りのデータは判明している場合、1 バイトの情報をブルートフォース (総当たり攻撃) で解読することが可能です。そして今回発表された攻撃方法は、SSL/TLS で暗号化されていてもパケットの中身が推測可能という HTTP 通信の特徴を利用して、1 バイト解読を繰り返すことで、一定時間内に Cookie などの短いデータを解読するというものです。
MS12-006 では、レコード分割方式 (Split) にするという方法で修正しています。Google Chrome など SSL/TLS をサポートするブラウザーも同じ方法で修正されています。
適用後なぜ問題が発生したか
MS12-006 で行われた修正は、RFC 2246、RFC 6101 に基づいた修正であるため、すべてのアプリケーション、ハードウェア機器が正しく実装されていれば問題は発生しません。しかし、現実問題として、プロトコルの動作変更をしているため動作しなくなるアプリケーションが見つかる可能性が十分にあります。そのため、マイクロソフトは社内および SUVP (Security Update Validation Program) と呼ばれるパートナー プログラムを通じで多くのアプリケーションおよびデバイスとの互換性評価を行ってきました。しかし、残念ながら、MS12-006 一般公開後、ある特定の環境でレコード分割方式に対応できず、HTTPS 通信ができなくなる問題が報告されました。
対処方法
HTTPS 通信ができなくなる問題が発生した場合、次のいずれかの対処方法が有効です。
一時的な回避策 (上記対処が完了するまでの間)
その他参考資料