Hjem Securitywatch Den kinesiske forsker rapporterer et nyt skjult trojan-Android-angreb

Den kinesiske forsker rapporterer et nyt skjult trojan-Android-angreb

Video: RT EXCLUSIVE: Inside ‘Black Dolphin’ high security prison for the toughest criminals (Oktober 2024)

Video: RT EXCLUSIVE: Inside ‘Black Dolphin’ high security prison for the toughest criminals (Oktober 2024)
Anonim

Trojanisering af en Android-app ved at tilføje ondsindet kode er latterligt enkelt. Ved hjælp af bredt tilgængelige værktøjer kan enhver dekonstruere en APK-fil ned til dens kildekode, tilføje et ondsindet modul, finpusse et par tilladelser og rekonstruere en ny trojaniseret app, der ligner den gamle. At detektere dette chicanery er imidlertid et simpelt spørgsmål om at kontrollere appens digitale signatur. I sidste uge rapporterede forskere fra BlueBox Security, hvad de kaldte en "masternøgle" -sårbarhed - en teknik til at trojanisere en app uden at ændre den digitale signatur. Denne uge rapporterer en kinesisk forsker endnu en måde at skjule trojansk kode.

Digital signatur ikke ødelagt

Hele pointen med digital signering af et dokument eller fil er at bevise, at filen ikke er ændret. Processen bruger en form for offentlig nøglekryptografi. Du signerer en fil digitalt ved at kryptere den med din private nøgle. At den krypterede fil kan dekrypteres ved hjælp af din offentlige nøgle er et bevis på, at der ikke har været nogen manipulation. Havde BlueBox fundet en måde til faktisk at ændre en fil uden at ændre dens digitale signatur, ville det have været et svimlende slag for hele kryptobranchen. Men det gjorde de ikke.

BlueBox vil rapportere alle detaljerne om deres forskning på Black Hat-konferencen om et par uger. Imidlertid har ViaForensics-forsker Pau Oliva Fora lagt ud bevis for konceptkode, der illustrerer den anvendte tilgang.

I sandhed er det meget, meget enkelt. APK-filer pakkes ved hjælp af en version af den udbredte ZIP-arkiveringsalgoritme. De fleste ZIP-implementeringer tillader ikke to samme navngivne filer i et arkiv, men algoritmen i sig selv forbyder ikke denne mulighed. Når du kontrollerer en apps digitale signatur, ser Android OS på den første matchende fil, men når den faktisk udføres og lanceres filen, griber den den sidste . For at Trojanize en app er det alt, hvad du skal gøre, at sko din ondsindede kode ind i det ved hjælp af et navn, der allerede findes i appen. Foras demonstration er blot et par dusin linjer Java-kode.

Et andet strukturangreb

En kinesisk forsker, der blogger som Android Security Squad, fandt demonstrationen spændende og søgte efter andre måder at undergrave bekræftelsesprocessen. Det er lidt hårdt at læse det Google-oversatte indlæg, men det ser ud til, at angrebet bygger på et 101 Science-koncept på Computer Science.

Computerprogrammer gemmer tælletal i samlinger af faste størrelser. For eksempel kan du med otte bit repræsentere tal fra 0 til 255. Hvis det er nødvendigt at repræsentere negative tal, er den langvarige konvention, at den venstre bit angiver et negativt tal. Med otte bit kan du derefter også repræsentere tal fra -128 til 127. Det binære nummer 11111111 repræsenterer enten 255 eller -1, afhængigt af om det er beregnet som et ikke-underskrevet eller underskrevet nummer.

Android Security Squad blev vist over APK-filhovedformatet og fundet et datafelt, der antages at være et positivt offset, men som er gemt som et underskrevet heltal. At tvinge dette felt til en bestemt negativ værdi får APK-læsseren til at udføre den ondsindede kode i stedet for den allerede verificerede digitalt underskrevne kode. OK, det er en smule mere kompliceret, men det er nogenlunde, hvordan det fungerer.

Hold dig til Google Play

Ingen af ​​disse hacks undergraver faktisk den digitale signaturmekanisme til Android. Snarere drager de begge fordel af quirks i APK-strukturen for at gøre den digitale signatur irrelevant. Ingen af ​​dem vil også give en Trojanized-app mulighed for at snige sig forbi Googles analyse. Google har specifikt opdateret Google Play for at filtrere Trojaniserede apps vha. Angrebet "hovednøgle"; selv uden dette trin ville standardsikkerhed næsten helt sikkert blokere for enhver type trojaniseret app.

Lektionen er klar. Hent altid dine apps fra legitime kilder, kontroller altid for at sikre dig, at udviklernavnet er gyldigt, og konfigurer din telefon, så den ikke tillader installation af apps fra "ukendte kilder." Vær opmærksom på hvilke tilladelser en app anmoder om, og vær klar til at afbryde en mistænkelig installation. Hvis din udbyder tilbyder en Android-opdatering, skal du altid installere den. Det er bare sund fornuft!

Den kinesiske forsker rapporterer et nyt skjult trojan-Android-angreb