Erhöhte Sicherheit

Android verbessert kontinuierlich seine Sicherheitsfunktionen und -angebote. In der linken Navigationsleiste finden Sie Listen der Verbesserungen nach Release.

Android 14

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

  • Mit Android 10 eingeführter hardwaregestützter AddressSanitizer (HWASan), ist ein Tool zur Erkennung von Arbeitsspeicherfehlern, AddressSanitizer sein. Android 14 bringt erhebliche Verbesserungen für HWASan mit sich. Weitere Informationen dazu, wie damit verhindert wird, dass Fehler in Android-Releases eindringen, finden Sie unter HWAddressSanitizer.
  • Bei Android 14 beginnen wir mit Apps, die Standortdaten an Dritte weitergeben. Das Dialogfeld für die Systemlaufzeitberechtigung enthält jetzt einen anklickbaren Abschnitt, in dem die die Datenweitergabepraktiken der App, einschließlich Informationen, z. B. warum eine App beschließt, Daten zu teilen mit Dritten teilen.
  • In Android 12 wurde eine Option eingeführt, mit der die 2G-Unterstützung auf Modemebene deaktiviert werden kann. Dadurch werden Nutzer vor dem inhärenten Sicherheitsrisiko des veralteten 2G-Sicherheitsmodells geschützt. Da die Deaktivierung von 2G für Unternehmenskunden von entscheidender Bedeutung sein kann, wird diese Sicherheitsfunktion in Android 14 in Android Enterprise aktiviert. IT-Administratoren können damit die Möglichkeit eines verwalteten Geräts einschränken, auf eine 2G-Verbindung umzustellen.
  • Unterstützung für die Ablehnung von nicht verschlüsselten Mobilfunkverbindungen hinzugefügt, damit leitungsvermittelte Sprach- und SMS-Traffic immer verschlüsselt und vor passivem Abhören per Funk geschützt ist. Weitere Informationen zum Programm von Android zur Verbesserung der Mobilfunkverbindung
  • Unterstützung für mehrere IMEIs hinzugefügt
  • Seit Android 14 ist AES-HCTR2 der bevorzugte Modus für die Dateinamenverschlüsselung. für Geräte mit Anweisungen zur beschleunigten Kryptografie.
  • Mobilfunkverbindung
  • Dokumentation zum Android-Sicherheitscenter hinzugefügt
  • Wenn Ihre App auf Android 14 ausgerichtet ist und Dynamic Code Loading (DCL) verwendet, müssen alle dynamisch geladenen Dateien als schreibgeschützt markiert sein. Andernfalls löst das System eine Ausnahme aus. Wir empfehlen, in Apps nach Möglichkeit keinen Code dynamisch zu laden, da dadurch das Risiko erheblich steigt, dass eine App durch Code-Injection oder Code-Manipulation manipuliert wird.

Weitere Informationen finden Sie in den vollständigen Versionshinweisen von AOSP und Android Developer funktionen und Änderungsliste.

Android 13

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

  • Mit Android 13 wird die Unterstützung für die Präsentation mehrerer Dokumente hinzugefügt. Mit dieser neuen Oberfläche für die Präsentationssitzung kann eine App eine Präsentation mit mehreren Dokumenten anzeigen, was mit der vorhandenen API nicht möglich ist. Weitere Informationen finden Sie unter Identity Credential
  • Unter Android 13 werden Intents, die von externen Apps stammen, nur dann an eine exportierte Komponente gesendet, wenn sie mit den angegebenen Intent-Filterelementen übereinstimmen.
  • Open Mobile API (OMAPI) ist eine Standard-API für die Kommunikation mit dem Secure Element. Vor Android 13 gab es nur Apps und Framework-Module Zugriff auf diese Oberfläche. Durch die Umwandlung in eine anbieterunabhängige Schnittstelle können HAL-Module auch über den OMAPI-Dienst mit den sicheren Elementen kommunizieren. Weitere Informationen finden Sie unter OMAPI Vendor Stable Interface.
  • Seit Android 13-QPR werden freigegebene UIDs nicht mehr unterstützt. Für Nutzer von Android 13 oder höher muss die Zeile „android:sharedUserMaxSdkVersion="32"“ in das Manifest aufgenommen werden. Dieser Eintrag verhindert, dass neue Nutzer eine gemeinsame UID erhalten. Weitere Informationen zu UIDs finden Sie unter App-Signatur:
  • In Android 13 wurde die Unterstützung für symmetrische kryptografische Keystore-Primitive wie AES (Advanced Encryption Standard), HMAC (Keyed-Hash Message Authentication Code) und asymmetrische kryptografische Algorithmen (einschließlich elliptischer Kurven, RSA2048, RSA4096 und Curve 25519) hinzugefügt.
  • Android 13 (API-Level 33) und höher unterstützt Eine Laufzeitberechtigung zum Senden nicht ausgenommener Benachrichtigungen über eine App. So erhalten Nutzende festlegen, welche Benachrichtigungen zu Berechtigungen angezeigt werden.
  • Es wurde eine Aufforderung für die einmalige Verwendung hinzugefügt, wenn Apps Zugriff auf alle Geräteprotokolle anfordern. Nutzer können den Zugriff erlauben oder verweigern.
  • das Android Virtualization Framework (AVF) eingeführt, das verschiedene Hypervisoren in einem Framework mit standardisierten APIs zusammenführt. Sie bietet sichere und private Ausführungsumgebungen für die Ausführung von Arbeitslasten, die vom Hypervisor isoliert sind.
  • Einführung des APK-Signaturschemas Version 3.1 Bei allen neuen Schlüsselrotationen, bei denen apksigner verwendet wird, wird standardmäßig das Signaturschema Version 3.1 verwendet, um die Rotation auf Android 13 und höher auszurichten.

