Sicherheitsverbesserungen

Android verbessert kontinuierlich seine Sicherheitsfähigkeiten und -angebote. Sehen Sie sich die Listen der Verbesserungen nach Release in der linken Navigation an.

Android 14

Every Android release includes dozens of security enhancements to protect users. Here are some of the major security enhancements available in Android 14:

  • Hardware-assisted AddressSanitizer (HWASan), introduced in Android 10, is a memory error detection tool similar to AddressSanitizer. Android 14 brings significant improvements to HWASan. Learn how it helps prevent bugs from making it into Android releases, HWAddressSanitizer
  • In Android 14, starting with apps that share location data with third-parties, the system runtime permission dialog now includes a clickable section that highlights the app's data-sharing practices, including information such as why an app may decide to share data with third parties.
  • Android 12 introduced an option to disable 2G support at the modem level, which protects users from the inherent security risk from 2G's obsolete security model. Recognizing how critical disabling 2G could be for enterprise customers, Android 14 enables this security feature in Android Enterprise, introducing support for IT admins to restrict the ability of a managed device to downgrade to 2G connectivity.
  • Added support to reject null-ciphered cellular connections, ensuring that circuit-switched voice and SMS traffic is always encrypted and protected from passive over-the-air interception. Learn more about Android's program to harden cellular connectivity.
  • Added support for multiple IMEIs
  • Since Android 14, AES-HCTR2 is the preferred mode of filenames encryption for devices with accelerated cryptography instructions.
  • Cellular connectivity
  • Documentation added for Android Safety Center
  • If your app targets Android 14 and uses Dynamic Code Loading (DCL), all dynamically-loaded files must be marked as read-only. Otherwise, the system throws an exception. We recommend that apps avoid dynamically loading code whenever possible, as doing so greatly increases the risk that an app can be compromised by code injection or code tampering.

Check out our full AOSP release notes and the Android Developer features and changes list.

Android 13

Every Android release includes dozens of security enhancements to protect users. Here are some of the major security enhancements available in Android 13:

  • Android 13 adds multi-document presentation support. This new Presentation Session interface enables an app to do a multi-document presentation, something which isn't possible with the existing API. For further information, refer to Identity Credential
  • In Android 13, intents originating from external apps are delivered to an exported component if and only if the intents match their declared intent-filter elements.
  • Open Mobile API (OMAPI) is a standard API used to communicate with a device's Secure Element. Before Android 13, only apps and framework modules had access to this interface. By converting it to a vendor stable interface, HAL modules are also capable of communicating with the secure elements through the OMAPI service. For more information, see OMAPI Vendor Stable Interface.
  • As of Android 13-QPR, shared UIDs are deprecated. Users of Android 13 or higher should put the line `android:sharedUserMaxSdkVersion="32"` in their manifest. This entry prevents new users from getting a shared UID. For further information on UIDs, see App signing.
  • Android 13 added support Keystore symmetric cryptographic primitives such as AES (Advanced Encryption Standard), HMAC (Keyed-Hash Message Authentication Code), and asymmetric cryptographic algorithms (including Elliptic Curve, RSA2048, RSA4096, and Curve 25519)
  • Android 13 (API level 33) and higher supports a runtime permission for sending non-exempt notifications from an app. This gives users control over which permission notifications they see.
  • Added per-use prompt for apps requesting access to all device logs, giving users the ability to allow or deny access.
  • introduced the Android Virtualization Framework (AVF), which brings together different hypervisors under one framework with standardized APIs. It provides secure and private execution environments for executing workloads isolated by hypervisor.
  • Introduced APK signature scheme v3.1 All new key rotations that use apksigner use the v3.1 signature scheme by default to target rotation for Android 13 and higher.

Check out our full AOSP release notes and the Android Developer features and changes list.

Android 12

Jede Android-Version enthält Dutzende von Sicherheitsverbesserungen zum Schutz der Nutzer. Hier sind einige der wichtigsten Sicherheitsverbesserungen in Android 12:

  • In Android 12 wird die BiometricManager.Strings API eingeführt, die lokalisierte Strings für Apps bereitstellt, die BiometricPrompt für die Authentifizierung verwenden. Diese Strings sind gerätebezogen und geben an, welche Authentifizierungstypen verwendet werden können. Android 12 unterstützt auch Fingerabdrucksensoren unter dem Display.
  • Unterstützung für Fingerabdrucksensoren unter dem Display
  • Einführung des Fingerabdrucks der Android Interface Definition Language (AIDL)
  • Unterstützung für die neue Face AIDL
  • Einführung von Rust als Sprache für die Plattformentwicklung
  • Die Option, dass Nutzer nur Zugriff auf ihre ungefähren Standort hinzugefügt
  • In der Statusleiste werden jetzt Datenschutzhinweise angezeigt, wenn eine App die Kamera oder das Mikrofon verwendet.
  • Private Compute Core (PCC) von Android
  • Option zum Deaktivieren der 2G-Unterstützung hinzugefügt

Android 11

Jede Android-Version enthält Dutzende von Sicherheitsverbesserungen zum Schutz der Nutzenden. Eine Liste der wichtigsten Sicherheitsverbesserungen in Android 11, siehe Android-Version Notizen:

Android 10

Jede Android-Version enthält Dutzende von Sicherheitsverbesserungen zum Schutz der Nutzer. Android 10 enthält verschiedene Verbesserungen in puncto Sicherheit und Datenschutz. Weitere Informationen finden Sie in den Versionshinweisen für Android 10. findest du eine vollständige Liste der Änderungen bei Android 10.

Sicherheit

BoundsSanitizer

