Google kamera un Samsung Camera lietotnes atklāja savus kameras un video nolūkus trešo pušu lietotnēm, radot atļauju apiešanas ievainojamību.
Salīdzinot ar iOS, Android nodrošina lietojumprogrammām daudz veidu, kā mijiedarboties savā starpā, ļaujot izstrādātājiem izveidot dažas no biežāk sastopamajām Android funkcijām, kuras mēs esam sagaidījuši un mīlējuši. Tas ir iespējams, pateicoties Android Intent sistēmai, kas ļauj jebkurai lietotnei nosūtīt jebkuru nodomu, ko tā vēlas, un ļauj uztvērēja lietotnēm rīkoties ar šiem nodomiem radoši. Taču, kā izrādās, lietotne Google kamera un lietotne Samsung kamera ir atstājušas savas kameras un video nolūkus pakļautas trešajām pusēm. lietotnes, kas atstāj atvērtas durvis iespējamai ļaunprātīgai izmantošanai, apejot kritiskās atļaujas, kā to pierādīja drošības pētnieki vietnē Checkmarx.
Nolūki operētājsistēmā Android ir aprakstīti kā "ziņojumapmaiņas objekti, kas atvieglo saziņu starp lietotņu komponentiem", kas vienkāršāk izsakoties nozīmē, ka Intent ļauj lietotnēm sūtīt datus viena otrai. Piemēram, mēģinot koplietot failu no failu pārvaldnieka ar tādu lietotni kā WhatsApp, jūs nosūtāt nodomu uz WhatsApp ar failiem kā datiem. Jebkura lietotne var nosūtīt jebkuru nodomu, ko tā vēlas, un saņēmēja lietotne var izlemt, kādus nolūkus tā vēlas klausīties, definējot tos savā manifesta failā. Saņēmēja lietotne arī izlemj, kā reaģēt uz šiem nodomiem. Turklāt saņēmēja lietotne var arī nodrošināt, ka darbības tiek veiktas tikai tad, kad nolūks tiek nosūtīts no konkrētām baltajā sarakstā iekļautām lietotnēm (skaidri nolūki) vai lietotnēm, kurām ir noteiktas atļaujas (aizsargātas nolūki). Kā izrādās, iepriekš minētajās kameru lietotnēs neaizsargātos nolūkus var izmantot slikti aktieri.
Checkmarx atklāja, ka lietotnei Google kamera un Samsung kamera bija neaizsargāti nolūki, lai aktivizētu tādas darbības kā fotoattēla uzņemšana un videoklipa ierakstīšana. Neaizsargāts nolūks šajā kontekstā nozīmē, ka saņēmēja lietotne nepārbauda, vai lietotnei, kas nosūta nolūku, ir vajadzīgā atļauja pašai veikt darbību. android.permission. KAMERA šajā gadījumā. Kameras darbība, com.google.android. GoogleCamera/com.android.camera. Kameras darbība, bija arī eksportēta darbība, kas nozīmē, ka citas lietotnes varētu to pieprasīt. Tādējādi neaizsargāts nolūks un eksportētā darbība noved pie atļaujas apiešanas ievainojamības.
Tādējādi varētu tikt izveidota ļaunprātīga lietotne, kurai nebūtu CAMERA atļaujas, taču tā joprojām varētu darboties kameras funkcijas, maršrutējot tās caur šīm kameras lietotnēm un izmantojot to neaizsargātos nodomus un eksportētos aktivitāte.
Kā jēdziena pierādījums, Checkmarx izveidoja fiktīvu laikapstākļu lietojumprogrammu, kurai nebija CAMERA atļaujas, taču tai bija viena STORAGE atļauja, kas nešķita nederīga laikapstākļu lietotnei. Bez kameras atļaujas laikapstākļu lietotne varēja aktivizēt Google Camera un Samsung Camera, lai uzņemtu fotoattēlus un ierakstītu videoklipus. Atļauja STORAGE tiek izmantota, lai piekļūtu šim, kā arī visiem citiem fotoattēliem un videoklipiem, kas saglabāti /DCIM — tā nav nepieciešama, lai noklikšķinātu uz fotoattēliem un ierakstītu videoklipus.
Sliktākajā gadījumā šo ievainojamību var izmantot, lai veiktu tādas darbības kā, piemēram, ierakstītu lietotāja video zvana laikā, nokasītu atrašanās vietu. informāciju no fotoattēlu GPS metadatiem, ja kameras lietotnē ir iespējota atrašanās vietas atzīmēšana (un efektīvi iegūstiet tālruņa pašreizējo atrašanās vietu), un vēl.
Protams, lietotāja saskarne norāda, ka tiek piekļūts kamerai, taču to var arī novērst, izveidojot tuvuma sensora izmantošana, lai noteiktu, kad tālruņa displejs ir izslēgts, un tādējādi izvairīties no lietotāja uzmanību. Ļaunprātīga lietotne var arī izslēgt tālruņa skaļumu un efektīvi apklusināt ierīci, kad tā uzņem fotoattēlu vai ieraksta video.
Checkmarx apgalvo, ka ievainojamība, kas apzīmēta ar CVE-2019-2234, pastāv arī citu viedtālruņu pārdevēju kameru lietotnēs. Taču pētnieki nenosauca, kuri pārdevēji un ierīces tika ietekmētas, izņemot Google un Samsung. Ja citas kameras lietotnes ir eksportējušas darbības, lai sāktu fotoattēlu uzņemšanu un video ierakstīšanu, un ir neaizsargāti nolūki, kas nepārbauda zvanošajai lietotnei pieejamo atļauju, arī tie ir ietekmēta.
Tā kā šī nav Android platformas vai Linux kodola ievainojamība, to nevar iekļaut un izlaist kā daļu no Android drošības biļetens. Ievainojamība tika novērsta lietotnē Google kamera, izmantojot lietotnes atjauninājumu 2019. gada jūlijā, un tā ir arī ir izlabots lietotnē Samsung Camera, lai gan nav konkrētas informācijas par to, kad šis atjauninājums tika ieviests ārā.
Google kameras bez ielāpu versijās varat piespiest uzņemt video, izmantojot šo ievainojamību, izpildot šādu ADB komandu:
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
Ja izmantojat Google kameru vai Samsung kameru, noteikti atjauniniet savā ierīcē uz jaunāko kameras lietotnes versiju, kas ir pieejama Play veikalā vai, atkarībā no gadījuma, izmantojot OTA.