Digital Eliteboard - Das Digitale Technik Forum

Registriere dich noch heute kostenloses um Mitglied zu werden! Sobald du angemeldet bist, kannst du auf unserer Seite aktiv teilnehmen, indem du deine eigenen Themen und Beiträge erstellst und dich über deinen eigenen Posteingang mit anderen Mitgliedern unterhalten kannst! Zudem bekommst du Zutritt zu Bereiche, welche für Gäste verwehrt bleiben

Handy - Navigation Android: Wie Apps Sicherheitsmechanismen umgehen Teil 1

Smartphone Betriebssysteme implementieren ein Berechtigungsmanagement, um Apps den Zugriff auf sensiblen Nutzerdaten und System-Ressourcen zu verwehren. Dennoch ist es einigen Apps unter Android gelungen das Berechtigungsmanagement zu umgehen. Damit können sie sich den Zugang zu den sensiblen Nutzerdaten verschaffen. Wir erläutern in diesem ersten Teil, wie das funktioniert.

pathum-danthanarayana-t8TOMKe6xZU-unsplash-768x512.jpg

Hierfür nutzten sie sogenannte „covert channel“ und „side channel“. Side channels ermöglichen es Apps, ohne Berechtigung auf geschützte Daten und Systemressourcen zuzugreifen, wohingegen covert channels die Kommunikation zwischen zwei zusammenarbeitenden Apps ermöglicht. Der eigentliche Clou in covert channels ist, dass die Apps ihre Berechtigungen teilen können. So kann App 1 das Mikrofon durch App 2 nutzen, obwohl es nicht einmal die Berechtigung dafür besitzt. Beide channels sind eine Gefahr für die Privatsphäre der Nutzer.

Daten müssen vor einem nicht autorisierendem Zugriff geschützt werden

Durch die Nutzung des Smartphones sammeln sich im Laufe der Zeit auch private Daten an wie z.B. Notizen, Adressbücher, Bilder, Browserverläufe, Videos etc. Des Weiteren ist es dadurch einigen Apps erlaubt, auf Sensoren, Kameras oder auf das Mikrofon zuzugreifen. Apps könnten auch auf die Daten des Endnutzers (e.g. E-Mail-Adressen, Kontaktlisten), sowie auf eindeutige persistente Daten (e.g. IMEI) zugreifen. Es ist sehr wichtig diese Daten vor einem unautorisierenden Zugriff zu schützen.

Androids Berechtigungsmanagement

Android implementiert seit der Version 6.0 ein Berechtigungssystem, dass den Zugang zu sensiblen System-Ressourcen von Third-Party Apps regelt. In diesem Modell, muss der App-Entwickler explizit die Berechtigungen für System-Ressourcen anfragen. Dieses Modell sieht vor, dass der Nutzer selbst entscheidet welche Apps Zugang zu Ressourcen und Daten haben und welche nicht.

Android isoliert Apps voneinander

Android Nutzer android


Das Android-Betriebssystem isoliert Nutzer-Anwendungen, um zu verhindern, dass diese mit anderen laufenden Anwendungen interagieren. Dies geschieht, indem es jeder App zur Laufzeit eine separate User-ID zuweist und weitere Zugriffskontrollen mit SELinux implementiert. Jeder laufende Prozess einer App wird durch den geschriebenen Code selbst ausgeführt oder durch SDK-Bibliotheken (Software Development Kit), die in der App implementiert sind. Diese SDKs können von Android selbst kommen oder von Drittanbietern.

App-Entwickler integrieren Bibliotheken für Zwecke wie Absturzmeldungen, Entwicklersupport, Google Analytics Services, Werbung oder für soziale Netzwerke. Nach dem designten Berechtigungsmanagement von Android hat jede Drittanbieter-Bibliothek dieselben Zugriffsrechte wie die App, die sie implementiert. Anders ausgedrückt: Wenn eine App den Standort kennt, dann auch ihre Drittanbieter-Bibliotheken.

Sicherheitsmechanismen können umgangen werden
In der Praxis können solche Sicherheitsmechanismen oft umgangen werden. Wie anfangs schon erwähnt, geschieht dies durch side channels und covert channels. Diese beiden Methoden treten auf, wenn es einen alternativen Zugang zu den geschützten Ressourcen gibt, der vom Sicherheitsmechanismus nicht überprüft wird, wodurch die Ressourcen ungeschützt bleiben.