Android 10 stellt BoundsSanitizer bereit (BoundSan) in Bluetooth und Codecs an. BoundSan verwendet den Bounds Sanitizer von UBSan. Diese Abhilfemaßnahme ist auf Modulebene aktiviert. Sie trägt dazu bei, wichtige Android-Komponenten zu schützen, und sollte nicht deaktiviert werden. BoundSan ist aktiviert in folgenden Codecs:

  • libFLAC
  • libavcdec
  • libavcenc
  • libhevcdec
  • libmpeg2
  • libopus
  • libvpx
  • libspeexresampler
  • libvorbisidec
  • libaac
  • libxaac

Nur-Ausführungsarbeitsspeicher

Standardmäßig sind ausführbare Codeabschnitte für AArch64-Systembinärdateien mit zur Abwehr von Just-in-Time-Code nur ausführen (nicht lesbar) wiederverwendete Angriffe. Code, der Daten und Code vermischt und gezielt Code prüft diese Abschnitte (ohne zuvor die Speichersegmente lesbar sein) funktioniert nicht mehr. Apps mit dem Ziel-SDK Android 10 (API-Level 29 oder höher) sind betroffen, wenn die App versucht, Codeabschnitte von Systembibliotheken mit aktiviertem Nur-Ausführungsspeicher (XOM) im Arbeitsspeicher zu lesen, ohne den Abschnitt zuvor als lesbar zu kennzeichnen.

Erweiterter Zugriff

Trust Agents, der zugrunde liegende Mechanismus, der von Drittanbieter-Authentifizierungsmechanismen wie Smart Lock verwendet wird, kann die Entsperrung nur unter Android 10 verlängern. Vertrauen Kundenservicemitarbeiter können gesperrte Geräte nicht mehr entsperren und nur dafür sorgen, dass sie entsperrt bleiben. maximal vier Stunden lang.

Gesichtserkennung

Mit der Gesichtserkennung können Nutzer ihr Gerät entsperren, indem sie einfach in die Kamera schauen. Android 10 unterstützt einen neuen Stapel für die Gesichtserkennung, mit dem Kameraframes sicher verarbeitet werden können. So werden Sicherheit und Datenschutz bei der Gesichtserkennung auf unterstützter Hardware gewährleistet. Android 10 bietet außerdem eine einfache Möglichkeit für sicherheitskonforme Implementierungen, die App-Integration für Transaktionen wie Onlinebanking oder andere Dienste zu ermöglichen.

Bereinigung von Ganzzahlüberläufen

In Android 10 wird die Integer-Überlauf-Desinfektion (IntSan) in Software-Codecs aktiviert. Die Wiedergabeleistung muss für alle Codecs akzeptabel sein, die von der Hardware des Geräts nicht unterstützt werden. IntSan ist in den folgenden Codecs aktiviert:

  • libFLAC
  • libavcdec
  • libavcenc
  • libhevcdec
  • libmpeg2
  • libopus
  • libvpx
  • libspeexresampler
  • libvorbisidec

Modulare Systemkomponenten

Android 10 modularisiert einige Android- Systemkomponenten und ermöglichen die Aktualisierung außerhalb des normalen Android-Releasezyklus. Beispiele für Module:

OEMCrypto

Android 10 verwendet Version 15 der OEMCrypto API.

Scudo

Scudo ist ein dynamischer Speicherallokator im Nutzermodus, der für eine bessere Resilienz gegenüber heapbezogenen Sicherheitslücken entwickelt wurde. Sie bietet die Standard-C-Zuweisung die Deallocation-Primitive sowie die C++-Primitive an.

Schattenaufruf-Stack

ShadowCallStack (SCS) ist eine LLVM Instrumentierungsmodus, der vor Überschreibungen der Rücksendeadresse schützt (z. B. Stack-Pufferüberläufen), indem die Rückgabeadresse einer Funktion in einem separaten Zugewiesene Instanz ShadowCallStack im Funktionsprolog von Non-Blatt-Funktionen und das Laden der Rücksendeadresse aus der ShadowCallStack-Instanz im Funktionsepilog.

WPA3 und Wi-Fi Enhanced Open

Android 10 unterstützt jetzt die WLAN- Protected Access 3 (WPA3) und Wi-Fi Enhanced Open-Sicherheitsstandards um besseren Datenschutz und Schutz vor bekannten Angriffen zu bieten.

Datenschutz

App-Zugriff bei Ausrichtung auf Android 9 oder niedriger

Ihre App läuft unter Android 10 oder höher, ist aber auf Android 9 (API-Level 28) ausgerichtet oder niedriger, wendet die Plattform folgendes Verhalten an:

  • Wenn Ihre App ein <uses-permission>-Element für ACCESS_FINE_LOCATION oder ACCESS_COARSE_LOCATION deklariert, fügt das System während der Installation automatisch ein <uses-permission>-Element für ACCESS_BACKGROUND_LOCATION hinzu.
  • Wenn Ihre App entweder ACCESS_FINE_LOCATION oder ACCESS_COARSE_LOCATION wird vom System automatisch ACCESS_BACKGROUND_LOCATION hinzu.

Einschränkungen bei Hintergrundaktivitäten

Ab Android 10 werden Einschränkungen zum Starten von Aktivitäten im Hintergrund. Diese Verhaltensänderung hilft Unterbrechungen für den Nutzer minimieren und ihm die Kontrolle darüber geben, die auf ihrem Bildschirm angezeigt werden. Solange Ihre App Aktivitäten als direktes Ergebnis startet der Nutzerinteraktion wird Ihre App höchstwahrscheinlich nicht von diesen Einschränkungen betroffen.
Weitere Informationen zur empfohlenen Alternative zum Starten von Aktivitäten im Hintergrund finden Sie in der Anleitung zum Benachrichtigen von Nutzern über zeitkritische Ereignisse in Ihrer App.

