Zero-Trust-Signale

Android bietet eine Vielzahl von Gerätesignalen, mit denen Administratoren den Sicherheitsstatus eines Geräts bestimmen können. Bei einem Zero-Trust-Sicherheitsmodell Diese Signale werden verwendet, um zu beurteilen, ob ein Gerät auf Unternehmensinformationen.

Funktion Beschreibung Vollständig verwaltete Geräte Arbeitsprofile auf unternehmenseigenen Geräten Arbeitsprofil auf privaten Geräten (BYOD) Nicht verwaltete Geräte
Play Integrity API Vertrauensstellung Broker kann die folgenden Signale abrufen:
  • Geräteintegrität
  • App-Integrität
  • Details zur Play-Lizenz
  • Umgebungsdetails, einschließlich des neuen Play Protect-Urteils
  • Ja Ja Ja Ja
    Vorhandensein sicherer Hardware / Schlüsselattestierung Ein Trust Broker kann prüfen, ob seine PKI-Anmeldedaten generiert und in sicherer Hardware gespeichert wurden. Ja Ja Ja Ja
    Attestierung von Geräteeigenschaften Im Rahmen der Schlüsselattestierung können Geräteattribute als Teil der des Attestierungseintrags Ja Ja Ja Ja
    Gerät Stand der Sicherheitsupdates Ein Trust Broker kann den Stand der Sicherheits-Patches des Betriebssystems prüfen. Ja Ja Ja Ja
    Tut auf dem Gerät ein ausstehendes OTA-Update vorhanden ist Ein Trust Broker kann prüfen, ob ein Update des Gerätebetriebssystems aussteht verfügbar Ja Ja Ja
    Stand der Sicherheitsupdates für Mainline Ein Trustbroker kann den Stand der Sicherheits-Patches für den installierten Mainline-Zug lesen. Ja Ja Ja Ja
    Anmeldung Spezifische ID Ein Trust Broker kann auf eine eindeutige Geräte-ID zugreifen, die für dieses Unternehmen spezifisch ist. Diese ID gilt auch nach der Neuerstellung des Arbeitsprofils und auf dem Gerät Zurücksetzen Ja Ja Ja
    Verwaltungsstatus (und Verwalten der Anwendung) Ein Trust Broker kann damit feststellen, ob ein Gerät verwaltet wird Ja Ja Ja
    Laufwerk Verschlüsselung Ein Trust Broker kann prüfen, ob das Gerät verschlüsselt ist (falls Android 8-Unterstützung benötigt wird). Ja Ja Ja Ja
    Betriebssystemversion Ein Trust Broker kann die Betriebssystemversion des Geräts prüfen und bestätigen, dass sie die eine bestimmte Version Ja Ja Ja Ja
    Zugang Netzwerkstatus (Netzwerkstatus und WLAN-Status) Ein Trust Broker kann Informationen zum aktiven Netzwerkstatus (Mobilfunk und WLAN) abrufen. Ja Ja Ja Ja
    Auf WLAN-Status zugreifen (Android 11 und niedriger unterstützen Android 12 und höher sowohl einen Callback- als auch einen On-Demand-Ansatz. Ein Trust Broker kann Informationen zum aktiven WLAN abrufen. Ja Ja Ja Ja
    Proxy-Einstellungen Ein Trust Broker kann Informationen zum aktuellen Standard-HTTP Proxy-Einstellungen. Ja Ja Ja Ja
    Qualitätsprüfung der Displaysperre Ein Trust Broker kann sicherstellen, dass die Displaysperre eines Geräts in einer bestimmten Qualität ist vor der Zugriffsgewährung konfiguriert Ja Ja Ja Ja
    Entwickler Optionen aktiviert Ein Trust Broker kann ein Gerät als Gerät mit einer größeren Angriffsfläche identifizieren, wenn die Entwickleroptionen aktiviert sind. Ja Ja Ja Ja
    Ist DNS over TLS aktiviert? Ein Trust Broker kann damit dafür sorgen, dass das private DNS Modus ist aktiviert Ja Ja Ja Ja
    SafetyNet Safe Browsing Ein Trust Broker kann feststellen, von Google als bekannte Bedrohung klassifiziert. Ja Ja Ja Ja
    Extern Medienbereitstellung Ein Trust Broker kann benachrichtigt werden, wenn ein externer Speicher bereitgestellt wird. Ja Ja Ja Ja
    UsageStatsManager Ein Trust Broker kann die Nutzungsmuster einzelner Apps untersuchen Ja Ja Ja Ja1
    Sicherheitsprotokollierung Ein Trust Broker kann diese Daten als Teil seiner kontextbezogenen Engine nutzen, um die Compliance zu gewährleisten und einen verhaltensbasierten Fingerabdruck zu erstellen. Ja Ja2 Ja2
    Netzwerkprotokollierung Ein Trust Broker kann diese Daten als Teil seiner kontextbezogenen Engine nutzen, um die Compliance zu gewährleisten und einen verhaltensbasierten Fingerabdruck zu erstellen. Ja Ja2 Ja2
    NetworkStatsManager Ein Trust Broker kann die Netzwerknutzung der App innerhalb einer bestimmten Zeit abfragen Intervall Ja Ja Ja2 Ja1
    Paket Sichtbarkeit (alle Apps auf dem Gerät auflisten) Ein Trustbroker kann abfragen, welche Apps auf dem Gerät installiert sind. Ja Ja3 Ja3 Ja
    Telefonstatus lesen Ein Trust Broker kann Informationen zum Mobilfunknetz, den Status Anrufe und eine Liste mit PhoneAccount auf dem Gerät registriert Ja Ja Ja Ja
    Wann das Gerät zuletzt neu gestartet wurde Ein Trust Broker kann die Systemverfügbarkeit abrufen, Ja Ja Ja Ja
    Konten abrufen Ein Trust Broker kann dies nutzen, um auf die Liste der Konten im Kontodienst zuzugreifen. Ja Ja3 Ja3 Ja1
    Große Veränderungen des Akkustands im Blick behalten Ein Trust Broker kann erhebliche Änderungen des Akkustands im Blick behalten Ja Ja Ja Ja
    Standort (fein, grob usw.) Ein Trust Broker kann auf den physischen Standort des Geräts zugreifen Ja Ja Ja1 Ja1

    1 Mit Nutzereinwilligung

    2 Nur Arbeitsprofil

    3 Zugriff auf Informationen im Arbeitsprofil beschränkt

    Ein Trust Broker kann auf die PackageInfo für das com.google.android.modulemetadata-Modul zugreifen und daraus die versionName abrufen:

    private fun mainlineVersion(context: Context): String? {
        val moduleProvider = "com.google.android.modulemetadata"
    
        return try {
                val pm = context.packageManager
                val packageInfo = pm.getPackageInfo(moduleProvider, 0)
                packageInfo.versionName
            } catch (e: PackageManager.NameNotFoundException) {
                null
            }
    }
    

    Sie können den zurückgegebenen String mithilfe der MethodeDate Klasse SimpleDateFormat:

    private val VERSION_NAME_DATE_PATTERNS = Arrays.asList(
          "yyyy-MM-dd",
          "yyyy-MM"
    )
    
    private fun parseDateFromVersionName(text: String): Date? {
        for (pattern in VERSION_NAME_DATE_PATTERNS) {
            try {
                val simpleDateFormat = SimpleDateFormat(
                    pattern,
                    Locale.getDefault()
                )
                simpleDateFormat.timeZone = TimeZone.getDefault()
                return simpleDateFormat.parse(text)
            } catch (e: ParseException) {
                // ignore and try next pattern
            }
        }
        return null
    }
    

    Für Android 11 und höher musst du eine Abfragedeklaration in Ihre AndroidManifest.xml-Datei, um die Anforderungen der Android-Paketsichtbarkeit zu erfüllen:

    <manifest package="com.example.game">
        <queries>
            <package android:name="com.google.android.modulemetadata" />
        </queries>
        ...
    </manifest>
    

    Mit diesen Methoden kann ein Trust Broker prüfen, ob ein Gerät verwaltet wird und welcher Verwaltungsmodus aktiv ist.

    Geräteverwaltung prüfen

    Mit getActiveAdmins() können Sie prüfen, ob ein Gerät verwaltet wird. Wenn dieses gibt null zurück, wenn das Gerät nicht verwaltet wird.

    Auf vollständig verwaltetes Gerät prüfen

    Verwenden Sie isDeviceOwnerApp(), um zu prüfen, ob das Gerät vollständig verwaltet wird.

    Auf unternehmenseigenen Geräten nach Arbeitsprofilen suchen

    Mit isOrganizationOwnedDeviceWithManagedProfile() kannst du prüfen, ob ein Gerät verwendet einen Arbeitsprofil-Verwaltungsmodus für unternehmenseigene Geräte

    Arbeitsprofil auf einem privaten Gerät prüfen

    Prüfen Sie mit isProfileOwnerApp(), ob eine App in einem Arbeitsprofil ausgeführt wird, und prüfen Sie, ob isOrganizationOwnedDeviceWithManagedProfile() false zurückgibt.