Cloak and Dagger: Eine Sicherheitslücke bei allen Android-Versionen

2 Jun 2017

Warnung: Dies ist keine Übung. Betroffen sind alle Android-Versionen und zum Zeitpunkt der Veröffentlichung dieses Artikels hat Google die Schwachstelle noch nicht beseitigt. Es ist genau diese Schwachstelle, die es ermöglicht Benutzerdaten – samt Passwörtern – zu stehlen, Handlungen des Users zu registrieren, die Tastatureingabe eines Android Smartphones oder Tablets aufzuzeichnen und Anwendungen zu installieren,  die mit einer Reihe von Berechtigungen einhergehen. Warnung: Dies ist keine Übung…

Cloak and Dagger: A hole in Android

Die Attacke Cloak and Dagger, benannt nach der gleichnamigen US-amerikanischen Fernsehserie von Marvel, wurde von Mitarbeitern der Technischen Universität Georgia und der Universität Kaliforniens nachgewiesen. Die Forscher versuchten Google wiederholte Male auf das Problem aufmerksam zu machen, jedoch ohne Erfolg: Google speiste sie mit der Anwort, dass alles nach Plan verlaufen würde ab. Die Forscher sahen sich daraufhin gezwungen ihre Erkenntnisse publik zu machen. Zu diesem Zweck wurde sogar die Webseite cloak-and-dagger.org ins Leben gerufen.

Wesentliches der Attacke

Zusammengefasst liegt die Attacke der Nutzung einer App von Google Play zu Grunde: Obwohl die App den User nicht nach einer Bestätigung spezifischer Berechtigungen fragt, erhalten die Angreifer die Berechtigung dem Interface dieser App Priorität zu verleihen und im Namen des Users Aktionen durchzuführen ohne dass dieser es bemerkt.

Ermöglicht wird die Attacke da der User bei der Installation von Apps aus dem Google Play Store nicht explizit dazu aufgefordert wird Anwendungen den Zugang zur Funktion SYSTEM_ALERT_WINDOW zu gewähren. Die Berechtigung auf den ACCESSIBILITY_SERVICE (A11Y) zuzugreifen ist hingegen relativ simpel.

Um welche Berechtigungen es sich hierbei handelt? Die erste der beiden erlaubt das Interface einer App vorrangig im Vergleich zu anderen Apps anzuzeigen. Die zweite Berechtigung gewährt den Zugang zu einer Reihe von Funktionen, die für Personen mit Hör- oder Sehstörungen zugängig sind. Der Zugang zu dem so genannten Accessibility Service (Dienst der Barrierefreiheit) ist äußerst gefährlich, da dieser Dienst einer Anwendung Folgendes ermöglicht: Zum einen kann überwacht werden was zeitgleich in anderen Apps passiert, zum anderen kann im Namen des Users zwischen den unterschiedlichen Anwendungen interagiert werden.

Was dabei schief gehen könnte?

Eine unsichtbare Ebene

Das Wesentliche dieser Attacken, die mithilfe der Berechtigung SYSTEM_ALERT_WINDOW ausgeführt werden ist grob gesagt Folgendes: Die Berechtigung, die Google Play standardmäßig erteilt, erlaubt einer spezifischen App jeglichen Inhalt vorranig im Vergleich zu allen anderen Apps anzuzeigen. Zudem können angezeigte Fenster beliebige Formen annehmen, unter anderem auch Löcherformen. So kann entweder die Tastatureingabe auf dem Bildschirm aufgezeichnet oder diese Aufzeichnung einer anderen App, die auf einer niedrigeren Ebene ausgeführt wird überlassen werden.

Es ist zum Beispiel möglich eine transparente Ebene zu kreieren, die die virtuelle Tastatur eines Android-Gerätes überlappt und so alle Tastatureingaben, die auf dem Bildschirm getätigt werden aufzeichnet. Die Korrelation zwischen der Stelle, die der User auf dem Bildschirm  hat und dem Tastaturtyp, ermöglicht es dem Angreifer die Tastatureingaben des Users, die mit genau dieser Tastatur getätigt wurden herauszufinden. Und Voila – ein neuer Keylogger ist zur Tat bereit! Dies ist eines der Beispiele, das die Forscher zur Darstellung der Attacke präsentierten.

Im Allgemeinen ist SYSTEM_ALERT_WINDOW eine äußert gefährliche Berechtigung; Google selbst gibt zu, dass sie nur für ausgesuchte Apps verwendet werden sollte. Dennoch hat Google die Entscheidung getroffen, diese Berechtigung seitens Google Play zu gewähren ohne den User explizit darüber zu informieren, denn: beliebte Apps wie Facebook Messenger, Skype und Twitter verlangen nach dieser Berechtigung. Leider stehen sich Sicherheit und Unkompliziertheit meist im Weg.

Die Gefahren der Funktionen der Barrierefreiheit

Auf den ersten Blick sind die Absichten der zweiten Berechtigung (Barrierefreiheit) gut: sie erleichtert den Personen mit Hör- oder Sehstörungen den Gebrauch von Android-Geräten. In der Praxis teilt dieses Feature-Bündel den Apps jedoch eine große Anzahl von Berechtigungen zu, die meist komplett zweckentfremdet werden.

