Away from prying eyes: Running code in secure hardware or cloud environments
Just like any community or profession, the hacking scene includes many different people with many different levels of experience and ability. A handful of all-star masters stand out from a crowd of beginners and amateurs. Software developers then have to ask themselves: “How appealing might my product be for hackers?” and “What are the actual threats I am facing?” Even though simple safeguards might be enough to put off any small-time hackers, a solid defense against professionals might need a combination of advanced technologies, which means a lot of extra effort and investment. This is why CodeMeter offers a perfectly scalable solution for protecting software against piracy and reverse engineering.
Software protection has one prime mission: To prevent your software from being run and taken apart by a debugger. Paradoxically, this makes life harder not just for hackers, but also for legitimate developers trying to test their work and remedy any bugs that might be hidden in it. Now, with CodeMoving, you can take the leap into optimal protection: CodeMoving lets you move essential code into a secure CmContainer for execution far away from the prying eyes of would-be hackers. But how can developers test their work under these circumstances? The new generation of AxProtector comes with a simulation mode, built specifically for that purpose.
File encryption allows your application to load protected files, such as models used for AI. The IP Protection mode works against reverse engineering without your software needing a CodeMeter license and without CodeMeter being installed on the user’s system. With CodeMoving, you can have sensitive parts of your software executed in the secure confines of a CmContainer. This masterclass will show you how to make the most of CodeMoving, including the ability to test and debug even protected code.
With CodeMoving, you can create as many code fragments as you want for execution in a CmDongle or CmCloudContainer. To move the code, the application is encrypted with AxProtector; all functions to be moved are compiled and encrypted by AxProtector and normally kept in the application like their peers with regular AxProtector protections. While AxProtector decrypts and executes the function in question in the memory of the computer during runtime, CodeMoving first moves it into a CmDongle or CmCloudContainer to be decrypted and executed with the right input parameters. The output parameters are then returned to the application. CodeMoving is more secure than AxProtector used by itself, while regular encryptions with AxProtector offer better performance for the protected code. To find the optimal balance for your application, a combination of CodeMoving and functions encrypted with AxProtector is possible.
However, before you start applying CodeMoving, there are some prerequisites and recommendations that you should be aware of. In our new masterclass, we are going to zero in on:
- The hacker’s perspective
- CodeMeter Protection Suite
- The choice of AxProtectors
- Encrypting entire applications
- Encrypting individual functions
- Transferring functions with CodeMoving
- Requirements for CodeMoving
- In practice:
- Simple CodeMoving functions
- Testing moved functions
- Debugging CodeMoving code
- Using the CodeMoving API in the CmDongle
- Locking CmDongles
Scalability is as crucial in software licensing as it is in protection. Seize the opportunity to build up the technological know-how to apply the tools and techniques required in the markets you serve.