AndroidプロパティallowBackupセキュリティリスク分析



Android Property Allowbackup Security Risk Analysis



1.allowBackupのセキュリティリスクの説明

Android APIレベル8以上のAndroidシステムは、アプリケーションデータのバックアップおよびリカバリ機能を提供します。この機能の切り替えは、アプリケーションによって決定されます。AndroidManifest.xml属性値がデフォルトでTrueであるファイル内のallowBackup属性の値。 allowBackupフラグがtrueの場合、ユーザーはadbbackupおよびadbrestoreを使用してアプリケーションデータをバックアップおよび復元できます。これにより、特定のセキュリティリスクが発生する可能性があります。

Android属性allowBackupadbバックアップによるセキュリティリスクにより、USBデバッグスイッチをオンにできる人なら誰でも、Androidフォンから周辺機器にアプリケーションデータをコピーできます。アプリケーションデータがバックアップされると、ユーザーはすべてのアプリケーションデータを読み取ることができます。adbrestoreallowユーザーは、復元されたデータソース(つまり、バックアップされたアプリケーションデータ)を指定して、アプリケーションデータの作成を復元します。したがって、アプリケーションデータをバックアップする場合、ユーザーは同じアプリケーションを他のAndroidスマートフォンやエミュレーターにインストールでき、バックアップしたアプリケーションデータをデバイスに復元することで、デバイスでアプリケーションを開くことでアプリケーションを復元できます。バックアップされているアプリケーションのステータス。



特にアドレスブックアプリケーションの場合、アプリケーションがバックアップおよびリカバリ機能をサポートすると、攻撃者はadbbackupおよびadbrestoreを介して新しくインストールされた同じアプリケーションを復元し、支払い金融アプリケーションのチャットレコードやその他の情報を表示できます。したがって、悪意のある支払い、盗まれた預金など、セキュリティ上の理由から、開発者はallowBackupフラグの値をfalseに設定して、アプリケーションのバックアップとリカバリをオフにし、情報の開示と資産の損傷を回避する必要があります。

2.allowBackupのセキュリティ影響範囲

AndroidAPIレベル8以上。



3.allowBackupのセキュリティリスクの詳細

  1. allowBackupリスクの場所:AndroidMannifest.xmlファイルandroid:allowBackup属性
  2. allowBackupリスクトリガーの前提条件:not AndroidMannifest.xmlファイル内android:allowBackupプロパティ値はfalseに設定されます
  3. allowBackupリスクの原則:allowBackupフラグの値がtrueの場合、アプリケーションデータはadbbackupおよびadbrestoreを介してバックアップおよび復元できます。

4.allowBackupの詳細なリスクPOC

  1. 入っていないAndroidManifest.xmlこのファイルは、デフォルト値であるallowBackupプロパティの値を設定します。true、アプリケーションは、adbコマンドを使用してアプリケーション全体のデータをバックアップできます。

    AndroidManifest.xmlファイルの内容:

    allowBackup.ab

    下の左の図に示すように、POCアプリケーションが起動された後、およびログイン後、次の図が表示されます。



    TB12ICfHpXXXXctaXXXgR0z3pXX-537-451.jpg

    アプリケーションがadbコマンドを使用してログインした後、アプリケーションデータをバックアップします。

    TB1rzaLGXXXXXagaFXXisSGPpXX-688-114.png

    TB1D3JDGXXXXXccaXXXA0gJJXXX-720-1280.png

    著者NikolayElenkov Android Backup Extractorによって作成された復号化されたプログラムは、バックアップされたファイルを復号化しますAndroidManifest.xml、以下に示すように、POCアプリケーションのデータ(ログインユーザー名とパスワード)を知ることができます。

    TB1TD9nHpXXXXclXpXXnq.t_XXX-766-252.png

    別のAndroidスマートフォンで、POCアプリをインストールしてから、新しくバックアップしたアプリを復元して、バックアップしたデータを復元してログインします。

    TB1hLaqHpXXXXcvXXXXaa2PRVXX-438-44.png

    データを復元する前に:

    TB1qKO_HXXXXXbDaXXXLwJp0pXX-529-428.jpg

    データを復元した後、ユーザー名とパスワードを入力せずに、データを復元して[データを復元]をクリックし、アプリケーションアイコンをクリックして、ログインステータスを直接入力します。

    TB1JTWmHpXXXXXOXFXXqJ18FpXX-1080-1920.png

  2. falseファイル表示設定allowBackup属性値android:allowBackup='false'、つまり“android:allowBackup”の場合、Androidアプリはadbコマンドを使用してアプリ全体のデータをバックアップおよび復元することはできません。

    AndroidManifest.xmlファイルの内容:

    “false”

    下の左の図に示すように、POCアプリケーションが起動された後、およびログイン後、次の図が表示されます。

    TB1H.epHpXXXXcdXXXXrVMtUpXX-521-437.jpg

    アプリケーションがadbコマンドを使用してログインした後、アプリケーションデータをバックアップします。

    TB1V9GmHpXXXXc_XpXXRFMb4FXX-695-69.png

    次の図に示すように、バックアップファイル「allowBackup.ab」を復号化すると、POCアプリケーションのバックアップのデータが空になるため、バックアップは失敗します。

    TB1h1S0HXXXXXcLXVXXD4go_XXX-766-195.png

    別のAndroidスマートフォンで、POCアプリケーションをインストールし、バックアップされたデータを復元して、新しくバックアップされたデータをログイン状態に復元します。

    TB1r7OnHpXXXXcDXpXXwKTEOpXX-475-128.png

    データを復元する前に:

    TB1ah1aGVXXXXcDapXXxKht0pXX-532-452.jpg

    データを復元した後、アプリを再度開いて、直接ログインステータスがないことを確認します。

    TB1LpaoHpXXXXcXXpXXqJ18FpXX-1080-1920.png

5.allowBackupリスク修復の提案

セキュリティ上の理由から、Alibaba Securityはアプリケーションのバックアップ機能をオフにすることをお勧めします。AndroidMenifest.xmlファイルでは、対応するコンポーネントは

になります。次の例に示すように、プロパティは
に設定されます。

 

からの転送 Ali Poly Security Blog Common Vulnerability Series