Hatena Blog Tags

Heartbleed

(ウェブ)
はーとぶりーど

暗号化ソフトウェアライブラリであるOpenSSLの拡張機能「Heartbeat」内で発覚した、情報漏洩の脆弱性を含んだバグ。セキュリティホールのひとつ。ハートブリード。

  • 認識コード:CVE-2014-0160、JVNU#94401838。

概要

Googleなど、ネット上の約2/3のウェブサイトで使用されているとされる、OpenSSLの「バージョン1.0.1」の安全なデータの送受信の実行のために死活監視を行う「Heartbeat(RFC6520)」と呼ばれる拡張機能内で発覚した脆弱性。サーバーに保存されているユーザー名やパスワード、暗号鍵などが流出する恐れがある。
2014年4月、コーデノミコンによるセキュリティテストツール「Defensics」の改善中に発見された。また同社により「Heartbeat(心拍)」しているところから情報が漏れ出した(bleed:出血する)ことからこの名がつけられ、ハートから出血しているロゴが作成され、多くのメディアに取り上げられた*1

Heartbeat(ハートビート)とは

SSLクライアントがデータとして必要な情報が入ったリクエストをサーバに送信し、サーバがそのデータを含んだレスポンスを返す機能(死活監視)。
2012年3月に正式リリースされた「バージョン1.0.1」より実装されており、約2年間に渡り脆弱性があったとされる。

仕組み

正常な場合、ハートビートによるリクエストは必要な文字列とその文字列に対応するバイト数が指定されており、必要以上の情報を返す(レスポンス)することは無い。
しかし脆弱性を持つバージョンに実装されているハートビート機能には「リクエストされたままのバイト数に対してレスポンスしてしまう」というバグを持つため、悪意を持つ攻撃者がサーバに必要以上の文字列、バイト数のリクエストを送信することで、1度にメモリから最大64KBの余分なデータを取得できてしまう。そしてこの中に暗号化通信に利用している暗号鍵やログイン名、パスワードなどを含む場合があり、その行為を繰り返すことで攻撃者は望みの情報を手に入れるとされるが、足跡を残してしまう危険性もある。
脆弱性を持つバージョンは1.0.1から1.0.1fと1.0.2-betaであり、1.0.1gや1.0.0、0.9.8は安全である。

対策方法

サービス提供者
  • OpenSSLを「バージョン 1.0.1g」にアップグレードする:/source/index.html
  • 現在のSSL証明書の撤廃をリクエストする
  • 公開鍵暗号を再生成する
  • SSL証明書のリクエストと置き換えを行う

関連ニュース

  • 2014年4月14日、カナダ歳入庁により、この脆弱性の悪用で納税者約900人の社会保障番号を同庁のシステムから削除していたことが判明したと発表*2

関連サイト

このタグの解説についてこの解説文は、すでに終了したサービス「はてなキーワード」内で有志のユーザーが作成・編集した内容に基づいています。その正確性や網羅性をはてなが保証するものではありません。問題のある記述を発見した場合には、お問い合わせフォームよりご連絡ください。

ネットで話題

もっと見る

関連ブログ