Slide #1 image
Slide #2 image
Slide #3 image
NextPrev

WSecure prüft Android!


ANDROID – das Google Betriebssystem

Wir haben uns dazu entschlossen auf unserer Seite diesen Bericht für das Betriebssystem Android zu hinterlegen, obwohl wir uns, wie Sie bestimmt wissen, auf die Computer-Sicherheit für Windows spezialisiert haben. Wir weisen ausdrücklich darauf hin, dass diese Informationen, wie alle anderen auf unserer Seite, lediglich unsere Auffassung widerspiegeln.

Obwohl wir selber nicht die Benutzung von Tablet PC’s, sowie Smartphones unseren Kunden empfehlen können, da entsprechende Hochleistungs-Sicherheitssoftware effektiv noch fehlt und diese Geräte jederzeit „gegen Sie“ verwendet werden können, ist uns dennoch natürlich bewusst, dass diese Geräte heutzutage permanent in Gebrauch sind.

Der Grund für diese Aussage ist, dass wir uns nun ausgiebig mit dem Betriebssystem Android befasst haben und feststellen mussten, dass dieses Betriebssystem, obwohl es ja angeblich ein „offenes“ Betriebssystem (Open-Source) sein soll, es bis zum äußersten (in der Fassung, welche auf allen Android Geräten derzeit benutzt wird) von Google und Co. beschränkt wurde und es „eigentlich“ auch nicht möglich ist alle eingebauten Sicherheitsprobleme vollumfänglich auszustellen, wie man dies, obwohl die meisten es nie glauben, bei Windows durchaus kann.

Ferner scheint es ganz klar von Google und Co. sogar gewollt zu sein, dass man eben nicht die volle Kontrolle über sein „eigenes“ Gerät hat. Google hingegen räumt sich die „vollen” Zugriffsrechte auf Ihr Gerät ein.
Interessant war es für uns auch nachzulesen, wie auf diversen amerikanischen Internetseiten dieses Thema diskutiert wird. Dort wird ganz klar von einem Trojanerbetriebssystem gesprochen… und auch nach unserer Auffassung scheint dies wohl durchaus zu zutreffen.

Also, was bleibt, kann man nun fragen…

Die klare Antwort wäre wohl, dass dieses Betriebssystem in der „Google Variante“ nicht mehr weiter benutzt wird, wenn man wie wir das Bedürfnis hat, dass seine Daten unter keinen Umständen in die Hände von Betriebsspionage, wie durch die NSA & Co., fallen kann.
Wir von WSecure können es uns, als ein IT-Sicherheitsunternehmen, nicht leisten „kompromittierte und offene“ Systeme zu betreiben, können Sie es?


Manifest.xml

Das Android Betriebssystem wurde mit einer Rechtevergabe (permissions) versehen, die in der Datei Manifest.xml in jeder APK-Applikation (ähnlich einer EXE- Applikation bei Windows) definiert ist.

Wir haben in unseren Tests alle Möglichkeiten erforscht, um die Rechte, die eine Applikation unter Android anfordert und beinhaltet, zu entfernen. Der Sinn der Rechtevergabe, bzw. Anforderung ist eigentlich, zumindest nach unserer Auffassung, dass der Benutzer einer Applikation eine schnelle übersicht über die angeforderten Rechte bekommt und eine Applikation die entsprechenden Rechte anfragen kann und somit diese dann auch, entsprechend ihrer Anforderung, zugewiesen bekommt.
Leider wurde wohl von Google nie der Aspekt der Sicherheit richtig bedacht, so ist es für eine Applikation möglich jegliche Rechte einzufordern, egal ob sie diese benötigt, oder nicht.
Wenn beispielsweise eine Applikation Zugriff auf die SDCARD (Festplatte, oder Speicherkarte) anfordert, was ja durchaus legitim sein kann um z.B. neue Dateien, wie Worddokumente etc. zu erstellen, warum dann gleich das Recht zum Löschen des „kompletten“ Inhalt der SDCARD inkludiert werden muss, bleibt für uns sehr fraglich. Dennoch funktioniert so die Rechtevergabe und es werden entsprechend von den meisten Applikationen viel mehr Rechte gefordert, als sie eigentlich für die „normale“ Benutzung bräuchten. Wenn Google es gewollt hätte, wäre eine Auswahl der Rechte für den Benutzer möglich und man könnte selbst entscheiden welche Rechte eine Applikation noch besitzt. Dies ist jedoch, von Haus aus, nicht vorgesehen und möglich.
Firefox von Mozilla z.B. fordert neben allen möglichen anderen Zugriffsrechten auch den Zugriff auf Ihre Kamera und das Mikrofon. So ist es für den Firefoxbrowser, welcher evtl. im Hintergrund (gern mal, jedoch von Ihnen ungestartet) mitläuft möglich, während Sie in einer Geschäftssitzung firmeninterne und geheime Informationen besprechen, Ihre Gespräche komplett mitzuschneiden und Sie haben noch nicht einmal Ahnung davon.
Immerhin haben sich bereits einige mit diesem Thema befasst und wie wir nach Lösungen gesucht.

