Opinie

Hoe bescherm ik mijn investering?

Robert Hendriksen
Leestijd: 3 minuten

Na onze noeste ontwikkelarbeid komt er het moment dat we het product aan de eindklant leveren. Die kan de binary vervolgens naar hartelust reverse-engineeren en manipuleren. Hoe voorkomen we nou dat ons algoritme wordt ontfutseld? En hoe zorgen we ervoor dat de eindklant onze applicatie niet kraakt om alle modules kosteloos te gebruiken? Kortom: hoe voorkomen we dat de eindgebruiker ervandoor gaat met het resultaat van onze investering?

Encryptie alleen kan dit niet oplossen, zeker als we de sleutel moeten meeleveren met ons product. Sleutels hebben de eigenschap willekeurig te zijn en dat ’steekt uit‘ tussen de overige programmadata. Zelfs als we de code obfusceren, zal een check op een sleutel gemakkelijk terug te vinden zijn in de code. Ook een hardwaredongle blijkt niet afdoende. Op het internet zijn ’services‘ te vinden die elke willekeurige donglecontrole verwijderen.

Virusschrijvers worden steeds beter in het verbergen van hun malware. Van hen kunnen we wel een aantal zaken leren. Scanners herkennen virussen aan hun signatuur, een rijtje instructies in het werkgeheugen met een specifiek patroon. Sommige virussen passen daarom runtime hun code aan. Dat mechanisme kunnen wij ook gebruiken. We kunnen bijvoorbeeld opstartcode wissen als onze applicatie eenmaal draait, om het debuggen lastiger te maken.

This article is exclusively available to premium members of Bits&Chips. Already a premium member? Please log in. Not yet a premium member? Become one and enjoy all the benefits.

Login

Related content