Hva er en Obfuscator?
En obfuscator er en prosess eller enhet som er ment å gjøre et program vanskeligere å forstå. Generelt er tilnærmingen til obfuscatoren å ta et program som er relativt greit og gjøre den underliggende koden mer kompleks. Selv om det ikke er sannsynlig at sluttbrukeren vil merke en forskjell i måten koden kjører på, gjør obfuscatorens funksjon det vanskeligere å hacke koden og kapre programmet. Fra dette perspektivet kan bruk av denne typen verktøy sees på som et sikkerhetstiltak.
Navnet på enheten eller prosessen er lånt fra ordet "obfuscate", som refererer til å komplisere en verbal presentasjon i et forsøk på å forvirre eller forvirre. På samme måte prøver obfuscatoren å gjøre prosessen med å forstå koden noe forvirrende. Dette gjør det i det vesentlige vanskeligere for koden å bli undergravet, siden det virkelige kjøttet av koden er så dypt begravet eller tilslørt at det er vanskelig å trekke ut de essensielle arbeidsdelene av koden.
Det er flere programspråk som har en tendens til å svare veldig godt på prosessen med tilsløring. C ++ er blant de mest populære språkene og gjør det mulig å bruke en obfuscator med relativt enkelhet uten å ødelegge funksjonen til basekoden. På samme måte pleier C og Perl også å jobbe godt med bruk av tilsløring, noe som gjør det relativt enkelt å legge et beskyttelseselement til all programmering skrevet på disse tre språkene.
Mens hensikten med en obfuscator med vilje er å gjøre koden vanskeligere å løsne, er det også behovet for å sørge for at personer som er autorisert til å jobbe med programmeringen kan gjøre det uten å bli hindret av prosessen med tilsløring. For dette formål er det mulig å bruke forskjellige teknikker for å arbeide gjennom de kompliserte komplikasjonene og komme til basekoden. Denne prosessen er kjent som reverse engineering, siden den i hovedsak innebærer å angre komplikasjonene for å se det sanne bildet. Programskiver er et eksempel på omvendt ingeniørteknikker som brukes til å avdempe et sett med kode.
Mens obfuscatoren gir en viss grad av beskyttelse, er det viktig å innse at denne prosessen ikke bør være det eneste sikkerhetsmidlet som brukes for å beskytte programmeringen. Andre sikkerhetsstrategier bør også benyttes for å sikre at ondsinnede innsettinger ikke mottas av nettverket og får lov til å jobbe seg inn i eksisterende koder.