Een whitehat hacker heeft details over drie kwetsbaarheden in iOS online gezet. Dat deed hij niet zomaar; hij ergerde zich aan Apples lakse houding als het gaat om het oplossen van bugs die via onderzoekers binnenkomen. En hij staat daar bepaald niet alleen in.
Drie maanden wachtte illusionofchaos, zoals ethisch hacker Denis Tokarev zich noemt, op Apples antwoord rondom zijn bevindingen. Hij vond meerdere kwetsbaarheden in besturingssysteem iOS, en waarschuwde Apple daarvoor. Maar Apple reageerde niet. Na weken radiostilte was de ethisch hacker het zat; hij publiceerde op zijn blog informatie informatie over de kwetsbaarheden. Daarmee kan in principe iedereen met de juiste skills een exploit maken waarmee gebruikersgegevens konden worden gestolen. Normaal gesproken gaat het melden over een kwetsbaarheid simpel. De hacker vindt een zwakheid, geeft het door aan het bedrijf, en dat repareert het binnen een vooraf bepaalde periode. In ruil daarvoor krijgt de ontdekker meestal een beloning of op z'n minst een schouderklopje. Maar illusionofchaos vond dat hij daarop te lang moest wachten. Hij staat daarmee bepaald niet op zichzelf. In het verleden hebben veel hackers geklaagd over Apples afhandeling van bugbounty's. Die afhandeling zou stroef en traag verlopen.
Hoe zat het ook alweer?
Tokarev zegt in zijn blogpost dat hij drie kwetsbaarheden vond. De ernstigste ervan was een bug in Game Center in iOS. De hacker ontdekte een mogelijkheid waarmee een geïnstalleerde app privé-informatie uit de Core Duet-database in het besturingssysteem kon stelen. In die database staan contactpersonen en metadata over contacten. Ook kon hij de authenticatietoken van een Apple ID achterhalen, en read-toegang krijgen tot het adresboek van de gebruiker.
De hacker ontdekte de kwetsbaarheden begin dit jaar. Op 10 maart stapte hij naar Apple, naar eigen zeggen keurig via het Security Bounty-programma. Dat is Apples responsible-disclosurebeleid. Tokarev zegt dat de bounty voor het melden zeker 100.000 dollar waard moest zijn. Hij verwijst naar de pagina met beloningen, en specifiek naar beloningen voor 'User-installed Apps: Unauthorized Access to Sensitive Data'. Die kent drie tiers van 25.000, 50.000 en 100.000 dollar. De hoogste beloning is voor 'brede toegang tot gevoelige informatie' die beschermd hoort te zijn door de iOS-sandbox of door een prompt voor een take command console. Tokarev is van mening dat hij aan die criteria voldeed met zijn ontdekking. Normaal gesproken moet de partij die het bugbountyprogramma draait diezelfde definitie volgen, maar dat gebeurde in dit geval niet. Sterker nog, Apple liet weinig van zich horen.
Volgens Tokarev kreeg hij weliswaar meteen een bevestiging dat Apple zijn melding had ontvangen, maar het bedrijf gaf pas op 25 augustus aan dat het het probleem 'bij een volgende update' zou oplossen. Dat is bijna 5,5 maanden na zijn eerste melding. Erger nog, in iOS 15 is het probleem niet eens helemaal opgelost, zegt hij. Daarop besloot hij zijn bevindingen maar online te zetten.
:strip_exif()/i/2004411178.jpeg?f=imagenormal)
Apples bugbountyprogramma
Apples bugbountyprogramma is jong vergeleken met andere programma's, en kent veel restricties. Daardoor vlot het niet erg met het programma en zijn er meerdere beveiligingsonderzoekers die vervelende ervaringen met Apple beschrijven. Apple begon pas met een bugbountyprogramma in 2016, rijkelijk laat als je bedenkt dat de iPhone toen al negen jaar oud was en iOS al aan versie 10 toe was. De App Store bevatte toen al twee miljoen apps, maar Apple had nog steeds geen officieel beleid voor het oplossen van bugs die externe beveiligingsonderzoekers aandroegen. Die konden sporadisch wel aankloppen bij het bedrijf, maar er waren tot dan toe geen richtlijnen voor het verdere verloop van het onderzoek. Een officieel bugbountyprogramma stelt vooraf zulke richtlijnen op. Die schrijven voor welk type bugs wel en niet in aanmerking komt om behandeld te worden, op welke manier een onderzoeker zijn onderzoek mag uitvoeren en indienen, welke beloftes het bedrijf doet om voor oplossing te zorgen, en niet geheel onbelangrijk, welke beloning de onderzoeker krijgt. Tot het bètaprogramma bepaalde Apple dat arbitrair en in overleg, als de situatie zich aandiende.
Apple begon pas in 2016 met zijn bugbountyprogramma
Het echte bugbountyprogramma begon pas in september 2016, toen het bedrijf dat tijdens de beveiligingsconferentie BlackHat aankondigde. Het programma begon als gesloten bèta. Hackers mochten alleen meedoen als ze daar zelf door Apple werden uitgenodigd. Dat gebeurde alleen bij onderzoekers die eerder al met Apple hadden samengewerkt. Alleen iOS viel binnen de scope. Pas in december 2019 gooide Apple het programma helemaal open. Vanaf dat moment vielen ook andere Apple-producten onder de regels, zoals macOS en iCloud.
Laat begonnen
Apple is daarmee rijkelijk laat. Vrijwel alle andere grote techbedrijven hadden al lange tijd een veelgebruikt programma, met duidelijke regels en goed doordachte beloningen. Die bedrijven gaan zelfs vaak een stap verder. Google keert sinds 2019 zelfs bugbounties uit voor kwetsbaarheden in apps van derde partijen. Facebooks programma bestaat al sinds 2011. Microsofts huidige programma bestaat sinds 2013, maar de softwaregigant werkte ook al jaren daarvoor met onderzoekers samen om kwetsbaarheden te patchen. Daar werd ook regelmatig geld voor betaald. Je kunt Apples trage reactie op bugbounty's deels wijten aan opstartproblemen.
Hoge beloningen
Apple mag dan aan de late kant zijn, geld heeft het genoeg. Aanvankelijk was het hoogste beloningsbedrag dat Apple uitdeelde 200.000 dollar voor een kwetsbaarheid in het secure boot-element van het besturingssysteem. Informatie uit de Secure Enclave van de iPhone achterhalen leverde 100.000 dollar op, en het uitvoeren van code op kernelniveau 50.000 dollar. Inmiddels zijn de prijzen wel gestegen, naar maximaal een miljoen dollar voor een kernel-kwetsbaarheid waarbij geen gebruikersinteractie nodig is.
De beloningen van Apple zijn hoog in vergelijking met die van andere grote techbedrijven. Google biedt ook maximaal een miljoen dollar voor een bepaald soort bugs, maar alleen in de Titan M-soc van de Pixel-telefoons. De prijzen lopen verder soms gelijk op met het programma voor Android, maar er zijn ook grote verschillen te zien. Een lockscreen-bypass levert bij beide maximaal 100.000 dollar op, maar een code execution in the kernel is 250.000 dollar waard bij Android en 150.000 dollar bij iOS. Voor Google-producten in het algemeen zijn de beloningen doorgaans veel lager: 31.137 dollar voor een overname van een Google-account is de maximale beloning.
Bij Apple is het vaak een stuk minder duidelijk wat je krijgt vóór je een melding doet, zegt Thijs Alkemade van Computest tegen Tweakers. Hij levert regelmatig bugreports aan bij Apple, maar ook bij andere bedrijven. Het valt Alkemade op dat het bij Apple vooraf moeilijker in te schatten is wat de beloning wordt. "Apple is daar veel vager over. Ze zijn veel meer op impact gefocust, dus als je bijvoorbeeld bij bestanden kunt komen kan een kwetsbaarheid ineens in een heel andere categorie vallen."
Problemen
De problemen rondom Apples bugbountyprogramma hebben dan ook niet altijd iets te maken met geld. De hoogte van beloningen is bij alle bugbountyprogramma's een lopende discussie. Ook in de wereld van securityonderzoekers is er weinig consensus. Iedere ethisch hacker heeft er een andere mening over. Beloningen zeggen bovendien niet alles. Om het succes van een programma te analyseren moet je je daar niet op blindstaren. Er zijn namelijk veel andere aspecten die meespelen, en weinig zijn er voor ethisch hackers zo belangrijk als erkenning.
Hackers die hun kwetsbaarheden niet alleen melden voor het geld doen dat naar eigen zeggen om de wereld wat veiliger te maken, maar roem, eer en erkenning spelen wel degelijk een grote rol. Juist daar laat Apple regelmatig steken vallen, blijkt ook weer uit de rapportages van illusionofchaos. De openheid die ethische hackers nastreven staat op gespannen voet met het gesloten bastion uit Cupertino. Apple probeert iOS hermetisch af te sluiten, ook voor onderzoekers. Wel deelt het bedrijf sinds eind vorig jaar speciale iPhones aan hackers uit voor onderzoek. Het Security Research Device Program geeft onderzoekers meer toegang tot hardwarecomponenten zoals de Secure Enclave en tot shell-toegang zodat ze hun eigen tools kunnen draaien. Maar hoeveel van die telefoons er zijn uitgedeeld en wat de resultaten van het programma zijn is bijna net zo geheim als de broncode van de telefoons zelf.
Zwart gat
Uiteindelijk is het van belang hoe een bedrijf omgaat met de meldingen die binnenkomen, en met de onderzoekers zelf. Thijs Alkemade herkent de frustratie van Tokarev wel. "Ik heb ook wel eens kwetsbaarheden gemeld aan Microsoft of Adobe. Je hebt daar het idee echt in gesprek te zijn met iemand die met je meedenkt", zegt hij. Bij Apple is dat anders. Dat noemt hij 'een zwart gat', waar je een melding heen stuurt en maar moet hopen of je er iets van terug hoort. "Soms krijg je wel eens een bericht terug met 'test deze data nog eens een keer', maar je hoort ook vaak niets. Dat kan soms maanden duren." In de tussentijd, zegt hij, heb je als melder vaak geen idee wat er met je melding gebeurt. "Je moet ook zelf blijven vragen om updates, uit zichzelf sturen ze dat niet."
Het komt vaker voor dat Apple niet thuis geeft aan onderzoekers. Zo sprak The Washington Post eerder deze maand met verschillende beveiligingsonderzoekers die dezelfde grieven hadden. Apple zou traag reageren op bug reports, en bovendien strenge eisen stellen rondom non-disclosure agreements. Hackers mogen daardoor lang niet altijd publiceren over hun bugs wat ze willen. De regels zijn daarvoor bij Apple veel strenger dan bij bijvoorbeeld Google of Microsoft of via platformen zoals HackerOne waardoor hackers in de praktijk weinig informatie over hun bevindingen mogen publiceren.
Meerdere onderzoekers geven tegen The Washington Post aan dat hun bug reports niet werden opgepakt door Apple. De krant sprak onderzoekers die in sommige gevallen maanden wachtten op antwoord. Een bugbounty moet van twee kanten komen: de ontdekker van een lek houdt zich aan regels rondom publicatie, maar mag daarvoor verwachten dat een bedrijf binnen een bepaalde tijd met een fix komt of in ieder geval aangeeft als dat langer duurt. Daarvoor is geen vaste regel, maar Googles interne bugtrackers van Project Zero houden negentig dagen aan. Dat is in de industrie een informele vuistregel geworden. Apple doet er soms maanden langer over om zelfs maar een update te geven, blijkt uit meldingen van verschillende onderzoekers.
Niet betaald
Andere problemen zijn de trage of lage uitbetalingen. The Washington Post sprak met een hacker die een bug had gevonden waarmee hij bij gevoelige gegevens kon komen, maar Apple betaalde hem daarvoor 5000 dollar in plaats van 100.000 waarop hij recht dacht te hebben. Zhang meldde een bug die weliswaar werd gerepareerd, maar ontving daar helemaal geen beloning voor. Er zijn op internet ook meer dan genoeg blogposts te lezen van onderzoekers die balen van hun interacties met het bedrijf. Onderzoeker Nicolas Brunner publiceerde over een lek dat locatiegegevens kon achterhalen. Dat lek werd gerepareerd in iOS 14; Apple noemde Brunner zelfs specifiek als de ontdekker. Een beloning bleef uit, en Apple weigerde toelichting.
Veel verschillende beveiligingsonderzoekers klagen over Apples trage afhandeling van bugs reports
De grieven van Tokarev staan daarmee niet op zichzelf. Hij linkt ook naar verschillende andere verhalen van balende onderzoekers. Uit het onderzoek van The Washington Post zou blijken dat Apple grote achterstanden heeft met het wegwerken van bugs. Het is moeilijk dat te vergelijken met andere bedrijven. Google, Microsoft, Facebook of Mozilla maken regelmatig bekend hoeveel bugs zijn opgelost en hoeveel bounties er zijn uitgekeerd, maar cijfers over meldingen die nog liggen worden zelden publiek gemeld. Bovendien maakt Apple zelf ook niks bekend over de resultaten van zijn eigen programma. Het enige referentiekader bestaat daarom uit berichten van onderzoekers zelf - maar dat lijkt, zeker na de ophef rondom Tokarev' melding, niet in het voordeel van Apple te spreken.
Apple heeft inmiddels gereageerd. Tokarev ontving een e-mail waarin Apple zegt zijn melding nog steeds te bekijken. Het bedrijf bedankt hem verder voor de melding, maar geeft verder weinig opheldering over een mogelijke patch. Of een beloning. Het bedrijf antwoordde niet op vragen van Tweakers.