Android en je privacy

Door Gtoniser op maandag 18 maart 2013 12:44 - Reacties (17)
Categorie: Algemeen, Views: 5.315

Laten we even voorop stellen dat ik een groot fan ben van Android. Als tweaker vind ik het geweldig dat ik alles met mijn telefoon kan doen en hem precies zo kan aanpassen als ik dat wil met custom roms en themes.
Toen ik echter afgelopen week wat aan het spelen was met mijn tablet en een test app installeerde via de Android SDK kwam ik ineens het volgende tegen in mijn LogCat:

code:
1
2
3
4
03-15 17:09:17.460: I/GetJar SDK [com.zeptolab.ctr.hd.google.paid](15588): CommManager: processesRequest() [thread:31729] [request:-1075312065] Starting Request -1075312065
03-15 17:09:17.460: D/GetJar SDK [com.zeptolab.ctr.hd.google.paid](15588): CommManager: processesRequest() [thread:31729] [request:-1075312065] Making a request to: 'https://rptuse20120814.getjar.com:443/user/devices/000203ec00000000009c4d82/apps/report_usage?version=20120401'
03-15 17:09:17.480: D/GetJar SDK [com.zeptolab.ctr.hd.google.paid](15588): CommManager: processesRequest() [thread:31729] [request:-1075312065] Sending POST data as part of the request [length: 584]:
03-15 17:09:17.480: D/GetJar SDK [com.zeptolab.ctr.hd.google.paid](15588): app_usage_data=%5B%7B%22usage_type%22%3A%22UNINSTALLED%22%2C%22app_metadata%22%3A%5B%7B%22value%22%3A%221.0%22%2C%22key%22%3A%22android.package.version_name%22%7D%2C%7B%22value%22%3A%22android%22%2C%22key%22%3A%22device.platform%22%7D%2C%7B%22value%22%3A%221%22%2C%22key%22%3A%22android.package.version_code%22%7D%2C%7B%22value%22%3A%22eu.sanoweb.webviewtest%22%2C%22key%22%3A%22android.package.name%22%7D%2C%7B%22value%22%3A%224.1.1%22%2C%22key%22%3A%22device.platform_version%22%7D%5D%2C%22tracking_metadata%22%3A%5B%5D%2C%22event_timestamp%22%3A%222013-03-15T16%3A09%3A17Z%22%7D%5D

Iets is dus blijkbaar mijn "Device usage" aan het syncen naar een server. Als we even urldecode over de data heen halen krijgen we de volgende JSON string:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
[ {
    "usage_type" : "UNINSTALLED",
    "app_metadata" : [ {
        "value" : "1.0",
        "key" : "android.package.version_name"
    }, {
        "value" : "android",
        "key" : "device.platform"
    }, {
        "value" : "1",
        "key" : "android.package.version_code"
    }, {
        "value" : "com.test.webviewtest",
        "key" : "android.package.name"
    }, {
        "value" : "4.1.1",
        "key" : "device.platform_version"
    } ],
    "tracking_metadata" : [],
    "event_timestamp" : "2013-03-15T16:09:17Z"
} ]
Bij het installeren van een app wordt dit ook verzonden naar de server.
Wat verder onderzoek laat zien dat dit afkomstig is van de app "Cut the Rope" van zeptolab. Maar waarom houdt dit bij welke apps ik installeer en verwijder?
De volgende pagina biedt uitkomst: https://developer.getjar....paign-tracking-analytics/
GetJar’s Pay-Per-Install program tracks App install events on the user’s device. These are events when the user visits the Google Play Store, downloads and installs the App on their phone. Since Getjar’s SDK is integrated into a Publisher’s application, it has the permission to listen to the ACTION_PACKAGE_ADDED system event. For more details of this event, please refer to the Android documentation here ACTION_PACKAGE_ADDED
Vanuit de developer documentatie komen we erachter dat dit via een "broadcast" aan alle apps wordt gestuurd bij een nieuwe install of uninstall.
Leuk natuurlijk, maar het lijkt me niet de bedoeling dat deze dingen naar diverse ad providers worden verstuurd.

Door de app op te zoeken in Google Play komen we bij de volgende privacy policy uit van ZeptoLab: http://www.zeptolab.com/pp.htm

Hier staat inderdaad in dat door het downloaden van een app je Zeptolab toestemming geeft om zo ongeveer alle "non-personal data" te verzamelen en te versturen naar third parties.
De apps die je installeert vallen blijkbaar ook onder Non-personal data.

