Cryptographic protocol Evaluation toward Long-Lived Outstanding Security Consortium

HeartBleedBug_Prompt_20140418_J

OpenSSLにおける Heartbleed Bugと呼ばれる脆弱性について

2014年4月7日(日本時間4月8日未明)に、OpenSSL.orgはHeartbleed Bugと呼ばれる問題のセキュリティアドバイザリを発出しました[1]。

暗号プロトコルとしての問題の有無について

CELLOSコンソーシアムは、暗号プロトコル仕様の安全性という観点では、この問題はOpenSSLのバージョン1.0.1から1.0.1f および 1.0.2-beta1が対象となる実装上の問題であり、SSLおよびTLSのプロトコル仕様上の問題ではないことを確認しました。この脆弱性は前述のバージョンのOpenSSLにおいて、TLS/DTLSのHeartbeat拡張の実装におけるバグが原因となり、システム上のメモリ領域に存在する情報の漏洩が起こるものです [2]。

Heartbleed Bugの影響について

Heartbleed Bugを利用することで、攻撃者はシステム上のメモリ領域のデータを取得することができます。このデータの中に、認証や暗号通信に利用される秘密鍵が含まれる可能性があり、その際に攻撃者は秘密鍵情報の一部を取得することが可能となります。近年、秘密鍵の一部の情報から秘密鍵全体を復元する手法の研究が進んでおり、Heartbleed Bugとこの手法を適用することで、想定よりも少ない手間で秘密鍵全体を取得する可能性があります [3]。また、攻撃者が取得できるメモリ領域のデータには、秘密鍵の一部以外にもID、パスワード、Cookieなどが含まれる可能性があり、これらの情報を用いることでなりすましによる不正アクセスを攻撃者が実行できる可能性があります。

Heartbleed Bugにより現在想定されているリスクとしては少なくとも以下が想定されています。

  • TLSサーバ、およびTLSクライアントからの秘密鍵の取得
  • TLSで暗号化されている通信からの平文(暗号化前のデータ)の取得
    Forward Secrecyに対応した暗号スイートを用いていない場合、過去の暗号化通信の平文も取得される可能性があります。
  • DNS Spoofingと組み合わせることによる、サーバのなりすましとフィッシングの実行
  • TLSサーバおよびTLSクライアントのメモリ上に記録されているその他の情報の取得
  • 取得したデータに含まれるID、パスワード、Cookieを利用したなりすまし

OpenSSLを直接利用している場合には、次に示す対処済みのバージョンのOpenSSLを用いることで問題の対処が可能です。一方で、OpenSSLが組み込み機器や他のソフトウエアの一部として利用されている場合、設計書等でモジュールとして使われているOpenSSLのバージョンを把握した上で、ソフトウエアの修正と動作確認を行う必要があります。

問題の修正方法

OpenSSLのバージョン1.0.1gでは本問題が修正されており、1.0.1から1.0.1fを用いている場合、1.0.1gに置き換えることで問題への対処が可能です。あるいは、コンパイルする際に -DOPENSSL_NO_HEARTBEATSを指定し、Heartbeat機能を無効にすることで対処が可能です。1.0.2-beta1については、1.0.2-beta2において修正されることがセキュリティアドバイザリに示されています [1]が、2014年4月18日現在では公開されていません。そのため1.0.2-beta1についてはHeartbeat機能を無効にすることが現時点での唯一の対処方法です。
また、脆弱性が指摘されたOpenSSLのバージョンは2年以上利用されており、この期間に攻撃されて秘密鍵が漏洩した可能性があります。そのため、速やかに鍵ペアの再生成と公開鍵証明書の再発行が推奨されます。

参考先

[1]Security advisory by OpenSSL
https://www.openssl.org/news/secadv_20140407.txt

[2]Heartbleed Bug (published 7th of April 2014, ~19:00 UTC)
http://heartbleed.com/

[3] IIJ Security Diary, Heartbleed bug による秘密鍵漏洩の現実性について
https://sect.iij.ad.jp/d/2014/04/159520.html

 Today:1 Total:1793

最新の更新 RSS  Valid XHTML 1.0 Transitional