Kamerametadaten

Unter Android 10 werden die Informationen, die standardmäßig von der getCameraCharacteristics()-Methode zurückgegeben werden, geändert. Deine App muss insbesondere die CAMERA um auf potenziell gerätespezifische Metadaten zuzugreifen, die im Rückgabewert dieser Methode enthalten.
Weitere Informationen zu diesen Änderungen findest du im Abschnitt über die Kamerafunktion. Felder, für die eine Berechtigung erforderlich ist.

Daten aus der Zwischenablage

Sofern Ihre App nicht der standardmäßige Eingabemethoden-Editor (IME) oder die App ist, die gerade den Fokus hat, kann sie unter Android 10 oder höher nicht auf Zwischenablagedaten zugreifen.

Gerätestandort

Um die zusätzliche Kontrolle zu unterstützen, die Nutzer über den Zugriff einer App auf eine App haben Standortinformationen enthält, führt Android 10 die ACCESS_BACKGROUND_LOCATION Berechtigung.
Im Gegensatz zu den Berechtigungen ACCESS_FINE_LOCATION und ACCESS_COARSE_LOCATION wirkt sich die Berechtigung ACCESS_BACKGROUND_LOCATION nur auf den Zugriff einer App auf den Standort aus, wenn sie im Hintergrund ausgeführt wird. Eine App wird als auf die Standortermittlung im Hintergrund zuzugreifen, es sei denn, erfüllt ist:

  • Eine Aktivität der App ist sichtbar.
  • Die App führt einen Dienst im Vordergrund aus, der einen Vordergrunddienst deklariert hat Diensttyp location.
    So deklarieren Sie den Dienst im Vordergrund für einen Dienst in Ihrer App eingeben, targetSdkVersion Ihrer App festlegen oder compileSdkVersion auf 29 oder höher. Weitere Informationen über wie Sie Dienste im Vordergrund von Nutzern initiierte Aktionen, die Zugriff auf den Standort erfordern.

Externer Speicher

Standardmäßig erhalten Apps, die auf Android 10 und höher ausgerichtet sind, den Zugriff auf externen Speicher oder begrenzten Speicher. Diese Apps können Folgendes sehen: die folgenden Dateitypen auf einem externen Speichergerät speichern, ohne So fordern Sie speicherbezogene Nutzerberechtigungen an:

Weitere Informationen zum begrenzten Speicherplatz sowie zum Freigeben, Zugreifen und Dateien ändern, die auf externen Speichergeräten gespeichert sind, finden Sie in den Leitfäden zum Verwalten Dateien im externen Speicher und Zugriff und Mediendateien bearbeiten.

Zufallsgenerierung von MAC-Adressen

Auf Geräten mit Android 10 oder höher sendet das System eine zufällige MAC-Adresse. Adressen standardmäßig verwenden.
Wenn Ihre App einen Unternehmensnutzungsfall abdeckt, bietet die Plattform APIs für verschiedene Vorgänge im Zusammenhang mit MAC-Adressen:

  • Zufällige MAC-Adresse abrufen: Apps und kann die zufällige MAC-Adresse abgerufen werden, indem du getRandomizedMacAddress() aufrufst.
  • Tatsächliche MAC-Adresse mit Werkseinstellung abrufen: Apps des Geräteeigentümers können die tatsächliche Hardware-MAC-Adresse eines Geräts abrufen, indem Sie getWifiMacAddress() aufrufen. Diese Methode ist nützlich, um mehrere Gerätepools zu verfolgen.

Nicht rücksetzbare Geräte-IDs

Ab Android 10 m��ssen Apps die READ_PRIVILEGED_PHONE_STATE privilegierte Berechtigung, um auf die nicht rücksetzbaren Geräte-IDs zuzugreifen, die sowohl die IMEI als auch Seriennummer haben.

Wenn Ihre App nicht die erforderliche Berechtigung hat und Sie nach Informationen fragen zu nicht zurücksetzbaren Kennungen erhalten, variiert die Antwort der Plattform je nach SDK-Zielversion:

  • Wenn Ihre App auf Android 10 oder höher ausgerichtet ist, tritt eine SecurityException auf.
  • Wenn Ihre App auf Android 9 (API-Level 28) oder niedriger ausgerichtet ist, gibt die Methode null oder Platzhalterdaten zurück, wenn die App die Berechtigung READ_PHONE_STATE hat. Andernfalls tritt ein SecurityException auf.

Erkennung körperlicher Aktivitäten

In Android 10 wird die android.permission.ACTIVITY_RECOGNITION-Laufzeitberechtigung für Apps eingeführt, die die Schrittzahl des Nutzers erfassen oder seine körperlichen Aktivitäten klassifizieren müssen, z. B. Gehen, Radfahren oder Bewegung in einem Fahrzeug. So können Nutzer sehen, wie die Sensordaten der Geräte die in den Einstellungen verwendet werden.
Einige Bibliotheken in den Google Play-Diensten, z. B. die Activity Recognition API und die Google Fit API, liefern nur dann Ergebnisse, wenn der Nutzer Ihrer App diese Berechtigung erteilt hat.
Die einzige integrierte Sensoren am Gerät, für die diese Berechtigung erforderlich ist, ist der Schritt Zähler und Schritt Detektor-Sensoren.
Wenn Ihre App auf Android 9 (API-Level 28) oder niedriger ausgerichtet ist, gewährt automatisch die Berechtigung android.permission.ACTIVITY_RECOGNITION an Ihre App senden, wenn sie folgende Anforderungen erfüllt: Bedingungen:

  • Die Manifestdatei enthält Berechtigung „com.google.android.gms.permission.ACTIVITY_RECOGNITION“.
  • Die Manifestdatei enthält nicht den Parameter Berechtigung android.permission.ACTIVITY_RECOGNITION.

