← 脆弱性解説一覧
CRITICAL 7.5CVE-2014-0160 | 2014年4月

Heartbleed

OpenSSLのTLS実装に存在したメモリ読み取り脆弱性。 インターネット上の約17%のWebサーバーが影響を受け、 パスワードや秘密鍵が漏洩する可能性があった。


概要

HeartbleedはOpenSSLのTLSハートビート拡張の実装に存在したバッファオーバーリード脆弱性です。 攻撃者はサーバーのメモリから最大64KBのデータを繰り返し読み取ることができ、 SSL秘密鍵・パスワード・セッショントークンなどの機密情報が漏洩する危険がありました。 2012年から存在していたにもかかわらず、2年間発見されなかった点も衝撃を与えました。

攻撃の仕組み

TLSのハートビートリクエストは「このデータを送り返して」という確認メッセージです。 本来はデータ長を検証すべきですが、OpenSSLの実装ではその検証が欠けていました。

# 攻撃のイメージ
攻撃者: 「"hello"(5文字)を65535文字分返して」
サーバー: 「hello」+ メモリの中身64KB分を返してしまう

タイムライン

2012年3月
脆弱なコードがOpenSSLに導入される
2014年4月1日
GoogleとCodenomiconが独立して発見
2014年4月7日
OpenSSL 1.0.1gで修正版リリース・一般公開
2014年4月8日
カナダの税務署がHeartbleedを悪用され900人分の情報漏洩
2014年4月
世界中のサービスが緊急パッチ適用・パスワードリセット要求

対策

推奨OpenSSLを1.0.1g以上にアップデート
推奨SSL証明書を再発行し、秘密鍵を更新
推奨ユーザーにパスワードの変更を要求
推奨セッショントークンを無効化

参考リンク

NVD - CVE-2014-0160heartbleed.com(公式情報)