OpenSSLで発見されたバグを影響を受けるアプリをチェックできるアプリ
今週は、オープンソースのSSL/TLSライブラリOpenSSLの深刻な脆弱性「Heartbleed」が発見されて、世界中を震撼させました。
発見された脆弱性は、OpenSSLのバージョン1.0.1/1.0.2系列に存在します。
これは、Heartbeat拡張の実装に問題があり、リモートからプロセスのメモリ上のデータを読み取られてしまうおそれがあります。
この脆弱性に関しては、ウェブサービスの早急な対応ばかりが注目されていますが、OpenSSLはAndroidでも使われているので、他人事ではありません。
Android OSやアプリがどのような状況か診断できるアプリがいくつかリリースされているので、ご紹介します。
Android OSの状況が確認できる「Heartbleed Detector」
Android OSでは、Android 4.1以降で、脆弱性を含むOpenSSLが使われています。ただし、Android 4.11以降では、該当するバージョンのライブラリを使っているものの、Heartbeat機能を有効にしておらず、発見された脆弱性の影響は受けません。
使っている端末のAndroid OSバージョンを正確に把握していれば、脆弱性の影響を受けるか確認できますが、Lookoutの「Heartbleed Detector」を使えば、OSが使っているOpenSLLのバージョンが確認できるなど、より詳しい情報が得られます。
たとえば、筆者が愛用しているXperia Z Ultraを診断してみると、以下のような結果が表示されます。
Xperia Z Ultraは、Android 4.4.2です。
このバージョンで使われているOpenSSLのバージョンは、1.0.1eで脆弱性を含むバージョンです。しかし、Heartbeat機能が無効になっているので「問題なし」と判断されています。
Heartbleed Detectorは、起動するだけで簡単に診断できるので、普段使っている端末だけではなく、開発用として所有している端末もチェックしてはいかがでしょうか。
アプリの状況が確認できる「Bluebox Heartbleed Scanner」
OSの状況を把握したら、次は、アプリの状況を把握していきます。
Heartbleed Detectorで、OSが問題なしと診断されたので、アプリも問題ないのでは?と考えるかもしれませんが間違いです。アプリ独自で、脆弱性を含むバージョンのライブラリを使っている可能性があります。また、アプリごとで、バージョンも異なります。
Bluebox Heartbleed Scannerは、端末にインストールされているアプリをスキャンして、それが使うOpenSSLのバージョンとHeartbeat機能が有効になっているか診断します。
先と同じく、愛用しているXperia Z Ultraにインストールしているアプリを診断してみます。
- Hulu(動画配信サービスアプリ)
- BBM(BlackBerry Messenger:メッセージングサービスアプリ)
- Beam(Android Beam)
筆者は、90以上のアプリをインストールしていますが、OpenSSLを使うアプリは、意外にも少なく3本でした。
この中で、よく使っているのは「Hulu」です。
これでは、OpenSSLのバージョン0.9.8mが使われており、脆弱性が発見された1.0.1/1.0.2系列ではないので、緑色の字でアプリ名が表示されています。
「BBM」は、脆弱性がある1.0.1eが使われています。
該当のバージョンが使われていても、Heartbeat機能が無効になっていれば問題はありませんが、BBMでは有効になっているので「問題あり」と診断され、赤色の字でアプリ名が表示されています。
こうした場合、ユーザ側での対処方法は、アプリの使用を控えるか、開発者が対処をしてくれるのを待つだけです。筆者は、BBMをインストールしてあるだけで、ほとんど使っていないので、今回発見された脆弱性の影響を受けることはありません。
たとえば、自身で開発したアプリでも、意識せずに該当バージョンのライブラリを使っている可能性があるので、こうしたアプリを使って診断してみるとよいかもしれません。
今週は、このあたりで、では、また来週。