Im Google-Playstore gibt es einige Anwendungen, welche die Manifest.xml in einer APK Datei editieren können und dann ein neues APK Installationspaket erstellen. Es ist jedoch zum einen nicht vollumfänglich möglich alle Rechte zu editieren, sowie das bestimmte Applikationen anscheinend das entziehen der Rechte einfach zu ignorieren vermögen und mit erweiterten Rechten weiterhin interagieren können. Es gab wohl sogar mal im Playstore eine eigene Anwendung von Google, die da aber wohl eigentlich niemals erscheinen sollte. Sie war zwar auch nur für bestimmte Versionen verfügbar, aber immerhin konnte man mit dieser APK auch die Rechte selbst editieren. Sie ahnen es… Ja, diese Anwendung gibt es natürlich nicht mehr im Playstore! Das nennt man dann wohl Kundenservice bei Google. Bedauerlich!

Die internen System-Anwendungen Settings.apk, SystemUI.apk sowie KeyChain.apk haben wir als die Anwendungen identifizieren können, die aktiv anfangen Daten zu senden, sobald eine Internetverbindung besteht.
Wir mussten feststellen, obwohl dies eigentlich nicht nach dem OSI-Modell vorgesehen ist, so dachten wir, dass die drei Anwendungen auch gern mal im „negativen“ IP-Adressbereich zur IP -2.-2.-2.-2 anfangen Daten zu senden.
Selbst wenn dies ein Anzeigefehler wäre, so ist dies zwar eine „für Android’s Netstat“ unbekannte, dennoch gültige Verbindung, da ein Datentransfer anliegt. Ob dies eine Verbindung zu dem „Untergrund Netzwerk“ sein soll, über dessen Existenz spekuliert wird?

Allein die Tatsache, dass zwei Anwendungen (SystemUI.apk sowie KeyChain.apk) selbst nicht das Recht der Internet-Kommunikation aktiv besitzen und dann doch eine Internet-Kommunikation benutzen war für uns nicht ganz nachvollziehbar, denn eigentlich sollten sie dies entsprechend der Rechtevergabe nicht können. Wenn die Rechtevergabe konsistent wäre, hätte dies unter keinen Umständen passieren dürfen!

In einem weiteren Test haben wir die Kommunikationsrechte für die Internetverbindung der Settings.apk selbst komplett entfernt und auch diese konnte, obwohl die Rechte nicht mehr vorhanden waren, weiterhin eine Datenverbindung aufbauen. (Gewollt?)

Alle vorhandenen grafischen Oberflächen alá Droidwall etc., welche die Möglichkeit bieten sollen oberflächlich IPTables Firewall (Paketfilter) Regeln zu definieren, können in ihrer Schutzfunktion bisher nur als sehr „unzureichend nutzbar“ angesehen werden. Im Droidwall Forum konnten wir dazu auch mehrere Beiträge lesen, die auch Heute nicht als geschlossen angesehen werden können.
Es wurde vermehrt von Benutzern berichtet, dass ein viel größeres Datenvolumen laut Internetprovider entstanden sei, als in den internen Anzeigen zu sehen ist und man nun sehr verwundert ist, da man ja alles mit Droidwall etc. geschützt hatte.

Das eigentliche Problem ist wohl eher, dass alle Softwarefirewalloberflächen für IPTables eine Datenkommunikationen durch lassen, da die ganzen integrierten Benutzerkonten überhaupt nicht in dessen Schnittstelle als Pre-Konfiguration berücksichtigt wurden.

Eine Liste der uns nachvollziehbaren registrierten Konten, Dienste und Gruppen (UID):

