Carrier IQ is een programma dat geïnstalleerd wordt op - overwegend - Amerikaanse smartphones. De applicatie verzamelt ongemerkt diagnostische informatie over het gebruik van de telefoons en analyseert die data. Telecomoperators gebruiken die informatie om hun netwerken te verbeteren en te managen.

Een 'heatmap' van een gebied waarin de signaalsterkte wordt weergegeven. Bron: Carrier IQ.

Heisa

Groot probleem met Carrier IQ is dat tot voor kort niemand wist dat er een programma op hun smartphone staat dat in de gaten houdt wat een gebruiker op zijn telefoon doet. Laat staan dat de gebruiker wist dat die data werd doorgestuurd en verwerkt. Foute boel, vond Android ontwikkelaar Trevor Eckhart, en hij hing de kwestie na ontdekking aan de grote klok.

Uit zijn tests bleek dat via Carrier IQ onder andere toetsaanslagen worden gelogd, sms-berichten worden opgeslagen en ook internetverkeer wordt afgeluisterd. Het duurde even voordat Carrier IQ afdoende reageerde op de aantijgingen, maar deze week zette het Amerikaanse bedrijf een 19 pagina's tellend pdf-document online om tekst en uitleg te geven over de kwestie. Het blijkt allemaal wat ingewikkelder in elkaar te zitten dan gedacht.

Verschillende smaken

Carrier IQ komt namelijk in een aantal verschillende smaken

  1. Een door consumenten zelf te installeren variant.
  2. Een voorgeïnstalleerde variant, of zoals ze het zelf noemen: IQ Agent.
  3. Een ingebedde variant.

Aan die laatste geven de meeste operators de voorkeur, omdat er bij de ingebedde variant het meeste in te stellen valt, en de meeste diagnostische diagnostische informatie kan worden ingezameld. Die informatie kan door de telco via een application programming interface (api) in een door Carrier IQ geleverde applicatie worden getrokken waar de data verder wordt geanalyseerd. Het instellen van die verschillende soorten data kan door een bepaald profiel aan te maken, dat per telco kan verschillen.

Een voorbeeld van wat er gelogd kan worden met de ingebedde versie, dit is 1 van de 7 tabellen die Carrier IQ nodig heeft om alle mogelijkheden te specificeren, klik voor groot. Bron: Carrier IQ.

Vier lagen

Uit een analyse van de Electronic Frontier Foundation, een voorvechter van digitale burgerrechten en online privacy, blijkt dat die verschillende gedaanten van Carrier IQ ook anders ingedeeld kunnen worden. Zij doen het in vieren. Waarin onderstaande cijfers 2, 3 en 4 gezien moeten worden als software-lagen die om elkaar heen gewikkeld worden.

  1. Het bedrijf Carrier IQ.
  2. Een softwarelibrary die is geschreven door Carrier IQ en die op 141 miljoen telefoons staat (zij gebruiken het getal 150 miljoen, dat voorkomt in een van de persberichten van het bedrijf, de teller op de site zegt 141 miljoen).
  3. Een applicatie van Carrier IQ dat op een smartphone draait, aangevuld door code van telefoonfabrikanten (OEM's) of de fabrikanten van baseband chips.
  4. Het totale Carrier IQ pakket, waarin laag 3 wordt aangevuld met nog meer code die ingrijpt op het het mobiele besturingssysteem en de het besturingssysteem van de baseband en informatie daarover doorstuurt naar laag 3. Deze code wordt gemaakt door telefoonfabrikanten, telco's of basebandfabrikanten.
Een grafische weergave van de Carrier IQ-structuur zoals geïnterpreteerd door de EFF, klik voor groot.

Wel of niet keyloggen

De laatstgenoemde is de door telco's geprefereerde ingebedde versie. En daar begint het vingerwijzen ook. Carrier IQ bendrukt zelf geen keylogger te zijn en dat het bewijs dat Eckhart daarvoor levert in een YouTube video niet laat zien dat hun software dienst doet als keylogger maar dat er te zien is dat die data wordt weggeschreven in een Android-logbestand.

In de door de EFF gedefinieerde lagen 2 tot en met 4 kan locatiedata, browsegeschiedenis, het gebruik van applicaties, batterijgebruik en data over de verbinding van de telefoon met de zendmast worden verzameld. Waarbij overigens opgemerkt moet worden dat niet alle verzamelde data ook daadwerkelijk verstuurd wordt, het is mogelijk om via verschillende filters een selectie te maken.

Gelekte logs

Keyloggen is geen gangbare functie, maar omdat er via de ingebedde versie toch informatie over toetsaanslagen terecht komen in de Android logs, kunnen ze wel gelekt worden. Het lijkt er op, concludeert de EFF, dat er slechts in zeer specifieke gevallen gelogde toetsaanslagen en sms-berichten ook van de logbestanden terecht komen in de Carrier IQ softwarelaag (laag 2) voor verzending.

"Jammer genoeg moeten moeten wij er op dit moment vanuit gaan dat het loggen dat in laag 4 gebeurt opgeslagen wordt in de systeemlogs van Android. En in feite onbedoeld toch verstuurd wordt naar derden, en anders beschikbaar wordt gesteld aan andere applicaties op het apparaat", stelt Peter Eckersley, technology project director van EFF.

Dat gebeurt volgens hem als tools kopieën van carshrapporten verzamelen van de systeemlogs voor het repareren van bugs. De ontvangers van dergelijke zendingen verwachten geen logs van toetsaanslagen, url's of sms-berichten te ontvangen. Op welke telefoons dit het geval is af hangt wederom helemaal af van de instellingen. Dit verklaart ook de tegenstrijdigheid in berichten over het al dan niet volledig verzamelen van toetsaanslagen en de verwerking hiervan. "Mensen aan beide kanten van dit debat kunnen tegelijkertijd correct zijn", constateert Eckersley.

Operators moeten inzicht geven

Hij roept dan ook op een volledige lijst van alle ingestelde profielen van alle operators te publiceren, om erachter te komen welke data ze wilden verzamelen. Een lijst daarvan ontbreekt in de uitgebreide uitleg van Carrier IQ. Zowel Carrier IQ en de EFF leggen dus de verantwoordelijkheid neer bij de telco's die gebruik maken van de diensten van Carrier IQ.

Er is één uitzondering. Het bedrijf zegt "in sommige gevallen" per abuis sms-berichten onbedoeld te hebben doorgestuurd. Dit gebeurde versleuteld en de berichten zijn niet gedecodeerd door Carrier IQ, zo bezweert het bedrijf. Alleen de ingebedde versie van de software had last van deze "bug".

Carrier IQ legt uit