Wenn das System die Berechtigung android.permission.ACTIVITY_RECOGNITION automatisch gewährt, behält Ihre App die Berechtigung, nachdem Sie sie so aktualisiert haben, dass sie auf Android 10 ausgerichtet ist. Sie können jedoch Der Nutzer kann diese Berechtigung jederzeit in den Systemeinstellungen widerrufen.

Einschränkungen für das /proc/net-Dateisystem

Auf Geräten mit Android 10 oder höher haben Apps keinen Zugriff /proc/net mit Informationen zum Netzwerk eines Geräts Bundesstaat. Apps, die Zugriff auf diese Informationen benötigen, wie z. B. VPNs, sollten den NetworkStatsManager oder ConnectivityManager .

Berechtigungsgruppen wurden aus der Benutzeroberfläche entfernt

Ab Android 10 können Apps nicht mehr prüfen, wie Berechtigungen auf der Benutzeroberfläche gruppiert sind.

Entfernung der Kontaktaffinität

Ab Android 10 erfasst die Plattform keine gemeinsamen Kontakte mehr. Informationen. Wenn Ihre App also eine Suche in den Kontakten des Nutzers durchführt, sind die Ergebnisse nicht nach der Interaktionshäufigkeit sortiert.
Der Leitfaden zu ContactsProvider enthält eine Benachrichtigung, in der die Felder und Methoden beschrieben werden, die auf allen Geräten ab Android 10 nicht mehr unterstützt werden.

Eingeschränkter Zugriff auf Bildschirminhalte

Zum Schutz der verhindert Android 10 den stillen Zugriff auf die Bildschirminhalt des Geräts durch Ändern des Umfangs der READ_FRAME_BUFFER, CAPTURE_VIDEO_OUTPUT und CAPTURE_SECURE_VIDEO_OUTPUT-Berechtigungen. Seit Android 10 sind diese Berechtigungen nur noch mit Signaturzugriff möglich.
Apps, die auf den Bildschirminhalt des Geräts zugreifen müssen, sollten die MediaProjection API, die den Nutzer auffordert, seine Einwilligung zu geben.

Seriennummer des USB-Geräts

Wenn Ihre App auf Android 10 oder höher ausgerichtet ist, kann sie die Seriennummer erst lesen, wenn der Nutzer Ihrer App die Berechtigung zum Zugriff auf das USB-Gerät oder das Zubehör erteilt hat.
Weitere Informationen zur Verwendung von USB-Geräten finden Sie in der Anleitung zur Konfiguration von USB-Hosts

WLAN

In Apps, die auf Android 10 oder höher ausgerichtet sind, kann WLAN nicht aktiviert oder deaktiviert werden. Die WifiManager.setWifiEnabled() gibt immer false zurück.
Wenn Sie die Nutzer auffordern möchten, die WLAN-Funktion zu aktivieren oder zu deaktivieren, verwenden Sie eine Einstellung .

Einschränkungen für den direkten Zugriff auf konfigurierte WLANs

Zum Schutz des Datenschutzes ist die manuelle Konfiguration der Liste der WLANs auf System-Apps und Geräterichtliniencontroller (DPCs) beschränkt. Ein bestimmter DPC kann entweder der Geräteeigentümer oder der Profilinhaber sein.
Wenn Ihre App auf Android 10 oder höher ausgerichtet ist und keine System-App oder DPC gibt, geben die folgenden Methoden keine nützlichen Daten zurück:

Android 9

Jede Android-Version enthält Dutzende von Sicherheitsverbesserungen zum Schutz der Nutzenden. Eine Liste der wichtigsten Sicherheitsverbesserungen in Android 9 finden Sie in den Android-Releasehinweisen.

Android 8

Jede Android-Version enthält Dutzende von Sicherheitsverbesserungen zum Schutz der Nutzenden. Hier sind einige der wichtigsten Sicherheitsverbesserungen für Android. 8.0:

  • Verschlüsselung. Das Entfernen von Schlüsseln im Arbeitsprofil wird jetzt unterstützt.
  • Verifizierter Bootmodus Android Verified Boot (AVB) wurde hinzugefügt. Überprüft Die Boot-Codebasis, die einen Rollback-Schutz für die Verwendung in Bootloadern unterstützt, wurde hinzugefügt zu AOSP. Empfehlen Sie die Bootloader-Unterstützung für den Rollback-Schutz für die HLOS. Wir empfehlen, dass Bootloader nur durch physische Interaktion des Nutzers mit dem Gerät entsperrt werden können.
  • Sperrbildschirm Unterstützung für die Verwendung manipulationssicherer Hardware zur Bestätigung von Anmeldedaten für den Sperrbildschirm hinzugefügt
  • KeyStore enthält. Erforderlicher Schlüssel Attestierung für alle Geräte, die mit Android 8.0 oder höher ausgeliefert werden. ID hinzugefügt Attestierung-Support, um die Zero-Touch-Registrierung zu verbessern.
  • Sandbox-Technologie Noch enger wurden viele Komponenten unter Verwendung der Standardschnittstelle von Project Treble zwischen Framework- und gerätespezifischen Komponenten. seccomp angewendet Filterung zu allen nicht vertrauenswürdigen Apps hinzu, um die Angriffsfläche des Kernels zu verringern. WebView wird nun in einem isolierten Prozess mit sehr eingeschränktem Zugriff auf den Rest des System.
  • Kernelhärtung. Implementiert gehärtet usercopy, PAN-Emulation, Lesezugriff nach Initialisierung und KASLR.
  • Härtung des Userspaces. CFI für den Media-Stack implementiert App-Overlays können keine systemkritischen Fenster mehr verdecken und Nutzer haben die Möglichkeit, schließen Sie sie.
  • Streaming-Betriebssystemupdate Aktualisierungen auf Geräten aktiviert, auf denen nur noch wenig Speicherplatz verfügbar ist
  • Unbekannte Apps installieren Nutzer müssen die Berechtigung erteilen, Apps aus einer Quelle zu installieren, die kein App-Shop eines Anbieters ist.
  • Datenschutz Die Android-ID (SSAID) hat einen anderen Wert für jede App und jeden Nutzer des Geräts. Widevine-Client-ID für Webbrowser-Apps wird für jeden App-Paketnamen und jede Webursprung ein anderer Wert zurückgegeben. „net.hostname“ ist jetzt leer und der dhcp-Client sendet keine Hostname. android.os.Build.SERIAL wurde durch den Build.SERIAL API das hinter einer benutzerdefinierte Berechtigung geschützt ist. Verbesserte MAC-Adress-Randomisierung bei einigen Chipsätzen.

