In de huidige digitaal verbonden maatschappij zijn smartphones een verlengstuk van ons geworden. Vooral geavanceerde camera- en videomogelijkheden spelen hierbij een grote rol, omdat gebruikers snel hun telefoon tevoorschijn kunnen halen en elk moment in realtime kunnen vastleggen met een simpele klik op een knop. Dit is echter een tweesnijdend zwaard, omdat deze mobiele apparaten voortdurend verschillende soorten gegevens verzamelen, opslaan en delen – met en zonder dat we het weten – waardoor onze apparaten goudmijnen zijn voor aanvallers.
Om beter te begrijpen hoe smartphonecamera’s gebruikers kunnen blootstellen aan privacyrisico’s, heeft het Checkmarx Security Research Team de applicaties zelf die deze camera’s besturen, onderzocht om potentiële misbruikscenario’s te identificeren. Met een Google Pixel 2 XL en Pixel 3 bij de hand, begon ons team met het onderzoeken van de Google Camera-app, waarbij het uiteindelijk meerdere kwetsbaarheden vond die voortkwamen uit problemen met het omzeilen van toestemming. Na verder graven ontdekten we dat dezelfde kwetsbaarheden ook van invloed zijn op de camera-apps van andere smartphone-leveranciers in het Android-ecosysteem – met name Samsung – wat aanzienlijke gevolgen heeft voor honderden miljoenen smartphonegebruikers.
In deze blog lichten we de ontdekte kwetsbaarheden toe (CVE-2019-2234), geven we details over hoe ze zijn uitgebuit, leggen we de gevolgen uit en geven we aan hoe gebruikers hun apparaten kunnen beveiligen. Deze blog gaat ook vergezeld van een proof-of-concept (PoC)-video, evenals een technisch rapport van de bevindingen dat is gedeeld met Google, Samsung en andere op Android gebaseerde smartphone-OEM’s.
Google & Samsung Camera kwetsbaarheden
Na een gedetailleerde analyse van de Google Camera app, ontdekte ons team dat door het manipuleren van specifieke acties en intenties, een aanvaller de app kan besturen om foto’s en/of video’s op te nemen via een malafide applicatie die geen rechten heeft om dit te doen. Bovendien ontdekten we dat kwaadwillenden met bepaalde aanvalsscenario’s verschillende beleidsregels voor opslagtoestemmingen kunnen omzeilen, waardoor ze toegang krijgen tot opgeslagen video’s en foto’s, evenals tot GPS-metagegevens die in foto’s zijn opgenomen, om de gebruiker te lokaliseren door een foto of video te maken en de juiste EXIF-gegevens te ontleden. Deze zelfde techniek was ook van toepassing op de Camera-app van Samsung.
Hierbij stelden onze onderzoekers een manier vast om een malafide toepassing in staat te stellen de camera-apps te dwingen foto’s te maken en video’s op te nemen, zelfs als de telefoon is vergrendeld of het scherm is uitgeschakeld. Onze onderzoekers konden hetzelfde doen, zelfs als een gebruiker midden in een telefoongesprek zat.
De gevolgen
De mogelijkheid voor een applicatie om input van de camera, microfoon en GPS-locatie op te halen wordt door Google zelf als zeer ingrijpend beschouwd. Als gevolg hiervan heeft AOSP een specifieke set toestemmingen gecreëerd die een applicatie aan de gebruiker moet vragen. Omdat dit het geval was, ontwierpen Checkmarx onderzoekers een aanvalsscenario dat dit toestemmingsbeleid omzeilt door de Google Camera app zelf te misbruiken, zodat deze gedwongen wordt het werk namens de aanvaller te doen.
Het is bekend dat Android camera-applicaties gewoonlijk hun foto’s en video’s opslaan op de SD-kaart. Omdat foto’s en video’s gevoelige informatie voor de gebruiker zijn, heeft een applicatie speciale rechten nodig om er toegang toe te krijgen: opslagrechten. Helaas zijn de opslagmachtigingen erg breed en geven deze machtigingen toegang tot de hele SD-kaart. Er zijn een groot aantal toepassingen, met legitieme gebruikscases, die toegang tot deze opslagruimte vragen, maar geen speciale interesse in foto’s of video’s hebben.
Dit betekent dat een malafide toepassing foto’s en/of video’s kan maken zonder specifieke cameratoestemming, en alleen opslagtoestemming nodig heeft om een stap verder te gaan en foto’s en video’s op te halen nadat ze zijn gemaakt. Bovendien, als de locatie is ingeschakeld in de camera-app, heeft de malafide applicatie ook een manier om toegang te krijgen tot de huidige GPS-positie van de telefoon en de gebruiker.
Natuurlijk, een video bevat ook geluid. Het was interessant om te bewijzen dat een video kan worden gestart tijdens een telefoongesprek. We konden gemakkelijk de stem van de ontvanger opnemen tijdens het gesprek en we konden ook de stem van de beller opnemen.
Een proof-of-concept app van een worst-case scenario
Om goed aan te tonen hoe gevaarlijk dit kan zijn voor Android gebruikers, heeft ons onderzoeksteam een proof-of-concept app ontworpen en geïmplementeerd die geen speciale toestemming nodig heeft buiten de basis opslagtoestemming. Om een geavanceerde aanvaller te simuleren, had de PoC twee werkende delen: het client-deel dat een kwaadaardige app voorstelt die op een Android-toestel draait, en een server-deel dat de command-and-control (C&C) server van een aanvaller voorstelt.
De kwaadaardige app die we voor de demonstratie ontwierpen, was niets meer dan een mockup-weer-app die door het ontwerp kwaadaardig had kunnen zijn. Wanneer de client de app start, creëert het in wezen een persistente verbinding terug naar de C&C server en wacht op commando’s en instructies van de aanvaller, die de C&C server’s console bedient vanaf elke plek in de wereld. Zelfs het sluiten van de app beëindigt de persistente verbinding niet.
De operator van de C&C console kan zien welke apparaten ermee verbonden zijn, en de volgende acties uitvoeren (onder andere):
- Een foto maken op de telefoon van het slachtoffer en deze uploaden (opvragen) naar de C&C server
- Een video opnemen op de telefoon van het slachtoffer en deze uploaden (opvragen) naar de C&C server
- Pars alle laatste foto’s voor GPS-tags en lokaliseer de telefoon op een wereldwijde kaart
- Werk in stealth-modus waarbij de telefoon het zwijgen wordt opgelegd terwijl foto’s worden genomen en video’s worden opgenomen
- Wacht op een spraakoproep en neem automatisch op:
- Video van de kant van het slachtoffer
- Audio van beide kanten van het gesprek
Note: Het wachten op een spraakoproep is geïmplementeerd via de nabijheidssensor van de telefoon die kan waarnemen wanneer de telefoon tegen het oor van het slachtoffer wordt gehouden. Een video van het succesvol uitbuiten van de kwetsbaarheden is gemaakt door ons onderzoeksteam en kan hier worden bekeken. Ons team heeft beide versies van de Pixel (2 XL / 3) getest in onze onderzoekslaboratoria en heeft bevestigd dat de kwetsbaarheden relevant zijn voor alle telefoonmodellen van Google.
Android kwetsbaarheid: Bekijk de Explainer Video
Samenvatting van openbaarmaking en gebeurtenissen
Toen de kwetsbaarheden voor het eerst werden ontdekt, zorgde ons onderzoeksteam ervoor dat ze het proces konden reproduceren om ze gemakkelijk uit te buiten. Toen dat eenmaal was bevestigd, bracht het Checkmarx-onderzoeksteam Google op verantwoorde wijze op de hoogte van hun bevindingen.
Direct in samenwerking met Google stelden zij ons onderzoeksteam op de hoogte en bevestigden zij ons vermoeden dat de kwetsbaarheden niet specifiek waren voor de Pixel-productlijn. Google informeerde ons onderzoeksteam dat de impact veel groter was en zich uitstrekte tot het bredere Android-ecosysteem, waarbij andere leveranciers zoals Samsung erkenden dat deze fouten ook van invloed waren op hun camera-apps, en begonnen met het nemen van maatregelen om de gevolgen te beperken.
Google’s Response
“We waarderen het dat Checkmarx dit onder onze aandacht heeft gebracht en met Google en Android-partners heeft samengewerkt om de openbaarmaking te coördineren. Het probleem werd op getroffen Google-apparaten aangepakt via een Play Store-update van de Google Camera Application in juli 2019. Een patch is ook beschikbaar gesteld aan alle partners.”
Aanbeveling voor mitigatie
Voor een goede mitigatie en als een algemene best practice, zorg ervoor dat u alle applicaties op uw apparaat bijwerkt.
Timeline of Disclosure
- Jul 4, 2019 – Een kwetsbaarheidsrapport ingediend bij het beveiligingsteam van Android bij Google
- Jul 4, 2019 – Google bevestigde de ontvangst van het rapport
- Jul 4, 2019 – Een PoC “kwaadaardige app” werd naar Google gestuurd
- Jul 5, 2019 – Een PoC “kwaadaardige app” werd naar Google gestuurd
- Jul 5, 2019 – Een PoC “kwaadaardige app” werd naar Google gestuurd
- Jul 5, 2019, 2019 – Een PoC-video van een aanvalsscenario werd naar Google gestuurd
- Jul 13, 2019 – Google stelde de ernst van de bevinding in als “Matig”
- Jul 18, 2019 – Verzond verdere feedback naar Google
- Jul 23, 2019 – Google verhoogde de ernst van de bevinding als “Matig”
- Jul 18, 2019 – Verzond verdere feedback naar Google
- Jul 23, 2019, 2019 – Google verhoogde de ernst van de bevinding naar “Hoog”
- Aug 1, 2019 – Google bevestigt ons vermoeden dat de kwetsbaarheden ook andere Android-smartphoneleveranciers kunnen treffen en geeft CVE-2019-2234 uit
- Aug 18, 2019 – Er is contact opgenomen met meerdere leveranciers over de kwetsbaarheden
- Aug 29, 2019 – Samsung heeft bevestigd dat ze getroffen zijn
- Nov 2019 – Zowel Google als Samsung hebben de publicatie goedgekeurd
Note: Deze publicatie is gecoördineerd met Google en Samsung na hun bevestiging dat er een fix wordt uitgebracht. Raadpleeg Google voor informatie over de gerepareerde versie van het Android OS en de Google Camera-app.
Final Words
De professionaliteit die zowel Google als Samsung hebben getoond, blijft niet onopgemerkt. Beiden waren een plezier om mee samen te werken vanwege hun reactiesnelheid, grondigheid en tijdigheid.
Dit soort onderzoek maakt deel uit van onze voortdurende inspanningen om de noodzakelijke veranderingen in softwarebeveiligingspraktijken te stimuleren bij leveranciers die consumentengebaseerde smartphones en IoT-apparaten produceren, en tegelijkertijd meer beveiligingsbewustzijn te brengen bij de consumenten die ze kopen en gebruiken. Het beschermen van de privacy van consumenten moet een prioriteit zijn voor ons allemaal in de steeds meer verbonden wereld van vandaag.
Lees het volledige rapport, geschreven door Pedro Umbelino, Senior Security Researcher, hier.
https://en.wikipedia.org/wiki/Google_Camera
https://developer.android.com/guide/components/intents-filters
https://en.wikipedia.org/wiki/Exif
- Android kwetsbaarheid
- Application Security Awareness
- Application Security Vulnerabilities
- Checkmarx Security Research Team
- Mobile App Security
- software exposure
Erez Yalon
Erez Yalon leidt de security research groep bij Checkmarx. Met zijn uitgebreide ervaring als verdediger en aanvaller en als onafhankelijk beveiligingsonderzoeker brengt hij kennis en vaardigheden van onschatbare waarde met zich mee. Erez is verantwoordelijk voor het onderhoud van Checkmarx’s topklasse vulnerability detection technologie, waarbij zijn ervaring met het ontwikkelen van verschillende coding talen een rol speelt.