Google Camera en de Samsung Camera-apps hebben hun camera- en video-intenties blootgesteld aan apps van derden, wat aanleiding gaf tot een kwetsbaarheid voor het omzeilen van toestemming.
Vergeleken met iOS biedt Android applicaties veel manieren om met elkaar te communiceren, waardoor ontwikkelaars enkele van de meest voorkomende Android-functies kunnen bouwen die we gewend zijn en waar we van houden. Dit wordt mogelijk gemaakt dankzij het Intent-systeem van Android, waarmee elke app elke gewenste intentie kan verzenden, en waarmee ontvangende apps op creatieve manieren met deze intenties kunnen omgaan. Maar het blijkt dat de Google Camera-app en de Samsung Camera-app hun camera- en video-intenties hebben blootgesteld aan derden apps, wat de deur open laat voor mogelijk misbruik door kritische machtigingen te omzeilen, zoals aangetoond door de beveiligingsonderzoekers van Controleermarx.
Intenties op Android worden beschreven als "berichtenobjecten die de communicatie tussen app-componenten vergemakkelijken
", wat in eenvoudiger bewoordingen betekent dat Intent apps toestaat gegevens naar elkaar te verzenden. Wanneer je bijvoorbeeld probeert een bestand vanuit bestandsbeheer te delen met een app als WhatsApp, stuur je een intentie naar WhatsApp met de bestanden als gegevens. Elke app kan elke intentie verzenden die hij wil, en het is aan de ontvangende app om te beslissen naar welke intenties hij wil luisteren, door deze in zijn Manifest-bestand te definiëren. De ontvangende app beslist ook hoe op deze intenties moet worden gereageerd. Verder kan de ontvangende app er ook voor zorgen dat acties alleen worden uitgevoerd wanneer er een intentie wordt verzonden specifieke apps op de witte lijst (expliciete bedoelingen) of van apps die bepaalde machtigingen hebben (beschermd bedoelingen). Het blijkt dat onbeschermde bedoelingen in de bovengenoemde camera-apps kunnen worden uitgebuit door slechte acteurs.Controleermarx ontdekte dat de Google Camera-app en de Samsung Camera-app onbeschermde bedoelingen hadden om acties te activeren zoals het maken van een foto en het opnemen van een video. Een onbeschermde intentie betekent in deze context dat de ontvangende app niet controleert of de app die de intentie verzendt de vereiste toestemming heeft om de actie zelf uit te voeren - android.toestemming. CAMERA in dit geval. De cameraactiviteit, com.google.android. GoogleCamera/com.android.camera. Cameraactiviteit, was ook een geëxporteerde activiteit, wat betekent dat andere apps erom zouden kunnen vragen. De onbeschermde intentie en de geëxporteerde activiteit leiden dus tot een kwetsbaarheid om toestemming te omzeilen.
Er zou dus een kwaadaardige app kunnen worden geconstrueerd die niet over de CAMERA-toestemming zou beschikken, maar toch veilig zou kunnen werken camerafuncties door ze via deze camera-apps te leiden en te profiteren van hun onbeschermde bedoelingen en te exporteren activiteit.
Als proof-of-concept, Controleermarx heeft een dummy-weerapplicatie gemaakt die niet over de CAMERA-toestemming beschikte, maar wel met één enkele OPSLAG-toestemming, een die niet buiten gebruik leek voor een weer-app. Zonder toestemming van de camera kon de weer-app Google Camera en Samsung Camera activeren om foto's te maken en video's op te nemen. De toestemming voor OPSLAG speelt een rol bij toegang hiertoe en bij alle andere foto's en video's die zijn opgeslagen in /DCIM - het is niet nodig voor de acties van het klikken op foto's en het opnemen van video's.
In het ergste geval kan dit beveiligingslek worden misbruikt om bijvoorbeeld de video van de gebruiker op te nemen tijdens een gesprek, de locatie te schrappen informatie uit GPS-metagegevens van foto's als locatietagging is ingeschakeld in de camera-app (en effectief de huidige locatie van de telefoon ophaalt), en meer.
Toegegeven, de gebruikersinterface geeft aan dat er toegang wordt verkregen tot de camera, maar dit kan ook worden omzeild door te maken gebruik van de nabijheidssensor om te meten wanneer het display van de telefoon is uitgeschakeld, en zo aan de weergave van de gebruiker te ontsnappen aandacht. Een kwaadaardige app kan ook het volume van de telefoon dempen en het apparaat effectief dempen wanneer het een foto maakt of een video opneemt.
Controleermarx beweert dat de kwetsbaarheid, genaamd CVE-2019-2234, ook voorkomt in camera-apps van andere smartphoneleveranciers. Maar de onderzoekers noemden niet om welke leveranciers en apparaten het ging, buiten die van Google en Samsung. Als andere Camera-apps activiteiten hebben geëxporteerd om foto- en video-opnames te starten, en dat ook hebben gedaan onbeschermde intenties die niet controleren op de toestemming die beschikbaar is voor de bellende app, dat zijn ze ook aangetast.
Omdat dit geen kwetsbaarheid is binnen het Android-platform of de Linux-kernel, kan het niet worden opgenomen en uitgerold als onderdeel van de Android-beveiligingsbulletin. De kwetsbaarheid werd in juli 2019 opgelost in de Google Camera-app via een app-update, en hetzelfde is ook gebeurd is opgelost in de Samsung Camera-app, hoewel er geen specifieke informatie is over wanneer deze update is uitgerold uit.
In niet-gepatchte versies van Google Camera kunt u forceren dat een video door dit beveiligingslek wordt gehaald door de volgende ADB-opdracht uit te voeren:
adb shell am start-activity -n
com.google.android.GoogleCamera/com.android.camera.CameraActivity --ez
extra_turn_screen_ontrue-aandroid.media.action.VIDEO_CAMERA--ez
android.intent.extra.USE_FRONT_CAMERAtrue
Als u Google Camera of Samsung Camera gebruikt, zorg er dan voor dat u updatet naar de nieuwste versie van de camera-app op uw apparaat, uitgerold via de Play Store of via een OTA, afhankelijk van het geval.