Developing Applications Using The SoftwareShield System > Introduction to the SoftwareShield System > How Strong Is SoftwareShield?

How Strong Is SoftwareShield?


Protection Strength of IronWrapped™ Applications

IronWrapping is a state-of-the-art DRM system which provides you with an extremely high level of protection for your wrapped applications.  The strengths of IronWrapping are so numerous (as well as secret and proprietary) that their specific individual merits will not be discussed here.  

To this date, the IronWrap DRM protection has yet to be cracked.  While its conceivable that a program that is IronWrapped may be cracked - we know that most crackers patience will wear out thousands of hours before the IronWrap technology does. Suffice it to say that IronWrapping is the ultimate in protection.

Protection Strength of Non-IronWrapped Applications

SoftwareShield without IronWrapping is still quite strong. The SoftwareShield System safeguards include multi-layer encryption and compression technology of the license file. The inner components of Authorization Definitions you define inside License Files (and Alias Files) are encrypted first using a password you provide (key) that is specific to each code. These encrypted Authorization Definition structures are then compressed together (which further hides the data) with the remaining license information, and together - the entire file is encrypted again using a different password you provide (key). The encryption algorithm used extremely strong: 512-bit BlowFish.

The Main License File is mirrored into Alias Files which can be hidden in various folders on the users system as well as inside the system registry. These files can take on any name you desire making them appear to be inconspicuous dlls, ocxs or whatever you wish. To further hide them - their Windows attributes are changed so that they are made both "hidden" and "system" and the Windows time-stamp on the file is altered so they always appear to have been last written to in the past (even while they are being updated). The average user will not even be able to see them on their system. Even if they can, they will appear to be old system files. Further - if they try to delete them - Windows will warn them that the file is a system file and some programs may stop functioning.

You can even use SoftwareShield Steganographic Alias Files. Steganographic alias files are real bitmaps (which you distribute with your application if needed). These .bmp files can contain any image whatsoever, as long as they are not blank or tiny in size (<64 x 64). We recommend, if you use a steganographic file, that you use a small copy of your company logo which will not appear out of place at all in your License File directory. This bitmap is then used as an Alias File, by using the SoftwareShield Steganographic technology, the license file is actually embedded inside the colored pixels of the image - without the image appearing different at all to the human observer. When you test your programs - try this and see for yourself if you can tell the difference between the original and the embedded steganographic alias file.

SoftwareShield uses methods that detect if a program has been installed on a specific system before - which ensures that even if a user can somehow locate all the hidden files and delete them - that a reinstall of an expired trial version will fail when it is first executed.

The ClientProtector component you get with SoftwareShield manages all this for you. It will detect whether any of these encrypted files do not corroborate with each other or that they are missing, or that some other attempt is being made to defeat the protections you designed, which will alert you to a hacker trying to defeat your system.

The ClientProtector employs several checks to ensure that the user can not defeat expire dates by setting their system clock to a date that is inconsistent with the date you issued the license. During trial periods, the ClientProtector checks to ensure if the clock has been rolled back in an attempt to get unauthorized trial days, alerting your program to the presence of someone potentially trying to defeat your security. Some Activation Codes themselves give the option when generated of using an expiration so that they must be used within a "shelf-life" or they cease to work on any system whatsoever, ensuring that even if you do not choose to hardware lock your system, hackers can not simply redistribute Activation Codes. After a short period they will simply cease to work. Further - some codes can (optionally) be used only once on a single system no matter what and others can be used over and over. (See: Authorization Definitions )

That is not all, SoftwareShield employs advanced tamper-resistance technology that (at your discretion) detects if the program is being watched by kernel-mode debuggers, or that someone is trying to de-compile it using hacker tools like SoftICE etc. If this kind of system intrusion is detected - your program will simply shutdown.

These safeguards built into the SoftwareShield System ensure that your client, (and hackers), will have an extremely difficult time trying to defeat the system if they try.

In isolation, this appears to be quite secure, but you must still be vigilant. A determined hacker can eventually de-compile your program and find where you are calling the ClientProtector component and simply change these instructions. Alternatively - they could even replace the ClientProtector dll with their own that exposes an identical interface - but does something quite different.

There are special techniques we provide you that can make your programs more resistant to attacks like these. You can read more about this in our Anti-Hacker Guide.

IMPORTANT:
There is no such thing as a completely hacker-proof system. Even the most secure systems can eventually be defeated by a determined and skilled hacker. The SoftwareShield System is extremely strong - and by implementing a few simple safeguards of your own you can make it even stronger. Nevertheless - there is no such thing as an impenetrable fortress. The key thing to remember is that the SoftwareShield System keeps hackers at bay as long as possible and allows you to simply and easily change the way you do things so that if you get hacked - it wont last longer than the time it takes for you to recreate your license and installer.

Related Topics