Vergleich: Sicherheitskonzepte für mobile Applikationen
In verschiedenen Blogs ist eine heftige Diskussion über Datenschutz und die Sicherheit von Applikationen für Smartphones entbrannt, nachdem verschiedene bekannte Apps des „Datendiebstahls“ (oder „automatischen Abgleichs des Adressbuchs zwecks Benutzerkomfort“, je nach Sichtweise) überführt worden sind. In diesem Artikel soll das Problem erörtert werden, zudem wird zusammengefasst, wie die verschiedenen Hersteller mobiler Betriebssysteme die Thematik angehen.
Die Aufregung
Verschiedene Apps wurden dabei erwischt, wie sie das Adressbuch des Benutzers auf die Server des Betreibers geladen haben. Manchmal geschah dies erst nach Bestätigung des Benutzers, manchmal ungefragt bei einem Klick auf „Freunde suchen“, manchmal ganz automatisch, ohne Wissen des Benutzers.
Einige der kürzlich bekannt gewordenen „Sünder“:
Das Problem
Ein Smartphone enthält viele persönliche Daten. Das sind Daten von einem selbst wie Aufgabenlisten und Fotos, aber auch viele Daten von fremden Personen wie das Adressbuch oder die Nachrichten. Diese sind besonders schützenswert. Jeder soll mit seinen Daten machen, was er will, aber die Daten von seinen Freunden sollte er nicht ohne deren Einverständnis Dritten zugänglich machen.
Durch die Installation von Apps können deren Entwickler auf sehr viele Daten zugreifen und diese zum Beispiel auf ihre Server hochladen. Das geschieht in den meisten Fällen natürlich nicht in böser Absicht. Eine Firma in den USA wird wohl kaum die gewonnenen Schweizer Telefonnummern für Werbeanrufe missbrauchen. Meist steckt die gute Absicht dahinter, dem Benutzer den grösstmöglichen Komfort zu bieten. Wenn man eine App mit sozialem Hintergrund verwendet ist es nun mal das einfachste, das Adressbuch hochzuladen, um andere Benutzer zu finden, die die App auch verwenden.
Nur wäre das technisch nicht notwendig. Man könnte gerade so gut einen Hash (eine Art nicht entschlüsselbare Verschlüsselung) über die Namen erstellen und diesen hochladen. Damit könnte man ebenfalls vergleichen, wer von seinen Freunden die App bereits nutzt. Die Adressen müssten damit nicht auf einen Server hochgeladen werden.
Die Lösungen
Den Herstellern von Smartphone-Betriebssystemen ist das Problem bewusst. Sie gehen dessen Lösung unterschiedlich an. Nachfolgend ein Vergleich der Sicherheitskonzepte.
Apple iOS
Apple prüft Apps „von Hand“, bevor sie in den App Store gelangen können. Da der App Store der einzige Weg ist, um Apps auf iOS-Geräten zu installieren, kommt der Benutzer nur mit geprüften Apps in Kontakt. Es werden das Aussehen, die Performance und auch das Verhalten der Apps geprüft. Apple schaut nach, welche API eine App anspricht. Sie können so sehen, ob eine App zum Beispiel Zugriff auf das Adressbuch oder die Kamera benötigt.
Zusätzlich müssen Apps vom Benutzer eine Berechtigung einholen, sobald sie eine der folgenden Aktionen ausführen möchten:
- GPS verwenden
- aus dem Hintergrund Benachrichtigungen anzeigen
- einen ausgehenden Anruf tätigen
- eine SMS oder Mail verschicken
Nach dem „Adressbuch-Skandal“ mit Path prüft Apple nun, ob sie für den Zugriff aufs Adressbuch ebenfalls eine Warnung anzeigen möchten. Dieses Feature könnte in einer kommenden Version implementiert werden.
Apps können zudem zwar auf gemeinsame Bereiche wie die Fotos zugreifen, aber niemals auf die Daten anderer Apps.
Das System ist durchdacht: der Benutzer kann Berechtigungen selektiv erteilen oder ablehnen, also einmal Zugriff auf das GPS gestatten, einmal nicht. Nur gibt es leider für wichtige Funktionen wie den Zugriff auf die Fotos und das Adressbuch noch keine Bestätigungsmeldung. Auf die Prüfung von Apple kann man sich nicht verlassen. Sie haben zum Prüfen nicht den Sourcecode der Apps. Eine App könnte sich also im Prüfprozess anständig verhalten und erst später ihre Schadfunktionen aktivieren.
Mir gefällt es nicht, dass man als Benutzer Apple vertrauen muss und nicht sieht, was eine App macht.
Google Android
Google hat Apps lange nicht geprüft, bevor sie im Market veröffentlicht wurden. Vor einigen Wochen haben sie eine automatische Prüfung (genannt „Bouncer“) aktiviert. Diese prüft Apps auf bekannte Schadroutinen und versucht gefährliche Apps zu ermitteln, indem ihr Verhalten mit bekannter Schadsoftware verglichen wird. Da Apps aber direkt vom Internet oder über alternative „Markets“ installiert werden kann, kommt der Benutzer auch mit nicht auf diesem Weg geprüften Apps in Kontakt.
Apps laufen in einer Sandbox und haben keinen Zugriff auf die Daten anderer Apps.
Das Berechtigungsmodell ist sehr detailliert aufgebaut und erlaubt eine feine Abstufung der Zugriffsmöglichkeiten. Der Entwickler einer App muss definieren, welche Berechtigungen seine App braucht (Internetzugriff, Kontaktdaten lesen, Standort ermitteln etc.). Diese Berechtigungen muss der Benutzer vor der Installation einer App bestätigen. Entweder er macht das, oder er kann die App nicht installieren. Eine teilweise Zuteilung von Berechtigungen ist nicht vorgesehen. Nach der Installation kann die App alle erteilten Berechtigungen ohne weitere Nachfragen nutzen.
Dieses System hat den Vorteil, dass der Benutzer sich sicher sein kann, dass eine App nur machen kann, was ihm angezeigt wird. Wenn man eine App installiert, die weder Internetzugriff noch Zugriff auf die Speicherkarte haben will, kann diese später nicht plötzlich Daten hochladen. (Im Gegensatz zu Apple, wo dem Prüfer ein bösartiges Verhalten er App entgangen sein könnte.)
Die Verantwortung lastet auf dem Benutzer: bei der Installation nicht aufgepasst und übersehen, dass die App Zugriff aufs Telefon haben will. Schon kann sie ohne weitere Rückfragen im Hintergrund tagelang kostenpflichtige Rufnummern wählen.
Da viele Apps inzwischen Berechtigungen wie Internetzugriff verlangen (um zum Beispiel Werbung zu laden), muss man entweder dem Programmierer vertrauen oder ganz auf die App verzichten.
Microsoft Windows Phone
Microsoft kombiniert die Konzepte von Apple und Google: Apps können nur über den Marketplace installiert werden. Sie werden vor der Veröffentlichung geprüft und müssen Berechtigungen vorgängig verlangen. Die verlangten Berechtigungen werden dem Benutzer bei der Installation leider nicht angezeigt.
RIM BlackBerry OS
BlackBerry hat ein sehr flexibles System: RIM prüft Apps vor der Veröffentlichung in der App World. Zudem können Benutzer den Apps Berechtigungen nach Belieben erteilen und verweigern:
Dieses System erscheint mir nahezu ideal. Es gibt dem Benutzer die grösstmögliche Flexibilität.
Fazit
Das System von RIM gefällt mir am besten. Die anderen Hersteller sollten es ebenfalls ermöglichen, Berechtigungen selektiv zu erteilen.
Google hat frühere Feature-Requests zu diesem Thema abgelehnt. In Ice Cream Sandwich gibt es jedoch erstmals eine selektive Berechtigung: man kann Apps den mobilen Internetzugriff im Hintergrund selektiv verweigern. Diese Funktion scheint jedoch als Massnahme gegen hohe Rechnungen gedacht zu sein, denn so gesperrte Apps dürfen über WiFi trotzdem ins Internet.
Will man als Benutzer von Android eine App nutzen, ihr aber nicht alle Berechtigungen erteilen, muss man sie herunterladen und vor der Installation die Berechtigungen in ihrerAndroidManifest.xml anpassen. Damit wird man aber leider nicht so richtig glücklich: der Programmierer hat die App nicht darauf vorbereitet, dass nicht alle Berechtigungen vorhanden sein könnten. Greift eine App auf eine nicht erteilte Berechtigung zu, wird eine Ausnahme ausgelöst. Wird diese in der App nicht behandelt, stürzt die App ab.
Eine Lösung könnte AppFence sein: es kann den Apps „gefälschte“ Daten präsentieren. Anstatt also den Zugriff auf das Adressbuch zu unterbinden und die App abstürzen zu lassen, präsentiert man ihr einfach ein leeres Adressbuch. Leider ist AppFence noch nicht „massentauglich“, da man es selbst kompilieren muss und es nur auf speziellen Kernel läuft.
Zum Schluss sollte noch erwähnt sein, dass man sich von der Thematik nicht den Spass am Smartphone verderben lassen sollte. Auf dem PC kann eine Anwendung auf alles zugreifen, auf das der Benutzer Zugriff hat, und daran stört sich seit vielen Jahren fast niemand.
Fühlt ihr euch mit eurem Smartphone sicher? Wem soll die Verantwortung für solche Zugriffsprobleme übergeben werden, dem Benutzer oder dem Betreiber der App-Markets? Und habt ihr schon Apps abgelehnt, weil sie zu “aufdringlich” waren?
Sicherheit für den Androiden: LBE Privacy Guard
Der liebe Aba hat mich via Twitter gefragt, ob ich nicht schon über den LBE Privacy Guard geschrieben hätte. Nein, habe ich bisher nicht. Ich fragte Aba, seines Zeichens Student und Betreiber des MixBlogs, ob er den Spaß nicht mit seinen eigenen Worten für euch vorstellen möchte, schließlich nutzt er das kostenlose Android-Sicherheitstool und kann daher mehr erzählen als ich. Der folgende Text ist also nicht von mir, sondern von Aba, fröhliches Lesen.
Apps unter Android installieren kann jeder – aber wer von euch liest sich durch, was die App sich auf eurem Gerät erlauben will? Ein umgemeiner Vorteil an Android ist gleichzeitig auch ein Nachteil: die Anzeige der geforderten Berechtigungen vor der Installation einer App. Ein gutes Beispiel dafür ist der Facebook-Messenger. Diese Appverlangt den Zugriff auf die Kontakte. Das sehe ich zwar vorher, verbieten kann ich es aber trotzdem nicht. Also hat im Endeffekt nur die Wahl zwischen “voll” oder “gar nicht”. Abhilfe schafft hier der kostenlose LBE Privacy Guard!
Bevor wir uns näher mit dem LBE Privacy Guard beschäftigen, muss euer Android-Smartphone gerooted sein, sonst wird das nichts. Haben wir also ein Smartphone, welches mit root-Rechten ausgestattet ist, laden wir uns als erstes mal den LBE Privacy Guard im Market herunter. Nach der Installation startet ihr die App und werdet zu Beginn gefragt, ob ihr den sogenannten “Active Protection Service”, das Herzstück der App, aktivieren wollt.
Dies müsst ihr natürlich mit einem OK bestätigen und daraufhin der App die geforderten Superuser-Rechte gewähren. Eventuell ist nun noch ein Neustart fällig, aber das wird euch die App schon sagen. Habt ihr alles richtig gemacht, seit ihr nun in der App-Übersicht und seht wie auf dem Screenshot den Hinweis “Active Protection Service is running”.
Beschäftigen wir uns nun also mit den Kategorien und beginnen dabei mit der ersten: Internet. Dort findet ihr neben einem Datenverbrauchzähler den Reiter “Permissions”, der für uns wichtig ist:
Ab hier sollte sich das eigentlich selbst erklären. Ihr seht alle Apps, die ins Internet wollen und könnt nun App für App durchgehen und einzelnen Apps den Internetzugriff verbieten. Ihr könnt sogar so weit gehen, dass ihr nur den Zugang über WLAN oder über das Mobilfunknetz habt. Ganz unten findet ihr die sogenannten “Trusted” Apps, also Apps, die euer Vertrauen genießen und gar nicht überwacht werden. Wie ihr da welche hinzufügen könnt, zeige ich euch gleich. Im Reiter “Settings” könnt ihr übrigens den Datenverbrauchzähler abschalten, wenn ihr sowieso eine andere App dafür nutzt.
Gehen wir weiter zum Punkt “Privacy”. Auch hier könnt ihr wieder sehr stark differenzieren und den Apps das Abrufen der SMS, der Kontakte, der Anrufliste, des aktuellen Standorts oder eurer Phone ID (IMEI etc.) verbieten. Gerade hier würde ich die meiste Zeit verbringen. So musste ich z.B. feststellen, dass Shazam nach meinem Standort fragt (und das nicht sehr selten!). Seid ihr also in einer Kategorie, seht ihr neben den meisten Apps ein organes i in einem Kreis. Das bedeutet, dass der LBE Privacy Guard euch jedes mal fragt, ob die App diese Information haben darf, sobald sie im Betrieb nach dieser fragt. Wollt ihr einer App den Zugriff komplett erlauben oder verbieten, drückt ihr einfach auf den Namen dieser und eine kleine Leiste fliegt ein, bei dir ihr zwischen den Punkten “Allow” (Immer erlauben), “Prompt” (Bei Bedarf nachfragen) oder “Deny” (Immer verbieten) wählen könnt.
Im Register “Event Log” könnt ihr übrigens nachvollziehen, welche App was wann machen wollte oder gemacht hat.
Im Punkt “Money” läuft das genauso ab. Dort könnt ihr regeln, ob eine App SMS senden oder Anrufe absetzen darf. Das System ist hier das gleiche wie beim “Privacy” Bereich. App auswählen und Berechtigung vergeben.
Kommen wir schließlich zum letzten Punkt “Applications”. Dort werden alle Applikationen gelistet, die auf eurem Gerät installiert sind. Tappt ihr auf eine, so öffnet sich die detaillierte Ansicht. Hier könnt ihr der App “trusten”, ihr also alle Freiheiten gewähren, indem ihr den Haken bei “Trust” setzt. Außerdem seht ihr auch hier alle App-Berechtigungen auf einen Blick und könnt sie verändern. Im Reiter “Trusted” findet ihr dann alle Apps, denen ihr euer Vertrauen ausgeprochen habt.
Im letzten Punkt Settings könnt ihr noch einstellen, ob ihr den Betreibern anonyme Nutzungsstatistiken und Fehlerberichte übermitteln wollt. Außerdem könnt ihr auch hier das “LBE” Icon, welches oben in der Notification-Bar erscheint, abschalten. Die Option, dass LBE Privacy Guard beim Boot starten soll, muss man logischerweise aktiviert lassen.
Haben wir uns also durchgekämpft (gibt noch einige Optionen, aber entdeckt das ruhig selbst), möchte ich noch kurz auf die Nutzung von LBE Privacy Guard im laufenden Betrieb eingehen und wie sich das bemerkbar macht. Will eine App nun eine Berechtigung nutzen und ihr habt sie auf “Prompt” gestellt, erscheint solch ein Pop-Up:
Dort seht ihr welche App was will. Reagiert ihr nicht innerhalb von 20 Sekunden, wird die Anfrage automatisch abgelehnt. Zusätzlich könnt ihr noch einen Haken setzen, welcher aus dem “Prompt” ein dauerhaftes “Allow” oder “Deny” macht.
Doch was, wenn wir eine neue App installieren? Auch hier ist das leichter als gedacht. Gehen wir nochmal zum Facebook Messenger und installieren diesen aus dem Market. Zähneknirschend akzeptieren wir erst die Berechtigungen und erlauben den Download und die Installation:
Habt ihr die App installiert, erscheint oben in der Notification-Bar ein weiteres Symbol. Zieht ihr nun die Leiste runter, erkennt ihr, dass man euch auffordert der App ihre Berechtigungen zu verteilen:
Dem Facebook Messenger kann man z.B. problemlos den Zugriff auf die Kontakte verweigern und auch in der Anrufliste hat die App nichts zu suchen. Haben wir die Berechtigungen verteilt, verlassen wir mit der Zurück-Taste des Smartphones den LBE Privacy Guard.
Ihr werdet übrigens auch nach Updates aufgefordert, die Berechtigungen zu vergeben. Macht ihr das nicht (löscht also eure Notifications weg), werden einfach die bisherigen Einstellungen übernommen.
Nun seid ihr also fertig eingerichtet und für die Zukunft gewappnet. Ein paar wichtige Anmerkungen habe ich noch: schaut genau nach, was ihr der App verbietet. Zu starke Verbote bringen Apps leider zum Absturz oder sie funktionieren nicht richtig. Dann müsst ihr eben die Restriktionen lockern.
Zudem darf man nicht vergessen, dass der LBE Privacy Guard ein Dienst ist, der im Hintergrund läuft. Er verbraucht also auch ein bisschen Energie und Leistung, aber mir ist es das auf jeden Fall wert!
Abschließend kann man sagen, dass der LBE Privacy Guard eine wirklich sinnvolle Applikation ist, die jeder (zumindest mit root) nutzen sollte!
AirDroid: das Smartphone auf dem PC
Wow, ziemlich coole App dieses AirDroid. Vorab: es gibt einige Apps dieser Art, hier passt aber sogar die Optik, das Ganze ist toll umgesetzt. Was ist AirDroid? Eine kostenlose App, die euch euren Androiden in den Browser, also auf den Rechner bringt.
Wer ein Samsung Smartphone sein Eigen nennt und vielleicht schon einmal mit Kies Air oder so gearbeitet hat, der weiss, was ich meine. AirDroid ist ein Server, den ihr auf eurem Smartphone startet. Im Browser aufgerufen, habt ihr nun Zugriff auf alles Mögliche: SMS, installierte Apps, Foto, Film, Musik und natürlich auch eure Kontakte.
Kontakte können bearbeitet, SMS geschrieben und Fotos / Musik & Co eben hoch und herunter geladen werden, ich denke, dass die Screenshots da eine deutliche Sprache sprechen. Das Ganze funktioniert, wenn sich die Geräte in einem WLAN befinden, die Geschwindigkeit in meinem Test war 1a – die App ist definitiv eine Empfehlung für alle die, die ohne Nerv Daten hin und her schieben wollen.
Wer will, der kann zusätzlich noch Apps sichern installieren oder auch deinstallieren. Dies gilt auch für Klingeltöne und Kontakte. Erstes Fazit: eigentlich ein Must Have!


