Ein side channel zeigt einen Pfad zu einer System-Ressource auf, welche außerhalb des Sicherheitsmechanismus liegt. Dies kann ein Designfehler des Sicherheitsmechanismus oder ein Fehler durch die Implementation sein. Ein klassisches Beispiel für einen side channel ist, dass der Stromverbrauch der Hardware bei der Durchführung kryptographischer Operationen Teile eines geheimen Schlüssels leaken kann.

Covert channels sind, anders als side channels, bewusst designt worden. Hierbei stellt App X der App Y Daten und Zugänge zur Verfügung, die App Y über die App X nutzen kann und das ohne gegen den Sicherheitsmechanismus zu verstoßen. Beispielsweise könnte jemand einen Algorithmus ausführen, der zwischen hoher und niedriger CPU-Auslastung wechselt, um eine binäre Nachricht an einen anderen Drittanbieter weiterzugeben, der die CPU-Auslastung beobachtet.

Du musst dich Anmelden oder Registrieren um diesen link zusehen!
 
Zuletzt bearbeitet:
Android: Wie Apps Sicherheitsmechanismen umgehen Teil 2

Wie bereits aus dem ersten Artikel hervorgegangen ist, benutzen Drittanbieter-Bibliotheken side- und covert channels in Android, um an die Daten und System-Ressourcen der Nutzer zu gelangen. In diesem Teil erläutern wir, wie Apps die Sicherheitsmechanismen umgehen und was man dagegen tun kann.

Es wurden über 88.000 Apps aus dem Google Play Store getestet, welche eine große Anzahl an side- und covert channels aufweisen. So haben einige Apps beispielsweise über eine Sicherheitslücke die MAC-Adressen der WLAN Hotspots ausgelesen, welche als Ersatz für Standortdaten dienen. Des Weiteren entdeckte man, dass über 12.000 Apps mit der Unity-SDK die MAC-Adressen der Geräte auslesen konnten. Demnach soll dies auch wieder durch eine Sicherheitslücke im Betriebssystem Android möglich gewesen sein.

Android SDKs von Baidu und Salmonads ermöglichen covert channels

Die Android Software Development Kits von Baidu und Salmonads sollen demnach bewusst über covert channels kommunizieren. Dabei nutzen sie die SD-Karte des Nutzers. So soll AliceApp, die Zugriff auf die IMEI des Gerätes hat, diese Daten auf der SD-Karte speichern, woraufhin sie der BobApp diese Daten bereitstellt. Die Forscher entdeckten des Weiteren eine App, die die Metadaten der Bilder nutzt, um an Standortdaten zu gelangen. Diese Methoden ermöglichen es Entwicklern, ohne Zustimmung auf die privaten Daten der Benutzer zuzugreifen, was die Privatsphäre der Benutzer beeinträchtigt und sowohl rechtliche als auch ethische Bedenken aufwirft.

Wie schütze ich mein Android Gerät davor?

Aktuell bietet Googles Betriebssystem den Schutz erst ab Android 10. Doch Abhilfe ist auch für andere Android-Versionen verfügbar. Vorerst sei gesagt, es gibt definitiv mehrere Möglichkeiten, die vielleicht auch besser sein könnten. Um die Kommunikation der Drittanbieter-Bibliotheken nach außen zu unterbinden, empfiehlt sich die App Blokada. In Blokada sollte man für die Blockierung die folgenden Hostslisten verwenden:
  • Stevenblacks Unified hosts = (adware + malware)
  • Energized Blu Go

Android Nutzer android


Beide Host-Listen blocken die Adressen von Baidu und Salmonads und anderen Trackern. Um zu überprüfen, ob Baidu auf eurem Smartphone aktiv war, untersucht einfach den folgenden Pfad:
Du musst dich Anmelden oder Registrieren um den Inhalt der Angebote zu sehen!

Hier solltet ihr eine verschlüsselte Datei vorfinden, die in Base64 enkodiert wurde. Die Datei „.cuid2“ könnt ihr löschen, dort sind eure Systemangaben in der folgenden Syntax enthalten
Du musst dich Anmelden oder Registrieren um den Inhalt der Angebote zu sehen!

Auch Salmonads, die sich als „Third Party Developer‘ Assistant Platform in Greater China“ tarnen, tun genau das gleiche – mit der Ausnahme, dass sie die Datei nicht verschlüsseln. Sie verwenden eine versteckte Datei im folgenden Pfad:

Du musst dich Anmelden oder Registrieren um den Inhalt der Angebote zu sehen!

Du musst dich Anmelden oder Registrieren um diesen link zusehen!
 
Zuletzt bearbeitet:
Zurück
Oben