plusone

25. Juli 2011

App Permission und damit verbundene Gefahr

Nabend allerseits,

heute will ich euch meine Erkenntnisse, die ich während meiner Studie über Apps-Kommunikation untereinander erlangte, mit euch teilen.

Fast jeder APP die ihr euch vom Market lädt, erfragt erweiterte Zugriffsrechte.
Zugriff auf das Internet ist wohl das verbreiteste und SMS versenden ist auch dabei.
Die einzelnen Zugriffsrechte mit einer kleiner Beschreibung findet ihr auf der Developer-Seite.

Worauf ich hinaus will, ist das ich in der AndroidManifest.xml (der Konfigurationsdatei der APPs) festlegen kann, wie eine APP gestartet wird.
Der Normalfall ist so, wie ihr eure APPs nutzt, aber es gibt unter anderem auch die Option "Ohne Display" zu starten.
Welchen Sinn das hat?
Ganz einfach, eine APP muss nicht immer was anzeigen, diese kann durchaus im Hintergrund arbeiten. Ohne den Benutzer unnötig zu stören.

Und genau da liegt die Gefahr. *schwarzen Peter an die Wand mal*
Den eine APP hat die Zugriffsrechte, die der Summe der Zugriffsrechte aller installieren APPs entspricht!



Worst Case
Meine AlphaApp(name frei gewählt) erfüllt ihre Aufgabe und zeigt euch was schönes aus dem I-Net. Internet-Permission gerechfertigt!

Was ihr nicht wisst, dass eine BetaApp fleißig Daten über euch mit Hilfe von Fine-Location, Read-Logs und vllt. auch noch von eurem Acc sammelt.
Anschließend starten diese die AlphaApp, die natürlich ohne Display auftaucht, die Daten von BetaApp dankend annimmt und... ja, was kann man mit solchen sensiblen Daten und vollem Internetzugriff erreichen?
Tja, der Besitzer wird sich bestimmt nicht persönlich für den Erlös eurer Daten bedanken, aber freuen wird er sich mit Sicherheit!

Auch wenn der Market sich gerade verändert, dem einen zu Gunsten von Entwickler und dem anderen für den Benutzer (Links von www.Golem.de). Fehlt mir immer noch die Einsicht in die AndroidManifest.xml der APP, bevor ich diese auf meinem Handy installiere.
Klar sieht man schon die Permission und die Inhaltsbewertung, aber in der Manifest steht viel mehr!

Nach dem Moto die Hoffnung stirbt zuletzt, werde ich auf weitere Erweiterungen des Markets sehnswürdig warten.

Zurück zu APPs, die sich ohne Display starten lassen.
Wie kann ich mich vor sowas Schützen? Wie kann ich das Starten von APPs ohne meine Erlaubniss verhindern?
Schützen? Ihr habt die APP installiert und vertraut ihr somit voll und ganz!
Erlaubniss? Höhr auf Sachen zu starten, dann gewährst du denen auch keine Erlaubniss!

Kann man so ein Verhalten bemerken? JA! Im Catlog, also der Systemlog eures Gerätes, wird jeder Aufruf protokolliert. Und ein Intent(also die APP) der mit "(has extras)" startet, deutet schonmal auf einen Datentransfer zwischen zwei Anwendungen.

Hier ein Screen von der Konsole aus meiner Entwicklunsumgebung(Eclipse):


Der markierter Bereich zeigt einen erfolgreichen Start einer normaler APP (BetaApp - bei mir heißt diese DummyPermission), direkt gefolgt vom Start meiner AlphaApp (DummyInternet2) mit dem "(has extras)" (rot eingekringelt) und anschließend kommt die Activity DummyPermission zum vorschein.

Bei mir dauert dieser Ablauf nur ZWEI Sekunden!
Richtig Programmiert wirkt sich die Datenmenge nur gering auf die Dauer dieses Ablauf.

So genug der Horrorgeschichten.
Seit für mehr Transparenz und verzichtet nicht auf euer Recht zu Wissen, was eine App wirklich tut!

regards

Keine Kommentare:

Kommentar veröffentlichen