Google'i kaamera ja Samsungi kaamerarakendused paljastasid oma kaamera ja video kavatsused kolmandate osapoolte rakendustele, põhjustades lubade möödaviimise haavatavuse.
Võrreldes iOS-iga pakub Android rakendustele palju võimalusi üksteisega suhtlemiseks, võimaldades arendajatel luua mõningaid levinumaid Androidi funktsioone, mida oleme oodanud ja armastanud. See on võimalik tänu Androidi kavatsuste süsteemile, mis võimaldab igal rakendusel saata mis tahes kavatsusi ja võimaldab vastuvõtjarakendustel neid kavatsusi loominguliselt käsitleda. Kuid nagu selgub, on rakendus Google Camera ja Samsung Camera jätnud oma kaamera ja video eesmärgid kolmandate osapoolte kätte. rakendusi, mis jätab ukse avatuks võimalikuks väärkasutuseks, minnes mööda kriitilistest lubadest, nagu näitasid turvateadlased Checkmarx.
Kavatsused Androidis on kirjeldatud kui "sõnumiobjektid, mis hõlbustavad suhtlust rakenduse komponentide vahel", mis lihtsamalt öeldes tähendab, et Intent võimaldab rakendustel üksteisele andmeid saata. Näiteks kui proovite jagada faili failihaldurist sellisesse rakendusse nagu WhatsApp, saadate WhatsAppile kavatsuse koos failidega andmetena. Iga rakendus võib saata mis tahes kavatsuse, mida ta soovib, ja vastuvõttev rakendus otsustab, milliseid kavatsusi ta kuulata soovib, määrates need oma manifestifailis. Vastuvõttev rakendus otsustab ka, kuidas nendele kavatsustele reageerida. Lisaks saab vastuvõttev rakendus tagada, et toiminguid tehakse ainult siis, kui kavatsus saadetakse konkreetsed lubatud loendisse kantud rakendused (selgesõnalised kavatsused) või rakendustest, millel on teatud load (kaitstud kavatsused). Nagu selgub, saavad halvad näitlejad ära kasutada ülalmainitud kaamerarakenduste kaitsmata kavatsusi.
Checkmarx leidis, et Google'i kaamera rakendusel ja Samsungi kaamera rakendusel oli kaitsmata kavatsused käivitada selliseid toiminguid nagu foto tegemine ja video salvestamine. Kaitsmata kavatsus tähendab selles kontekstis, et vastuvõttev rakendus ei kontrolli, kas kavatsust saatval rakendusel on toimingu enda tegemiseks vajalik luba – android.permission. KAAMERA sel juhul. Kaamera tegevus, com.google.android. GoogleCamera/com.android.camera. Kaamerategevus, oli samuti eksporditud tegevus, mis tähendab, et teised rakendused võivad seda nõuda. Kaitsmata kavatsus ja eksporditud tegevus viivad seega lubadest möödahiilimise haavatavuseni.
Seega võidakse luua pahatahtlik rakendus, millel poleks KAAMERA luba, kuid mis oleks siiski võimeline teatud kindlaid toiminguid tegema. kaamera funktsioone, suunates need läbi nende kaamerarakenduste ning kasutades ära nende kaitsmata kavatsusi ja eksporditud tegevust.
Kontseptsiooni tõestuseks Checkmarx lõi näiva ilmarakenduse, millel polnud CAMERA luba, kuid sellel oli üksainus STORAGE luba, mis ei paistnud ilmarakenduse jaoks korrast ära. Ilma kaamera loata suutis ilmarakendus käivitada Google'i kaamera ja Samsungi kaamera fotode tegemiseks ja videote salvestamiseks. Luba STORAGE tuleb mängu sellele ja ka kõigile teistele /DCIM-i salvestatud fotodele ja videotele juurdepääsul – seda pole vaja fotode klõpsamiseks ja videote salvestamiseks.
Halvima stsenaariumi korral saab seda haavatavust ära kasutada näiteks kõne ajal kasutaja video salvestamiseks, asukoha kraapimiseks teave fotode GPS-i metaandmetest, kui asukoha märgistamine on kaamerarakenduses lubatud (ja saate tõhusalt telefoni praeguse asukoha), ja veel.
Tõsi, kasutajaliides näitab kaamerale juurdepääsu, kuid seda saab ka muutes ümber teha lähedusanduri kasutamine, et mõõta, millal telefoni ekraan on välja lülitatud ja seega kasutaja eest põgeneda tähelepanu. Pahatahtlik rakendus võib ka telefoni heli vaigistada ja seadme tõhusalt vaigistada, kui see pildistab või videot salvestab.
Checkmarx väidab, et haavatavus, sildiga CVE-2019-2234, eksisteerib ka teiste nutitelefonide müüjate kaamerarakendustes. Kuid teadlased ei nimetanud, milliseid tarnijaid ja seadmeid see mõjutas, välja arvatud Google'i ja Samsungi omad. Kui teised kaamerarakendused on eksportinud tegevusi, et alustada fotode jäädvustamist ja video salvestamist, ja on kaitsmata kavatsused, mis ei kontrolli helistavale rakendusele saadaolevaid lubasid, on ka need mõjutatud.
Kuna see ei ole Androidi platvormi ega Linuxi tuuma haavatavus, ei saa seda lisada ega levitada osana Androidi turvabülletään. Haavatavus parandati Google'i kaamera rakenduses rakenduse värskenduse kaudu 2019. aasta juulis ja sama on ka on Samsungi kaamera rakenduses parandatud, kuigi selle värskenduse ilmumise aja kohta pole täpset teavet välja.
Google'i kaamera parandamata versioonides saate sundida videot selle haavatavuse kaudu jäädvustama, käivitades järgmise ADB-käsu:
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
Kui kasutate Google'i kaamerat või Samsungi kaamerat, veenduge, et värskendate oma seadmes uusimale kaamerarakenduse versioonile, mis on saadaval Play poe või OTA kaudu.