Hem Securitywatch Den kinesiska forskaren rapporterar om ny dold trojan androidattack

Den kinesiska forskaren rapporterar om ny dold trojan androidattack

Video: ‘Please just go’: Chinese tourists asked to leave Osaka restaurant (September 2024)

Video: ‘Please just go’: Chinese tourists asked to leave Osaka restaurant (September 2024)
Anonim

Att trojanisera en Android-app genom att lägga till skadlig kod är löjligt enkelt. Med hjälp av allmänt tillgängliga verktyg kan vem som helst dekonstruera en APK-fil ner till dess källkod, lägga till en skadlig modul, finjustera några behörigheter och rekonstruera en ny trojaniserad app som ser ut som den gamla. Det är emellertid en enkel sak att kontrollera appens digitala signatur. Förra veckan rapporterade forskare från BlueBox Security vad de kallade en "huvudnyckel" -sårbarhet - en teknik för att trojanisera en app utan att ändra den digitala signaturen. Den här veckan rapporterar en kinesisk forskare om ännu ett sätt att dölja trojansk kod.

Digital signatur inte trasig

Hela poängen med att signera ett dokument eller fil digitalt är att bevisa att filen inte har ändrats. Processen använder en form av offentlig nyckelkryptografi. Du signerar en fil digitalt genom att kryptera den med din privata nyckel. Det faktum att den krypterade filen kan dekrypteras med din offentliga nyckel är ett bevis på att det inte har skett någon manipulation. Hade BlueBox hittat ett sätt att faktiskt ändra en fil utan att ändra den digitala signaturen, skulle det ha varit ett häpnadsväckande slag för hela kryptobranschen. Men de gjorde det inte.

BlueBox kommer att rapportera alla detaljer om sin forskning på Black Hat-konferensen om några veckor. ViaForensics-forskaren Pau Oliva Fora har emellertid lagt ut bevis på begreppskod som illustrerar den inställda metoden.

I själva verket är det mycket, väldigt enkelt. APK-filer packas med en version av den utbredda ZIP-arkiveringsalgoritmen. De flesta ZIP-implementationer tillåter inte två samma namngivna filer i ett arkiv, men algoritmen i sig förbjuder inte den möjligheten. När du kontrollerar en apps digitala signatur ser Android OS på den första matchande filen, men när den verkligen kör och startar filen tar den den sista . För att Trojanize en app, allt du behöver göra är att sko din skadliga kod i den med ett namn som redan finns i appen. Foras demonstration är bara några dussin rader med Java-kod.

En annan strukturattack

En kinesisk forskare som bloggade som Android Security Squad fann demonstrationen spännande och sökte efter andra sätt att undergräva verifieringsprocessen. Att läsa det Google-översatta inlägget är lite tufft, men det verkar som om attacken bygger på ett datavetenskap 101-koncept.

Datorprogram lagrar räknarantal i bitar med fast storlek. Med åtta bitar kan du till exempel representera siffror från 0 till 255. Om det är nödvändigt att representera negativa siffror är den långvariga konventionen att den vänstra biten indikerar ett negativt nummer. Med åtta bitar kan du också representera siffror från -128 till 127. Det binära numret 11111111 representerar antingen 255 eller -1, beroende på om det är avsett som ett osignerat eller signerat nummer.

Android Security Squad över APK-filhuvudformatet och hittade ett datafält som antas vara en positiv offset, men som lagras som ett signerat heltal. Att tvinga detta fält till ett specifikt negativt värde gör att APK-laddaren kör den skadliga koden snarare än den redan verifierade digitalt signerade koden. OK, det är lite mer komplicerat, men det är ungefär hur det fungerar.

Håll dig fast vid Google Play

Ingen av dessa hackar undergräver faktiskt Android digital signaturmekanism. Snarare drar de båda fördelar med egendomar i APK-strukturen för att göra den digitala signaturen irrelevant. Ingen av dem kommer också att göra det möjligt för en trojaniserad app att smyga förbi Googles analys. Google har specifikt uppdaterat Google Play för att filtrera bort trojaniserade appar med attacken "huvudnyckel"; även utan detta steg skulle standardsäkerhet nästan säkert blockera någon typ av trojaniserad app.

Lektionen är klar. Hämta alltid dina appar från legitima källor, kontrollera alltid att utvecklarnamnet är giltigt och konfigurera din telefon så att det inte tillåter installation av appar från "okända källor." Var uppmärksam på vilka behörigheter en app begär och var redo att avbryta en misstänkt installation. Om din operatör erbjuder en Android-uppdatering ska du alltid installera den. Det är bara sunt förnuft!

Den kinesiska forskaren rapporterar om ny dold trojan androidattack