UID 0 – root
UID 1000 – system
UID 1001 – radio
UID 1002 – bluetooth
UID 1003 – graphics
UID 1004 – input
UID 1005 – audio
UID 1006 – camera
UID 1007 – log
UID 1008 – compass
UID 1009 – mount
UID 1010 – wifi
UID 1011 – adb
UID 1012 – install
UID 1013 – media
UID 1014 – dhcp
UID 1015 – sdcard_rw
UID 1015 – sdcard_rw
UID 1016 – vpn
UID 1017 – keystore
UID 2000 – shell
UID 2001 – cache
UID 2002 – diag
UID 3001 – net_bt_admin
UID 3002 – net_bt
UID 3003 – inet
UID 3004 – net_raw
UID 3005 – net_admin
UID 9998 – misc
UID 9999 – nobody
10000-1**** – reserviert für Applikationen

Auf den von uns getesteten Geräten fehlte leider auch komplett die Verfügbarkeit von IPTables für TCP/IPv6. Somit ist es für einen Benutzer noch nicht einmal möglich bei richtigen IPv6-Verbindungen einen entsprechenden Filter zu definieren. (…auch gewollt?)

Um überhaupt einen erweiterten Zugriff auf das Gerät zu erhalten, wobei dieser nicht den vollen Root-Rechten (Voll-Administrator) entspricht muss man das Gerät zuerst mit Softwarehacks „rooten“. Dieses Verfahren ist ähnlich dem sogenannten „Jailbreak“ bei Apple Geräten.

„Rooten“ – Was ist das überhaupt?

Der Begriff „rooten“ stammt eigentlich aus der Hackerszene und bedeutet, dass man sich die Administrator-Rechte über einen Computer verschafft, ohne das der Besitzer dies weiß.
Wie bereits beschrieben hat man jedoch nicht die „vollen“ Rechte nach dem „rooten“ unter Android, sondern lediglich nur „erweiterte“ Benutzerrechte.
Immerhin hat man mit diesen erweiterten Rechten die Möglichkeit mehr zu sehen und einzuwirken, als ohne diese Rechte und kann auf gewisse Funktionen zugreifen, was vorher so nicht möglich war. Jedoch kann man bei weitem nicht alles ändern, was wohl von Google als gewollt zu betrachten ist.
Zusätzlich müssen wir auch jeden, der sein Handy, bzw. Tablet-PC rooten will eindringlich davor warnen zusätzliche Applikationen wie z.B. die sogenannte „Busybox“ mitzuinstallieren, da diese Applikation etliche weitere Linux Anwendungen beinhaltet, die aus Ihrem Gerät einen Server mit etlichen Zugriffsfunktionen macht. Nur einige wenige Beispiele hierfür, die wohl jeder mal gehört hat, sind: Web-Server, eMail-Server und FTP-Server.

Leider denken viele, ich roote mal mein Handy, weil die anderen es ja auch machen und es wohl ganz toll sein muss… Sie sollten dies aber nur machen, wenn Sie wirklich wissen was Sie tun und sich mit den Risiken auch auskennen!

Nach unserer Auffassung hätte das Android Betriebssystem wirklich ein sehr interessantes Betriebssystem sein können, wären die oben genannten Einschränkungen und Zusätze nicht von Google & Co. explizit integriert worden. So aber bleibt uns keine Wahl als ausdrücklich unsere Kunden vor diesem Betriebssystem zu warnen und vor dem Gebrauch von Android-Geräten abzuraten.
Immerhin hat man mit einem Android-System mehr Möglichkeiten ungewollte Spionage abzustellen, als z.B. bei allen Geräten von Apple. Letztendlich muss jedoch jeder selber entscheiden, ob er sich und seinen Besitz zu 100% an Google und Co. weiter geben möchte (Facebook-Generation), oder nicht.

Wir von WSecure haben es dennoch geschafft Google aus unserem Tablet jederzeit komplett aussperren zu können, indem wir Google-Applikationen alle Rechte weitestgehend entzogen, bzw. deinstalliert und zusätzlich mit direktem Zugriff auf IPTables die maximalen Filter in unser Android-System definiert haben.

Da wir aus zeitlichen Gründen bis jetzt nicht die Möglichkeit hatten den kompletten Source-Code von Android zu studieren, können wir Ihnen derzeit nicht genau sagen, ob noch weitere Probleme bei der weiteren Benutzung von diesem Betriebssystem auf Sie zukommen könnten. Sie sollten aber unsere hier verfasste Warnung durchaus sehr ernst nehmen.

Sofern Sie wichtigeres zu tun haben, wovon wir ausgehen, als sich selbst in die ganze Materie einzulesen und nach Lösungen zu suchen, können wir Ihnen gern mit Rat und Tat zur Seite stehen um Ihr Gerät sicherer betreiben zu können.
Wir weisen jedoch ausdrücklich darauf hin, dass wir keine Garantie, Haftung, und/oder Gewährleistung für diese Hilfe aussprechen können!