Nu vind ik dit nogal apart. Over het algemeen zeggen apps die je installeert natuurlijk niet zo veel over je persoon. Maar wat als ik een rooster app van een universiteit installeer? Weet je gelijk waar ik studeer. En een Bijbel of Koran app? Of een app van een datingsite?

Het is natuurlijk niet gegarandeerd dat GetJar deze informatie verzamelt en opslaat (immers het doel is volgens de site om te tracken of iemand een app installeert na aanleiding van een advertentie), maar dat alles wat ik doe met mijn tablet wordt verstuurt naar random derde partijen waar ik nog nooit van heb gehoord vind ik persoonlijk niet erg fijn.

Wat me het meest verbaast is nog wel dat er totaal geen permissies nodig zijn om deze "broadcasts" te ontvangen. Enkel internet permissie (wat iedere app vrijwel heeft) is voldoende om deze data naar een willekeurige server te versturen.
Wat mij betreft slaat Google hier toch wel behoorlijk de plank mis.
Ben benieuwd wat anderen hierover denken :)

Volgende: Facebook dating 04-'13 Facebook dating
Volgende: Unbricking your router with a Raspberry Pi 02-'13 Unbricking your router with a Raspberry Pi

Reacties


Door Tweakers user masauri, maandag 18 maart 2013 13:09

De privacy issues zijn mezelf altijd een doorn in het oog geweest.
Je weet niet waar bepaalde apps toegang voor willen hebben.
Bij sommige apps is dit logisch, bij andere is me dit een vraagteken.
Ik zou echt willen dat ik een app vond die alles blokte tenzij ik er toestemming voor dat bepaalde item geef.
Maar helaas gaat het gebruiksgemak van de app vaak voor alles.

Door Tweakers user Datafeest, maandag 18 maart 2013 13:24

Wat mij betreft is dit gelijk het grote grote grote zwaktepunt van Android. Het is veel te open, en staat dus erg open voor gerotzooi. Wat dat betreft is het kiezen of delen.

Door Tweakers user MaffeMaarten, maandag 18 maart 2013 14:47

Een ander probleem dat ik hier zie:
Als een bedrijf voor zijn app-ontwikkeling een tablet of telefoon gebruikt waar ook al andere apps op staan, kunnen dus alle apps de naam van de nieuwe app-in-ontwikkeling langs zien komen.

Dat lijkt me wel iets om op te letten als bedrijf. Ik kan me zo voorstellen dat berichten als: "Gerucht $bedrijf komt met $toepassing-$app voor android" op deze manier uit worden gevonden.

Door Tweakers user SilentStorm, maandag 18 maart 2013 15:00

Het is ook erg vervelend dat het steeds zo'n alles-of-niets pakketje is, voor de permissies die wel gevraagd worden. Er zijn allemaal permissies, (bv read phone and identity) die intussen bijna elke app heeft, om unieke gebruikers te kunnen tracken.

Een gebruiker heeft (afaik) geen manier om te zeggen dat een specifieke permissie niet gegeven wordt.

Dat vond ik al eng. Om nu te horen dat er voor het doorsturen van deze gegevens niet eens een autorisatie nodig is, is nog zorgelijker.

Door Tweakers user Mr_gadget, maandag 18 maart 2013 16:07

SilentStorm schreef op maandag 18 maart 2013 @ 15:00:
Het is ook erg vervelend dat het steeds zo'n alles-of-niets pakketje is, voor de permissies die wel gevraagd worden. Er zijn allemaal permissies, (bv read phone and identity) die intussen bijna elke app heeft, om unieke gebruikers te kunnen tracken.

Een gebruiker heeft (afaik) geen manier om te zeggen dat een specifieke permissie niet gegeven wordt.

