米Bluebox Securityは7月29日、"Fake ID"と称する「Android」の脆弱性を報告した。Adobe Systemsなど他のアプリを装って、悪意あるマルウェアを挿入したり、ユーザーの重要な情報にアクセスしたり、デバイスの管理機能をのっとるなどのことが可能になるという。Googleは2014年4月にパッチを公開済みで、このパッチを適用するよう助言している。
Bluebox Securityの研究部門BlueBox Labsが報告した。2010年1月に公開された"Eclair"ことAndroid 2.1にさかのぼる古い脆弱性で、パッチを適用していない場合この脆弱性の影響を受ける可能性があるという。
Fake IDの仕組みはこうだ。Androidアプリはすべて独自のデジタルID(署名)を持つが、このIDを不正にコピーすることで、正規アプリを装う。Androidはアプリに特別な権限を与える前に正確なIDかどうかをチェックするが、そのIDが適切に発行されたものか偽造されたものかをチェックすることはしない。
この署名システムを利用して、「悪意ある攻撃者は新しいID証明書を作成し、この証明書は(例えば)Adobe Systemsが発行したと偽の主張をすることが可能になり、悪意あるID証明書とAdobeの証明書を含む証明書チェーンでアプリに署名できる」とBlueboxは説明している。
インストール時にAndroidパッケージインストーラーは悪意あるID証明書をチェックせず、両方の証明書を含むパッケージファイル署名を作成するという。Adobeの例では、webviewプラグインマネージャー側の認証確認コードをだまし、Adobeに与えられた特権をこのアプリに与えてしまう、とのことだ。
Adobeの例の他には、「Google Wallet」と同じIDを利用することでNFCの決済データにアクセスする、デバイス管理拡張の3LMとみせかけて3LMを実装するデバイス全体の管理機能を乗っ取るなどのことが可能になると警告している。3LMはHTCやPantech、シャープ、ソニー、Motorolaなどの端末で利用されているとのことだ。
Fake IDは最新版である"KitKat"ことAndroid 4.4でも存在するが、AdobeのwebviewはAndroid 4.4ではChromiumベースに変更されているため、Android 4.4以降ではwebviewへの脆弱性は心配ないようだ。
BlueboxはAndroidを開発するGoogleにこの脆弱性について報告済み。Googleはすでに汎用のコードフィックスをメーカー向けに公開しており、現在メーカーやキャリアはこのフィックスを適用する作業を進めているとのことだ。
同社はこの脆弱性について、8月2日より6日間米ラスベガスで開催されるセキュリティハッカーカンファレンス「Black Hat USA 2014」で説明するとしている。
「Google Play」が動くプラットフォームを調べたGoogleの最新データによると、KitKat(4.4)は17.9%にとどまっている。約56%を占めるJelly Bean(Android 4.1/4.2/4.3)など、残りの82%はすべて4.4以前となっている。