OpenSSLの脆弱性で起こりうる危険性

投稿者: | 2014年4月24日

昨今JPCERTコーディネーションセンターから注意喚起された
OpenSSLの脆弱性について仕組みと起こりうる危険性を
簡単に説明したいと思います。

OpenSSLとはデータ通信を行う際にデータを暗号化する為の
プロトコル(仕組み)であるSSLの機能を実装したプログラムです。
一般的にデータを暗号化通信したいソフトに組み込んで使用されます。

今回の脆弱性はOpenSSLの暗号化通信自体の問題ではなく、
機能の一つ「heartbeat」に問題があります。
今回の脆弱性は上記の名称から「Heartbleed」と呼ばれています。

heartbeatの機能はSSLの死活監視(正常に動作しているかの確認)を
行う為の機能で、SSLサーバに対して送信したデータをオウム返しに
してくるというものです。

データを送信する際にデータの大きさを一緒に送信するのですが、
この点に問題がありました。
サーバは送信されてきたデータを一度メモリに保存し、データの
大きさを元に送信されてきたデータを送り返します。

このデータの大きさを実際に送るデータより大きく詐称する事により
メモリ上のデータを余分に取得する事ができます。
データは最大で65535バイトまで取得できます。

メモリにはOpenSSLが管理するデータが保存されている可能性があります。
例として、SSLで通信されるデータがあります。
(個人情報、クレジットカード情報、IDやパスワードなど)

また、SSL自体の秘密鍵も保存されています。
秘密鍵を盗み出されてしまうとサーバとの暗号化データ通信が容易に
盗聴されてしまいます。

また、この攻撃の恐ろしさは攻撃された事の痕跡が残りづらい事です。
万全を期すなら攻撃されている恐れを考慮してOpenSSLの脆弱性を
解消した後にSSLの再発行を行い、秘密鍵を変更する必要があります。
対策の詳しい方法は下記のページをご参考ください。

■JPCERTコーディネーションセンター
「OpenSSL の脆弱性に関する注意喚起
http://www.jpcert.or.jp/at/2014/at140013.html

システム構築のご依頼でしたらお気軽にご相談下さい。
弊社お問い合わせ