Eine potenzielle Sicherheitslücke in der Autofill-API von Android Oreo ermöglicht es Passwort-Managern, Daten wie Passwörter, Adressen oder Kreditkarten preiszugeben.
Automatisch ausfüllen ist eine der größten und bekanntesten neuen Funktionen, die mit der Veröffentlichung von Android 8.0 Oreo eingeführt wurden. Viele verschiedene Apps zur Passwortverwaltung, wie LastPass, haben diese neue API bereits in ihre Anwendungen implementiert. Und obwohl es so sein kann eine ziemliche Verbesserung Im Vergleich zu den vorherigen Autofill-Implementierungen mit Accessibility Services gibt es eine potenzielle Sicherheitslücke, die berücksichtigt werden muss. Letzten Monat wurde auf GitHub ein Whitepaper veröffentlicht, das einen inhärenten Fehler in der Android Oreo Autofill API dokumentiert, der dazu führen könnte Dies kann möglicherweise dazu führen, dass Ihr Passwort-Manager mehr Ihrer persönlichen Daten preisgibt, als Sie ihm gestattet haben. Wir werden einen kurzen Überblick über das Whitepaper von Mark Murphy (besser bekannt als) geben
CommonsWare) und am 8. August 2017 auf seiner GitHub-Seite veröffentlicht.Möglicher Datenleckfehler in der Autofill-API von Android Oreo
Wie funktioniert der Fehler?
Die Autofill-Implementierung in Android Nougat (und niedrigeren Versionen) und Browsern wie Google Chrome ist wirklich einfach. Normalerweise nutzen Passwortverwaltungs-Apps die Barrierefreiheitsdienste, um den Bildschirminhalt nach einem Anmeldefeld zu durchsuchen und basierend auf dem, was sie finden, Autofill-Daten zu empfehlen. Während es funktionierte, war es könnte zu erheblichen Verzögerungen führen.
Auf Android Oreo funktioniert dies etwas anders, da Passwort-Apps jetzt offiziell mit der Autofill-API unterstützt werden. Passwortanwendungen von Drittanbietern erfordern keine Barrierefreiheitsdienste mehr, da sie nun die Rolle eines Autofill-Dienstes übernehmen und über das Autofill Framework mit Apps kommunizieren können. Wenn sich der Benutzer auf ein Widget konzentriert, packt das System einige Informationen zu diesem Widget/Formular und sendet sie an die Autofill-App. Die Anwendung gibt dann relevante Autofill-Daten wie Passwörter, E-Mails, Kreditkarten oder andere sensible Daten zurück. Das Android-System fungiert als Vermittler zwischen der Anwendung, die die Daten speichert, und der Anwendung, die sie anfordert.
Allerdings können bösartige Apps oder Malware die Funktion zum automatischen Ausfüllen tatsächlich ausnutzen, um mehr Daten für sich selbst zu erhalten. Eine böswillige Aktivität kann Fordern Sie die Eingabe zusätzlicher Autofill-Daten mit einem unsichtbaren oder ausgeblendeten Widget an. Während der Benutzer zustimmt, eines der sichtbaren Widgets auszufüllen, etwa ein Anmeldeformular oder etwas Ähnliches, erhält das unsichtbare Widget auch zusätzliche Daten, ohne dass Sie diese sehen. Dies kann wirklich gefährlich sein, wenn es sich bei den durchgesickerten Informationen um Ihr Passwort, Ihre Adresse oder Ihre Kreditkartendaten handelt!
Die Screenshots oben zeigen eine bösartige Testanwendung, die diese Sicherheitslücke ausnutzt.
Googles Antwort auf das Problem
Laut CommonsWare gibt es für dieses Sicherheitsproblem noch keine öffentliche Lösung von Google. Wir wissen jedoch, dass Google sich des Problems bewusst ist. CommonsWare gibt an, dass die Google-Ingenieure in einem privaten Issue-Tracker-Bericht bestätigt haben, dass das Problem existiert, es aber nicht der Fall ist Es wäre schwierig (wenn nicht unmöglich), es tatsächlich zu patchen oder einen Fix einführen.
Aber Das bedeutet nicht, dass die Verwendung von Autofill völlig unsicher ist, da Google einen anderen Ansatz zur Gewährleistung der Datensicherheit verfolgt. Das Unternehmen ist Ich dränge darauf, dass Autofill-Dienste das Problem selbst lösen und versucht daher, das Bewusstsein der Entwickler zu schärfen, ihre Autofill-Anbieter zu verbessern und sicherer zu machen. Was genau wird vorgeschlagen?
Zuallererst Autofill-Anbieter sollten ihre Daten partitionieren. Anstatt alle Autofill-Daten in einem einzigen Pool zu speichern, sollten Entwickler die in Partitionen gespeicherten Benutzerdaten aufteilen. Zum Beispiel eine Adressen-/Telefonpartition, eine Kreditkartenpartition, eine Passwort-/Benutzernamenpartition usw. Der Autofill-Dienst sollte je nach fokussiertem Widget jeweils nur die Daten einer Partition zurückgeben. Dies ist einer der öffentlich zugängliche Seiten auf Autofill-Apps, die sich vor der Weitergabe von Daten an unsichtbare Widgets schützen.
Den Google-Ingenieuren zufolge gibt es noch einige andere Dinge, die Entwickler von Passwort-Managern tun sollten. Beispielsweise sollte der Autofill-Anbieter die Daten nur an die spezifische App zurückgeben, die sie ursprünglich bereitgestellt hat. Dies sollte durch die Überprüfung des Paketnamens und der öffentlichen Signatur der Anwendung erfolgen, sodass nicht einmal ein modifiziertes APK darauf zugreifen kann. Die andere Sache wäre, dass Autofill-Apps eine Authentifizierung erfordern, bevor die Daten tatsächlich bereitgestellt werden Diese Authentifizierungsaktivität informiert den Benutzer darüber, welche Art von Daten der anfordernden App bereitgestellt werden. Dieser Rat weist tatsächlich viele Fehler auf. Der wichtigste ist, dass diese Ratschläge von Google nicht wirklich durchgesetzt werden.
Bedenken Sie, dass viele der oben genannten Vorschläge dem privaten Issue-Tracker-Bericht von CommonsWare entnommen sind und nicht einer offiziellen Google-Dokumentationsseite. Für eine weitere, eher technische Aufschlüsselung, wie sich Apps, die die Autofill-API verwenden, vor dieser Art von Angriff schützen können, empfehlen wir Ihnen dringend, die zu lesen Vollständiges Whitepaper von CommonsWare.
Welche Apps sind vor diesem Fehler sicher?
Wir haben die Entwickler von 1Password, Enpass und LastPass bezüglich dieser Sicherheitslücke kontaktiert, ebenso wie die Sicherheitsteams hinter diesen drei Apps behauptet dass sie sind sicher, obwohl wir diese Behauptungen noch nicht überprüft haben.
Wie wir in den obigen Aussagen sehen können, erfordert 1Password vor dem Ausfüllen der Daten eine Authentifizierung des Benutzers und teilt ihm auch mit, welche Daten im Voraus eingegeben werden. Dies hilft auch beim Problem des stillen Ausfüllens, da für jede einzelne Aktivität ein Authentifizierungs-Popup angezeigt wird, in dem nach Daten zum automatischen Ausfüllen gefragt wird.
Enpass wird niemals den gesamten Schlüsselbund an die anfordernde App weitergeben, egal ob böswillig oder echt. Nur die gespeicherten Elemente, die dem Paketnamen der anfordernden App entsprechen, werden dem Benutzer angezeigt. Sie bestätigten außerdem, dass sie auf Empfehlung von Google weitere Maßnahmen ergreifen werden.
Darüber hinaus bestätigte uns LastPass, dass sie von dem Problem zwar vor der Veröffentlichung von Android Oreo nichts wussten, ihre App es jedoch nutzt Datenpartitionierung zum Schutz der Benutzer sowie weitere Prüfungen, um sicherzustellen, dass LastPass nur die mit dem Eintrag verknüpfte App ausfüllt.
Während es bei der Verwendung dieser drei Anwendungen absolut keine Probleme geben sollte, sollten Sie sie deaktivieren, wenn Sie völlig im Klaren sein möchten Füllen Sie das automatische Ausfüllen auf Ihrem Telefon vollständig aus, bis Sie mit Ihrem Passwort-Manager-Entwickler bestätigen können, dass seine App vor dieser Art von Passwort geschützt ist Attacke. Glücklicherweise können Sie dies ganz einfach tun, indem Sie zu „Einstellungen“ > „System“ > „Sprachen & Eingabe“ > „Erweitert“ gehen und die Einstellung „Autofill-Dienst“ suchen, darauf tippen und „Keine“ auswählen.
Wie bereits erwähnt, ist nicht bekannt, ob Google hierfür tatsächlich eine Lösung anbieten kann. Daher ist die Verwendung vertrauenswürdiger Apps oder die einfache Deaktivierung der Funktion die einzige Möglichkeit, auf der sicheren Seite zu bleiben. Wenn Sie mehr zu diesem Thema und allen damit verbundenen Details erfahren möchten, sollten Sie sich das Original durchlesen Whitepaper, das dies dokumentiert auf GitHub.
Dieser Artikel wurde am 13.09.17 aktualisiert, um die Auswirkungen der Antworten von LastPass, Enpass und 1Password genauer wiederzugeben.