Dažas Marshmallow ierīces ir jutīgas pret pieskārienu, kad lietotne pārklāj tekstu atļaujas dialoglodziņā, lai apmānītu lietotāju.
Lai gan daudzi no mums siekalās par nesen izlaisto Android Nougat Nexus ierīcēm, lielākā daļa lietotāju joprojām izmanto Android Marshmallow. Ekspluatācija, kuras esamība kopš tā laika ir dokumentēta vismaz 2015. gada vidū joprojām ietekmē daudzas mūsdienu Android ierīces.
Ļaunprātīgas lietojumprogrammas spēj tapjack jūsu darbības piešķirot viņiem atļauju, kuru jūs nekad nepārprotami neesat devis. Lūk, kā darbojas izmantošana.
Tapjacking atgriešanās
Iedomājieties, ka atverat Instagram un mēģināt kopīgot attēlu, ko nesen uzņēmāt atvaļinājuma laikā. Kad izvēlaties pārlūkot attēlu savā galerijā, Instagram lūdz jums piešķirt tai atļauju piekļūt jūsu krātuvei. Bet, pieskaroties “jā”, tiek parādīts kļūdas ziņojums.
Jūs nevarat piešķirt Instagram krātuves atļauju, jo ir iespējots aktīvs ekrāna pārklājums Šajā gadījumā viena no daudzajām lietojumprogrammām, kas tonizē ekrānu, lai varētu lietot tālruni naktī, neapžilbinot sevi. Šis ir Android atļauju sistēmas gadījums
strādā kā paredzēts: lai lietojumprogrammai piešķirtu sensitīvu atļauju, jums ir jāatspējo visi ierīcē esošie ekrāna pārklājumi.Lietojumprogrammas, kurām ir iespēja zīmēt ekrānu, var jūs maldināt, ievadot tam sensitīvus datus. Piemēram, ekrāna pārklājums var ievietot viltotu paroles ievadi īsta pieteikšanās ekrāna augšdaļā, lai apkopotu jūsu paroles. Tādu ekspluatāciju sauc 'piespiešanas' un gadu gaitā ir uzlēcis un ticis labots dažādās Android versijās, ar viens no sliktākajiem piemēriem, kas ilgst līdz Android 4.0.3. Bet nesen ekspluatācija atgriezās ar Android Marshmallow izpildlaika atļauju modelis.
Izstrādātājs, vārdā Iwo Banaś izveidoja an pieteikumu demonstrējot ekspluatāciju. Tas darbojas diezgan vienkārši — kad lietojumprogramma parāda atļauju dialoglodziņu, ļaunprātīga lietojumprogramma instalētā sistēma parādīs sistēmas pārklājumu, lai aizsegtu atļauju dialoga teksta bloku ar jebkādu tekstu vēlas. Neapzināts lietotājs, kurš atļauju dialoglodziņā noklikšķina uz "atļaut", tiks pievilts, lai piešķirtu atļauju, kas viņam tika lūgta, bet kuras pieprasījums tika paslēpts no lietotāja redzesloka. Šāds izmantojums pilnībā pārkāpj Android Marshmallow atļauju sistēmas mērķi, kopš tika ieviests jaunajam modelim bija jānodrošina, lai lietotāji saņemtu tikai tās atļaujas, kurām viņi ir skaidri piekrituši.
Tagad es zinu, par ko tu domā. Ja Android atklātu sistēmas pārklājumu un neļautu man piešķirt Instagram krātuves atļaujas, vai tas neaizkavētu šo izmantošanu? Atbilde ir nē, manā pārbaudē šķiet, ka noteiktās ierīcēs, kas parāda teksta pārklājumu virs atļaujas dialoglodziņa, drošības mehānisms netiek aktivizēts. Koncepcijas pierādījuma piespiešanas lietojumprogrammas izstrādātājs norāda, ka ļaunprātīga izmantošana ir efektīva, jo tā paļaujas uz to, ka lietotājs instalē sekundāru ļaunprātīgu lietojumprogrammu, kuras mērķauditorija ir API 22. līmenis un zemāks (pirms Marshmallow). Tas ir saistīts ar faktu, ka pirms Android Marshmallow visām lietojumprogrammām instalēšanas laikā tiek piešķirtas atļaujas.
Labi, ja izmantojat Marshmallow, viss, kas jums jādara, ir jāizvairās no tādu lietotņu instalēšanas, kurām neuzticaties un kuras pieprasa atļauju zīmēt pārklājumu, vai ne? Ja Android atļauju modelis darbotos, kā sākotnēji paredzēts, jums būtu taisnība. Bet kopš šī varoņdarba atklāšanas, pat lietotnēm, kuru mērķauditorija ir API 23. līmenis (Marshmallow), kas pieprasa pārklājuma atļauju, ir potenciāls risks.
Vai ir nepilnības atļauju modelī?
Ja esat viens no daudziem miljoniem cilvēku, kas izmanto Facebook Messenger tērzēšanai ar draugiem, tad jūs esat saskāries ar vienu no Android labākajām funkcijām — lietojumprogrammu iespēju zīmēt citas ekrāni. Cik forši ir tas, ka varat izveidot burbuli ar savu iecienītāko Facebook grupas tērzēšanu, sekojot lietotājam jebkurā lietojumprogrammā, ko viņš atver? Lai gan Facebook Messenger ieviesa "peldošo lietotņu" ideju galvenajā plūsmā, šī koncepcija jau kādu laiku pastāv operētājsistēmā Android. Lietojumprogrammas jau kādu laiku ir spējušas izveidot pārklājumus virs jūsu lietotnēm, pateicoties TYPE_SYSTEM_OVERLAY Android programmā WindowManager.
Pirms Android Marshmallow lietojumprogrammām būs jāpieprasa atļauja SYSTEM_ALERT_WINDOW instalēšanas laikā, pirms ekrāna augšdaļā var parādīties pārklājumi. Taču tas mainījās, ieviešot 6.0 granulēto izpildlaika atļauju modeli. Lietotājiem tagad būtu jāpiešķir atļaujas lietojumprogrammām, faktiski palaižot lietotni, kas, cerams, veicinātu vidējo rādītāju lietotājam, lai aizsargātu savus privātos datus no lietojumprogrammām, kuras aizdomīgi pieprasa šķietami funkcionāli nesaistītas atļaujas.
Tomēr SYSTEM_ALERT_WINDOW atšķiras no citām atļaujām. Izstrādātāji nevar parādīt dialoglodziņu, lai programmatiski pieprasītu galalietotājam piešķirt atļauju, tāpat kā vairumam citu atļauju jebkurai lietotnei, kuras mērķauditorija ir Marshmallow. Tā vietā jums ir manuāli jāpārvietojas uz iestatījumu ekrānu un pašam jāiespējo atļauja. Protams, dažas lietotnes, piemēram, Facebook Messenger, jums palīdzēs šajā procesā.
Google to pieprasa izstrādātājiem, jo viņi ir uzskatījuši, ka atļauja ir "īpaši jutīgs."
Īpašas atļaujas
Ir dažas atļaujas, kas nedarbojas kā parastas un bīstamas atļaujas. SYSTEM_ALERT_WINDOW un WRITE_SETTINGS ir īpaši jutīgi, tāpēc lielākajai daļai lietotņu tās nevajadzētu izmantot. Ja lietotnei ir nepieciešama kāda no šīm atļaujām, tai šī atļauja ir jādeklarē manifestā un jānosūta nodoms, pieprasot lietotāja atļauju. Sistēma reaģē uz nodomu, lietotājam parādot detalizētu pārvaldības ekrānu.
Ņemot vērā to, ko mēs zinām iepriekš par pieskārienu, tas ir loģiski. Bet šeit ir lieta. Google pat neievēro savus noteikumus. Facebook Messenger ekrānuzņēmumi, kas palīdz jums piešķirt SYSTEM_ALERT_WINDOW atļauju, ko es jums parādīju iepriekš? Tas notiek tikai tad, ja instalējat APK no ārpuses Google Play veikala. Ja instalējat lietojumprogrammu no Google Play veikala, SYSTEM_ALERT_WINDOW atļauja tiek piešķirta automātiski.
Google ir upurējis drošību ērtības labad
Ilgu laiku pirms Android Marshmallow SYSTEM_ALERT_WINDOW tika uzskatīts par "bīstami" atļauja. Izmantojot Android Marshmallow 6.0, atļauja tika mainīta uz paraksts|sistēma|lietotne Tas ir tas, kas sākotnēji prasīja izstrādātājiem novirzīt lietotāju uz iestatījumu ekrānu, lai piešķirtu atļauju. Taču ar Android versiju 6.0.1, SYSTEM_ALERT_WINDOW tika mainīts lai Google Play veikals varētu automātiski piešķirt atļaujunebrīdinot lietotāju. Mums nav skaidrs, kāpēc Google veica šīs izmaiņas. Google paši nav atklājuši, kāpēc viņi veica šīs izmaiņas, kas ir īpaši dīvaini, ņemot vērā valodu par SYSTEM_ALERT_WINDOW, kas joprojām pastāv viņu tīmekļa lapās.
Tas ir iespējams, ka pietiekami daudz izstrādātāju bija sašutuši ar sākotnējām izmaiņām SYSTEM_ALERT_WINDOW, kas pieprasīja lietotājiem manuāli piešķirt atļauju, ko Google klusībā piešķīra un vienkārši piešķīra jebkurai lietojumprogrammai, kas to pieprasīja. Taču Google to dara upurēja drošību ērtības labad. Ir iemesls, kāpēc paši Google uzskatīja atļauju par bīstamu visilgāk, jo tā ir. Un Marshmallow atļaujas izspiešanas izmantošanas esamība ir pietiekams pierādījums raksturīgām briesmām, automātiski piešķirot šo atļauju jebkurai lietotnei.
Mūsu uzmanība par šo nolaupīšanas izmantošanu tika pievērsta tikai nesen, lai gan tā pastāv jau daudzus mēnešus. Mēs to apstiprinājām, veicot iekšējo ierīču testēšanu XDA portāla komandā izmantošana darbojas daudzās modernās ierīcēs, kurās darbojas Android Marshmallow. Šeit ir sniegts īss pārskats par ierīcēm, kuras mēs pārbaudījām, izmantojot jaunākās pieejamās programmatūras versijas katrai attiecīgajai ierīcei, un to, vai pieskaršanās izmantošana darbojas vai ne. Ierīces, kas apzīmētas kā “Neaizsargātas”, ir pakļautas pieskaršanās ļaunprātīgai izmantošanai, savukārt ierīces ar atzīmi “Nav Neaizsargāts" spēj noteikt lietotni, kurā tiek rādīts pārklājums, un pieprasīt, lai jūs to iepriekš atspējotu turpinot.
- Nextbit Robin — Android 6.0.1 ar jūnija drošības ielāpiem Neaizsargāti
- Moto X Pure — Android 6.0 ar maija drošības ielāpiem Neaizsargāti
- Honor 8 — Android 6.0.1 ar jūlija drošības ielāpiem Neaizsargāti
- Motorola G4 — Android 6.0.1 ar maija drošības ielāpiem Neaizsargāti
- OnePlus 2 — Android 6.0.1 ar jūnija drošības ielāpiem Nav neaizsargāti
- Samsung Galaxy Note 7 — Android 6.0.1 ar jūlija drošības ielāpiem Nav neaizsargāti
- Google Nexus 6 — Android 6.0.1 ar augusta drošības ielāpiem Nav neaizsargāti
- Google Nexus 6P — Android 7.0 ar augusta drošības ielāpiem Nav neaizsargāti
Pagaidām šīs ir visas ierīces, kuras varēju likt komandai pārbaudīt. Es nevarēju atrast nekādu korelāciju starp drošības ielāpa versiju un izmantošanu. Kā jūs varat saprast no mūsu jaunākā diskusija par Android drošības atjauninājumiem, daudzi cilvēki tik un tā neizmanto jaunākos drošības ielāpus, un tādējādi, iespējams, ir neaizsargāti pret šo ļaunprātīgo izmantošanu un citiem, kas ir aprakstīti Android drošības biļetens.
Virzīties uz priekšu
Mēs aicinām jūs pārbaudīt šo izmantošanu savā ierīcē, lai noskaidrotu, vai esat neaizsargāts. Mēs esam apkopojuši APK no iepriekš norādītais pirmkods (to varat izdarīt arī pats) un esat tos augšupielādējis vietnē AndroidFileHost. Lai pārbaudītu izmantošanu, jums ir jāinstalē abi galvenā piespiešanas lietojumprogramma kā arī tās palīga pakalpojums. Pēc tam vienkārši palaidiet galveno lietojumprogrammu un noklikšķiniet uz pogas "Pārbaudīt". Ja tekstlodziņš peld virs atļaujas dialoglodziņa un noklikšķinot uz "atļaut", tiek parādīts ierīces kontaktpersonu saraksts, ierīce ir neaizsargāta pret pieskārienu. Neuztraucieties par to, ka peldošais tekstlodziņš pilnībā neaizsedz atļauju dialoglodziņu, šī koncepcijas pierādījuma programma nav paredzēts, lai lieliski parādītu, kā glīti nolaupīt atļauju dialoglodziņu, bet drīzāk pierādītu, ka tā patiešām ir iespējams.
Mēs ceram, ka tiks ieviests labojums, kas izlabos šo eksploziju visās Marshmallow ierīcēs, un ka oriģinālo iekārtu ražotāji atjaunina visas savas ierīces uz jaunāko drošības ielāpu. Tā kā realitāte ir tāda, ka vairumam ieķīlāto ierīču būs nepieciešami daudzi mēneši, lai iegūtu Nougat, tāpēc lielākajai daļai tas ir vienīgais veids Lietotāji, lai izvairītos no kaitējuma, ir vai nu instalēt jaunākos drošības ielāpus, vai saņemt monitora lietotņu atļaujas paši. Taču, ņemot vērā Google lēmumu automātiski piešķirt potenciāli bīstamo SYSTEM_ALERT_WINDOW atļauju, daudzi lietotāji neapzināti palaiž lietotnes, kas varētu potenciāli nolaupīt viņu tālruņus, lai radītu arvien bīstamākas atļaujas.