トレンドマイクロは、Android端末の標準コンポーネント「Mediaserver」に存在する新たな脆弱性を確認しました。この脆弱性を利用することにより、攻撃者は「サービス拒否(DoS)攻撃」を実行することが可能になります。そのため、端末のシステムが再起動し、バッテリーが消耗します。より深刻なケースでは、不正なアプリが自動起動するように設定され、端末は無限ループになり、使用できなくなる可能性があります。
この問題の脆弱性「CVE-2015-3823」は、Android 4.0.1(Jelly Bean)から 5.1.1(Lollipop)までのバージョンに影響します。これはつまり、Androidユーザの約 89%(2015年6月時点)が影響を受けることになります。なお、弊社では、この脆弱性を利用した実際の攻撃をまだ確認していません。
Android の標準コンポーネント「Mediaserver」に存在する 2つの深刻な脆弱性が 7月下旬に確認された直後に、今回の脆弱性が確認されました。なお、この 2つの脆弱性のうち 1つは、脆弱性利用により端末を動かなくさせるもので、もう 1つは「マルチメディア・メッセージング・サービス(Multimedia Messaging Service、MMS)」を介して不正プログラムをインストールするために利用される脆弱性「Stagefright」です。
■どのように脆弱性は利用されるか
端末に侵入するために、攻撃者はユーザに不正なアプリをインストールさせるか、もしくは不正なメディアファイルが埋め込まれた不正な Webサイトにアクセスさせます。その結果、以下の状況がそれぞれ発生します。
- アプリから送信された不正な MKVファイルが mediaserver で処理されると、端末は無限ループにはまり、ユーザは制御できなくなります。システムが再起動するか、もしくはバッテリーが消耗するまで、システム全体の動きが遅くなります。
- MKVファイルが埋め込まれた不正サイトにユーザがアクセスします。ユーザが「再生」をクリックすると、mediaserver が無限ループになり、上記と同様の結果となります。
これは、MKVファイルを解析した時に生じる整数オーバーフローの脆弱性です。そのため、動画が読み込まれると、端末が無限ループになります。以下は、そのソースコードです。
■「Proof-of-concept(PoC、概念実証型エクスプロイト)」
弊社では、この脆弱性がどのように利用されるかを良く理解するために、2つの PoC を作成しました。
シナリオ1:ローカルのアプリからの攻撃
シナリオ1 では、不正なMKVファイル “loop.mkv” を利用する不正なアプリ(APK)による DoS攻撃を実証しました。
図1:「CVE-2015-3823」の PoC。不正なアプリを利用して DoS攻撃を実行
このアプリは、不正な MKVファイルを再生するために、新規の mediaserver コマンドを毎秒作成します。ユーザがこの不正なアプリを終了させたとしても、mediaserver は、システムリソースかバッテリーが消耗するまでループを繰り返します。
図2:CPU のリソースを消耗させる mediaserver
シナリオ2:遠隔の Webサイトからの攻撃
2つ目のシナリオでは、不正な MKVファイルを HTMLページに埋め込みました。モバイル版 Chromeブラウザを使用し、Webページを開いて「再生」をクリックすると、シナリオ1 と同様の結果となりました。
図3:不正な Webページのソースコード
■どのような攻撃が想定されるか
7月下旬に確認された mediaserver の 2つの脆弱性と同様に、今回の脅威も不正なアプリもしくは不正な Webサイトを攻撃経路として利用します。不正なアプリを利用して、攻撃者は端末への攻撃の開始時期と終了時期を簡単に決定できます。弊社では、この脆弱性を利用して端末を再起動させ、バッテリーを消耗させる方法を確認しています。しかし、最悪のシナリオでは、端末を起動する度に自動起動するサービスとして不正なアプリを設定するため、アンインストールできなくなります。この無限の再起動により、Android端末をセーフモードで起動するか、アプリを削除するまで、Android端末が使用できなくなる恐れがあります。
このアプリを削除することは非常に困難です。一度ダウンロードされると、このアプリを検出することも難しくなるかもしれません。攻撃者は、アプリを隠ぺいして長い間起動させず、数日後や数カ月後に攻撃を開始する可能性があります。ユーザは、不正なアプリがインストールされているとは思わず、再起動は Androidシステムの問題だと考えるかもしれません。また、カスタマイズされた Android OS の端末であっても、mediaserver が同じであればこの脅威の影響を受けます。
■トレンドマイクロの対策
モバイル環境での総合セキュリティ対策として、弊社の個人利用者向け「ウイルスバスター モバイル」、法人利用者向け「Trend Micro Mobile Security」は、この脆弱性を利用し、上述のシナリオを実行する脅威からユーザを保護します。
また、端末機器メーカーは、この脆弱性を利用した脅威からユーザを保護するために、定期的に修正プログラムを端末に適用することを推奨します。
■脆弱性情報公開までのタイムライン
弊社は、今回の脆弱性を Google に報告しています。以下はその時系列です。
- 5月19日:Androidセキュリティチームに PoC と共に問題を報告
- 5月21日:Androidセキュリティチームは、この脆弱性の深刻度を「中」として「ANDROID-21335999」を割り当て
- 5月22日:Androidセキュリティチームは、この脆弱性に「CVE-2015-3823」を割り当て
- 7月31日:Androidセキュリティチームは、修正プログラムを提供できることを確認、公開スケジュールについて弊社と合意
参考記事:
- 「Android MediaServer Bug Traps Phones in Endless Reboots”」
by Wish Wu (Mobile Threat Response Engineer)
翻訳:品川 暁子(Core Technology Marketing, TrendLabs)