jeg er grundlægger og Administrerende Direktør for Apriorit, et programudviklingsfirma, der leverer ingeniørtjenester globalt til tech-virksomheder.

bagfra af kvindelige computer hacker kodning på skrivebordet i kreative kontor

getty

i dag, cyberangribere er bevæbnet med en imponerende vifte af våben, fra simple ondsindede programmer til sofistikerede reverse engineering værktøjer. Disassemblers, decompilers og andre værktøjer giver hackere adgang til og analysere applikationskildekode. Med disse oplysninger kan hackere misbruge dit program på forskellige måder: ved at udtrække følsomme oplysninger, tilføje ondsindet kode og endda klone dine applikationer.

en nylig undersøgelse foretaget af sikkerhedsfirmaet Positive Technologies afslørede, at populære mobile bankapplikationer er modtagelige for hackingangreb. De mest almindelige cybersikkerhedsproblemer, der blev identificeret, havde at gøre med navnene på klasser og metoder, der eksplicit blev skrevet i kildekode, manglende beskyttelse mod kodeinjektion og mangel på kodeforstyrrelse.

især kodeforvrængning er en lovende praksis for sikring af programmer. Hvis du leder efter måder at beskytte dit program mod indtrængen, kan du begynde med at hærde dets forsvar ved at tilsløre koden.

Hvordan virker kode formørkelse?

Tilsløringsmetoder giver dig mulighed for at hærde applikationskoden ved at omdanne den til at skjule implicitte værdier og skjule logik. Disse foranstaltninger gør det sværere for en uautoriseret tredjepart til at se under kølerhjelmen af dit program.

de fleste tilsløringsteknikker transformerer et af følgende aspekter af kode:

• Data: Få kodeelementer til at ligne noget andet end hvad de er

• Kontrolstrøm: gør eksekverbar logik ikke-bestemmende, hvis programmet dekompileres

• Layoutstruktur: formater data, Omdøb identifikatorer og fjern kodekommentarer

Tilsløringsværktøjer arbejder med kildekode, maskine eller binær kode og bytekode. For at bestemme hvilken type kode der er bedst at forvirre, skal du huske begrænsningerne for hvert valg.

når du tilslører kildekoden, kan du stå over for udfordringer i håndtering og fejlfinding af Den tilslørede kode. Binær formørkelse er ikke kun mere kompliceret end de to andre muligheder, men skal anvendes på hver systemarkitektur.

hos mit firma vælger vi ofte bytecode-tilsløring, da vi i dette tilfælde ikke behøver at håndtere kildekode eller maskinkode. Men når vi kommer til at omdanne bytecode til maskinkode, er det svært at holde alle tilslørede kodeinjektioner helt tilfældige.

til et af vores seneste projekter brugte mit team LLVM compiler, som hjalp os med at sikre et højt niveau af bytecode beskyttelse med ringe indflydelse på programmets ydeevne. Ud over hærdning kode, kan denne compiler tilfældigt placere programmer licens verifikatorer, der gør det næsten umuligt for hackere at knække programmer.

Hvordan kan du beskytte din app med kode tilsløring?

mens forvirring er en af de sikre kodningspraksis, der anbefales af UASP, er det stadig ikke så populært blandt mange udviklere. Den væsentligste årsag til dette er, at når overbrugt, kode tilsløring kan skade programmets ydeevne.

men hvis vi taler om en mobilbankapp, er vigtigheden af at sikre en brugers bankkontodata høj nok til at retfærdiggøre at bruge ekstra tid og kræfter på afbalanceret kodehærdning.

hvis du vil tilsløre kode på den mest effektive måde, er her nogle ting, du skal overveje:

• før du tilslører din kode, skal du beslutte, hvilke dele af din kode der kan tilsløres. Undgå obfuscating ydeevne-kritisk kode. Sørg også for, at forvirring ikke påvirker programmelfunktionaliteten på nogen måde.

• Vær opmærksom på størrelsen og ydeevnen af Den tilslørede kode. Ved hærdning af et stort stykke kode kan udførelsestiden øges op til 1.000 gange.

• Tilføj uigennemsigtige prædikater til Den tilslørede kode for at gøre det umuligt at forstå, hvor kodeudførelsen vil gå. Få styrestrømsgrafen til at ligne en tilstandsmaskinekørsel snarere end lineær kodekørsel.

• for at skabe et lagdelt forsvar skal du kombinere flere transformationsteknikker. Jo flere tilsløringsteknikker du bruger, jo bedre bliver din kode beskyttet.

• Brug kun kode tilsløring som et ekstra lag af sikkerhed, da det ikke kan erstatte andre sikkerhedspraksis.

når det er korrekt implementeret, er code obfuscation en effektiv løsning til at beskytte dit program mod uautoriseret analyse. Det er ikke en sølvkugle, men det vil betydeligt komplicere forsøg på at udnytte og kompromittere dit program.

Forbes Technology Council er en invitation-only samfund for verdensklasse CIO ‘er, CTO’ er og teknologi ledere. Kvalificerer jeg mig?

Følg mig på Facebook eller LinkedIn. Tjek min hjemmeside.

indlæser …

Skriv et svar

Din e-mailadresse vil ikke blive publiceret.