Software Protection Versus Code Obfuscation - Stable Software Protection


by Jose Sogiros - Date: 2010-05-06 - Word Count: 560 Share This!

Security of intellectual property is crucial for every business in today's modern reality. Competitive vantage is attained through technological finds but thievery of applications and/or algorithms can leave the rival a dominant situation over his contenders. Consequently, piracy and the theft of pieces and subroutines of computer software can be more wasting to the society than the theft of any singular natural asset. Few mechanisms can be utilised to foreclose plagiarism in a relatively secure way. An illustration is server-side execution of programs, another is encoding where the integral decryption/execution routine happens in specific computer hardware. Those options both put up sound protection versus reversing since the cracker sustains a strong problem reaching the code. Still, there are some essential downsides to these methods because server-side execution performs worse than if executed locally and hardware execution necessitates the end user to have special hardware.

There are more protection alternatives obtainable though, one of which is code obfuscation but code obfuscation is rather a style of making reversing economically undoable in terms of time and resources necessitated. Sure, there are conditions compulsory to the applied code obfuscation technique. For illustration, the practiced proficiencies must be capable to ward off approaches with deobfuscator tools. Code obfuscation is producing software code deliberately tricky to understand, whichs can be done in various ways, such as applying encryption and by adding random comments and variable names. Manifestly, the primary argue why someone practices code obfuscation is to prohibit piracy of the program. A painful fallout of obfuscating transmutations is oft a larger and slower resulting computer program. Hence, the programmer is expected to make sure the gain in protection is worth this extra operating cost.

Code obfuscation techniques can be divided in three families, with a matching mapping between the transformation type and the obfuscation type. This means that source code obfuscation makes transmutations to the source code and bytecode obfuscation to the bytecode. Accordingly, binary obfuscation executes its modifications to the binary code.

Generally, it has been sort of difficult to reverse computer software that were compiled into native code, but since the coming up of dotnet and Java, the risk of piracy has increased in the same way. A good deal of the info contained in the source code stays on in the intermediate language or the bytecode, it eases decompilation whilst raising the danger of cracking. Programing in a language not so susceptible to decompilation may seem like a good approximation because native object coding renders decompilation a lot more challenging to accomplish, althoughit is not totally unattainable.

Binary code obfuscation is sometimes also mentioned to as code morphing because it obfuscates the machine language or object code rather than source code. Binary code obfuscation techniques transform code at binary level, so in the compiled executable. It makes disassembling, debugging and decompiling of a distributed software much more tricky. Yet, by appending superfluous and/or difficult functioning and complementary code, the execution time of the software is increased. For that cause, binary code obfuscation is ordinarily limited to 'sensitive pieces' of a software only.

Still, code obfuscation could also help a different lord and it is implemented to shield a society's intellectual property from plagiarism and theft. But, it is also employed to hide malevolent code, thus bringing hard times for safety analysts in discovering the malicious payload of particular "varieties" of applications.

Related Tags: protection, security, software protection, security software

Your Article Search Directory : Find in Articles

© The article above is copyrighted by it's author. You're allowed to distribute this work according to the Creative Commons Attribution-NoDerivs license.
 

Recent articles in this category:



Most viewed articles in this category: