Erweiterter Sicherheitsmodus

Der erweiterte Sicherheitsschutzmodus von Android (Android Advanced Protection Mode, AAPM) ist eine neue Funktion in Android 16, die die Sicherheit von Android-Geräten für Nutzer mit hohem Risiko wie Journalisten und Aktivisten verbessern soll. Er funktioniert als einzelne Einstellung, die eine Reihe vordefinierter Konfigurationen implementiert, um den Geräteschutz zu verbessern. Beim AAPM hat die Sicherheit Vorrang vor einer möglicherweise eingeschränkten Funktionalität und Benutzerfreundlichkeit. Das bedeutet, dass einige Funktionen eingeschränkt sein können, um die Angriffsfläche zu minimieren.

Auswirkungen

Der AAPM ändert das Verhalten bestimmter Systemdienste, um die Sicherheit zu erhöhen. Wenn Ihre App auf sicherheitsbewusste Nutzer ausgerichtet ist, müssen Sie sich an diese Einschränkungen anpassen.

  • Systemsignale: Wenn ein Nutzer den AAPM aktiviert, benachrichtigt das System abonnierte Apps, damit sie sich an die eingeschränkte Umgebung anpassen können.
  • Erforderliche App-Änderungen: Sie müssen Ihre App aktualisieren, um die Verhaltensänderungen zu verarbeiten, die durch den AAPM ausgelöst werden. Ihre App muss beispielsweise Folgendes berücksichtigen:
    • Deaktivierte 2G- und WEP-Netzwerkverbindungen
    • Blockiertes Sideloading von Apps
    • Aktives forensisches Logging
    • Blockierte Anrufe von unbekannten Nummern
    • Aktivierte Spamschutzmechanismen für Links in Messaging-Apps
    • Zusätzliche benutzerdefinierte Maßnahmen zum Schutz von Nutzern mit hohem Risiko

In AAPM einbinden

Damit Sie die entsprechenden APIs verwenden können, muss die folgende Berechtigung deklariert werden.

Berechtigung einholen

<uses-permission android:name="android.permission.QUERY_ADVANCED_PROTECTION_MODE" />

Status prüfen

Prüfen Sie, ob der Nutzer den AAPM auf dem Gerät aktiviert hat. Dazu wird der Systemdienst AdvancedProtectionManager verwendet.

import android.security.advancedprotection.AdvancedProtectionManager

// ... inside your Activity or Service
val aapmManager = getSystemService(AdvancedProtectionManager::class.java)

if (aapmManager?.isAdvancedProtectionEnabled) {
    // 🛡️ User is in Advanced Protection Mode.
    // Engage shields: Disable risky features, enforce stricter authentication.
    // TODO: Add Method which implements extra protections
}

Auf Laufzeitänderungen warten

Nutzer können den AAPM aktivieren oder deaktivieren, während Ihre App ausgeführt wird. Registrieren Sie einen Callback um Echtzeit-Updates zu erhalten.

import android.security.advancedprotection.AdvancedProtectionManager
import java.util.concurrent.Executor

// Define the callback
val aapmCallback = AdvancedProtectionManager.Callback { isEnabled ->
    if (isEnabled) {
        // TODO: User just engaged protections. Lock it down!
    } else {
        // TODO: User disabled protections. You may relax restrictions.
    }
}

// Register the callback (for example, in onStart)
// Ensure you use the correct executor (for example, mainExecutor for UI updates)
aapmManager?.registerAdvancedProtectionCallback(mainExecutor, aapmCallback)