Huis Securitywatch Chinese onderzoeker meldt nieuwe verborgen trojan android-aanval

Chinese onderzoeker meldt nieuwe verborgen trojan android-aanval

Video: WHO: China to allow international experts to probe COVID-19 origin | World News | WION News (November 2024)

Video: WHO: China to allow international experts to probe COVID-19 origin | World News | WION News (November 2024)
Anonim

Een Android-app trojaniseren door kwaadaardige code toe te voegen, is belachelijk eenvoudig. Met behulp van algemeen beschikbare tools kan iedereen een APK-bestand deconstrueren tot de broncode, een kwaadaardige module toevoegen, een paar machtigingen aanpassen en een nieuwe Trojanized-app reconstrueren die eruitziet als de oude. Het detecteren van dit chicanery is echter een eenvoudige kwestie van het controleren van de digitale handtekening van de app. Vorige week rapporteerden onderzoekers van BlueBox Security wat zij een "master key" kwetsbaarheid noemden - een techniek voor het Trojaniseren van een app zonder de digitale handtekening te wijzigen. Deze week meldt een Chinese onderzoeker nog een andere manier om Trojaanse code te verbergen.

Digitale handtekening niet gebroken

Het hele punt van het digitaal ondertekenen van een document of bestand is om te bewijzen dat het bestand niet is gewijzigd. Het proces maakt gebruik van een vorm van openbare sleutelcryptografie. U ondertekent een bestand digitaal door het te coderen met uw persoonlijke sleutel. Het feit dat het gecodeerde bestand met uw openbare sleutel kan worden gedecodeerd, bewijst dat er niet is geknoeid. Als BlueBox een manier had gevonden om een ​​bestand daadwerkelijk te wijzigen zonder de digitale handtekening te wijzigen, zou dat een enorme slag zijn geweest voor de hele crypto-industrie. Maar dat deden ze niet.

BlueBox zal de volledige details van hun onderzoek binnen enkele weken op de Black Hat-conferentie melden. ViaForensics-onderzoeker Pau Oliva Fora heeft echter een proof of concept-code gepost die de gevolgde aanpak illustreert.

Eigenlijk is het heel, heel simpel. APK-bestanden zijn verpakt met behulp van een versie van het uitgebreide ZIP-archiveringsalgoritme. De meeste ZIP-implementaties staan ​​geen twee bestanden met dezelfde naam toe in één archief, maar het algoritme zelf verbiedt die mogelijkheid niet. Bij het controleren van de digitale handtekening van een app kijkt het Android-besturingssysteem naar het eerste overeenkomende bestand, maar wanneer het bestand daadwerkelijk wordt uitgevoerd en gestart, grijpt het naar het laatste . Om een ​​app te trojaniseren, hoeft u alleen maar uw kwaadaardige code erin te slepen met behulp van een naam die al in de app bestaat. De demonstratie van Fora is slechts enkele tientallen regels Java-code.

Nog een structurele aanval

Een Chinese onderzoeker die blogde als Android Security Squad vond de demonstratie intrigerend en ging op zoek naar andere manieren om het verificatieproces te ondermijnen. Het lezen van de door Google vertaalde post is een beetje moeilijk, maar het lijkt erop dat de aanval berust op een concept van Computer Science 101-niveau.

Computerprogramma's slaan telnummers op in verzamelingen bits van een vaste grootte. Met acht bits kunt u bijvoorbeeld getallen van 0 tot 255 voorstellen. Als het nodig is om negatieve getallen weer te geven, is de oude conventie dat het meest linkse bit een negatief getal aangeeft. Met acht bits kunt u dus ook getallen van -128 tot 127 voorstellen. Het binaire getal 11111111 vertegenwoordigt 255 of -1, afhankelijk van of het is bedoeld als een niet-ondertekend of ondertekend nummer.

Android Security Squad heeft de APK-bestandskopindeling bestudeerd en een gegevensveld gevonden waarvan wordt aangenomen dat het een positieve offset is, maar dat is opgeslagen als een ondertekend geheel getal. Als u dit veld naar een specifieke negatieve waarde dwingt, voert de APK-lader de kwaadaardige code uit in plaats van de reeds geverifieerde digitaal ondertekende code. OK, het is een beetje complexer, maar dat is ongeveer hoe het werkt.

Blijf bij Google Play

Geen van deze hacks ondermijnt eigenlijk het digitale handtekeningsmechanisme van Android. In plaats daarvan maken ze allebei gebruik van eigenaardigheden in de APK-structuur om de digitale handtekening irrelevant te maken. Bovendien kan geen van beide een Trojanized-app de analyse van Google laten passeren. Google heeft Google Play specifiek bijgewerkt om Trojanized apps uit te filteren met behulp van de "master key" -aanval; zelfs zonder die stap zou standaardbeveiliging vrijwel elk type Trojanized-app blokkeren.

De les is duidelijk. Haal uw apps altijd van legitieme bronnen, controleer altijd of de naam van de ontwikkelaar geldig is en configureer uw telefoon zodat het niet is toegestaan ​​om apps van 'onbekende bronnen' te installeren. Besteed aandacht aan de rechten die een app vraagt ​​en wees klaar om een ​​verdacht ogende installatie af te breken. Als uw provider een Android-update aanbiedt, installeer deze dan altijd. Het is gewoon gezond verstand!

Chinese onderzoeker meldt nieuwe verborgen trojan android-aanval