Vairākas ievainojamības, kas atrastas parastajos Android IDE, tostarp Android Studio, IntelliJ IDEA un Eclipse

Jauna veida Android ievainojamība ar nosaukumu ParseDroid ir atrasta izstrādātāju rīkos, tostarp Android Studio, IntelliJ IDEA, Eclipse, APKTool un citos.

Kad mēs domājam par Android ievainojamību, mēs parasti attēlojam nulles dienas ievainojamību, kas izmanto kādu procesu, lai palielinātu privilēģijas. Tas var būt jebkas, sākot no viedtālruņa vai planšetdatora viltošanas, lai izveidotu savienojumu ar ļaunprātīgu WiFi tīklu, vai ļautu ierīcē izpildīt kodu no attālas vietas. Tomēr nesen tika atklāta jauna veida Android ievainojamība. To sauc par ParseDroid, un tas izmanto izstrādātāju rīkus, tostarp Android Studio, IntelliJ IDEA, Eclipse, APKTool, Cuckoo-Droid pakalpojumu un citus.

Tomēr ParseDroid nav izolēts tikai ar Android izstrādātāju rīkiem, un šīs ievainojamības ir atrastas vairākos Java/Android rīkos, ko programmētāji mūsdienās izmanto. Nav svarīgi, vai izmantojat lejupielādējamu izstrādātāja rīku vai tādu, kas darbojas mākonī, Pārbaudes punkta izpēte ir atradis šīs ievainojamības visbiežāk sastopamajos Android un Java izstrādes rīkos. Pēc izmantošanas uzbrucējs var piekļūt izstrādātāja darba iekārtas iekšējiem failiem.

Check Point Research vispirms iedziļinājās vispopulārākajā trešās puses reversās inženierijas rīkā Android lietotnēm (APKTool) un konstatēja, ka gan tās dekompilēšanas, gan APK veidošanas funkcijas ir neaizsargātas pret uzbrukums. Pēc pirmkoda apskatīšanas pētniekiem izdevās identificēt XML ārējās entītijas (XXE) ievainojamību, kas ir iespējams, jo tā konfigurētais APKTool XML parseris neatspējo ārējās entītiju atsauces, parsējot XML failu.

Kad ievainojamība ir izmantota, tā atklāj visu APKTool lietotāju OS failu sistēmu. Savukārt tas potenciāli ļauj uzbrucējam izgūt jebkuru failu upura datorā, izmantojot ļaunprātīgu AndroidManifest.xml failu, kas izmanto XXE ievainojamību. Kad šī ievainojamība tika atklāta, pētnieki aplūkoja populāros Android IDE un noskaidroja, ka, vienkārši ielādējot ļaunprātīgu AndroidManifest.xml failu kā daļu no jebkura Android projekta, IDE sāk izspļaut jebkuru failu, ko konfigurējis uzbrucējs.

Kredīti: Check Point Research

Check Point Research arī demonstrēja uzbrukuma scenāriju, kas potenciāli ietekmēs lielu skaitu Android izstrādātāju. Tas darbojas, tiešsaistes krātuvēs ievadot ļaunprātīgu AAR (Android arhīva bibliotēku), kurā ir XXE. Ja upuris klonē krātuvi, tad uzbrucējam būs piekļuve potenciāli sensitīvam uzņēmuma īpašumam no upura OS failu sistēmas.

Kredīti: Check Point Research

Visbeidzot, autori aprakstīja metodi, ar kuras palīdzību viņi var izpildīt attālo kodu upura mašīnā. Tas tiek darīts, izmantojot konfigurācijas failu APKTool ar nosaukumu "APKTOOL.YAML". Šim failam ir sadaļa ko sauc par "unknownFiles", kur lietotāji var norādīt failu atrašanās vietas, kas tiks ievietotas faila atjaunošanas laikā APK. Šie faili tiek glabāti upura iekārtā mapē “Nezināms”. Rediģējot ceļu, kur šie faili tiek saglabāti, uzbrucējs var ievadīt jebkuru failu, ko vēlas upura failu sistēma, jo APKTool neapstiprināja ceļu, kurā nezināmi faili tiek izvilkti no APK.

Faili, ko uzbrucējs ievada, upura datorā nodrošina pilnīgu attālo koda izpildi, kas nozīmē, ka uzbrucējs var izmantot jebkuru upuri ar instalētu APKTool, izveidojot ļaunprātīgi izveidotu APK un liekot cietušajam mēģināt atšifrēt un pēc tam atjaunot to.

Kredīti: Check Point Research

Tā kā visi iepriekš minētie IDE un rīki ir vairāku platformu un vispārīgi, šo ievainojamību izmantošanas potenciāls ir augsts. Par laimi, pēc sazināšanās ar katra no šiem IDE un rīkiem izstrādātājiem Check Point Research apstiprināja, ka šie rīki vairs nav neaizsargāti pret šāda veida uzbrukumiem. Ja izmantojat kādu no šiem rīkiem vecāku versiju, iesakām nekavējoties atjaunināt, lai aizsargātu sevi pret ParseDroid stila uzbrukumu.


Avots: Check Point Research