Kort geleden stelde Apple een controversieel systeem voor om foto’s op meer dan een miljard iPhones te gaan scannen op kindermisbruik. Hoe werkt dat? En willen we dat wel?

denkwerkKoen Vervloesem

Apple is van plan om bij Amerikaanse gebruikers foto’s op hun iPhone te scannen op kindermisbruik voordat je die naar iCloud Photos uploadt. Als er een vermoedelijke match is, wordt een lagere-solutieversie van de afbeelding naar Apple verstuurd voor een handmatige controle. Blijkt het echt om kindermisbruik te gaan, dan wordt het account geblokkeerd en brengt Apple het National Center for Missing and Exploited Children (NCMEC) op de hoogte, dat op zijn beurt contact opneemt met de veiligheidsdiensten. 
Apple noemt zijn systeem CSAM-detectie (child sexual abuse material). Het bedrijf heeft in iOS een database opgenomen met digitale vingerafdrukken van foto’s die kindermisbruik voorstellen en vergelijkt die met je eigen foto’s wanneer je die uploadt naar de Apple-cloud. Die collectie vingerafdrukken is gebaseerd op foto’s die gevalideerd zijn door minstens twee kinderveiligheidsorganisaties. De eigenschappen van het systeem worden door Apple beschreven in het document Security Threat Model Review of Apple’s Child Safety Features (apple.co/31FgcAo) en een technische uitleg vind je in Expanded Protections for Children: Technical Summary (apple.co/3pyZ5s7) en CSAM Detection: Technical Summary (apple.co/31E4ztA). 

NEURALHASH 
Het algoritme om je foto’s te vergelijken met vingerafdrukken van foto’s van kindermisbruik is een perceptual hash. Het analyseert een foto en zet deze om in een uniek getal specifiek voor die foto. Het perceptuele zit erin dat het algoritme nog altijd hetzelfde getal oplevert voor een foto wanneer er kleine beeldbewerkingen gedaan zijn, zoals vergroten of verkleinen, van kwaliteit veranderen, uitknippen en naar zwart-wit omzetten. Het algoritme van Apple heet NeuralHash
NeuralHash werkt in twee stappen. De te analyseren foto wordt eerst door een convolutief neuraal netwerk omgezet in een 128-dimensionale rij van getallen, de descriptor. Het neurale netwerk is getraind op foto’s en transformaties van dezelfde foto’s die perceptueel identiek zijn. Het netwerk wordt zo getraind dat de descriptors voor een foto en zijn transformaties zo dicht mogelijk bij elkaar liggen en de descriptors voor een foto en perceptueel verschillende foto’s ver van elkaar liggen. 
In de tweede stap wordt de descriptor gehasht met locality-sensitive hashing (LSH), een algoritme dat dicht bij elkaar liggende rijen getallen naar hetzelfde 96-bits getal omzet. Deze 96 bits vormen dan de NeuralHash van de foto.

neuralhash collider 2
Deze afbeelding van een kat is getransformeerd, zodat hij dezelfde NeuralHash heeft  als de foto van de hond

VALSE POSITIEVEN 
In tests van Apple bleek dat NeuralHash op honderd miljoen foto’s zonder kindermisbruik maar drie valse positieven opleverde. Apple heeft de drempel voor het aantal matches bij een account waarbij Apple een melding krijgt, zo ingesteld dat een acco
unt slechts één kans op een biljoen heeft om met een vals positief geconfronteerd te worden. De drempelwaarde zou initieel rond de dertig foto’s liggen. 
Al snel doken er collisions voor NeuralHash op: twee volledig verschillende foto’s met dezelfde hash. Asuhariet Ygvar wist het neurale netwerk van NeuralHash te exporteren naar een ONNX-model en zo het algoritme in Python op te bouwen, wat allerlei experimenten mogelijk maakte. De broncode vind je op GitHub (github.com/AsuharietYgvar/ AppleNeuralHash2ONNX). Er werden zelfs meerdere second-preimage collisions gevonden: foto’s die dezelfde perceptuele hash hebben als een gekozen volledig verschillende foto. Met het script NeuralHash Collider  (github.com/anishatha-ye/neural-hash-collider) kun je zelf zulke foto’s construeren. 

WERKING OP HET APPARAAT 
Voor elke foto die een gebruiker naar iCloud uploadt, vergelijkt de iPhone een hash met een data base van bekende hashes op het apparaat. Die database is versleuteld met een sleutel die alleen bij Apple bekend is, zodat je zelf niets over de hashes van de csam-afbeeldingen kunt afleiden. 
Ook het resultaat van de vergelijking is versleuteld, zodat het apparaat zelf niet weet of de te uploaden foto als kindermisbruik wordt beschouwd. Dit resultaat wordt een safety voucher genoemd en die wordt met de foto geüpload, samen met een versleutelde versie van zowel de NeuralHash als een lagere-solutieversie van de foto.

csam detectie 2
Apple controleert op de iPhone zelf of een foto kindermisbruik voorstelt (bron: Apple)

