SSLv2 を有効にしている TLS 実装の脆弱性 ― 馬も鹿も暗号化する時代のセキュリティ
脆弱性の内容
いい加減 SSL 周りの脆弱性にはうんざりなのだが, OpenSSL をはじめとする SSL/TLS 暗号通信の実装に複数のセキュリティ脆弱性あり。
CVE | 脆弱性内容 |
---|---|
CVE-2016-0800 | Cross-protocol attack on TLS using SSLv2 (DROWN) |
CVE-2016-0705 | Double-free in DSA code |
CVE-2016-0798 | Memory leak in SRP database lookups |
CVE-2016-0797 | BN_hex2bn/BN_dec2bn NULL pointer deref/heap corruption |
CVE-2016-0799 | Fix memory issues in BIO_*printf functions |
CVE-2016-0702 | Side channel attack on modular exponentiation |
CVE-2016-0703 | Divide-and-conquer session key recovery in SSLv2 |
CVE-2016-0704 | Bleichenbacher oracle in SSLv2 |
このうち特に CVE-2016-0800 のリスクが高いので紹介する。
CVE-2016-0800 : Cross-protocol attack on TLS using SSLv2 (DROWN)
通称 DROWN (Decrypting RSA with Obsolete and Weakened eNcryption) 攻撃。
OpenSSL などで SSLv2 を有効にしている場合, SSL を使用していなくても TLS 暗号通信を中間者攻撃で攻略することができるらしい1。 ポイントは SSL サーバのみでなくサーバとネットで繋がっている他のマシンにも影響をおよぼす可能性があることだ。
CVE-2016-0702 : Side channel attack on modular exponentiation
リスクは低いが, CVE-2016-0702 についても一応紹介しておく。 通称 CacheBleed と呼ばれる side-channel 攻撃の一種である。
どうもこれ,2013年の GnuPG の脆弱性のバリエーションらしい。
Side-channel 攻撃は成立条件が特殊なので,一般的にリスクは高くない。 CVSSv2 基本評価値は 2.6 (AV:L/AC:H/Au:N/C:P/I:P/A:N) なので,こういう攻略法もあるといった程度に覚えておくといいだろう。
影響度(CVSS)
CVSSv2 基本評価値 7.1 (AV:N/AC:H/Au:N/C:C/I:C/A:N)
基本評価基準 | 評価値 |
---|---|
攻撃元区分(AV) | ネットワーク(N) |
攻撃条件の複雑さ(AC) | 高(H) |
攻撃前の認証要否(Au) | 不要(N) |
情報漏えいの可能性(機密性への影響, C) | 全面的(C) |
情報改ざんの可能性(完全性への影響, I) | 全面的(C) |
業務停止の可能性(可用性への影響, A) | なし(N) |
CVSSv3 基本評価値 7.4 (CVSS:3.0/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:N)
「JVNVU#90617353: SSLv2 の暗号通信を解読可能な脆弱性 (DROWN 攻撃)」より
基本評価基準 | 評価値 |
---|---|
攻撃元区分(AV) | ネットワーク(N) |
攻撃条件の複雑さ(AC) | 高(H) |
必要な特権レベル(PR) | 不要(N) |
ユーザ関与レベル(UI) | 不要(N) |
スコープ(S) | 変更なし(U) |
情報漏えいの可能性(機密性への影響, C) | 高(H) |
情報改ざんの可能性(完全性への影響, I) | 高(H) |
業務停止の可能性(可用性への影響, A) | なし(N) |
CVSS については解説ページを参照のこと。
影響を受ける製品
- OpenSSL 1.0.1r およびそれ以前の 1.0.1 系列
- OpenSSL 1.0.2f およびそれ以前の 1.0.2 系列
また,このバージョンの OpenSSL を利用している製品(Apache, Postfix, Nginx 等)も影響を受ける。 なお,公開されているサーバが DROWN の影響を受けているかどうかテストするサイトがある。
OpenSSL 以外にも SSLv2 が有効になっている場合は今回の脆弱性の影響を受ける可能性があり,以下の製品・バージョンについて警告されている。
- Microsoft IIS (Windows Server) : バージョン 7 以降は既定で SSLv2 が無効化されている
- MNetwork Security Services (NSS) : バージョン 3.13 以降は既定で SSLv2 が無効化されている
LibreSSL は DROWN の影響を受けないそうだ。
対策・回避策
OpenSSL に関しては最新バージョンで対策されている。
- OpenSSL 1.0.1s
- OpenSSL 1.0.2g
SSL は既に仕様上の脆弱性を抱えており,可能な限り無効にすることをお薦めする。
どうしても SSLv2 を有効にしなければならない場合,証明書を分けて,他のプロトコルと共用しないようにすること。
ブックマーク
- DROWN (Decrypting RSA with Obsolete and Weakened eNcryption)
- OpenSSL Security Advisory [1st March 2016]
- Vulnerability Note VU#583776 - Network traffic encrypted using RSA-based SSL certificates over SSLv2 may be decrypted by the DROWN attack
- JVNVU#90617353: SSLv2 の暗号通信を解読可能な脆弱性 (DROWN 攻撃)
- OpenSSL の複数の脆弱性に関する注意喚起
- OpenSSLの脆弱性CVE-2016-800(DROWN)やCVE-2016-0702(CacheBleed)についてまとめてみた - piyolog
- SSLの脆弱性で日本の大手サイトを含む全世界1100万以上のHTTPSサイトが攻撃を受け得ると判明 - GIGAZINE
- HTTPSサイトの3割に影響する「DROWN」脆弱性見つかる–OpenSSLはパッチ公開 - ZDNet Japan
- 「DROWN攻撃」の脆弱性が発覚,HTTPSサイトの33%に影響 - ITmedia エンタープライズ
- February 2016 Security Release Summary | Node.js
- A Few Thoughts on Cryptographic Engineering: Attack of the week: DROWN
- More than 11 million HTTPS websites imperiled by new decryption attack | Ars Technica
- VMware製品へのDROWN脆弱性の影響情報 - Qiita : VMware 製品には影響はないそうだ
【余談】 馬も鹿も暗号化する時代のセキュリティ
一千万規模か。 意外と少ないな。 まぁ2014年に大騒ぎになった SSL 関連の脆弱性のおかげで SSL を無効にしたところも多かろう。
SSL を無効に出来ないサイトの多くは古い PC やケータイを考慮しているのだろうけど,もう考慮の余地はないと思う。 セキュリティを気にせざるを得ない他のユーザに迷惑をかけるからだ。
Web サイトを全て暗号化すべきという意見があって,セキュリティ専門家でも賛同者が多いが,私は懐疑的だ。 現在はセキュリティ要件が2,3年単位で変化し追従できないサービスやユーザも多い。 問題なのは,サイトが乗っ取らるなどして,暗号通信下で malware の活動を許してしまうことで,セキュリティ管理のいい加減なサービスが暗号通信を行うのはむしろ有害とさえ言える。
- SSL VPNの9割がセキュリティ対策が不十分な状況 | マイナビニュース
- 総SSL通信化時代のセキュリティ死角、F5ネットワークスが解説 -INTERNET Watch
- サイバー攻撃を認識するまで平均2カ月かかる–CIO意識調査 - ZDNet Japan
今だに SSLv2 や SSLv3 を有効にしているサイトがあるというのなら,そのサイトはセキュリティ上は全く信用できないと断言していいと思う。 脆弱な暗号通信を使うくらいなら,いっそ暗号化していない限定機能の HTTP サイトを用意して古いマシンのユーザは(安全でないことを警告したうえで)そちらに誘導する方がよい。 個人的な感覚では Web サービス全体の 2/3 程度が暗号化できていれば充分だと思う。
馬も鹿も暗号化するこの時代。 国家や企業の戯れ言に耳を貸す気はないが,それが本当は何を守ってるのか,そろそろ真面目に考えないといけないのではないのだろうか。
- 暗号技術入門 第3版 秘密の国のアリス
- 結城 浩 (著)
- SBクリエイティブ 2015-08-25 (Release 2015-09-17)
- Kindle版
- B015643CPE (ASIN)
- 評価
SHA-3 や Bitcoin/Blockchain など新しい知見や技術要素を大幅追加。暗号技術を使うだけならこれ1冊でとりあえず無問題。
-
TLS と SSLv3 で同じ証明書を使用している場合。 ↩︎