Android 7

Jede Android-Version enthält Dutzende von Sicherheitsverbesserungen zum Schutz der Nutzenden. Hier sind einige der wichtigsten Sicherheitsverbesserungen in Android 7.0:

  • Dateibasierte Verschlüsselung. Durch die Verschlüsselung auf Dateiebene werden einzelne Nutzer und Profile (z. B. private und geschäftliche) auf einem Gerät besser isoliert und geschützt, anstatt den gesamten Speicherbereich als einzelne Einheit zu verschlüsseln.
  • Direkter Start Aktiviert durch dateibasierte Verschlüsselung, Direct Beim Booten können bestimmte Apps wie Wecker und Bedienungshilfen wird ausgeführt, wenn das Gerät eingeschaltet, aber nicht entsperrt ist.
  • Verifizierter Bootmodus: Der verifizierte Boot wird jetzt strikt erzwungen, um das Starten manipulierter Geräte zu verhindern. Er unterstützt die Fehlerkorrektur, um die Zuverlässigkeit bei nicht schädlichen Datenbeschädigungen zu verbessern.
  • SELinux Aktualisierung der SELinux-Konfiguration und Seccomp-Abdeckung schränkt die Anwendungs-Sandbox weiter ein und reduziert Angriffe an.
  • Zufallsmix der Ladereihenfolge von Bibliotheken und verbesserte ASLR Erhöhte Zufälligkeit macht einige Angriffe zur Code-Wiederverwendung weniger zuverlässig.
  • Kernelhärtung. Zusätzlicher Arbeitsspeicherschutz für neuere Kernel hinzugefügt, indem Teile des Kernel-Speichers als schreibgeschützt gekennzeichnet wurden, der Kernelzugriff auf Userspace-Adressen eingeschränkt und die Angriffsfläche weiter reduziert wurde.
  • APK-Signaturschema v2 Es wurde eine Signatur für die gesamte Datei eingeführt. zur Verbesserung der Überprüfungsgeschwindigkeit und zur Stärkung der Integritätsgarantien.
  • Vertrauenswürdiger CA-Shop. Damit Apps leichter gesteuert werden können Zugriff auf den sicheren Netzwerkverkehr, von Nutzern installierte Zertifizierungsstellen und Apps, die über Device Admin APIs installiert werden, sind standardmäßig nicht mehr vertrauenswürdig für Apps, die auf API-Level 24 oder höher ausgerichtet sind. Außerdem müssen alle neuen Android-Geräte an dasselbe vertrauenswürdige CA-Geschäft versenden.
  • Konfiguration der Netzwerksicherheit. Netzwerksicherheit und TLS über eine deklarative Konfigurationsdatei konfigurieren

Android 6

Jede Android-Version enthält Dutzende von Sicherheitsverbesserungen zum Schutz der Nutzer. Hier sind einige der wichtigsten Sicherheitsverbesserungen für Android. 6.0:

  • Laufzeitberechtigungen Apps fordern Berechtigungen während der Laufzeit an, anstatt dass sie bei der Installation der App gewährt werden. Nutzer können Berechtigungen sowohl für M als auch für Vorgänger M aktivieren und deaktivieren. Apps.
  • Verifizierter Bootmodus: Eine Reihe kryptografischer Systemprüfungen Software durchgeführt werden, bevor um sicherzustellen, dass das Telefon vom Bootloader bis zur des Betriebssystems.
  • Hardware-isolierte Sicherheit Neue Hardware-Abstraktion Layer (HAL), die von der Fingerprint API, Sperrbildschirm, Geräteverschlüsselung und Clientzertifikate zum Schutz von Schlüsseln vor Kernel Angriffe und/oder lokale physische Angriffe
  • Fingerabdrücke: Geräte können jetzt mit nur einem berühren. Entwickler können auch Vorteile neuer APIs für das Sperren und Entsperren von Verschlüsselungsschlüsseln mithilfe von Fingerabdrücken.
  • Verwendung von SD-Karten. Wechseldatenträger können an ein Gerät angepasst werden, um den verfügbaren Speicherplatz für lokale App-Daten, Fotos, Videos usw. zu erweitern. Sie sind dabei aber weiterhin durch Blockverschlüsselung geschützt.
  • Traffic in Klartext Entwickler können einen neuen StrictMode verwenden um sicherzustellen, dass ihre App Klartext.
  • Systemhärtung. Härtung des Systems durch Richtlinien durch SELinux erzwungen. Dies bietet bessere Isolation zwischen Benutzern, IOCTL-Filterung, Reduzierung der Bedrohung durch gefährdete Dienste der SELinux-Domains weiter enger gefasst und der /proc-Zugriff stark eingeschränkt.
  • USB-Zugriffssteuerung: Nutzer müssen bestätigen, dass sie den USB-Zugriff auf Dateien, Speicher oder andere Funktionen des Smartphones zulassen möchten. Die Standardeinstellung ist jetzt Nur aufladen. Der Zugriff auf den Speicher erfordert die ausdrückliche Genehmigung des Nutzers.