DREMPELWAARDE 
De server van iCloud Photos ontsleutelt vervolgens de safety vouchers voor positieve matches, maar kan dat alleen als het account al een zeker aantal matches bevat. Dat wordt gegarandeerd door een cryptografisch schema met een drempel waarde (Threshold Secret Sharing). Voordat die drempel is overschreden, weet Apple niet hoeveel matches er voor het account zijn en om welke foto’s het gaat. Pas bij het overschrijden van een voldoende aantal matches krijgt Apple toegang tot voldoende delen van de decryptiesleutel om die te reconstrueren. 
Die safety voucher zelf is dubbel versleuteld. De buitenste laag gebeurt met een Private Set Intersection, die de server vertelt of er een match is. Zo niet, dan kan de server deze laag niet decrypteren. Zo ja, dan krijgt de server toegang tot de binnenste laag van de safety voucher. Die binnenste laag past Threshold Secret Sharing toe en bevat een van de secret shares voor de decryptiesleutel, samen met versleutelde data. Als er niet genoeg secret shares (matches) zijn, kan de server deze laag niet decrypteren. Pas bij een voldoende aantal matches wordt de inhoud van de safety voucher getoond en kan Apple deze foto’s handmatig nakijken. Om te voorkomen dat Apple vóórdat de drempel overschreden is, het aantal csam-foto’s in je iCloud-account weet, produceert je apparaat ook synthetische vouchers met dummy-gegevens.

safety voucher 2
De safety vouchers zijn pas volledig te ontcijferen door Apple als er voldoende matches  zijn (bron: Apple)

GROOTSCHALIGE SURVEILLANCE 
Op het plan van Apple om foto’s op iPhones te scannen kwam veel protest van mensenrechtenbewegingen, privacyexperts en beveiligingsonderzoekers. Het bedrijf zei wel dat het alleen naar iCloud geüploade foto’s scant, maar in de praktijk hebben veel Apple-gebruikers de functie ingeschakeld die al hun foto’s direct naar iCloud Photos uploadt. Het is immers de eenvoudigste manier om een back-up van al je foto’s te maken. Bovendien kan Apple later makkelijk de toepassing van het systeem uitbreiden naar alle foto’s op je iPhone. Na het protest, ook van gebruikers, kondigde Apple aan dat het enkele maanden de tijd zou nemen om de feedback te verwerken en het systeem te verbeteren. Maar het plan is daarmee niet afgesteld, alleen maar uitgesteld.
Het probleem is dat Apple hiermee een infrastructuur ontwikkelt die voor grootschalige surveillance te gebruiken is. Er zal druk komen van overheden in allerlei landen om op specifieke content te scannen, veel meer dan alleen op kindermisbruik. Veel landen hebben wetgeving die bedrijven verplicht om mee te werken aan opsporing. Nu Apple een systeem heeft dat - naar eigen zeggen met respect voor privacy van de gebruikers - hun foto’s kan scannen, zullen overheden argumenteren dat het systeem uitbreiden om op iets extra’s te scannen, geen onredelijke eis is. En zelfs als je op dit moment je overheid vertrouwt, moet je je afvragen of de overheid over tien jaar nog te vertrouwen is? 

In de FAQ Expanded Protections for Children (apple.co/3otFc6n) zegt Apple dat het bij een match met een foto van kindermisbruik altijd eerst een mens de foto laat nakijken, voordat deze gerapporteerd wordt aan het National Center for Missing and Exploited Children (NCMEC). Bovendien zitten er alleen foto’s in de database met hashes die door twee of meer kinderveiligheidsorganisaties van verschillende onafhankelijke instanties zijn toegevoegd (naast het NCMEC bijvoorbeeld de Internet Watch Foundation uit het Verenigd Koninkrijk). Apple zelf voegt geen foto’s aan de database toe en zegt ook niet in te gaan op eisen van overheden om hashes van andere foto’s in de database toe te voegen. Apple laat onafhankelijke inspecties toe om zijn beweringen te verifiëren, maar uiteindelijk moet je toch vertrouwen hebben in een klein aantal partijen, omdat de broncode van iOS niet voor iedereen beschikbaar is. 

GEVAARLIJKE TECHNOLOGIE 
Apple is niet de eerste met zo’n systeem. Jonathan Mayer en Anunay Kulshrestha van Prince ton University startten twee jaar geleden met een vergelijkbaar systeem om kindermisbruik op end-to-end versleutelde platformen te ontdekken. Ze slaagden erin om een werkend prototype te ontwikkelen, maar vonden de technologie gevaarlijk, omdat die eenvoudig te misbruiken was voor surveillance en censuur. Net zoals bij NeuralHash van Apple was het ontwerp immers niet beperkt tot het detecteren van kindermisbruik, maar kon je er willekeurige foto’s mee herkennen. Toen Apple zijn plannen voor csam-detectie aankondigde, schrokken de onderzoekers ervan dat Apple geen enkel antwoord had op de vragen die zij over hun eigen systeem hadden. Apple zegt wel dat het misbruik door overheden tegengaat, maar als de Chinese overheid eist om iPhones te kunnen scannen op kritiek op het regime, is het maar de vraag of Apple daartegen in kan gaan. En de gebruikers zullen het nooit weten. Apple doet nu al concessies aan China door alle data van Chinese klanten op servers in eigendom van een Chinees staatsbedrijf op te slaan. Het datacenter wordt door werknemers van het Chinese bedrijf beheerd en de encryptiesleutels om de data in de iCloud-accounts te ontsleutelen bevinden zich in China. Apple zegt wel dat het zelf de controle over die sleutels heeft, maar kan niet voorkomen dat de Chinese overheid ze opeist of zonder te vragen overneemt. Dan zou die overheid toegang krijgen tot e-mails, foto’s, contacten en locaties van Chinese gebruikers. 

