SSLサーバー証明書の検証に欠陥のあるモバイルアプリが多数発見されている。2014年8月からAndroidアプリを対象に大規模な調査を実施中の米CERT/CCは、2015年1月20日までに約2万2000個の欠陥アプリを見つけた。こうした欠陥アプリを使用すると重要な情報を盗み取られる恐れがあるため注意が必要だ。

 SSL/TLS通信では「サーバー証明書」を使って接続先サーバーの正当性を検証する。これは「サーバー証明書が信頼できる認証局から発行されたものか」「サーバー証明書に記載されているサーバーのホスト名と現在接続中のホスト名が一致しているか」をクライアントがチェックすることで成立する。

 しかしモバイルアプリの中には、このチェックを不完全に実施、あるいは全く実施しないものがある。そうしたアプリは、何らかの原因で不正なサーバーに接続した場合にも、それをユーザーに警告できない。そのため、偽サイトに接続して重要な情報を盗み取られたり、中間者攻撃によって通信内容を盗聴されたりする危険がある。

Androidアプリの4分の1に問題

 JPCERTコーディネーションセンターと情報処理推進機構(IPA)が運営する脆弱性対策情報ポータルサイト「JVN」では、SSLサーバー証明書の検証に問題があるアプリの情報が多数公開されている(表1)。これは氷山の一角にすぎず、実際には同じ問題を抱えるアプリが現在も各種アプリストアで多数提供されている状況である。

表1●JVNでこの1年に報告されたSSLサーバー証明書検証に欠陥のあるアプリ
表1●JVNでこの1年に報告されたSSLサーバー証明書検証に欠陥のあるアプリ
[画像のクリックで拡大表示]

 JVNのレポートでも分かる通り、特にAndroidアプリにこの欠陥が目立つ。やや古い情報だが、ソニーデジタルネットワークアプリケーションズが2013年10月に公開した「Androidアプリ脆弱性レポート」は、Androidアプリの実に25%が証明書の検証を十分に実施していないと報告している。米CERT/CCが2014年8月から実施している、Androidアプリを対象にした大規模調査でも、2015年1月20日までに約2万2000個の問題アプリが発見された(詳しくはVulnerability Note VU#582497を参照)。

AppsGeyser製アプリに注意

 それではどういうアプリに注意すればよいのか。もちろん、JVNの脆弱性レポートや、CERT/CCの調査結果で問題ありとされているアプリの利用は避けるべきである。