Dat vond ik al eng. Om nu te horen dat er voor het doorsturen van deze gegevens niet eens een autorisatie nodig is, is nog zorgelijker.
Het zou handig zijn als je per gevraagde permissie zou kunnen aangegeven of je het wil of niet. Een beetje zoals een firewall onder windows werkt. Helaas is het nu alles of niets, of je moet alle permissies akkoord gaan of je installeert de app niet. Zat een tijdje terug te zoeken naar een zaklamp app, sommige hadden permissie nodig voor je adresboek |:( terwijl de app maar toegang nodig heeft tot een specifiek gedeelte van de hardware..

[Reactie gewijzigd op maandag 18 maart 2013 16:07]


Door Tweakers user sypie, maandag 18 maart 2013 20:34

Nog maar een keer herhalen dan:

Gratis bestaat niet!

Aangezien Android een gratis systeem is zal er op een andere manier inkomsten gegenereerd moeten worden. Dit gebeurt op de manieren die hier omschreven worden. (met gesloten systemen zoals iOS hetzelfde trouwens)

Het kom er in feite op neer dat je helemaal niets anoniem kunt doen met je smartphone. Tenzij je geen smartphone hebt, dan kunnen alleen de providers je volgen.

Door Tweakers user GrooV, maandag 18 maart 2013 20:53

In iOS kan je overigens wel per app de permissies regelen sinds versie 6. Apps moeten dus expliciet toestemming tot je fotos en contacten vragen en je kan deze ook gewoon weigeren.

Door Tweakers user Leanderable, maandag 18 maart 2013 22:01

GrooV schreef op maandag 18 maart 2013 @ 20:53:
In iOS kan je overigens wel per app de permissies regelen sinds versie 6. Apps moeten dus expliciet toestemming tot je fotos en contacten vragen en je kan deze ook gewoon weigeren.
Wat je hier noemt staat eigenlijk los van de melding. In de blog wordt gesproken van informatie op een veel 'dieper' niveau dan wat contacten en foto's. Hiervoor krijg je op Android zo'n dergelijke melding. (App xxx wil internettoegang, toegang tot opslagmedia, locatiegegevens...) Ik ben niet zeker hoe dit in iOS6 geregeld is - mijn device krijgt de update niet ;-) - maar dat zou hier best hetzelfde kunnen zijn.

Door Tweakers user GrooV, maandag 18 maart 2013 22:06

Leanderable schreef op maandag 18 maart 2013 @ 22:01:
[...]


Wat je hier noemt staat eigenlijk los van de melding. In de blog wordt gesproken van informatie op een veel 'dieper' niveau dan wat contacten en foto's. Hiervoor krijg je op Android zo'n dergelijke melding. (App xxx wil internettoegang, toegang tot opslagmedia, locatiegegevens...) Ik ben niet zeker hoe dit in iOS6 geregeld is - mijn device krijgt de update niet ;-) - maar dat zou hier best hetzelfde kunnen zijn.
Sowieso is er bij iOS niet zo'n "event" en mogen apps uit de store alleen de officiele SDK gebruiken en checkt Apple je executable of deze dat ook daadwerkelijk doet.

Daarnaast vraagt iOS toestemming of de app in je contacten lijst mag zodra deze dat probeert. Dus je krijgt niet een overzicht met alle rechten die je dan allemaal moet goedkeuren of afkeuren maar iOS vraagt dit aan de gebruiken of dat mag en je kan daarna ook een overzicht zien welke app's wat gebruiken.

Bij Android gebeurd dit bij het installeren, bij iOS pas zodra er echt iets geraadpleegd wordt.

Het voordeel hier van is dat je bijvoorbeeld een foto app wel toestemming tot je foto's kan geven maar niet tot je contacten of GPS

Door Tweakers user Paul-G, dinsdag 19 maart 2013 08:45

Mr_gadget schreef op maandag 18 maart 2013 @ 16:07:
[...]