AFLUISTERENDE OVERHEDEN 
Inlichtingendiensten en opsporingsdiensten van allerlei landen zijn al minstens sinds 2018 aan het lobbyen om client-side scan-technologie zoals die van Apple in te voeren. De Raad van de Europese Unie nam eind 2020 de resolutie Beveiliging dankzij versleuteling en beveiliging ondanks versleuteling aan (bit.ly/3lJ51xD). Daarin bevestigt de Raad dat ze voorstander blijft van krachtige versleuteling, maar tegelijk wil dat de wettelijk bevoegde instanties toegang tot relevante gegevens kunnen blijven krijgen bij de bestrijding van georganiseerde misdaad en terrorisme en “de handhaving van de rechtsstaat”. Dat is wel een heel breed toepassingsdomein. Met de resolutie streeft de Europese Unie ernaar om samen met de technologiesector technische oplossingen te onderzoeken.
n het Verenigd Koninkrijk is er al een voorstel van een wet, de Online Safety Bill (gov.uk/government/publications/draft-online-safety-bill), die nog veel verder gaat. In het voorstel zouden technologiebedrijven uitingen moeten blokkeren die niet onwettig zijn, maar wel mensen van streek kunnen maken. Ook dit is wel een heel breed toepassingsdomein met een grote grijze zone. 

AFLUISTERAPPARATUUR IN JE BROEKZAK 
In oktober heeft een groep beveiligingsexperts de risico’s van client-side scanning uitgelegd in het artikel Bugs in our Pockets: The Risks of Client-Side Scanning (arxiv.org/abs/2110.07450). Zij argumenteren dat client-side scanning, zoals de csam-detectie van Apple, grote beveiligings- en privacy-risico’s voor onze hele samenleving vormt. Als er een vorm van client-side scanning op ál onze apparaten staat in plaats van specifiek gericht op individuen die verdacht worden van zware feiten, bedreigt dit volgens de onderzoekers de veiligheid van brave burgers. Het is een geautomatiseerde vorm van scannen op grote schaal, die overheidsinstellingen toegang geeft tot privé-uitingen. Daardoor moet dit volgens de onderzoekers als aftappen worden beschouwd. In landen waar massaal aftappen verboden is, zou client-side scanning op alle apparaten ook verboden moeten worden. 
De onderzoekers wijzen er ook op dat dit soort systemen geen veilige architectuur kan hebben. Ze zijn complex en je moet zowel de softwareprovider, de beheerder van de infrastructuur en de curator van de foto’s waarnaar gezocht wordt vertrouwen. Als een van die partijen corrupt is of gehackt wordt, ben je niet meer veilig, en je kunt het nooit weten. 

GRENS TUSSEN PRIVÉ EN PUBLIEKE SFEER 
Dit is ook een heel nieuw concept. Tot nu toe werkten alle apps die op je apparaten iets scannen in jouw voordeel, om je te beschermen. Denk maar aan antivirussoftware en ad-blockers. Maar met client-side scanning zoals de csam-detectie van Apple is het de eerste keer dat jouw apparaat tégen jou als gebruiker werkt. Door het scannen van de server (waar het normaal gebeurt) naar de client te verplaatsen, overschrijd je ook de grens tussen wat je deelt (met de cloud) en wat je privé houdt (op je eigen computer of smart phone). De mogelijkheid om bestanden te scannen die anders je apparaat nooit zouden verlaten, doorbreekt dus de grens tussen je privésfeer en de (semi)publieke sfeer. En dat zal een groot onveiligheidsgevoel bij iedereen creëren. 

INTERNET DER VERKLIKKERS 
Het gevaar bestaat nu dat het plan van Apple navolging vindt bij andere bedrijven. En zelfs al doet Apple nu moeite om het scannen met zoveel mogelijk garanties voor de privacy te doen, deze beslissing legitimeert het scannen van je privé bestanden door je apparaten door andere partijen. Veel van die partijen hebben helemaal geen interesse in privacy en hebben ook helemaal geen moeite met de vraag of dreiging van een autoritaire staat om ook op andere zaken te scannen dan alleen kindermisbruik. 
Kyle Rankin, chief security officer van computer- en smartphonefabrikant Purism, vreest dat dit uiteindelijk zal leiden tot een internet der verklikkers (puri.sm/posts/internet-of-snitches). Besturingssystemen en individuele apps op telefoons en computers zullen dan continu je privébestanden scannen op verdacht materiaal. En wat verdacht is, zal jaar na jaar uitgebreid worden.