Weitere Informationen finden Sie in den vollständigen AOSP-Versionshinweisen und in der Liste der Funktionen und Änderungen für Android-Entwickler.

Android 12

每个 Android 版本中都包含数十种用于保护用户的安全增强功能。以下是 Android 12 中提供的一些主要安全增强功能:

  • Android 12 引入了 BiometricManager.Strings API,它为使用 BiometricPrompt 进行身份验证的应用提供本地化的字符串。这些字符串旨在感知设备,并更明确地指定可以使用哪种/哪些身份验证类型。Android 12 还支持屏下指纹传感器
  • 添加了对屏下指纹传感器的支持
  • 引入了 Fingerprint Android 接口定义语言 (AIDL)
  • 支持新的 Face AIDL
  • 引入了 Rust 作为平台开发语言
  • 添加了可供用户仅授权应用访问其大致位置信息的选项
  • 当应用使用摄像头或麦克风时,现在状态栏上会显示隐私指示标志
  • Android 的 Private Compute Core (PCC)
  • 添加了用于停用 2G 支持的选项

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

每个 Android 版本中都包含数十项用于保护用户的安全增强功能。以下是 Android 7.0 中提供的一些主要安全增强功能:

  • 文件级加密:在文件级进行加密,而不是将整个存储区域作为单个单元进行加密。这种加密方式可以更好地隔离和保护设备上的不同用户和资料(例如个人资料和工作资料)。
  • 直接启动:通过文件级加密实现,允许特定应用(例如,闹钟和无障碍功能)在设备已开机但未解锁的情况下运行。
  • 验证启动:现在,验证启动会被严格强制执行,从而使遭到入侵的设备无法启动;验证启动支持纠错功能,有助于更可靠地防范非恶意数据损坏。
  • SELinux。更新后的 SELinux 配置和更高的 Seccomp 覆盖率有助于进一步锁定应用沙盒并减小受攻击面。
  • 库加载顺序随机化和改进的 ASLR。 增大随机性降低了某些代码重用攻击的有效性。
  • 内核加固:通过将内核内存的各个分区标记为只读,限制内核对用户空间地址的访问,并进一步减小现有的受攻击面,为更高版本的内核添加额外的内存保护。
  • APK 签名方案 v2:引入了一种全文件签名方案,该方案有助于加快验证速度并增强完整性保证。
  • 可信 CA 存储区。为了使应用更容易控制对其安全网络流量的访问,对于 API 级别为 24 及以上的应用,由用户安装的证书颁发机构以及通过 Device Admin API 安装的证书颁发机构在默认情况下不再受信任。此外,所有新的 Android 设备必须搭载相同的可信 CA 存储区。
  • 网络安全配置。通过声明式配置文件来配置网络安全设置和传输层安全协议 (TLS)。

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

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

Jede Android-Version enthält Dutzende von Sicherheitsverbesserungen zum Schutz der Nutzenden. Im Folgenden finden Sie einige der Sicherheitsverbesserungen, die in Android 4.4 verfügbar sind:

  • Die Android-Sandbox wird durch SELinux verstärkt. Android verwendet SELinux jetzt im Erzwingenmodus. SELinux ist eine obligatorische MAC-System (Access Control) im Linux-Kernel zur Erweiterung der vorhandenen Sicherheitsmodell auf Grundlage der diskretionären Zugriffssteuerung (DAC) Dies bietet zusätzlichen Schutz vor potenziellen Sicherheitslücken.
  • VPN pro Nutzer: Auf Geräten mit mehreren Nutzern werden VPNs jetzt pro Nutzer angewendet. Dadurch kann ein Nutzer den gesamten Netzwerkverkehr über ein VPN leiten ohne andere Nutzer des Geräts zu beeinträchtigen.
  • Unterstützung von ECDSA-Anbietern in AndroidKeyStore Android hat jetzt einen Schlüsselspeicheranbieter, der die Verwendung von ECDSA- und DSA-Algorithmen ermöglicht.
  • Warnungen zur Geräteüberwachung Android warnt Nutzer, wenn dem Gerätezertifikatsspeicher ein Zertifikat hinzugefügt wurde, mit dem der verschlüsselte Netzwerkverkehr überwacht werden kann.
  • FORTIFY_SOURCE Android unterstützt jetzt FORTIFY_SOURCE-Ebene 2 und der gesamte Code wird mit diesen Schutzmaßnahmen kompiliert. FORTIFY_SOURCE wurde für die Zusammenarbeit mit Clang.
  • Zertifikats-Pinning Android 4.4 erkennt und verhindert die Verwendung betrügerischer Google-Zertifikate, die bei der sicheren SSL/TLS-Kommunikation verwendet werden.
  • Sicherheitskorrekturen. Android 4.4 enthält außerdem Fehlerkorrekturen für Android-spezifische Sicherheitslücken. Informationen zu diesen Sicherheitslücken wurden Open zur Verfügung gestellt. Mitglieder und Fehlerbehebungen der Handset Alliance sind in Android Open Source verfügbar Projekt Zur Verbesserung der Sicherheit sind diese Korrekturen möglicherweise auch auf einigen Geräten mit älteren Android-Versionen verfügbar.

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)