Gehen wir davon aus, dass eine App mit Zugang zur Barrierefreiheit (zum Beispiel um Elemente laut vorzulesen) Zugriff auf jegliche Informationen erhalten kann, die Auskunft darüber geben, was genau auf dem Gerät passiert: welche Apps geöffnet wurden, was der User antippt oder wann und welche Benachrichtigungen erscheinen. Das bedeutet, dass die App bestens über die Nutzung des Gerätes informiert ist. Und das ist noch lange nicht alles: Die App kann nicht nur Aktivitäten aufzeichnen, sondern auch verschiedene Aktionen im Namen des Users ausführen.

Im Großen und Ganzen ist sich Google darüber bewusst, dass die Berechtigung der Accessibility den Anwendungen grünes Licht gibt. Deshalb ist es notwendig, dass die Funktion Accessibility individuell für jede Anwendung in einem speziellen Menü in den Einstellungen des Smartphones deaktiviert wird.

Das Problem liegt darin, dass die Angreifer durch die Verwendung der ersten Berechtigung (SYSTEM_ALERT_WINDOW) und durch die geschickte Darstellung von Fenstern, die den größten Teil des Bildschirms abgesehen von der Schaltfläche „OK“ überlappen, die User davon überzeugen können Dingen unbewusst zuzustimmen während sie der App in Wirklichkeit Zugang zum Accessibility-Dienst verleihen.

Die Funktion der Barrierefreiheit kann probemlos Zusammenhänge erfassen und im Namen der User handeln: Einkäufe im Google Play Store sind problemlos möglich. Folglicherweise ist es für die Angreifer eine Leichtigkeit Google Play zu benutzen um eine Spionage-App zu downloaden, die ihnen daraufhin sämtliche Genehmigungen erteilen kann.

Paradebeispiel des Phishings

Der Zugriff auf die Funktion SYSTEM_ALERT_WINDOW und ACCESSIBILITY_SERVICE ermöglicht Betrügern Phishing-Attacken durchzuführen ohne den Verdacht des Users zu erregen.

Wenn ein User zum Beispiel die Anwendung Facebook öffnet und versucht seinen Benutzernamen und sein Passwort einzugeben ist es möglich, dass die App, die über die Berechtigung der Accessibility verfügt diese Eingabe ausfindig macht. Daraufhin wird dem User mithilfe der Funktion SYSTEM-ALERT WINDOW und der Fähigkeit mehrere Fenster gleichzeitig zu überlappen ein Phishing-Fenster in Facebook-Farben angezeigt, auf dem der nichtsahnende User im Anschluss seine Accountdaten eingibt.

In diesem Fall erlaubt die Kenntniss des Kontextes den Entwicklern das Phishing-Fenster nur dann an der richtigen Stelle anzuzeigen wenn der User sein Passwort eingeben möchte. Da sich der User wie erwartet nach Eingabe des Passworts bei Facebook einloggt, gibt es auch keinen Grund Verdacht zu schöpfen.

Attacken wie die oben genannten sind nichts Neues für Sicherheitsforscher und tragen sogar einen Namen: Tapjacking. Google hat den App-Entwicklern von Android eine Möglichkeit gegeben zurückzuschlagen: überprüfen zu können ob eine App überlappt wird. In diesem Falle wäre es dem User nicht möglich einige Aktionen durchzuführen. Deshalb sind die meisten Bank-Apps gegen Attacken wie Cloak and Dagger geschützt. Der einzige Weg um 100%ig sicher zu gehen, dass eine solche App allerdings nicht anfällig für Attacken wie diese ist, ist den Hersteller zu kontaktieren.

Wie Sie ihr Gerät vor Cloak and Dagger schützen können

Die Urheber der Forschung haben die Attacke mit den 3 beliebtesten Android-Versionen getestet (Android 5, Android 6 und Android 7), die insgesamt 70% aller Android-Geräte darstellen. Es wurde festgestellt, dass alle 3 Versionen, und vermutlich auch alle anderen Vorgängerversionen, anfällig für die Spionageattacke sind. Sollten Sie im Besitz eines Android-Gerätes sein, betrifft dieses Thema also auch Sie.

Wir raten deshalb Folgendes:

1. Versuchen Sie keine unbekannten Apps aus dem Google Play Store oder anderen Stores zu installieren, vor allem wenn es sich um kostenlose Apps handelt. Wenn Sie keine verdächtigen Apps installiert haben, können Sie kein Opfer einer Attacke werden. Trotzdessen ist es bislang unbekannt wie man eine verdächtige App von einer ungefährlichen App unterscheiden kann.

2. Prüfen Sie regelmäßig worauf ihre Apps Zugriff haben und widerrufen Sie unnötige Berechtigungen. Wie das möglich ist, lesen Sie

Vergessen Sie nicht die Sicherheitsmaßnahmen für Android-Geräte zu installieren. Eine kostenlose Version von Kaspersky Internet Security für Android ist bereits erhältlich. Falls Sie keinerlei Sicherheitsmaßnahmen auf Ihrem Smartphone oder Tablet installiert haben, bitten wir Sie diese Anwendung in Anspruch zu nehmen.