YANO's digital garage

Copyright ©YANO All rights reserved. https://www.bravotouring.com/~yano/

Last-modified: 2024-03-20 (水)


[一語一絵/IT系]

Heartbleed / 2014-06-10 (火)

Heartbleed
http://heartbleed.com/より

今年4月、[External]OpenSSLに発見された[External]CVE-2014-0160通称[External]ハートブリード問題。

幸いにしてHeartbeat機能が未実装される前のレガシーなUbuntu 10.04ベースだった「自宅サーバ」や「さくらVPSな自前サーバ」は影響を受けないという事だったので、騒動を静観しつつ各方面の情報を整理してみたが、具体的に言うと

OpenSSL 1.0.1 から 1.0.1f および 1.0.2beta1 において Heartbeat メッセージの処理において境界チェックの問題があり、OpenSSL が動作しているマシンのメモリ情報を取得可能な状態にあった
という事で、「Heartbeat RequestのPayload lengthが実際の長さより大きかった場合のケアが不足していた」というお粗末なバグな雰囲気だ。

狙った情報がピンポイントで採れるわけでは無いものの「サーバーの秘密鍵やパスワード等が漏洩」する"可能性がある"のは間違い無い事からそれなりに深刻な問題である事は否定しないが、それにしてもGW前に起こった[External]セキュリティ アドバイザリ 2963983 – Internet Explorer の脆弱性により、リモートでコードが実行されると同様にマスメディアの騒ぎ方は甚だ不自然な印象を受ける。

先週は「CCS Injection脆弱性」[External]CVE-2014-0224が見つかった。OpenSSLのハンドシェーク中にChangeCipherSpecを受け付けてしまう事で「弱い鍵」を使用させるよう仕向けられ、暗号化通信の内容を第三者(=攻撃者)が読み取ったり、改ざんしたりする事が可能になるそうだ。

[External]UbuntuUpdates[External]Package "openssl" (trusty 14.04)でチェックしたところ"Latest version:1.0.1f-1ubuntu2.2"で「対応済み」のようなのでひと安心。

16年もの長い間発見できなかった問題を発見したのは[External]株式会社レピダムの菊池正史氏という事で、珍しく[External]日本語による詳細な経緯も公開されているが、[External]ハートブリード問題を受けて「[External]OpenSSLのコードって実際のところ大丈夫なのかな?」と思ったのが発端だったとかなかなか興味深い。

「大丈夫?」という意味では2010年に1.0になったばかりの[External]OpenSSLだが、1998年の0.9.1から15年以上(暗号技術の輸出規制もあって表面化していないが実際はそれ以前から)開発が続いている経緯としがらみからブラックボックスがあるのかもと思われるので、"よりセキュアな実装"を目指している[External]LibReSSLにも期待したい。

【参照】
●@IT http://www.atmarkit.co.jp/
該当する場合はアップデートとサーバー証明書の再発行を:OpenSSL 1.0.1/1.0.2系に脆弱性、秘密鍵漏えいの恐れも 2014年4月11日
チェック方法まとめ:OpenSSLの「Heartbleed」脆弱性は2年前から存在、「最悪のケースを想定して対処を」と専門家 2014年4月11日
Heartbleed情報アップデート:国内でもHeartbleedを狙うパケットの増加を観測 2014年4月11日
前年比8倍、5億5200万件の個人情報が流出:大規模データ侵害からHeartbleedまで、シマンテックが脅威レポートを発表 2014年4月16日
コードテストの重要性が浮き彫りに:発見企業が語る、Heartbleedの残した「教訓」 2014年4月21日
セキュリティクラスター まとめのまとめ 2014年4月版:HeartbleedにStrutsにIE……脆弱性に振り回された1カ月 2014年5月12日
最初のリリースから16年間存在していた問題、修正版へのアップデートを推奨:OpenSSLに再び脆弱性、MITM攻撃につながる恐れ 2014年6月6日
●UbuntuUpdates http://www.ubuntuupdates.org/
Package "openssl" (trusty 14.04)
●OpenSSL http://www.openssl.org/
OpenSSL Security Advisory [07 Apr 2014] 2014年4月7日
OpenSSL Security Advisory [05 Jun 2014] 2014年6月5日
●CVE https://cve.mitre.org/
CVE-2014-0160 2014年4月7日
CVE-2014-0224 2014年6月5日
●The CERT Division http://www.cert.org/
Vulnerability Note VU#720951 - OpenSSL TLS heartbeat extension read overflow discloses sensitive information 2014年4月7日
Vulnerability Note VU#978508 - OpenSSL is vulnerable to a man-in-the-middle attack 2014年6月5日
●Japan Vulnerability Notes http://jvn.jp/
JVNVU#94401838: OpenSSL の heartbeat 拡張に情報漏えいの脆弱性 2014年4月8日
JVN#61247051: OpenSSL における Change Cipher Spec メッセージの処理に脆弱性 2014年6月6日
●IIJ Security Diary https://sect.iij.ad.jp/
Heartbleed bug による秘密鍵漏洩の現実性について 2014年4月16日
OpenSSL の Man-in-the-middle 攻撃可能な脆弱性の影響 2014年6月6日
●@znz blog http://blog.n-z.jp/
CVE-2014-0160 の OpenSSL の脆弱性対応 2014年4月8日
CVE-2014-0160 での Cookie 漏洩 2014年4月9日
●Heartbleed Bug http://heartbleed.com/
●株式会社レピダム http://lepidum.co.jp/
CCS Injection脆弱性(CVE-2014-0224)の概要・対策・発見経緯について 2014年6月5日
●LibReSSL http://www.libressl.org/
●Wikipedia http://ja.wikipedia.org/wiki/
OpenSSL
ハートブリード