Hjem Securitywatch Den kinesiske forskeren rapporterer om nytt skjult trojansk Android-angrep

Den kinesiske forskeren rapporterer om nytt skjult trojansk Android-angrep

Video: What is Trojan Horse? Mobile Phone Malicious Ads? Fake Softwares? (Oktober 2024)

Video: What is Trojan Horse? Mobile Phone Malicious Ads? Fake Softwares? (Oktober 2024)
Anonim

Å trojanisere en Android-app ved å legge til ondsinnet kode er latterlig enkelt. Ved hjelp av mye tilgjengelige verktøy kan hvem som helst dekonstruere en APK-fil ned til kildekoden, legge til en ondsinnet modul, finpusse noen få tillatelser og rekonstruere en ny trojanisert app som ser ut som den gamle. Å oppdage dette chicaneryet er imidlertid en enkel sak å sjekke appens digitale signatur. I forrige uke rapporterte forskere fra BlueBox Security hva de kalte en "master key" -sårbarhet - en teknikk for å trojanisere en app uten å endre den digitale signaturen. Denne uken rapporterer en kinesisk forsker om enda en måte å skjule trojansk kode.

Digital signatur ikke ødelagt

Hele poenget med å signere et dokument eller fil digitalt er å bevise at filen ikke er endret. Prosessen bruker en form for offentlig nøkkelkryptografi. Du signerer en fil digitalt ved å kryptere den med din private nøkkel. At den krypterte filen kan dekrypteres ved å bruke den offentlige nøkkelen, er et bevis på at det ikke har skjedd noe. Hadde BlueBox funnet en måte å faktisk endre en fil uten å endre den digitale signaturen, ville det vært et svimlende slag for hele kryptobransjen. Men det gjorde de ikke.

BlueBox vil rapportere alle detaljer om forskningen sin på Black Hat-konferansen om noen uker. Imidlertid har ViaForensics-forsker Pau Oliva Fora lagt ut bevis på konseptkode som illustrerer tilnærmingen tatt.

I sannhet er det veldig, veldig enkelt. APK-filer pakkes ved hjelp av en versjon av den utbredte ZIP-arkiveringsalgoritmen. De fleste ZIP-implementeringer tillater ikke to samme navn-filer i ett arkiv, men algoritmen i seg selv forbyr ikke denne muligheten. Når du sjekker en apps digitale signatur, ser Android OS på den første samsvarende filen, men når den faktisk kjøres og lanseres filen, griper den den siste . For å Trojanize en app, er alt du trenger å gjøre å bruke din ondsinnede kode til å bruke et navn som allerede finnes i appen. Foras demonstrasjon er bare noen få dusin linjer med Java-kode.

Nok et strukturelt angrep

En kinesisk forsker som blogget som Android Security Squad, fant demonstrasjonen spennende og gikk etter andre måter å undergrave bekreftelsesprosessen. Det er litt tøft å lese det Google-oversatte innlegget, men det ser ut til at angrepet er avhengig av et datavitenskap 101-konsept.

Dataprogrammer lagrer tellingstall i samlinger av faste størrelser. For eksempel, med åtte biter kan du representere tall fra 0 til 255. Hvis det er nødvendig å representere negative tall, er den langvarige konvensjonen at den venstre biten indikerer et negativt tall. Med åtte biter kan du da også representere tall fra -128 til 127. Det binære nummeret 11111111 representerer enten 255 eller -1, avhengig av om det er ment som et usignert eller signert nummer.

Android Security Squad ble over APK-filhovedformatet og fant et datafelt som antas å være et positivt offset, men som er lagret som et signert heltall. Å tvinge dette feltet til en spesifikk negativ verdi fører til at APK-lasteren kjører den ondsinnede koden, i stedet for den allerede bekreftede digitalt signerte koden. OK, det er litt mer sammensatt, men det er omtrent slik det fungerer.

Hold deg til Google Play

Ingen av disse hakkene undergraver faktisk den digitale signaturmekanismen til Android. Snarere drar de begge nytte av påfunn i APK-strukturen for å gjøre den digitale signaturen irrelevant. Ingen av dem vil også gjøre det mulig for en trojanisert app å snike seg forbi Googles analyse. Google har spesifikt oppdatert Google Play for å filtrere ut trojaniserte apper ved hjelp av "hovednøkkelen" -angrepet; selv uten dette trinnet, vil standard sikkerhet nesten helt sikkert sperre for begge typer trojaniserte apper.

Leksjonen er tydelig. Få alltid appene dine fra legitime kilder, sjekk alltid for å være sikker på at utviklernavnet er gyldig, og konfigurer telefonen slik at den ikke tillater installering av apper fra "ukjente kilder." Vær oppmerksom på hvilke tillatelser en app ber om, og vær klar til å avbryte en mistenkelig installasjon. Hvis operatøren tilbyr en Android-oppdatering, må du alltid installere den. Det er bare sunn fornuft!

Den kinesiske forskeren rapporterer om nytt skjult trojansk Android-angrep