Google Camera og Samsung Camera-appene avslørte kamera- og videohensiktene deres for tredjepartsapper, noe som ga opphav til et sikkerhetsproblem med tillatelsesomgåelse.
Sammenlignet med iOS, gir Android applikasjoner mange måter å samhandle med hverandre på, noe som gjør det mulig for utviklere å bygge noen av de mer vanlige Android-funksjonene vi har begynt å forvente og elske. Dette er gjort mulig takket være Androids Intent-system, som lar enhver app sende hvilken som helst hensikt den vil, og lar mottakerapper håndtere disse intensjonene på kreative måter. Men som det viser seg, har Google Camera-appen og Samsung Camera-appen overlatt kamera- og videohensiktene sine for tredjeparter apper, som lar døren stå åpen for potensielt misbruk ved å omgå kritiske tillatelser, som demonstrert av sikkerhetsforskerne på Checkmarx.
Intents på Android beskrives som "meldingsobjekter som letter kommunikasjon mellom appkomponenter", som på en enklere måte betyr at Intent lar apper sende data til hverandre. For eksempel, når du prøver å dele en fil fra en filbehandler til en app som WhatsApp, sender du en hensikt til WhatsApp med filene som data. Enhver app kan sende hvilken som helst hensikt den vil, og det er opp til den mottakende appen å bestemme hvilke hensikter den vil lytte etter, ved å definere det samme i Manifest-filen. Den mottakende appen bestemmer også hvordan den skal reagere på disse intensjonene. Videre kan den mottakende appen også sikre at handlinger kun utføres når en hensikt sendes fra spesifikke hvitelistede apper (eksplisitte hensikter) eller fra apper som har visse tillatelser (beskyttet hensikter). Som det viser seg, kan ubeskyttede hensikter i de nevnte kameraappene utnyttes av dårlige skuespillere.
Checkmarx fant ut at Google Camera-appen og Samsung Camera-appen hadde ubeskyttede hensikter om å utløse handlinger som å ta et bilde og spille inn en video. En ubeskyttet hensikt i denne sammenhengen betyr at den mottakende appen ikke sjekker om appen som sender hensikten har den nødvendige tillatelsen til å utføre handlingen selv -- android.permission. KAMERA i dette tilfellet. Kameraaktiviteten, com.google.android. GoogleCamera/com.android.camera. Kameraaktivitet, var også en eksportert aktivitet, noe som betyr at andre apper kunne kreve det. Den ubeskyttede hensikten og den eksporterte aktiviteten fører dermed til en sårbarhet for omkjøring av tillatelser.
En ondsinnet app kan derfor konstrueres som ikke vil ha CAMERA-tillatelsen, men som likevel vil kunne operere visse kamerafunksjoner ved å dirigere dem gjennom disse kameraappene og dra nytte av deres ubeskyttede intensjoner og eksportert aktivitet.
Som et proof-of-concept, Checkmarx opprettet en dummy vær-applikasjon som ikke hadde CAMERA-tillatelsen, men den kom med en enkelt STORAGE-tillatelse, en som ikke virket ute av drift for en vær-app. Uten kameratillatelse kunne værappen utløse Google Camera og Samsung Camera for å ta bilder og spille inn videoer. STORAGE-tillatelsen spiller inn ved tilgang til denne og så vel som alle andre bilder og videoer som er lagret på /DCIM -- den er ikke nødvendig for handlingene med å klikke på bilder og ta opp videoer.
I verste fall kan denne sårbarheten utnyttes til å gjøre ting som å ta opp brukerens video under en samtale, skrape plassering informasjon fra GPS-metadata for bilder hvis posisjonsmerkingen er aktivert i kameraappen (og effektivt får telefonens nåværende posisjon), og mer.
Riktignok indikerer brukergrensesnittet at kameraet får tilgang, men dette kan også omgås ved å lage bruk av nærhetssensoren for å måle når telefonens skjerm er slått av, og dermed unnslippe brukerens Merk følgende. En ondsinnet app kan også dempe volumet på telefonen og effektivt dempe enheten når den tar et bilde eller spiller inn en video.
Checkmarx hevder at sårbarheten, merket CVE-2019-2234, også eksisterer i kameraapper fra andre smarttelefonleverandører. Men forskerne nevnte ikke hvilke leverandører og enheter som ble berørt, utenom Google og Samsungs. Hvis andre kameraapper har eksportert aktiviteter for å starte bildeopptak og videoopptak, og har ubeskyttede hensikter som ikke sjekker om tillatelsen er tilgjengelig for anropsappen, er de også berørt.
Siden dette ikke er en sårbarhet innenfor Android-plattformen eller Linux-kjernen, kan den ikke inkluderes og rulles ut som en del av Android sikkerhetsbulletin. Sårbarheten ble fikset i Google Kamera-appen gjennom en appoppdatering i juli 2019, og det samme har også blitt fikset i Samsung Camera-appen, men det er ingen spesifikk informasjon om når denne oppdateringen ble rullet ute.
På uopprettede versjoner av Google Kamera kan du tvinge en video til å bli tatt gjennom dette sikkerhetsproblemet ved å kjøre følgende ADB-kommando:
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
Hvis du bruker Google Camera eller Samsung Camera, sørg for at du oppdaterer til den nyeste versjonen av kameraappen på enheten din, rullet ut gjennom Play-butikken eller gjennom en OTA, alt ettersom.