FIXME **Diese Seite ist noch nicht fertig, bitte beachte das die Informationen noch unvollständig sind.** //Dieser Absatz wird gelöscht sobald die Seite fertig ist//
====== Datenschutz bei Android-Smartphones ======
Android ist eines der verbreitetsten Systeme auf Mobilgeräten. Dies ist sicherlich zum Teil der vielzahl an Applikationen zu verdanken. Auch für Open Source Fans ist Android eine tolle Spielwiese. Mit [[https://f-droid.org/|F-Droid]], einem "Google Play"-Ersatz für Open Source Apps kann man zum Beispiel ein Smartphone mit rein freier Software betreiben. Die Moddingszene um Android ist ebenfalls stetig am wachsen, eines der bekanntesten Custom-ROMs, CyanogenMod, wird auf einigen Smartphones sogar vom Hersteller ausgeliefert.
Im Folgenden soll das Thema Datenschutz mit Android beleuchtet werden.
===== Verschlüsselte Nachrichten alla WhatsApp =====
WhatsApp steht in der Überschrift da es sicherlich der bekannteste Messenger seiner Art ist. Mit dem Verkauf an Facebook((20.02.2014)) haben sich vielfach Bedenken bezüglich des Datenschutzes ergeben. Im Folgenden findet sich eine Liste mit Alternativen, die sich derzeit auf einer Bewährungsprobe befinden.
| |^Verschlüsselung ^^^^Features ^^ Sonstiges ^|
^ Messenger ^ Opensource ^ End- to End ^ Client-Server ^ Authentifizierung ^ [[wpde>Perfect Farward Secrecy|PFS]] ^ Medienversand ^ Desktop-Client ^ Übertragung des Telefonburchs ^ Infrastruktur |
| [[:datenschutz_android#threema|Threema]] | nur Krypto Lybrary | nicht überprüfbar | SSL | Ja | Nur Server Client | Ja | Nein | Optional, als Hashes | Zentralisiert IP |
| [[:datenschutz_android#textsecure|TextSecure]] | GPLv3 (nur Client) | [[https://whispersystems.org/blog/asynchronous-security/|Axolotl Ratchet]] (OTR-Derivat) | TLS/SSL | Ja | Ja | Ja | In arbeit | Ja, als Hashes | Zentralisiert IP; SMS |
| [[:datenschutz_android#telegram_Messenger|Telegram Messenger]] | GPLv2 (nur Client) | Eigenentwickeung (optional) | Eigententwicklung | Optional | Optional | Ja | Ja | Ja | Zentralisiert IP |
| [[:datenschutz_android#xabber|Xabber]] | GPLv3 | OTR (optional) | TLS/SSL | Ja | Ja | Nein | Ja, XMPP | Nein | Dezentral IP, open Source Server verfügbar|
-- Quelle [[wpde>Liste_von_mobilen_Instant-Messengern|Wikipedia]]
\\
==== Threema ====
Threema ist eine Massenger-App aus der Schweiz, wo auch die Server für die Kommunikation betrieben werden. Da die App nicht Open Source ist kann die Verschlüsselung nicht durch unabhängige Stellen überprüft werden. Die App ist einfach gestaltet und macht das Thema Sicherheit leicht verständlich und visuell sichtbar. Das Ganze wird durch eine 3-Stufen-Skala angezeigt:
- Rot > Wenn man nur die ID des gegenübers besitzt
- Orange > Wenn man die vom Dienst verifizierte Telefonnumer des gegenübers besitzt.
- Grün > Sobald man sich von der Identität Persönlich überzeugt hat. Hierzu trifft man sich und scannt den Fingerabdruck des Kommunikationspartners per Barcode zum Abgleich.
Alles in allem ist Threema für seine 1,60€ eine sehr durchdachte Lösung, welche jedoch durch die fehlenden Quellen und zentrale Struktur Risiken beherbergt.
==== TextSecure ====
TextSecure ist eine Entwicklung der Organisation [[https://whispersystems.org/|Open Whisper Systems]], welche Sicherheitssysteme für Smartphones entwickeln. Mit an der Entwicklung beteiligt ist der Crypto-Guru [[wp>Moxie Marlinspike]]. Die Open Source Software ist sogar Teil des beliebtesten Custom-ROMs "Cyanogenmod" und kann dort ab Version 10.2 mit allen SMS-Apps verwendet werden. Dabei wird vor dem Senden einer SMS geprüft, ob das gegenüber TextSecure verwendet. Ist dies der Fall, wird die SMS verschlüsselt und über die Internetverbindung geschickt.
Derzeit steht die Software lediglich für Android bereit, Clients für iOS und PC sind jedoch angekündigt. Auch sind noch einige Verbesserungen in der App vorzunehmen, so ist die Verifizierung eines Users zwar möglich, es wird jedoch nicht gekennzeichnet wer Verifiziert ist und wer nicht ((stand 27.02.14)).
==== Telegram Messenger ====
Telegram ist ein Messenger, der WhatsApp designtechnisch am meisten ähnelt. Die Tatsache, dass er kostenlos zur Verfügung steht bringt ihm derzeit eine Menge Zulauf. Die Bedienung von Telegram ist, wie auch die Einrichtung, dabei nicht weiter schwierig. Nachrichten werden von Haus aus bis zum Server verschlüsselt. Um eine End-to-End Verschlüsselung zu erreichen muss man per Hand einen "Secret Chat" starten, dieser lässt sich nur aufbauen, wenn beide Seiten gerade Online sind.
Auch wenn die Technik deutlich ausgereifter als das Facebook-Pendant ist: Die Tatsache, dass hinter Telegram der Entwickler des "Russischen Facebook" steht trübt den Glanz der App gewaltig.
==== Xabber ====
Xabber setzt im Gegensatz zu den vorher genannten Alternativen nicht auf eine eigene Infrastruktur, viel mehr stellt er einen Client für das Protokoll "XMPP" (ehemals "Jabber") dar. Durch diese Tatsache ist man nicht an einen Anbieter gebunden, kann - ähnlich zum E-Mail-System - eigene Server betreiben und auch mit Nutzern anderer XMPP-Clients wie z.B. Pidgin auf einem Linux-PC kommunizieren. Der Quellcode von Xabber steht unter einer Open Source zur Verfügung. Der Client unterstützt hierbei das weit verbreitete Verschlüsselungssystem "OTR", somit ist eine Ende-zu-Ende Verschlüsselung nach erstmaliger Authentifizierung möglich. Ebenfalls unterstützt werden diverse XMPP-Erweiterungen, welche z.B. Gruppenchats ermöglichen. Nicht unterstützt wird derzeit der Versand von Mediendateien wie z.B. Bildern, jedoch wurde das Projekt vor einigen Wochen ((Stand 28.02.2014)) durch einen neuen Entwickler übernommen, welcher diese Funktion bereits angekündigt hat.
Durch das dezentrale System folgt Xabber dem Open Source-Gedanken und Löst die Abhängigkeit von zentralen Anbietern. Die App selbst läuft zuverlässig, fehlende Funktionen und die Tatsache das die Gegenstelle stets online sein muss machen das System zur Zeit jedoch nicht nur für Einsteiger unattraktiv.
===== Berechtigungen von Aplikationen =====
Eine der stärken von Linux ist in Android leider nicht verfügbar, die umfangreiche Rechteverwaltung. Derzeit gilt bei Android die Devise alles oder nichts. Entweder man gibt sich mit den Anforderungen der App zufrieden oder muss auf sie verzichten. Um den Datenhunger der Apps zu stillen gibt es einige Lösungsansätze und auch im Code von Android scheint eine Funktion zum selektiven aktivieren und deaktivieren einer Berechtigung gesichtet worden zu sein((Diese Funktion wurde ende 2013 wieder gestrichen)). Im folgenden soll auf die verschiedenen Lösungsansätze eingegangen werden.
=== Welche Berechtigungen haben meine Apps ===
Im Android Market tummeln sich viele Apps um die Berechtigungen der Installierten Applikationen auf zu listen. Ein Positives beispiel hierfür ist die App [[|aSpotCat]] welche die angeforderten Berechtigungen übersichtlich auflistet und gut erklärt.
==== Good Cop vs. Bad Cop ====
Um das Dilemma mit den Berechtigungen etwas näher zu bringen folgt hier eine Good Cop / Bad Cop Gegenüberstellung für die Berechtigungen einer Taschenlampen App:
**Uneingeschränkter Internetzugriff:**
* Good Cop: Die App ist kostenlos und finanziert sich durch die Darstellung von Werbung. Dazu wird Internetzugriff benötigt.
* Bad Cop: Im Hintergrund sammelt die App fleißig persönliche Daten. Dazu gehört bei dieser App die IMEI oder IMSI und Bilder bzw. Videos die ihr aufgenommen habt. Zusätzlich werden die gesammelten Daten von den Werbeanbietern korreliert. Es entsteht ein Benutzerprofil.
**Telefonstatus lesen und identifizieren:**
* Good Cop: Bei einem Anruf beendet sich die App selbst bzw. unterbricht ihre Arbeit und merkt sich den aktuellen Zustand. Nach dem Telefonat öffnet sich die Taschenlampen App wieder und leuchtet euch den Weg nach Hause…
* Bad Cop: Liest ganz frech die IMEI und IMSI aus.
**Bilder und Videos aufnehmen:**
* Good Cop: Ohne diese Berechtigung kann die App die interne LED nicht aktvieren. Wird also benötigt, ansonsten leuchtet da gar nichts.
* Bad Cop: Bilder und Videos aus allen Lebenslagen! Und die werden dann auch brav an den Entwickler geschickt. Der braucht auch mal was zu lachen…
**Standby-Modus deaktivieren:**
* Good Cop: Hindert das Smartphone am Standby-Modus. Die Taschenlampe soll natürlich so lange leuchten, bis die App beendet wird.
* Bad Cop: Ne – hier ist nichts. ;)
-- Quelle: [[http://www.kuketz-blog.de/srt-appguard-datenschutz-fuer-android-teil5/]]
==== Firewall für Android ====
Über den nutzen einer Software Firewall lässt sich zwar streiten, dennoch bietet sie mehr Schutz als gar kein Schutz. Die Firewall berechtigt die Apps zwar weiterhin auf alle Daten zu zu greifen, hindert sie jedoch daran diese ins Internet zu kommunizieren. Ein netter nebeneffekt der Firewall Lösungen ist die Steuerung welche Apps von unterwegs und welche nur über das WLan mit dem Internet kommunizieren dürfen, hierdurch kann man die sowie so sehr knappen inklusive Datenvolumen schonen.
^ Name ^ OpenSource ^ Benötigt Root ^ Mechanismus ^ Link ^
| DroidWall((wird wohl nicht mehr weiterentwickelt)) | GPL v3 | Ja | IP-Tables | [[https://play.google.com/store/apps/details?id=com.googlecode.droidwall.free|Zur App]] |
| Firewall ohne Root | Nein | Nein | VPN | [[https://play.google.com/store/apps/details?id=app.greyshirts.firewall|Zur App]] |
| Android Firewall | GPL v3 | Ja | nicht bekannt | [[https://play.google.com/store/apps/details?id=com.jtschohl.androidfirewall|Zur App]] |
| AFWall+ | GPL v3 | Ja | IP-Tables | [[https://play.google.com/store/apps/details?id=com.googlecode.droidwall.free&hl=de|Zur App]]
=== Was kann eine Firewall und was nicht ===
Die Firewall kann den Apps zwar nicht den Zugriff auf die Daten verwehren aber die Kommunikation mit dem Internet verhindern. Dadurch bleiben die Daten auf dem Smartphone und nicht in den Händen der Appentwickler.
=== Schwarze Schafe ===
Leider gibt es auch hier schwarze Schafe die mit viel \\Bling Bling\\ von der Funktionalität überzeugen wollen und hintenrum selbst Daten ausspionieren. Ein Beispiel hierfür ist die App Mobiwall welche regelmäßig "nach Hause Telefoniert" ([[http://www.kuketz-blog.de/mobiwol-android-firewall-mogelpackung/|zu einem Artikel]] über diese App).
==== Berechtigungen Einschränken ====
Es gibt verschiedene Möglichkeiten die Berechtigungen von Aplikationen zu beschränken. Die meisten von ihnen benötigen dazu Root und Custom Roms.
=== SRT AppGuard ===
Entwickelt wird die Software von der Backes SRT GmbH. Die App steht auf der Entwicklerwebseite zum Download zur Verfügung. Für kurze Zeit war sie ebenfalls im Google Play Store erhältlich – wurde dort allerdings von Google wieder entfernt. Vermutlich liegt dies an der Tatsache, dass AppGuard den Quellcode von anderen Apps nachträglich modifiziert und damit gegen Bestimmungen in den Google AGB’s verstößt. Dies ist auch der Knackpunkt bei dieser Variante, zwar benötigt man keine Root-Rechte aber die App greift in den Code anderer Apps ein wodurch man gegen die Lizenzbedingungen der App verstossen kann.
== Funktionsweise ==
> Der SRT AppGuard ist eine Sicherheitssoftware für das mobile Betriebssystem Android. Sie ermöglicht dem Benutzer, das Verhalten von Android Apps von Drittanbietern zu überwachen und gegebenenfalls den Zugriff auf sicherheitskritische Systemressourcen zu verweigern. Der SRT AppGuard implementiert dazu folgende Funktionalität: Der Benutzer wählt eine bereits installierte App aus, die überwacht werden soll. Der SRT AppGuard untersucht den Bytecode (den kompilierten Quellcode) der App und identifiziert jene Instruktionen, die sicherheitsrelevante Funktionen der Android API (Android-Programmierschnittstelle, -Programmanbindung) aufrufen.
> An diesen Stellen fügt der SRT AppGuard zusätzlichen Programmcode ein (Instrumentierung), der den Zugriff auf diese sicherheitsrelevanten Funktionen protokolliert und kontrolliert. Nach Abschluss dieses Prozesses wird die bestehende Original-App deinstalliert und durch die instrumentierte Version ersetzt; dieser Schritt muss durch den Benutzer explizit bestätigt werden.
>
> Nur durch dieses Vorgehen ist die Funktionalität des SRT AppGuard gewährleistet. Sollten Sie mit dieser Funktionalität nicht einverstanden sein, installieren Sie den SRT AppGuard nicht.
> --- //[[http://www.backes-srt.com/|Backes SRT GmbH]]//
** Kurz zusammengefasst: **
* AppGuard untersucht den Bytecode von Apps
* Identifiziert dabei sicherheitsrelevante Funktionen
* Anschließend fügt AppGuard eigenen Programmcode ein, der sicherheitsrelevante Funktionen protokolliert und kontrolliert
* Die Original-App wird also modifiziert und durch Programmcode ergänzt
* **Fazit:** Die App verändert den Source Code der Apps und benötigt deshalb auch keinerlei Root-Rechte
=== LBE Privacy Guard ===
Das [[https://play.google.com/store/apps/details?id=com.lbe.security.lite&hl=de|Tool]] lässt sich aus dem Google Play Store installieren, für Geräte ab Android Jelly Bean heißt die App [[http://forum.xda-developers.com/showthread.php?t=1422479|LBE Privacy Master]]((Hier ist nur der Link zum xda-developers Forum da die App im Playstore noch auf Chinesisch ist)) und bietet einen noch größeren Funktionsumfang. Die Anwendung konzentriert sich nur auf die \\wichtigen Berechtigungen\\ und hat zusätzlich eine integrierte Firewall Funktion die es erlaubt Apps selektiv ins Internet zu lassen.
=== PDroid Privacy Protection ===
Das Tool muss mittels Patch in eine Custom rom geflasht werden. Root-Rechte genügen hier also nicht. Dadurch ist PDroid tief in das System verankert und kann auch nicht deaktiviert werden. Die Installation ist jedoch nicht ganz einfach und eher etwas für Fortgeschrittene User und Experimentierfreudige.
Es gibt mittlerweile auch eine OpenSource Variante [[http://forum.xda-developers.com/showthread.php?t=1994860|OpenPDroid]] welche auf PDroid 2.0 aufbaut.
=== PrivacyGuard ===
In einigen Custom Roms wurde mittlerweile ein PrivacyGuard integriert. Ob es sich hierbei immer um den gleichen Code handelt kann aktuell nicht bestätigt werden.
Ein PrivacyGuard befindet sich zum Beispiel im beliebten Custom Rom CyanogenMod ab version 10.2. Jedoch ist dieser bis zur Version 11 nur für alle Apps an oder ausschaltbar und lässt die Berechtigungen nicht selektiv auswählen. \\
Ein weiterer Kandidat ist das ebelnfalls sehr verbreitete ParanoidDroid welches ebenfalls einen PrivacyGuard integriert hat.
===== Weiterführende Informationen =====
* [[https://fsfe.org/campaigns/android/liberate.en.html|Free your Andorid]] eine Iniziative der FSFE((Free Software Fondation Europe))
* [[http://www.kuketz-blog.de/your-phone-your-data-teil1/|Kuketz-Blog]] - Eine Artikelreihe zum Thema "Your Phone Your Data"
* [[http://www.cyanogenmod.org]] - Webseite von Cyanogenmod
* [[http://paranoidandroid.co]] - Projektseite ParanoidDroid
{{tag> unvollständig Smartphone Android Sicherheit Verschlüsselung}}