Jeg er grunnlegger og ADMINISTRERENDE DIREKTØR I Apriorit, et programvareutviklingsselskap som tilbyr ingeniørtjenester globalt til teknologibedrifter.

Bakfra av kvinnelig datamaskin hacker koding ved skrivebordet i creative office

getty

i Dag, cyber angripere er bevæpnet med et imponerende utvalg av våpen, fra enkle malware til sofistikerte reverse engineering verktøy. Disassemblers, decompilers og andre verktøy tillater hackere å få tilgang til og analysere søknad kildekode. Med denne informasjonen kan hackere misbruke programvaren din på ulike måter: ved å trekke ut sensitiv informasjon, legge til skadelig kode og til og med klone programmene dine.

en nylig studie av sikkerhetsselskapet Positive Technologies viste at populære mobilbankapplikasjoner er utsatt for hackingangrep. De vanligste cybersikkerhetsproblemene som ble identifisert, hadde å gjøre med navnene på klasser og metoder som eksplisitt ble skrevet i kildekode, mangel på beskyttelse mot kodeinjeksjon og mangel på kodeforståelse.

Kode obfuscation spesielt Er en lovende praksis for å sikre programvare. Hvis du leter etter måter å beskytte programvaren mot inntrenging, kan det være lurt å begynne med herding sitt forsvar gjennom obfuscating koden.

hvordan fungerer kodeforståelse?

Obfuscation metoder lar deg herde programkode ved å transformere den for å skjule implisitte verdier og skjule logikk. Disse tiltakene gjør det vanskeligere for en uautorisert tredjepart å se under panseret av programvaren.

De fleste obfuscation teknikker forvandle en av følgende aspekter av koden:

* Kontrollflyt: Gjør kjørbar logikk ikke-deterministisk hvis programvaren dekompileres

* Layoutstruktur: Formater data, gi navn til identifikatorer og fjern kodekommentarer

Obfuscation-verktøy fungerer med kildekode, maskin-eller binærkode og bytekode. For å finne ut hvilken type kode som er best å forvirre, må du huske på begrensningene i hvert valg.

når du forvirrer kildekoden, kan du møte utfordringer i håndtering og feilsøking av den forvirrede koden. Binær obfuscation er ikke bare mer komplisert enn de to andre alternativene, men må brukes på hver systemarkitektur.

i mitt firma velger vi ofte bytecode obfuscation, som i dette tilfellet trenger vi ikke å håndtere kildekode eller maskinkode. Men når vi kommer til å transformere bytekode til maskinkode, er det vanskelig å holde alle uklare kodeinjeksjoner helt tilfeldige.

for et av våre siste prosjekter brukte teamet MITT LLVM-kompilatoren, som hjalp oss med å sikre et høyt nivå av bytekodebeskyttelse med liten innvirkning på programvarens ytelse. I tillegg til herding kode, denne kompilatoren kan tilfeldig plassere programvare lisens verifikatorer som gjør det nesten umulig for hackere å knekke programvare.

Hvordan kan du beskytte din app med kode obfuscation?

mens obfuscation er en av de sikre kodingspraksisene SOM ANBEFALES AV OWASP, er DET fortsatt ikke så populært blant mange utviklere. Hovedårsaken til dette er at når overused, kode obfuscation kan skade programvare ytelse.

Men hvis vi snakker om, si en mobilbankapp, er viktigheten av å sikre brukerens bankkontodata høy nok til å rettferdiggjøre å bruke ekstra tid og krefter på balansert kodeherding.

hvis du vil maskere koden på den mest effektive måten, er det noen ting du bør vurdere:

* Legg ugjennomsiktige predikater til den obfuscated koden for å gjøre det umulig å forstå hvor kodekjøringen vil gå. Få kontrollflyt-grafen til å se ut som en tilstandsmaskinutførelse i stedet for lineær kodeutførelse.

* Bruk kode obfuscation bare som et ekstra lag av sikkerhet, da det ikke kan erstatte andre sikkerhetspraksis.

når riktig implementert, kode obfuscation er en effektiv løsning for å beskytte programvaren mot uautorisert analyse. Det er ikke en sølvkule, men det vil betydelig komplisere forsøk på å utnytte og kompromittere programvaren din.

Forbes Technology Council Er en invitasjon-only samfunnet for Verdensklasse CIOs, CTOs og teknologi ledere. Kvalifiserer jeg?

Følg meg på Twitter eller LinkedIn. Sjekk ut min hjemmeside.

Laster …

Legg igjen en kommentar

Din e-postadresse vil ikke bli publisert.