UniKey Protects Software from Reverse Engineering UniKey Protects Software from Reverse Engineering - RSS feed from Security Park
(24/10/2009)

Software reverse engineering is the technique of getting the original source code from the binary. Competitors might use reverse engineering to figure out how you implemented that cool feature. Crackers might use it to see how they can bypass your license policy.

Tools of the Reverse Engineering

Dis-assemblers are used to dis-assemble the binary into readable (at least, semi-readable) code.
De-compilers convert programs from an intermediate language like Java byte code to their more highly readable original source code.
Resource monitoring tools are used to track the usage of files and registry entries.

How to beat reverse engineering

There are several strategies available to defend against reverse engineering. Code obfuscation, which we discussed in depth two years ago, is the simplest (and cheapest) method to deter reverse engineers. Code obfuscation changes function names, alters the sequence of code, and adds noise, without changing the functionality of the code itself.

Strong encryption with hardware keys. UniKey is a popular commercial solution that uses this technique, and we will be citing many of the techniques it uses in this article.

The approach is simple – encrypt the binary, attach it to a decryption engine and store the encryption key in a hardware key. The decryption engine loads the binary to memory, decrypts it with the key from the key and then runs the binary. Since the hardware key is required to decrypt the binary, this is also an effective mechanism for license control.

How UniKey Protect Software from Reverse Engineering

UniKey Software Protection System has two methods to protect your programs: Envelope and API. API Protection involves modifying the source code using an API (Application Programming Interface), by inserting function calls to a DLL to perform the protection process. On the other hand, the Envelope protection does not need to make changes in your source code because it directly protects the executable adding Anti-hacking and Anti-debugging routines.

Furthermore, the protected application is encrypted to prevent Reverse Engineering. All this influences your product is protected by an impenetrable fortress for hackers avoiding loss of revenue due to piracy. You can use one or both of the two modes of protection to increase the security of your system at maximum.

UniKey Envelope automatically "wraps" applications with a protective shield that incorporates anti-reverse engineering, file encryption, code obfuscation, system-level anti-debugging and automatic licensing. Within minutes, software is completely protected against outside threats without requiring any changes to the source code itself, allowing software engineers to focus on core capabilities to streamline business processes.

Using UniKey developers can specify the individual way to encrypt and decrypt the program only at execution. The result is that smaller portions of code are exposed in memory for shorter periods of time, making the source code far less vulnerable. Therefore they cannot simply be dumped from memory to form usable code – even while decrypted.

Software vendor can license and control each individual features separately using UniKey envelope protection.

Benefits of using the Envelope:
Protects your software against unauthorized use by binding the software to UniKey
Prevents reverse engineering by encrypting the software files
Prevents debugging of your application code by using strong anti-debugging schemes
Prevents attacks on your software by wrapping the files with multiple, randomly-assembled layers of protection.
UniKey API protection

UniKey offers a second layer of protection that can be customized for each application. The UniKey dongle can store secret strings, in addition to the UniKey dongle for decrypting the binary. You can store custom secrets in the dongle and then periodically query the dongle to see if it’s present. If the dongle is absent, you may choose to exit the program. It is an additional layer of security, beyond the standard envelope. This allows you to check the presence of the dongle from deep within your source code. This makes reverse engineering even more difficult. Software developers could even generate noise through red herring calls and confound the attacker further.

UniKey dongles include back office APIs that enable you to integrate fulfillment of software licenses into your organization’s process. With back office APIs, you can create custom applications to program UniKey using your own internal applications without interruption to your existing business model. This facilitates automation and provides more flexibility with your internal manufacturing and delivery systems, greatly reducing the time required to fulfill UniKey.

Using the UniKey API utility in conjunction with the Envelope tool to protect the intellectual property present in your source code and associated data files should be an integral part of your overall software protection plan.

Related topics:  Application and software security   Encryption 


print versionPrint version | email this to a friendEmail to a friend | related articlesRelated articles


Data breaches: Trends, costs and best practices gives you all the latest information on securing personal and corporate data, key recommendations for immediate action to improve data security, and how to respond to data breaches.


Other Security news and resources


Security News Suppliers Directory Jobs forum Classifieds Knowledge base White papers Research library Security books Special reports Security interviews Security companies Security events Security links Security market

Product channels

Access Control Biometrics CCTV Intruder Alarms IT Security Manned Guarding Perimeter Protection Physical Security Remote Monitoring Security Services Fire, Health & Safety Other Security Products

IT Security white papers and research library

Access Control  Authentication  Data Management  Data Security  Digital Signatures  Email Security  Identity Management  Internet Security  Intrusion Prevention  Network Security  Remote access security  Security Management  Security Policies  Security Software  Security Threats  Virus Detection Software  Virus Protection  VPN  Vulnerability Assessment  Wireless Security 

Security books, guides, standards and toolkits

RFID and Smart Cards books, guides and reference documents  Biometric books, guides and reference documents  CCTV books, guides and reference documents  Intruder alarms and intrusion detection systems books, guides and reference documents  Monitoring and surveillance books, guides and reference documents  IT Governance, ISO 27001 ISO 17799 and BS 7799 toolkits  Fire, Health & Safety books, guides and reference documents





Ensure that you conduct an effective information security risk assessment that is in line with ISO 27001 by purchasing vsRisk™ Risk Assessment Tool

Need a
Security reference book?
Find it on Amazon
Security books

Article search

Directory search


add your company
Google

ISO 18028 (Network Security Management)
Home | About | Contact | Submit article | Advertise | Newsletter | RSS | Search