Android 5

5,0

Jede Android-Version enthält Dutzende von Sicherheitsverbesserungen zum Schutz der Nutzenden. Hier sind einige der wichtigsten Sicherheitsverbesserungen für Android. 5.0:

  • Sie sind standardmäßig verschlüsselt. Auf Geräten, die mit L ausgeliefert werden, ist die Datenträgervollverschlüsselung standardmäßig aktiviert, um den Schutz von Daten auf verlorenen oder gestohlenen Geräten zu verbessern. Geräte, die Das Update auf L kann unter Einstellungen > Sicherheit .
  • Verbesserte Datenträgervollverschlüsselung. Das Nutzerpasswort lautet mit scrypt vor Brute-Force-Angriffen geschützt sind. ist der Schlüssel an den Hardware-Schlüsselspeicher gebunden, um zu verhindern, externen Angriffen. Wie immer werden das geheime Passwort für die Android-Displaysperre und der Verschlüsselungsschlüssel des Geräts nicht vom Gerät gesendet oder für eine App freigegeben.
  • Android-Sandbox mit SELinux verstärkt Android – jetzt erfordert SELinux im erzwungenen Modus für alle Domains. SELinux ist ein MAC-System (obligatorisch Access Control) im Linux-Kernel zur Erweiterung des bestehenden Sicherheitsmodell der diskretionären Zugriffssteuerung (DAC) Diese neue Ebene bietet zusätzlichen Schutz vor potenziellen Sicherheitslücken.
  • Smart Lock Android umfasst jetzt Trustlets, mehr Flexibilität beim Entsperren von Geräten. Mit Trustlets können Geräte beispielsweise automatisch entsperrt werden, wenn sie sich in der Nähe eines anderen vertrauenswürdigen Geräts befinden (über NFC, Bluetooth) oder von einer Person mit einem vertrauenswürdigen Gesicht verwendet werden.
  • Mehrnutzer-, eingeschränktes Profil- und Gastmodus für Smartphones und Tablets. Android unterstützt jetzt mehrere Nutzer auf Smartphones und bietet einen Gastmodus, mit dem Sie anderen Nutzern einfachen temporären Zugriff auf Ihr Gerät gewähren können, ohne ihnen Zugriff auf Ihre Daten und Apps zu gewähren.
  • Updates für WebView ohne OTA WebView kann jetzt unabhängig vom Framework und ohne System-OTA aktualisiert werden. So können potenzielle Sicherheitsprobleme in WebView schneller behoben werden.
  • Aktualisierte Kryptografie für HTTPS und TLS/SSL TLSv1.2 und TLSv1.1 sind jetzt aktiviert, Forward Secrecy wird jetzt bevorzugt, AES-GCM ist jetzt aktiviert und schwache Chiffrensammlungen (MD5, 3DES und Export-Chiffrensammlungen) sind jetzt deaktiviert. Weitere Informationen finden Sie unter https://developer.android.com/reference/javax/net/ssl/SSLSocket.html.
  • Unterstützung für nicht PIE-Linker entfernt Für Android müssen jetzt alle dynamisch verknüpften ausführbaren Dateien PIE (Position Independent Executables) unterstützen. Dadurch wird der Adressraum von Android erweitert. Layout Randomization (ASLR) zu implementieren.
  • FORTIFY_SOURCE-Verbesserungen. Die folgende libc Funktionen implementieren jetzt den Schutz von FORTIFY_SOURCE: stpcpy(), stpncpy(), read(), recvfrom() FD_CLR(), FD_SET() und FD_ISSET(). Dies bietet Schutz vor Sicherheitslücken, die durch Beschädigung des Arbeitsspeichers durch diese Funktionen entstehen.
  • Sicherheitskorrekturen. Android 5.0 enthält zudem Fehlerbehebungen für Android-spezifische Sicherheitslücken. Die Informationen zu diesen Sicherheitslücken wurden wurden Open Handset Alliance-Mitgliedern zur Verfügung gestellt und Fehlerbehebungen sind verfügbar in Open-Source-Projekt von Android Zur Verbesserung der Sicherheit sind diese Korrekturen möglicherweise auch auf einigen Geräten mit älteren Android-Versionen verfügbar.

Android 4 und niedriger

Every Android release includes dozens of security enhancements to protect users. The following are some of the security enhancements available in Android 4.4:

  • Android sandbox reinforced with SELinux. Android now uses SELinux in enforcing mode. SELinux is a mandatory access control (MAC) system in the Linux kernel used to augment the existing discretionary access control (DAC) based security model. This provides additional protection against potential security vulnerabilities.
  • Per User VPN. On multi-user devices, VPNs are now applied per user. This can allow a user to route all network traffic through a VPN without affecting other users on the device.
  • ECDSA Provider support in AndroidKeyStore. Android now has a keystore provider that allows use of ECDSA and DSA algorithms.
  • Device Monitoring Warnings. Android provides users with a warning if any certificate has been added to the device certificate store that could allow monitoring of encrypted network traffic.
  • FORTIFY_SOURCE. Android now supports FORTIFY_SOURCE level 2, and all code is compiled with these protections. FORTIFY_SOURCE has been enhanced to work with clang.
  • Certificate Pinning. Android 4.4 detects and prevents the use of fraudulent Google certificates used in secure SSL/TLS communications.
  • Security Fixes. Android 4.4 also includes fixes for Android-specific vulnerabilities. Information about these vulnerabilities has been provided to Open Handset Alliance members and fixes are available in Android Open Source Project. To improve security, some devices with earlier versions of Android may also include these fixes.

