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:
|
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
Mainline-Version abrufen
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>
Verwaltungsstatus abrufen
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.