マイライブラリ
マイライブラリ

マイライブラリに追加

電話

お問い合わせ履歴

電話(英語)

+7 (495) 789-45-86

Profile

PendingIntent

CVE-2014-8609

PendingIntent — Google Android OSバージョン 5.0以前のアプリケーションアカウント管理サブシステムの脆弱性です。Androidアプリケーションが特定のインターネットサービスにて認証を使用する場合、Androidのシステムセクションの「設定 - アカウント」で別のアカウント登録メカニズムを実装できます。ユーザーがアカウント情報を一度入力すると、アプリケーションは、その後のユーザー認証が必要になる度に、このセクションにアクセスできるようになります。アカウント情報が登録されていると、オペレーティングシステムはユーザーが入力したパラメータをアプリケーションに転送します。その中には、 PendingIntent という専用フィールドも含まれます。しかし、 "src/com/android/settings/accounts/AddAccountSettings.java" というコンポーネントにエラーがあるため、システムは送信されたフィールドの値をチェックしません。一方、Android OSにて PendingIntent にはシステム権限があります。この脆弱性により、攻撃者はコマンド(例えば、攻撃対象のモバイルデバイス上のデータを破壊するコマンド)を、 PendingIntent パラメータの値として、送信することが可能になります。このコマンドはオペレーティングシステムによって自動的に実行されます。同様に、攻撃者は対応するOSコンポーネントにコマンドを送信することができ、そのコマンドは指定された内容の新しいSMSメッセージの着信として処理され、偽のSMSは受信メッセージのリストに追加されます。そのため、ユーザーはこのようなSMSメッセージを本物の受信したSMSであると考える可能性が高いです。

Dr.Web Anti-virus for Androidは、攻撃対象デバイス上に PendingIntent 脆弱性を悪用するマルウェアのインストールが試みられる時点で、それを検知し、削除するため、Dr.Webアンチウイルス製品のユーザーはそのようなトロイの木馬プログラムから確実に保護されます。

詳細な情報

この脆弱性は、さまざまなAndroidアプリケーションのユーザーアカウントのリポジトリを作成する機能を実行するAndroid OSコンポーネントである、 AddAccountSettings.java に含まれています。このコンポーネントによって実行される addAccount メソッドは、すべてのフィールドが入力されていない PendingIntent を使用します。 同時に、PendingIntent は、それを送信した「設定」(Settings)アプリケーションと同じ権限、つまりシステム権限を持ちます。

攻撃者が用意した悪意のあるアプリケーションは、ユーザーアカウント認証アプリケーションとしてシステムに登録できます(その際に別のシステム権限は必要ありません)。

悪意のあるアプリケーションは、"設定"のシステムプログラムに、アカウント識別子の作成についてのリクエストを送信します。このようなリクエストを受信すると、"設定"プログラムは自動的に addAccount メソッドを呼び出し、関連付けられた PendingIntent パラメーターをアプリケーションに転送します。一部の PendingIntent フィールドが空であるため、悪意のあるアプリケーションによって任意のコンテンツが埋め込まれ、悪用される可能性があります。例えば、そのようなリクエストで PendingIntent 値をコマンド「android.intent.action.MASTER_CLEAR」としてフォーマットする場合、オペレーティングシステムはモバイル デバイスの完全なリセットを実行します。

See also information about other vulnerabilities