Trackers en reclame blokkeren op Android
Met de Android-app Blokada blijft je smartphone schoon, en dat zonder te rooten of andere trucs. Bij een praktijktest onderschepte de tool bij ons tienduizenden oproepen van trackers en advertenties. En die waren niet alleen van Google en Facebook.
Tsja, apps … Aan de ene kant wil je dat ze bepaalde gegevens verzamelen, zoals fitness-apps die je hartslag en routes vastleggen. Maar aan de andere kant zijn apps vaak een soort malware: ze verzamelen allerlei gegevens die ze niet nodig hebben en waar ze eigenlijk niets mee te maken hebben, bovendien overstelpen ze je met reclame. Zo onthulde de Wall Street Journal in februari nog dat talloze fitness-apps persoonlijke gezondheidsgegevens doorstuurden naar Facebook, zelfs als je helemaal niet bij Facebook was aangemeld. Zelfs betaalde apps zitten tegenwoordig vol reclame en trackers die je gebruik bijhouden, soms zonder daar toestemming voor te vragen.
Het is dus geen wonder dat trackers net zo populair zijn als een bezoek aan de tandarts. Gelukkig is er een pijnvrije behandeling mogelijk voor Android met behulp van een opensource app. De naam van die app is Blokada. Hij blokkeert reclames, zoals de naam al aangeeft, en zet trackers en malware-apps op een doodlopend spoor. Blokada houdt alle geïnstalleerde apps in de gaten en gebruikt hierbij diverse filterlijsten om ‘kwaadwillende’ servers te herkennen.
GOEDE APPS MET KWADE BIJBEDOELINGEN
Het is duidelijk dat reclame in apps of op internet door veel gebruikers als vervelend wordt ervaren. Een gepaste dosis is misschien acceptabel in ruil voor gratis gebruik, maar te veel reclame irriteert. De werking van trackers springt minder in het oog. Om een idee te krijgen van de omvang van het probleem, kun je een kijkje nemen op de website https://exodus-privacy.eu.org. De Franse non-profitorganisatie erachter is gespecialiseerd in het opsporen van trackers in Android-apps. Daarvoor doorzoeken ze de bij het maken van de app gebruikte DEX-bestanden op code-signatures van trackers.
De site vermeldt meer dan 50.000 apps. Verrassend veel bekende apps op de lijst bevatten trackers. Dat zijn niet alleen de bekende zondaars, zoals gratis games en apps uit onbekende bronnen. Als gebruiker kun je niet zien hoeveel trackers als verstekeling meekomen in de code van een app. Zo telde Exodus bijvoorbeeld in de Android-apps Marktplaats en Nike Training respectievelijk 13 en 10 trackers. Als je de Hema-app gebruikt, wordt je volgens Exodus door 6 trackers gevolgd, de Outlook-app heeft er 9. Zelfs de Wikipedia-app van de non-profit Wikimedia Foundation bevat twee trackers, de Exodus-app zelf bevat geen enkele tracker.
Sommige trackers doen hun telwerk zonder schadelijke effecten voor je privacy. Sommige trackers houden wel rekening met de Algemene Verordening Gegevensbescherming (AVG) en verzamelen geen gegevens die onder ‘persoonsgegevens’ vallen. Bij Blokada kun je deze ‘goede’ trackers eventueel in een whitelist opnemen, zodat hun verzoeken wel doorgelaten worden.
Blokada stuurt verder alle trackers op een doodlopende weg. Dat gaat als volgt: Blokade stuurt het dataverkeer naar een lokaal op de smartphone ingestelde VPN-interface. Dat kan op Android-smartphones zonder rootrechten. Omdat de controle op het apparaat zelf gebeurt, krijgt niemand anders de data onder ogen die naar de filters wordt gestuurd. Je ruilt dus niet het ene kwaad voor het andere in. Er zit wel een nadeel aan deze methode. Je kunt naast Blokada niet tegelijkertijd ook een andere VPN-verbinding benutten, omdat Android niet meerdere gelijktijdige VPN-verbindingen toestaat.
DNS-KWESTIES
Als een website of app op de smartphone een server wil benaderen, stuurt het apparaat de naam van de server (URL) naar een Domain Name Server (DNS). De DNS-server zet die om naar een op internet geldend adres. Voor ct.nl is het resultaat dan bijvoorbeeld 185.173.21.78. De aanvraag wordt vervolgens door routers op internet naar dat IP-adres gestuurd. De truc van Blokada is dat de app door het opzetten van een lokale VPN-verbinding de DNS-aanvraag kan onderscheppen en het IP-adres bij trackers of reclame zo aanpast dat apps als reactie ‘niet bereikbaar’ ontvangen.
Blokada vergelijkt daartoe de door trackers of reclames opgevraagde URL met een lijst van zondaars die op de smartphone staat. Die bevat reclamenetwerken, dataverzamelaars en malwarebronnen. Blokada levert voor alle ‘kwaadaardige’ servers een ongeldig internetadres terug zoals 0.0.0.0 of 127.0.0.1. De tracker kan via dat adres geen contact krijgen met de doelserver en dus ook geen reclame tonen of gebruikersgegevens doorsturen. In een app zie je dan op de plek van de advertentie een leeg wit vlak of je krijgt een kapotte, verschoven lay-out.
Om de URL’s op je smartphone te filteren, kun je nog een tweede hindernis opwerpen voor ongewenste doelservers. Normaliter gaan alle DNS-aanvragen, nadat ze door Blokada zijn gefilterd, naar de standaard DNS-server voor het verbonden netwerk. Met Blokada kun je ook andere DNS-servers gebruiken. In de app zijn er in totaal 15 geconfigureerd waar je uit kunt kiezen. Die DNS-servers gebruiken hun eigen blacklists. Maar wat er nu precies geblokkeerd wordt door de aangeboden DNS-servers in de app, is ondanks een korte begeleidende informatietekst voor gebruikers uiteindelijk net zo ondoorzichtig als de licentievoorwaarden van Microsoft. In onze ervaring voelde het alsof de Russische Adguard DNS meer filterde dan de andere DNS-servers.
Een van de opties zou sites eruit moeten filteren die niet voor alle leeftijden geschikt zijn. Dat maakt duidelijk, dat DNS-servers ook als censuurmiddel gebruikt kunnen worden. Dat gebeurt in de praktijk helaas ook vaak. We probeerden in plaats van een filterende DNS-server juist het omgekeerde te doen, namelijk een censuurvrije optie in te stellen van Digitalcourage en OpenNIC (zie link op het einde). Dat werkt en op die manier kun je met Blokada ook DNS-blokkades van de standaard DNS-server omzeilen.
GOOGLE BLOKKEERT BLOKADA
Als je het voorgaande gelezen hebt en nu meteen je smartphone pakt om de Blokada-app te downloaden, zul je hem niet vinden in Googles Play Store. Dat zal voor Google-kenners net zo min verrassend zijn als dat de zon elke dag weer opkomt: Google is geen fan van Blokada, omdat de app de bedrijfsactiviteiten van de onderneming tegenwerkt. In de Play Store staat alleen de app ‘DNS changer by Blokada’, maar die is zonder filterlijsten.
Je kunt de app echter wel vinden via de link aan het eind van dit artikel of via de site van de ontwikkelaars op https://blokada. org/. Gebruik geen andere bronnen, want er zijn ook fake-sites die welhet Blokada-logo tonen, maar die ondertussen proberen een trojan naar binnen te loodsen.
Bij het downloaden van Blokada via de browser moet je een waarschuwing wegklikken die – in dit geval onterecht – op het gevaar wijst van mogelijke schade aan je apparaat door APK-bestanden. Bij de volgende vraag moet je toestaan dat er onbekende apps geïnstalleerd worden, maar het is verstandig die instelling na de installatie meteen terug te zetten. Bij de eerste
start van Blokada moet je het verbindingsverzoek toestaan van het programma om de benodigde lokale VPN-verbinding op te zetten.
Het item ‘zwarte lijst’ op de startpagina van de app omvat aanvankelijk slechts 1 item. Dat is een beperkte blacklist die gericht is op mobiele apparaten, met circa een kwart miljoen hostnamen. Andere blacklists (zie de uitgebreide lijst bij de link aan het eind van dit artikel) filteren er meer uit, zoals pornosites, of ze verhinderen ongewenste cryptomining. Voor minder krachtige smartphones zijn er nog compactere lijsten, die gemakkelijker gehanteerd kunnen worden en het energieverbruik van het filter beperken.
Het aandeel van Blokada in het energieverbruik bedroeg bij onze test circa 2 procent. Omdat Blokada het accu-leegslurpende laden van tracker-scripts en het laden van reclame verhindert, kan het totale energieverbruik toch lager uitvallen. Dat kun je niet echt controleren in de accustatistieken van je smartphone. Omdat blacklists verouderen en er steeds weer nieuwe vervelende hosts bijkomen, moeten de lijsten regelmatig ververst worden. Dat gebeurt automatisch, maar kun je ook doen via een knop boven in het blacklists-overzicht. Het item ‘hostnamen’ onder aan de startpagina toont hoeveel hosts Blokada momenteel kan filteren, rechtsboven zie je hoe vaak Blokada heeft ingegrepen.
Bij ‘witte lijst’ staan de items die Blokada ongefilterd moet doorlaten. Enkele diensten van Google staan daar standaard ingesteld. Je kunt daar extra adressen aan toevoegen of apps die van Blokada een vrijbrief moeten krijgen om ongehinderd met internet contact te maken. Je kunt ook een lijst met bijbehorende hosts opstellen en die importeren. Dat laatste is de moeite waard als je vaak van smartphone wisselt. Tik onderaan op de ronde knop om het blokkeren te starten. Het aantal geblokkeerde items kan hard oplopen op smartphones van gebruikers die nog niet veel gedaan hebben om hun privacy te waarborgen. In drie weken tijd bereikte dit getal in de test een waarde van meer dan 100.000 geblokkeerde toegangspogingen tot hosts. Dat zijn er circa 200 per uur!
Activeer de optie ‘Notificaties’ op het startscherm om een notificatie te krijgen elke keer dat Blokada ingrijpt. Je krijgt dan een indruk van de frequentie. Na korte tijd vonden we dat al vervelend, zeker met het begeleidende geluid erbij, dus hebben we het snel uitgezet.
WIE TRACKT ER?
Als trackers vaak en continu actief zijn, zou het handig zijn een logboek te hebben dat aangeeft welke apps het meest zondigen en welke hosts geblokkeerd worden. Blokada houdt wel logfiles bij, maar die bevatten alleen de geblokkeerde hosts, niet de apps waardoor de trackers geactiveerd zijn. Die info vergaart Blokada niet. Je kunt er dus niet van uitgaan dat een notificatie over een geblokkeerde host afkomstig is van het actieve programma. Android laat ook apps op de achtergrond communiceren met internet, waaronder systeemapps.
Je kunt echter wel controleren welke hosts Blokada bijzonder vaak eruit vist. Om dat na te gaan, hebben we een Huawei Mate 20 Pro uit de doos gehaald, de ongewenste bloatware-apps verwijderd (zie c’t 03/2019) en gevuld met 120 uiteenlopende apps. Om logs te kunnen bijhouden, heeft Blokada de machtiging nodig om de opslag van je smartphone te benaderen. Dat kun je verlenen via ‘Instellingen / Apps / Apps / Blokada’. Daarna moet de app opnieuw gestart worden.
Na een kleine drie weken was het bestand blokada. log in de Download-map van de smartphone al enkele MB groot en voor een analyse met Excel ‘enigszins’ onhandelbaar geworden. Daarom bekeken we een periode van twee dagen. De logfile daarvoor bevatte altijd nog 33.788 regels. Een deel daarvan was overhead en legde vast wanneer Blokada filters bijwerkte, wanneer het tussen wifinetwerken wisselde en wanneer de lokale VPN-verbinding herstart werd. Netjes dat het wordt bijgehouden, maar die regels konden weg.
Er bleven iets meer dan 12.025 items over die betrekking hadden op geblokkeerde host-toegang. Bij zorgvuldiger bekijken viel op dat na de eerste toegangspoging die vastliep op de DNS-blokkade, meteen tot wel acht nieuwe pogingen volgden. Na het uitfilteren van die herhalingen bleven er nog 2813 tracker-vermeldingen over die gekoppeld waren aan een specifieke host-toegang. Dat komt bijna neer op één trackertoegang per minuut.
Gesorteerd en opgeteld, kwamen we uit op een lijst van 72 hosts met bijbehorende toegangsaantallen. Bij andere Blokada-gebruikers kunnen de resultaten er heel anders uitzien. Het hangt er helemaal vanaf welke apps je gebruikt en hoe.
Alleen de trackers van WhatsApp en van de vervangend toetsenbord-app Swiftkey konden op basis van
hun naam gemakkelijk toegewezen worden aan de bijbehorende apps. Waar de pogingen vandaan kwamen om contact te leggen met de andere hosts, kan uit de logs alleen niet worden afgeleid. Op basis van de eerder genoemde website https://exodus-privacy.eu.org en wat eigen onderzoek op internet kun je voor een deel van de trackers wel herleiden wie er achter een hostnaam zit.
GROTE TRACKERS OPGESPOORD
Zo zijn de hosts logs.optimizely.com en udm.scorecardresearch.com bijvoorbeeld van het marktonderzoeksbureau ComScore, dat omstreden is vanwege zijn telmethoden. Optimizely meet voor websites en apps hoe ze gebruikt worden, maar de dienst kan ook voor gerichte reclame worden gebruikt. Scorecardresearch is een marketing-tracker. Met in totaal ongeveer een kwart van alle toegangen in het logboek kwam de ComScore-tracker op de derde plaats, achter Facebook (plaats 2) en Google (zie het cirkeldiagram linksonder op de vorige pagina).
Maar liefst 21 gelogde hostnamen waren te herleiden tot Facebook. Het vaakst, namelijk 289 keer, ging het om aanroepen van de host graph.facebook.com. Die Facebook-interface wordt door veel apps gebruikt, en daardoor weet Facebook bijvoorbeeld wat voor apparaat je gebruikt. Met behulp van je app-lijst komen er nog veel meer gegevens terecht bij Facebook, zoals informatie over je geloof, je gezondheid en allerlei persoonlijke voorkeuren. Daarvoor hoef je zelf helemaal geen Facebook-account te hebben. Bij Google horen weer veel andere hosts, zoals app-measurement.com, Crashlytics, Doubleclick en GoogleAds. Het artikel zou te lang worden als we alles zouden opnoemen.
Het volledig blokkeren van de trackers had nauwelijks enige negatieve invloed op de gebruikte apps. Slechts bij een enkele app was dat wel het geval: de Spotify-app haperde. Spotify trackt de afgespeelde of gezochte nummers, wat gebruikers meestal ook prima vinden. Maar Blokada blokkeert de benodigde trackers. Met Blokada ingeschakeld konden we via de notificaties enkele trackers op het spoor komen die door de Spotify-app werden gebruikt. Die voegden we stuk voor stuk toe aan de whitelist, totdat Spotify weer normaal werkte. Je kunt ook eenvoudigweg Spotify als app op de whitelist zetten en volledige internettoegang geven, maar zo ver wilden we niet gaan. Ook de Hemaapp haperde flink bij gebruik van Blokada.
CONCLUSIE
Blokada bleek in de praktijk erg effectief bij het uitfilteren van ongewenst dataverkeer door trackers en reclame. De app helpt om het mobiele dataverbruik te beperken en je smartphone te versnellen omdat die minder hoeft te wachten op onnodige ballast.
Het is echter nog niet mogelijk om versleuteld overgedragen reclames uit te filteren, of paginagrote popups of YouTube-advertenties. En ook voor de rest werd niet elke reclame en zeker niet elke tracker door Blokada geweerd. Dat is ook logisch, want er komt geen einde aan de aanwas van kwaadwillende hosts en filterlijsten zijn nooit helemaal up-to-date.
Maar als je zelden een VPN-verbinding nodig hebt, is Blokada voor Android-smartphones op wifinetwerken en mobiele netwerken een effectief middel tegen trackers en reclame. Een ander alternatief voor smartphones zonder root is de erg krachtige app Netguard (zie link op het einde). Maar die vergt meer denkwerk en inspanning bij het inrichten.
Wil je trackers en reclame voor meerdere apparaten blokkeren en bijvoorbeeld ook iPhones en smarttv’s, dan is Pi-hole voor de Raspberry Pi een goede oplossing (zie onder meer c’t 7-8/2018).
Op dit moment wordt Blokada gefinancierd met donaties. Dat blijft waarschijnlijk ook zo. Alleen voor sommige extra functionaliteit moet je misschien in de toekomst betalen. Op de wenslijst staan: het filteren van versleuteld dataverkeer, verbeteringen voor gebruikers van geroote toestellen, een firewall, een VPNmogelijkheid, ondersteuning van de Firestick en andere smart-tv-apparatuur en een databesparingsfunctie. Sommige gebruikers zouden bovendien graag de mogelijkheid zien om host-toegang toe te wijzen aan de betreffende apps.
De Blokada-app (op dit moment versie 3.7) wordt sinds 2016 ontwikkeld door een driekoppig team: Karol is de hoofdontwikkelaar, Peter beantwoordt de gebruikersvragen via Facebook, XDA en GitHub en Sebastian zorgt voor het Telegram-kanaal met chatrobot en testen. Hun achternamen geven de ontwikkelaars niet. Dat is misschien maar beter ook: sommige partijen zullen niet zo blij zijn met hun werk.