OpenSSLの虚弱性 ~Heartbleed、SSL/TLSの中間者攻撃~

OpenSSLの虚弱性

OpenSSLとは、通信データの暗号化や、Webサイトの認証を実現するための通信手法 「SSL(セキュア・ソケット・レイヤー)」を利用するために必要なソフトウェアです。

SSLはインターネット上で通信を暗号化する技術です。 SSLを利用してパソコンとサーバ間の通信データを暗号化することで、 第三者によるデータの盗聴や改ざんなどを防ぐことができます。

そしてOpenSSLというソフトウェアは、OSS(オープンソースソフトウェア)として提供され、 ネットショッピングやネットバンキング等のWebサイトや、 物理的に離れた複数の場所をひとつのプライベートネットワークとして扱うVPNルーターやFTPサーバー、 メールサーバー等のシステム上で使われています。

IT業界まるわかりガイドは、日本初Web専門スクールのインターネット・アカデミーが運営する業界情報メディアです。最新の業界情報を、初心者にも分かりやすくご紹介しています。

目次

Heartbleed脆弱性

2014年4月に明らかにされたOpenSSLの深刻な脆弱性(セキュリティ上の欠陥)がHeartbleed脆弱性です。 OpenSSLに内蔵された、「Heartbeat(心臓鼓動)」という、SSLでの通信相手が稼働しているかどうか 確認するための機能に脆弱性があるため、「Heartbleed(心臓出血)」脆弱性と呼ばれています。

Heartbeat機能では、稼働確認のために64キロバイトまでの任意のデータを送信します。 送信された相手方は、そのデータをそのまま返送します。

ところが、脆弱性のあるOpenSSLでは、確認用データのサイズをチェックしないため、 データのサイズが1キロバイトしかなくても、64キロバイトだと詐称して送信されると、 64キロバイトあるとして処理されてしまいます。攻撃者にこれをされると、 データを受け取った側のウェブサイトは、1キロバイトのデータをメモリーにコピーして返送しますが、 64キロバイトのデータを受け取っていると誤解しているため、自身のメモリーから63キロバイト分の 余分なデータを付け加えて送信します。

この余分なデータには、他のユーザーがそのWebサイトとやりとりしている情報(データやパスワード)や、 Webサイトの秘密鍵など、重要なデータが含まれる恐れがあります。 一回の攻撃で盗めるのは最大64キロバイトですが、繰り返し攻撃できるので、 メモリ上に存在するデータならどんなデータでも盗まれる危険があります。

SSL/TLSの中間者攻撃の脆弱性

2014年6月には、新たに重大な脆弱性が見つかりました。これは、「SSL/TLSの中間者攻撃の脆弱性」と呼ばれ、 日本のネットワークセキュリティ技術・研究開発企業レピダムが発見しました。 レピダムによれば、OpenSSLのChangeCipherSpec(CCS)メッセージの処理に脆弱性があり、 悪用された場合、第三者が通信に介在することが可能になり、保護していたはずの情報が漏えいする危険性があります。 具体的にはクライアントとサーバー間のトラフィックの暗号が解除されて、改ざんされる危険性があります。

米SANS Internet Storm Centerは、修正パッチを直ちに適用するよう呼びかけていますが、 脆弱性が発見された際にスムーズに最新パッチを導入することが重要です。