Jede Android-Version enthält Dutzende von Sicherheitsverbesserungen zum Schutz der Nutzer. Im Folgenden sind einige der verfügbaren Sicherheitsverbesserungen aufgeführt. in Android 4.3:

  • Die Android-Sandbox wird durch SELinux verstärkt. In dieser Version wird die Android-Sandbox mit dem SELinux-System zur obligatorischen Zugriffssteuerung (Mandatory Access Control, MAC) im Linux-Kernel verstärkt. SELinux ist für Nutzer und Entwickelnde unsichtbar und macht sie das bestehende Android-Sicherheitsmodell unter Einhaltung der Kompatibilität mit bestehenden Apps. Um die laufende Kompatibilität zu gewährleisten, ermöglicht diese Version die Verwendung von SELinux im permissiven Modus. In diesem Modus werden alle Richtlinienverstöße protokolliert, Apps werden aber nicht beeinträchtigt und das Systemverhalten bleibt unverändert.
  • Keine setuid- oder setgid-Programme Unterstützung für Dateisystemfunktionen für Android-Systemdateien hinzugefügt und alle setuid- oder setgid-Programme entfernt Dadurch wird die Angriffsfläche des Root-Benutzers und die Wahrscheinlichkeit potenzieller Sicherheitslücken verringert.
  • ADB-Authentifizierung Ab Android 4.2.2 sind Verbindungen zu ADB: mit einem RSA-Schlüsselpaar authentifiziert. Dies verhindert die unbefugte Nutzung von ADB, bei der der Angreifer physischen Zugriff auf ein Gerät hat.
  • Setuid für Android-Apps einschränken Die /system-Partition wird jetzt als nosuid für von Zygote erzeugte Prozesse bereitgestellt, wodurch Android-Apps daran gehindert werden, setuid-Programme auszuführen. Dadurch wird die Angriffsfläche des Root-Benutzers und die Wahrscheinlichkeit potenzieller Sicherheitslücken verringert.
  • Funktionsbeschränkung. Android-Zygote und ADB verwenden jetzt prctl(PR_CAPBSET_DROP), um und unnötige Funktionen vor der Ausführung von Anwendungen. Dadurch wird verhindert, dass Android-Apps und über die Shell gestartete Apps privilegierte Berechtigungen erhalten.
  • AndroidKeyStore-Anbieter. Android hat jetzt einen Schlüsselspeicheranbieter, Anwendungen zum Erstellen exklusiver Nutzungsschlüssel. So erhalten Apps eine API zum Erstellen oder Speichern privater Schlüssel, die von anderen Apps nicht verwendet werden können.
  • KeyChain isBoundKeyAlgorithm. Die Keychain API bietet jetzt eine Methode, (isBoundKeyType), mit der Apps bestätigen können, dass systemweite Schlüssel vorhanden sind an einen Hardware-Root of Trust für das Gerät gebunden. So können Sie private Schlüssel erstellen oder speichern, die auch bei einem Root-Hack nicht vom Gerät exportiert werden können.
  • NO_NEW_PRIVS Android-Zygote verwendet jetzt prctl(PR_SET_NO_NEW_PRIVS), um das Hinzufügen zu blockieren bevor der App-Code ausgeführt wird. Dieses Android-Apps daran gehindert werden, Aktionen auszuführen, Rechte durch execve ausweiten. (Hierfür ist die Linux Kernel-Version 3.5 erforderlich. oder höher).
  • FORTIFY_SOURCE Verbesserungen FORTIFY_SOURCE wurde unter Android x86 und MIPS aktiviert und strchr()-, strrchr()-, strlen()- und umask()-Anrufe wurden gehärtet. So können potenzielle Sicherheitslücken bei der Speicherbeschädigung oder nicht abgeschlossene Stringkonstanten erkannt werden.
  • Schutzmaßnahmen für die Standortverschiebung: Lesegeschützte Verschiebungen (relro) für statisch verknüpfte ausführbare Dateien aktiviert und alle Textverschiebungen im Android-Code entfernt Dies bietet einen gestaffelten Schutz vor potenzieller Speicherbeschädigung Sicherheitslücken.
  • Verbesserter EntropyMixer. EntropyMixer schreibt jetzt zusätzlich zur periodischen Mischung auch beim Herunterfahren oder Neustarten Entropie. So können alle Entropie erzeugt, die beim Einschalten von Geräten erzeugt wird, und ist besonders nützlich, für Geräte, die sofort nach der Bereitstellung neu gestartet werden.
  • Sicherheitsfixes Android 4.3 enthält auch Fehlerbehebungen für Android-spezifische Sicherheitslücken. Informationen zu diesen Sicherheitslücken wurden den Mitgliedern der Open Handset Alliance zur Verfügung gestellt. Korrekturen sind im Android Open Source-Projekt verfügbar. Zur Verbesserung der Sicherheit sind diese Korrekturen möglicherweise auch auf einigen Geräten mit älteren Android-Versionen verfügbar.

