Auf der Google I/O haben wir von den Verbesserungen erfahren, die Android Q mit sich bringt. Überall im neuen Android-Betriebssystem gibt es neue Sicherheits- und Datenschutzfunktionen und Verbesserungen.
Jede neue Version des Android-Betriebssystems bringt Verbesserungen in fast allen Aspekten mit sich, vom Design über die Funktionen bis hin zu APIs und mehr. Auf der Google I/O Anfang dieses Monats haben wir alles darüber erfahren Verbesserungen, die Android Q wird bringen, und natürlich wurden auch neue Datenschutz- und Sicherheitsankündigungen bei der Konferenz nicht außer Acht gelassen. Die Plattformsicherheit ist einer der wichtigsten Aspekte eines Betriebssystems, insbesondere für ein Betriebssystem, das wir überall in unserer Tasche dabei haben. Wenn Android nicht sicher wäre, würden wir ihm nicht halb so viele Funktionen zutrauen wie uns. NFC-Zahlungen kämen nicht in Frage, Filesharing wäre bestenfalls zweifelhaft und die Verbindung mit anderen Geräten wäre schlichter Wahnsinn. Trotz des seit langem bestehenden Problems der Versionsfragmentierung hat Google hervorragende Arbeit geleistet, um die Anzahl der Sicherheitsprobleme auf ein Minimum zu beschränken.
Android hat sich zu einem Betriebssystem entwickelt, das sowohl funktionsreich als auch äußerst sicher ist. Aber es gibt natürlich immer Raum für Verbesserungen. Es gibt viele Faktoren, die zu dieser Sicherheit beitragen, und einige davon werden mit Android Q in irgendeiner Weise verbessert.
Verschlüsselung
Da es sich um eine der grundlegendsten Sicherheitsmethoden handelt, ist es wichtig, dass jedes Gerät eine starke Verschlüsselung unterstützt. Viele OEMs liefern ihre Geräte heutzutage mit dedizierter Verschlüsselungshardware aus. Das ist zwar vorteilhaft, aber auch teuer. Daher ist dedizierte Hardware in der Regel auf Geräte der mittleren bis oberen Preisklasse beschränkt. Das soll nicht heißen, dass es sich um Low-End-Geräte handelt kann nicht unterstützen Verschlüsselung, aber ohne hardwarebeschleunigte Verschlüsselung wird die allgemeine Benutzererfahrung aufgrund langsamer Lese-/Schreibzeiten beeinträchtigt. Hier kommt Adiantum ins Spiel.
Adiantum
Im Februar kündigte Google Adiantum als Alternative an Verschlüsselungsalgorithmus für Telefone der unteren Preisklasse die keine regulären AES-Befehlssätze unterstützen. Adiantum wurde speziell für den Betrieb ohne dedizierte Hardware entwickelt. Es dient als leichtere Alternative zur regulären AES-Verschlüsselung von Android. Googles Benchmarks Sagen Sie uns, dass es tatsächlich fünfmal schneller als AES ist, mit dem Nachteil, dass es bei der Sicherheit leichte Kompromisse eingeht. Dies macht es zum idealen Kandidaten für Telefone der unteren Preisklasse, beispielsweise solche mit Android Go Edition. Adiantum gilt auch für Produkte wie Smartwatches und eine Vielzahl von Geräten für das Internet der Dinge.
Bisher war Adiantum optional; Hersteller konnten es auf Geräten aktivieren, die mit Android Pie starteten, aber es war nicht der Standard-Verschlüsselungsalgorithmus. Jetzt ist Adiantum nativ als Teil von Android Q enthalten. Dies bedeutet, dass alle Geräte, die mit Q gestartet werden, ausnahmslos Benutzerdaten verschlüsseln müssen. Daher verfügen Geräte, die mit Android Q starten, garantiert über eine Speicherverschlüsselung, sei es über Adiantum oder nicht.
Jetpack-Sicherheitsbibliothek
Jetpack ist eine Reihe von Android-Unterstützungsbibliotheken und eine der neuesten Ergänzungen ist in Alpha: die Jetpack Security Library. Die Bibliothek vereinfacht den Prozess der Sicherung Ihrer Anwendung, indem sie Dinge wie die Verwaltung hardwaregestützter Keystores und die Generierung und Validierung von Schlüsseln übernimmt.
TLS 1.3
Allerdings ist die Speicherung nicht der einzige Bereich, in dem die Verschlüsselung verbessert wurde. Die Kommunikation mit anderen Geräten wurde durch die Einführung von erheblich verbessert TLS 1.3-Unterstützung standardmäßig. TLS 1.3 ist der neueste kryptografische Netzwerkstandard, der im August 2018 von der IETF fertiggestellt wurde. TLS 1.3 bietet mehr Privatsphäre beim Datenaustausch, indem mehr Verhandlungs-Handshakes verschlüsselt werden. Darüber hinaus ist es schneller als TLS 1.2, da beim Handshake für den Verbindungsaufbau ein ganzer Hin- und Rückweg entfällt. In Verbindung mit effizienteren modernen Algorithmen führt dies zu einer Geschwindigkeitssteigerung von bis zu 40 %.
TLS ist jetzt direkt über Google Play aktualisierbar, da es Teil der „Conscrypt“-Komponente ist. Sie können mehr darüber und über Project Mainline lesen Hier.
Da wir täglich so vielen sensiblen Transaktionen auf unseren Geräten vertrauen, ist das aktualisierte TLS wichtiger denn je. Aufbewahrung von Bordkarten – und sogar Digitale Führerscheine irgendwann in der Zukunft - auf Android bedeutet, dass alle Geräte Benutzerdaten so gut wie möglich verschlüsseln sollten. Adiantum und erzwungene Verschlüsselung werden den Weg dafür ebnen, dass selbst die sensibelsten Daten auf den billigsten Geräten gespeichert werden. Doch die Verschlüsselung ist nicht die einzige Möglichkeit, mit der Google in der Q-Version die Sicherheit von Android erhöht.
Änderungen an Berechtigungen und Datenschutz in Android Q
Bereichsgebundener Speicher
Scoped Storage ist eine neue Schutzmaßnahme, die Apps daran hindert, Dateien im externen Speicher zu lesen/schreiben, die nicht in ihrem eigenen appspezifischen Sandbox-Verzeichnis enthalten sind. Das Ziel von Google ist dreifach: eine bessere Zuordnung, welche Apps die Kontrolle über welche Dateien haben, der Schutz von App-Daten und der Schutz von Benutzerdaten.
Google verdoppelt die Nutzung der MediaStore-API für geteilte Audio-, Video- und Bildinhalte. Standardmäßig können alle Apps ihre eigenen Dateien in den MediaStore einfügen, ändern oder löschen. Bilder, MediaStore. Video und MediaStore. Audiosammlungen, ohne dass Berechtigungen erforderlich sind. Android Q fügt auch ein neues hinzu MediaStore. Downloads Sammlung zum Speichern von vom Benutzer heruntergeladenen Inhalten, zu denen alle Apps, die die MediaStore-API verwenden, beitragen können. Während in Sandbox-App-spezifischen Verzeichnissen gespeicherte Dateien bei der Deinstallation gelöscht werden, bleiben alle zu den MediaStore-Sammlungen beigetragenen Dateien über die Deinstallation hinaus bestehen.
Um auf Dateien zuzugreifen, die von einer anderen App erstellt wurden – unabhängig davon, ob sich die Datei in einer der MediaStore-Sammlungen oder außerhalb davon befindet – muss die App das Storage Access Framework verwenden. Darüber hinaus werden EXIF-Metadaten von Bildern geschwärzt, es sei denn, Ihrer App wurde die neue Berechtigung ACCESS_MEDIA_LOCATION gewährt. In Android Q können Apps auch steuern, auf welchem Speichergerät Medien landen sollen, indem sie dessen Volume-Namen mit getExternalVolume() abfragen.
Google hat zunächst allen Apps in Android Q unabhängig von ihren Ziel-API-Levels Scoped Storage-Einschränkungen auferlegt, aber nach Rückmeldungen hat das Unternehmen dies getan den Entwicklern mehr Zeit geben Anpassungen vorzunehmen. Die vollständigen Details zu den Scoped Storage-Änderungen finden Sie hier auf dieser Seite, und Sie können mehr über die Empfehlungen von Google zu den Best Practices für Shared Storage erfahren von Ich schaue mir dieses Google I/O an sprechen.
Warnungen für Apps mit einem API-Level < 23
Damit enden die Berechtigungsbeschränkungen jedoch noch nicht. Die Installation einer App, die auf eine API-Ebene unter 23 (Android Lollipop oder älter) abzielt, führt dazu, dass das Betriebssystem dem Benutzer eine Warnung anzeigt, wenn die App bei der Installation vertrauliche Berechtigungen anfordert. Vor der Installation haben Benutzer die Möglichkeit, manuell festzulegen, welche Berechtigungen sie der App erteilen möchten, bevor sie fortfahren. Daher erlaubt Android Q Apps nicht mehr, Laufzeitberechtigungen zu umgehen.
Eventuell SYSTEM_ALERT_DEPRECATION zugunsten der Bubbles-API
Bubbles-API in Aktion. Quelle: Google.
Die Overlay-Berechtigung (SYSTEM_ALERT_WINDOW) kann für Apps, die unter Android Q (Go Edition) ausgeführt werden, nicht mehr gewährt werden. Für Nicht-Go-Edition-Geräte drängt Google Entwickler zur neuen Bubbles-API. Die Bubbles-API ist eine Funktion, die eingeführt wurde Android Q Beta 2 Dies ermöglicht Funktionen, die den Chatköpfen von Facebook Messenger ähneln. Benachrichtigungen von Apps erscheinen als kleine Blasen an den Rändern des Bildschirms, die sich vergrößern, wenn der Benutzer darauf tippt. Innerhalb der Blase kann eine App eine Aktivität anzeigen.
Diese Änderung war notwendig, da das freie Zeichnen von Overlays über andere Apps durch Apps offensichtliche Sicherheitsrisiken birgt. Das berüchtigte „Umhang und Dolch„Exploit nutzte diese Schwäche ausgiebig aus. Die Funktionalität der Overlay-API war bereits bei Android Oreo eingeschränkt, aber jetzt hat die Go-Edition von Android Q den Zugriff auf die API mit einem vollständig entfernt zukünftige Version, um es vollständig zu verwerfen.
Beschränkungen für den Start von Hintergrundaktivitäten
Apps im Hintergrund können unabhängig von ihrer Ziel-API-Ebene nicht mehr automatisch eine Aktivität starten, während das Telefon entsperrt ist. Es gibt eine ganze Liste von Bedingungen, unter denen Apps nun Aktivitäten starten können, die Sie nachlesen können Hier. Hintergrund-Apps, die diese Bedingungen nicht erfüllen und dringend eine Aktivität starten möchten, müssen den Benutzer nun über eine Benachrichtigung informieren. Wenn die Benachrichtigung mit einer ausstehenden Absicht im Vollbildmodus erstellt wird, wird die Absicht sofort gestartet, wenn der Bildschirm ausgeschaltet ist – nützlich für Alarme oder eingehende Anrufe.
Zugriffsbeschränkung für die Hintergrund-Zwischenablage
Der Zugriff auf die Zwischenablage im Hintergrund ist möglich nicht mehr möglich. Jede Anwendung, die sich nicht im Vordergrund befindet oder als Standardeingabemethode festgelegt ist, kann Ihre Zwischenablage in keiner Weise lesen. Besonders hart trifft dies Apps wie den Zwischenablage-Manager. Laut Google betrifft diese Änderung nur Apps, die ausschließlich auf Android Q abzielen. Unsere Tests zeigen jedoch, dass die Einschränkung keine Diskriminierung darstellt. Keine der Apps, die wir ausprobiert haben, konnte die Zwischenablage nicht sehen.
Diese Änderung ist natürlich sinnvoll. Wir kopieren oft vertrauliche Informationen in die Zwischenablage – Dinge wie Passwörter und Kreditkartendaten –, aber es ist trotzdem schade, wenn Zwischenablage-Manager den Bach runtergehen.
Standortzugriff nur, während eine App verwendet wird
Eine neue benutzeraktivierte Einstellung ermöglicht es Apps nur, Ihren Standort zu erreichen, während die App verwendet wird. Die neueste Betaversion von Android Q hat außerdem eine Benachrichtigung hinzugefügt, die Sie daran erinnert, wenn Sie einer App dauerhaften Zugriff auf den Standort gewährt haben.
Rollen
Eine neue „Rollen“-API wurde hinzugefügt. Rollen sind im Wesentlichen Gruppen mit voreingestellten Zugriffsberechtigungen. Beispielsweise könnten Apps mit der Galerie-Rolle Zugriff auf Ihre Medienordner haben, während Apps mit der Dialer-Rolle möglicherweise Anrufe bearbeiten können. Apps, denen vom Benutzer eine bestimmte Rolle zugewiesen wird, müssen ebenfalls über die erforderlichen Komponenten verfügen. Apps mit der Galerierolle müssen beispielsweise über den Aktionsabsichtsfilter verfügen Android.Absicht.Aktion.HAUPTSÄCHLICH und der Kategorie-Intent-Filter android.intent.category. APP_GALLERY um in den Einstellungen als Galerie-App angezeigt zu werden.
Kachel „Sensoren aus“ – Schnelleinstellungen
Es gibt eine neue Schnelleinstellungskachel „Sensoren aus“, mit der die Messwerte deaktiviert werden alle Sensoren (Beschleunigungsmesser, Gyroskop usw.) auf Ihrem Gerät für echte Privatsphäre. Diese Kachel für die Schnelleinstellungen ist standardmäßig ausgeblendet, kann jedoch aktiviert werden, indem Sie in den Entwickleroptionen zu den „Entwicklerkacheln für Schnelleinstellungen“ gehen.
Einschränkungen für /proc/net
Apps können nicht mehr Zugriff auf Prozess/Netz, wodurch Dienste wie Netstat nicht mehr nutzbar sind. Dies schützt Benutzer vor bösartigen Apps, die überwachen, mit welchen Websites und Diensten sie eine Verbindung herstellen. Apps, die kontinuierlichen Zugriff benötigen, wie z. B. VPNs, müssen das verwenden NetworkStatsManager Und ConnectivityManager Klassen.
Zufällige MAC-Adressen
Ihre MAC-Adresse ist eine eindeutige Kennung, die Netzwerke verwenden, um sich zu merken, welches Gerät welches ist. In Android Q verwendet Ihr Gerät jedes Mal, wenn Sie eine Verbindung zu einem neuen Netzwerk herstellen, eine neue, zufällige MAC-Adresse. Infolge, Netzwerke können Ihren Standort nicht verfolgen indem Sie die WLAN-Netzwerke, mit denen Sie eine Verbindung herstellen, mit der MAC-Adresse Ihres Telefons abgleichen. Die tatsächliche, werkseitige MAC-Adresse des Geräts kann von Apps weiterhin über das abgerufen werden getWifiMacAddress() Befehl.
Plattformhärtung in Android Q
Ein einzelner Fehler in Android bedeutet nicht, dass Angreifer nun vollen Zugriff auf das Betriebssystem haben oder etwaige Sicherheitssysteme umgehen können. Dies ist zum Teil auf eine Reihe von Schutzmaßnahmen zurückzuführen, wie z. B. Prozessisolation, Reduzierung der Angriffsfläche, Architekturzerlegung und Exploit-Abwehr. Diese Sicherheitsmaßnahmen machen die Ausnutzung von Schwachstellen schwieriger oder sogar unmöglich. Daher benötigen Angreifer typischerweise eine Vielzahl von Schwachstellen, bevor sie ihre Ziele erreichen können. In der Vergangenheit haben wir Angriffe erlebt wie DRAMMER die funktionieren, indem sie mehrere Exploits miteinander verketten.
Android Q übernimmt Sicherheitsmaßnahmen wie diese und wendet sie neben dem Kernel auch auf sensiblere Bereiche wie die Medien- und Bluetooth-Komponenten an. Dies bringt einige deutliche Verbesserungen mit sich.
- Eine eingeschränkte Sandbox für Software-Codecs.
- Verstärkter Einsatz von Sanitizern in der Produktion, um ganze Klassen von Schwachstellen in Komponenten zu entschärfen, die nicht vertrauenswürdige Inhalte verarbeiten.
- Shadow Call Stack, der Backward-Edge Control Flow Integrity (CFI) bietet und den Forward-Edge-Schutz ergänzt, der durch LLVMs CFI bereitgestellt wird.
- Schutz der Adressraum-Layout-Randomisierung (ASLR) vor Lecks mithilfe von eXecute-Only Memory (XOM).
- Einführung des gehärteten Scudo-Allokators, der die Ausnutzung einer Reihe von Heap-Schwachstellen schwieriger macht.
Das ist viel Software-Jargon. Das Wesentliche daran ist, dass Software-Codecs jetzt in Sandboxes laufen, die weniger Privilegien haben, was bedeutet, dass sie es sind Es ist weniger wahrscheinlich, dass bösartige Software Befehle ausführen kann, die Ihrem Gerät schaden könnten, wie zum Beispiel in diesem Fall von Lampenfieber schon im Jahr 2015.
Zweitens prüft Android jetzt an mehr Stellen auf Array-Zugriffe außerhalb der Grenzen sowie auf Überläufe. Durch die Verhinderung von Überläufen und die Anweisung, Prozesse sicher zum Scheitern zu bringen, wird der Prozentsatz an Schwachstellen im Userspace erheblich verringert. Dies bedeutet, dass ein Schadprogramm absichtlich versucht, etwas zum Absturz zu bringen Wenn Sie Zugriff auf Daten erhalten, die nicht vorhanden sind, erkennt Android dies jetzt und beendet das Programm stürzt ab.
Drittens schützt Shadow Call Stack Rücksprungadressen, indem es sie in einem separaten Shadow Stack speichert, sodass sie für normale Programme unzugänglich sind. Rücksprungadressen sind in der Regel Zeiger auf Funktionen. Daher ist der Schutz dieser Adressen wichtig, um sicherzustellen, dass Angreifer nicht auf Funktionen zugreifen können, auf die sie keinen Zugriff haben sollten.
Viertens ist ASLR eine Schutzmethode, die zufällig angibt, wo Programme im Speicher gespeichert werden Es ist schwieriger herauszufinden, wo Programme im Speicher gespeichert sind, basierend auf dem Speicherort anderer Programme Programme. Nur-eXecute-Speicher verstärkt dies, indem er Code unlesbar macht.
Schließlich ist Scudo ein dynamischer Heap-Allokator, der den Speicher proaktiv auf eine Weise verwaltet, die die Ausnutzung von Heap-basierten Schwachstellen erheblich erschwert. Sie können mehr darüber lesen Hier.
Authentifizierung
Aktualisierungen für BiometricPrompt in Android Q
Google hat vor über einem Jahr die neue BiometricPrompt API eingeführt Android P Developer Preview 2. Es sollte eine generische Android-Eingabeaufforderung für biometrische Entsperrmethoden sein. Die Idee ist, dass Geräte, die mehr als nur das Scannen von Fingerabdrücken unterstützen, z.B. Iris-Scanner auf der Samsung Galaxy S-Reihe können diese Methoden verwenden, wenn Apps eine Verifizierung anfordern.
Android Q bietet robuste Unterstützung für die Gesichts- und Fingerabdrucküberprüfung und erweitert die API, um implizite Authentifizierung zu unterstützen. Die explizite Authentifizierung erfordert, dass sich der Benutzer auf irgendeine Weise authentifiziert, bevor er fortfährt, während die implizite keine weitere Benutzerinteraktion erfordert.
Darüber hinaus können Apps jetzt auf einfache Weise prüfen, ob ein Gerät die biometrische Authentifizierung unterstützt Funktionsaufruf, sodass sie keine Zeit mit dem Aufrufen eines BiometricPrompt auf Geräten verschwenden müssen, die dies nicht tun unterstütze es. Eine ideale Verwendung hierfür wäre, wenn Apps eine Einstellung „Biometrische Anmeldung aktivieren“ basierend darauf bereitstellen möchten, ob ein Gerät die biometrische Authentifizierung unterstützt oder nicht.
Die Bausteine für die Unterstützung elektronischer IDs
Anfang dieses Jahres haben wir Beweise dafür entdeckt, dass Google dies tut Ich arbeite an der Unterstützung elektronischer Ausweise in Android. Auf der I/O hat Google uns über den Fortschritt der Funktion informiert. Google gibt an, mit der ISO zusammenzuarbeiten, um die Implementierung mobiler Führerscheine zu standardisieren, wobei elektronische Reisepässe in Arbeit sind. Für Entwickler stellt Google eine Jetpack-Bibliothek zur Verfügung, damit mit der Erstellung von Identitäts-Apps begonnen werden kann.
Projekthauptlinie in Android Q
Project Mainline ist ein großes Vorhaben von Google, die Fragmentierung bestimmter Systemmodule und Apps zu reduzieren. Google wird Updates für etwa 12 Systemkomponenten über den Play Store steuern. Wir haben ausführlich über Project Mainline gesprochen in einem früheren Artikel wenn Sie daran interessiert sind, mehr zu lesen.
Abschluss
Sicherheit war schon immer ein zentraler Bestandteil der Android-Entwicklung. Google hat beeindruckende Arbeit geleistet, Android mit den neuesten Sicherheitsfunktionen auf dem neuesten Stand zu halten und auch einige eigene Innovationen eingeführt. Sie setzen diesen Entwicklungsprozess mit Android Q fort und packen es voll mit Sicherheitsfunktionen, die dafür sorgen, dass Ihre Daten sicherer als je zuvor sind.
Quelle 1: Was ist neu in der Android Q-Sicherheit? [Google]
Quelle 2: Sicherheit auf Android: Was kommt als nächstes? [Google]
Quelle 3: Die Härtungsverbesserungen in die Warteschlange stellen [Google]
Mit Beiträgen von Mishaal Rahman und Adam Conway.