Het zou handig zijn als je per gevraagde permissie zou kunnen aangegeven of je het wil of niet. Een beetje zoals een firewall onder windows werkt. Helaas is het nu alles of niets, of je moet alle permissies akkoord gaan of je installeert de app niet. Zat een tijdje terug te zoeken naar een zaklamp app, sommige hadden permissie nodig voor je adresboek |:( terwijl de app maar toegang nodig heeft tot een specifiek gedeelte van de hardware..
Nu kan het deels al om apps toegang te ontzeggen naar bepaalde delen van je Android telefoon. Het is wel vereist om je telefoon te rooten, maar als je dat eenmaal hebt gedaan kan je de app LBE privacy guard (https://play.google.com/s...?id=com.lbe.security.lite) installeren, waarmee je apps dus toegang kunt ontzeggen naar bijv. je phone id. Ik gebruik de app nu al een tijdje, en je kan zowel al google apps als andere apps toegang ontzeggen. Als je een nieuwe app installeert krijg je meteen een notificatie waarin je de permissies dus kan wijzigen. Het is natuurlijk ook een grote miskleun van google dat apps gewoon zulk soort info zonder permissie versturen.

[Reactie gewijzigd op dinsdag 19 maart 2013 10:55]


Door Tweakers user DeadlyGast, dinsdag 19 maart 2013 11:40

masauri schreef op maandag 18 maart 2013 @ 13:09:
De privacy issues zijn mezelf altijd een doorn in het oog geweest.
Je weet niet waar bepaalde apps toegang voor willen hebben.
Bij sommige apps is dit logisch, bij andere is me dit een vraagteken.
Ik zou echt willen dat ik een app vond die alles blokte tenzij ik er toestemming voor dat bepaalde item geef.
Maar helaas gaat het gebruiksgemak van de app vaak voor alles.
Pdroid app -> https://play.google.com/s....privacy.pdroid&hl=nl

Door Tweakers user mitch187, woensdag 20 maart 2013 08:33

Geef apps die volgens jou niets op internet te zoeken hebben geen toegang tot?

Door Tweakers user MaffeMaarten, woensdag 20 maart 2013 09:15

Stel dat je binnen kort apps toegang tot internet en telefoongegevends kan ontzeggen, zelfs als ze daar om vragen.
Dan zou het mij niks verbazen (onder het mom van "niks is gratis") dat ze checken of ze die toegang hebben en vervolgens gewoon niet doorstarten.

Als je echt een goeie privacy app zou hebben zo hij fake-gegevens aan bieden aan apps die jij toegang ontzegd hebt:
Alsjeblieft app - hier is mijn locatie: ja, ik zit op de noordpool....
Alsjeblieft, hier is mijn adresboek: ja, ik heb maar twee vrienden, en die hebben allebij een nummer dat begint met 555.

Dan gaan apps natuurlijk weer die nep-gegevens proberen te herkennen en krijgen we weer een ouderwetse wapen-wedloop....

Totdat de apps snappen dat ze niet aan de privacy moeten komen, en de klanten dat ze best wel een euro-tje kunnen missen voor die app die ze eigenlijk niet kunnen missen.

Door Tweakers user cyberstalker, vrijdag 22 maart 2013 09:12

Mr_gadget schreef op maandag 18 maart 2013 @ 16:07:
[...]

Het zou handig zijn als je per gevraagde permissie zou kunnen aangegeven of je het wil of niet. Een beetje zoals een firewall onder windows werkt. Helaas is het nu alles of niets, of je moet alle permissies akkoord gaan of je installeert de app niet. Zat een tijdje terug te zoeken naar een zaklamp app, sommige hadden permissie nodig voor je adresboek |:( terwijl de app maar toegang nodig heeft tot een specifiek gedeelte van de hardware..
Het is mogelijk met LBE Privacy Guard. Hiervoor moet je toestel echter wel geroot zijn.


Door Tweakers user cyberjack77, vrijdag 22 maart 2013 16:22

Ik vraag me af wat er gebeurd als je een firewall als droidwall gebruikt en je de app geen toegang tot internet geeft (wat de meeste apps bij mij niet hebben).

Is het een system call en wordt dan de data alsnog verstuurd of verstuurd de app deze data en wordt hij dan geblocked. Hoe zou je zoiets kunnen monitoren?

Voor nu maar even getjar aan de host file toevoegen zodat er helemaal geen data heen gestuurd kan worden, maar ik ben wel benieuwd naar welke andere sites dit ook gestuurd kan worden.

Door Tweakers user MacD, zondag 24 maart 2013 22:50

Voor het apps niet toelaten tot bepaalde permissies gebruik ik LBE privacy guard, waar je per app de toegang kunt ontzeggen tot de permissies die het vraagt. Het is van origine een programma gemaakt dorr iemand die op XDA actief is/was, dus ik vertrouw het wel.

Het geniepige is dat de boven omscheven "aanval" inderdaad NIETS met die permissies te maken heeft; die global broadcast wordt idd ontvangen door ANY app die erom vraagt. En dan kan any app met internet permissie dit doorsturen.

Behalve als je die apps blockt met een programma als Droidwall ... maar iets als GetJar wil je niet de gehele internet toegang ontzeggen, dus heb je een probleem.

Maar dat heb je op ANY OS, Windows, Linux iOS, maakt niet uit: vertrouw je het programma of niet?

Reageren is niet meer mogelijk