Android bietet ein mehrstufiges Sicherheitsmodell, das im Artikel Android Übersicht über die Sicherheit. Jedes Android-Update enthält Dutzende von Sicherheitsverbesserungen zum Schutz der Nutzer. Im Folgenden finden Sie einige der Sicherheitsverbesserungen, die in Android 4.2 eingeführt wurden:

  • App-Überprüfung: Nutzer können die Funktion „Apps überprüfen“ aktivieren und Apps vor der Installation von einem App-Überprüfer prüfen lassen. Die App-Überprüfung kann Nutzer warnen, wenn sie versuchen, eine App zu installieren, die möglicherweise schädlich; Wenn eine App besonders schädlich ist, kann sie die Installation blockieren.
  • Mehr Kontrolle über Premium-SMS: Android zeigt eine Benachrichtigung an, wenn eine App versucht, eine SMS an eine Kurzwahlnummer zu senden, für die Premiumdienste verwendet werden, die zusätzliche Kosten verursachen können. Der Nutzer kann entscheiden, ob er um die Nachricht zu senden oder zu blockieren.
  • Durchgehend aktives VPN:Das VPN kann so konfiguriert werden, dass Apps Netzwerkzugriff, bis eine VPN-Verbindung hergestellt ist. So wird verhindert, dass Apps Daten über andere Netzwerke senden.
  • Zertifikats-Pinning:Die Android-Hauptbibliotheken unterstützen jetzt Anpinnen von Zertifikaten. Für angepinnte Domains wird ein Zertifikatsüberprüfungsfehler ausgegeben, wenn das Zertifikat nicht mit einer Reihe erwarteter Zertifikate verknüpft ist. So wird ein möglicher Manipulationsversuch von Zertifizierungsstellen verhindert.
  • Verbesserte Darstellung der Android-Berechtigungen:Berechtigungen sind organisiert. in Gruppen unterteilen, die für Nutzende leichter verständlich sind. Bei der Überprüfung der kann der Nutzer auf die Berechtigung klicken, um detailliertere Informationen zur Berechtigung.
  • installd-Härtung: Der installd-Daemon wird nicht als Root-Nutzer ausgeführt, wodurch die potenzielle Angriffsfläche für die Ausweitung von Root-Berechtigungen reduziert wird.
  • Init-Script-Härtung: Für Init-Scripts werden jetzt O_NOFOLLOW-Semantiken angewendet, um Symlink-bezogene Angriffe zu verhindern.
  • FORTIFY_SOURCE: Android unterstützt jetzt FORTIFY_SOURCE. Dies wird verwendet von Systembibliotheken und Apps, um Speicherschäden zu vermeiden.
  • ContentProvider-Standardkonfiguration:Apps, die auf eine API ausgerichtet sind Bei Ebene 17 ist export standardmäßig für jede Stufe auf false festgelegt. Inhalte Anbieter, wodurch die standardmäßige Angriffsfläche für Apps reduziert wird.
  • Kryptografie: Die Standardimplementierungen von SecureRandom und Cipher.RSA wurden so geändert, dass OpenSSL verwendet wird. SSL Socket-Unterstützung für TLSv1.1 und TLSv1.2 hinzugefügt. mit OpenSSL 1.0.1
  • Sicherheitsfixes: Zu den aktualisierten Open-Source-Bibliotheken mit Sicherheitsfixes gehören WebKit, libpng, OpenSSL und LibXML. Android 4.2 enthält außerdem Korrekturen für Android-spezifische Sicherheitslücken. Die Informationen zu diesen Sicherheitslücken wurden wurden Open Handset Alliance-Mitgliedern zur Verfügung gestellt und Fehlerbehebungen sind verfügbar in Open-Source-Projekt von Android Aus Sicherheitsgründen werden einige Geräte mit von Android-Versionen können diese Fehler behoben werden.

Android bietet ein mehrstufiges Sicherheitsmodell, das im Android Übersicht über die Sicherheit. Jedes Android-Update enthält Dutzende von Sicherheitsverbesserungen zum Schutz der Nutzer. Im Folgenden finden Sie einige der Sicherheitsverbesserungen, die in den Android-Versionen 1.5 bis 4.1 eingeführt wurden:

Android 1.5
  • ProPolice zum Verhindern von Stack-Buffer-Überläufen (-fstack-protector)
  • safe_iop zur Reduzierung von Ganzzahlüberläufen
  • Erweiterungen für OpenBSD-dlmalloc, um Double-Free()-Sicherheitslücken und Chunk-Konsolidierungsangriffe zu verhindern. Chunk-Konsolidierungsangriffe sind eine gängige Methode, um Heap-Beschädigungen auszunutzen.
  • OpenBSD-calloc, um Ganzzahlüberläufe während der Arbeitsspeicherzuweisung zu verhindern
Android 2.3
  • Schutz vor Sicherheitslücken bei Formatstrings (-Wformat-security -Werror=format-security)
  • Hardwarebasiertes No eXecute (NX), um die Codeausführung auf dem Stack und dem Heap zu verhindern
  • Linux-mmap_min_addr zur Begrenzung der Berechtigungseskalierung durch Nullzeigerverweise (in Android 4.1 weiter verbessert)
Android 4.0
Address Space Layout Randomization (ASLR) zur zufälligen Auswahl wichtiger Speicherplätze
Android 4.1
  • Unterstützung von PIE (Position Independent Executable)
  • Schreibgeschützte Verschiebungen / sofortige Bindung (-Wl,-z,relro -Wl,-z,now)
  • dmesg_restrict aktiviert (vermeidung von gehackten Kernel-Adressen)
  • kptr_restrict aktiviert (Lecks von Kerneladressen vermeiden)