Wat is een obfuscator?
Een obfuscator is een proces of apparaat dat bedoeld is om een programma moeilijker te begrijpen te maken. Over het algemeen is de aanpak van de obfuscator om een programma te nemen dat relatief eenvoudig is en de onderliggende code complexer maken. Hoewel de eindgebruiker waarschijnlijk geen verschil zal merken in de manier waarop de code wordt uitgevoerd, maakt de functie van de obfuscator het moeilijker om de code te hacken en het programma te kapen. Vanuit dit perspectief kan het gebruik van dit type tool worden gezien als een beveiligingsmaatregel.
De naam voor het apparaat of proces is ontleend aan het woord "obfuscate", wat verwijst naar het compliceren van een verbale presentatie in een poging om te verwarren of verbijsteren. Op dezelfde manier probeert de obfuscator het proces van het begrijpen van de code enigszins verwarrend te maken. Dit maakt het in wezen moeilijker om de code te ondermijnen, omdat het echte vlees van de code zo diep begraven of verduisterd is dat het moeilijk is om de essentiële werkende delen van de code te extraheren.
Er zijn verschillende programmeertalen die de neiging hebben zeer goed te reageren op het proces van verduistering. C ++ is een van de meest populaire talen en maakt het mogelijk om relatief eenvoudig een obfuscator te gebruiken zonder de functie van de basiscode te beschadigen. Op dezelfde manier werken C en Perl ook goed bij het gebruik van obfuscation, waardoor het relatief eenvoudig is om een beveiligingselement toe te voegen aan programma's die in deze drie talen zijn geschreven.
Hoewel het doel van een obfuscator is om de code opzettelijk moeilijker te ontrafelen, is er ook de noodzaak om ervoor te zorgen dat mensen die bevoegd zijn om met de programmering te werken, dit kunnen doen zonder gehinderd te worden door het proces van obfuscatie. Hiertoe is het mogelijk om verschillende technieken toe te passen om de toegevoegde complicaties te verwerken en de basiscode te bereiken. Dit proces staat bekend als reverse engineering, omdat het in wezen de complicaties ongedaan maakt om het juiste beeld te krijgen. Program slicing is een voorbeeld van reverse engineering-technieken die worden gebruikt om een set code te verbergen.
Hoewel de obfuscator enige mate van bescherming biedt, is het belangrijk om te beseffen dat dit proces niet het enige beveiligingsmiddel mag zijn dat wordt gebruikt om de programmering te beschermen. Andere beveiligingsstrategieën moeten ook worden gebruikt om ervoor te zorgen dat kwaadwillige invoegingen niet door het netwerk worden ontvangen en zich in bestaande codes kunnen werken.