定番の脆弱性 › CVE-2014-0160

Heartbleed(CVE-2014-0160)

この解説はAIを使用して作成しています。誤りを含む可能性があり、内容は保証できません。必ず公式情報をご確認ください。

公開日:

過去の事例 この記事は過去に話題になった脆弱性の解説です。現在の状況は公式情報でご確認ください。

基本情報(データから表示)

通称Heartbleed
CVE番号CVE-2014-0160
いつ起きたかNVD に登録された日: 2014-04-07
KEV に追加された日: 2022-05-04
製品OpenSSL OpenSSL
深刻度(CVSS)7.5 重要CVSS v3.1
NVD による評価
詳細(ベクター)CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N
ランサムウェアでの悪用不明(確認されていない)
弱点の種類(CWE)CWE-125

何が起きた

暗号化通信に使われるソフトウェア「OpenSSL」のTLSとDTLSの機能に、Heartbeat拡張という仕組みのデータを正しく扱えない弱点がありました。攻撃者が細工したデータを送ると、決められた範囲を超えてメモリーが読み出され(バッファーの読み過ぎ)、プログラムのメモリーにある大切な情報を手に入れられてしまいます。秘密鍵を読み出せることも示されています。ネットワーク越しに、特別な権限なしで悪用できます。この脆弱性は、実際に悪用が確認されたものとしてKEVに載っています。

攻撃の流れ

データをもとに、AIを使用して作成した図です。実際の攻撃は、これと異なる場合があります。

攻撃の流れ: 1. 攻撃者が、ネットワーク越しに細工したHeartbeatのデータを送る → 2. OpenSSLがそのデータを正しく扱えず、範囲を超えてメモリーを読む → 3. 攻撃者が、メモリーにあった秘密鍵などの情報を手に入れる1攻撃者が、ネットワーク越しに細工したHeartbeatのデータを送る2OpenSSLがそのデータを正しく扱えず、範囲を超えてメモリーを読む3攻撃者が、メモリーにあった秘密鍵などの情報を手に入れる攻撃の流れ: 1. 攻撃者が、ネットワーク越しに細工したHeartbeatのデータを送る → 2. OpenSSLがそのデータを正しく扱えず、範囲を超えてメモリーを読む → 3. 攻撃者が、メモリーにあった秘密鍵などの情報を手に入れる1攻撃者が、ネットワーク越しに細工したHeartbeatのデータを送る2OpenSSLがそのデータを正しく扱えず、範囲を超えてメモリーを読む3攻撃者が、メモリーにあった秘密鍵などの情報を手に入れる

誰が影響を受ける

OpenSSL 1.0.1 から、1.0.1g より前までのバージョンを使っているシステムが影響を受けます。OpenSSLのTLSやDTLSの機能を使って通信している機器やサーバーが対象です。

何をすればいい

古い事例ですが、今でも 1.0.1 から、1.0.1g より前までのOpenSSLが使われていないか確認してください。見つかった場合は、メーカー(ベンダー)の案内に従って更新してください。詳しくは、OpenSSLや製品メーカーの公式情報を確認してください。

用語メモ

OpenSSL
インターネットの暗号化通信(TLSなど)を行うために、広く使われているオープンソースのソフトウェアです。
TLS
通信を暗号化して、盗み見や改ざんを防ぐための仕組みです。Webサイトの「https」でも使われています。
バッファーオーバーリード
プログラムが、決められた範囲を超えてメモリーを読んでしまう不具合です。本来見えないはずの情報が漏れる原因になります。
秘密鍵
暗号化通信で使う、持ち主だけが知っているべき鍵となるデータです。漏れると、通信を盗み見られたり、なりすまされたりするおそれがあります。

元データ(英語)

OpenSSL Information Disclosure Vulnerability

概要(CISA KEV)

The TLS and DTLS implementations in OpenSSL do not properly handle Heartbeat Extension packets, which allows remote attackers to obtain sensitive information.

説明(NVD)

The (1) TLS and (2) DTLS implementations in OpenSSL 1.0.1 before 1.0.1g do not properly handle Heartbeat Extension packets, which allows remote attackers to obtain sensitive information from process memory via crafted packets that trigger a buffer over-read, as demonstrated by reading private keys, related to d1_both.c and t1_lib.c, aka the Heartbleed bug.

公式情報