Hvad er en obfuscator?
En obfuscator er en proces eller enhed, der er beregnet til at gøre et program vanskeligere at forstå. Generelt er obfuscatorens tilgang at tage et program, der er relativt ligetil og gøre den underliggende kode mere kompliceret. Mens det ikke er sandsynligt, at slutbrugeren vil bemærke en forskel i den måde koden kører på, gør obfuscators funktion det sværere at hacke koden og kapre programmet. Fra dette perspektiv kan brug af denne type værktøj ses som en sikkerhedsforanstaltning.
Navnet på enheden eller processen er lånt fra ordet "obfuscate", der henviser til at komplicere en verbal præsentation i et forsøg på at forvirre eller forvirre. På samme måde søger obfuscatoren at gøre processen med at forstå koden noget forvirrende. Dette gør det væsentligt sværere for koden at blive undermineret, da det rigtige kød af koden er så dybt begravet eller tilsløret, at det er svært at udtrække de væsentlige arbejdsdele af koden.
Der er adskillige programsprog, der har en tendens til at reagere godt på processen med tilsløring. C ++ er blandt de mest populære af sprog og gør det muligt at anvende en obfuscator med relativ lethed uden at ødelægge funktionen af basiskoden. På samme måde har C og Perl også en tendens til at arbejde godt med brugen af tilsløring, hvilket gør det relativt let at tilføje et beskyttelseselement til enhver programmering, der er skrevet på disse tre sprog.
Mens formålet med en obfuscator med vilje er at gøre koden sværere at løsne, er der også behovet for at sikre, at personer, der er autoriseret til at arbejde med programmeringen, kan gøre det uden at blive hindret af obfusceringsprocessen. Til dette formål er det muligt at anvende forskellige teknikker til at arbejde gennem de tilføjede komplikationer og komme til basiskoden. Denne proces er kendt som reverse engineering, da den i det væsentlige involverer at fortryde komplikationerne for at se det rigtige billede. Programskæring er et eksempel på en reverse engineering-teknik, der bruges til at nedbemærke et sæt kode.
Mens obfuscatoren tilvejebringer en vis grad af beskyttelse, er det vigtigt at indse, at denne proces ikke bør være det eneste sikkerhedsmiddel, der anvendes til at beskytte programmeringen. Andre sikkerhedsstrategier bør også anvendes for at sikre, at ondsindede indsættelser ikke modtages af netværket og får lov til at arbejde sig ind i eksisterende koder.