Secure Coding mailing list archives
Managing the insider threat through code obfuscation
From: jeremy.epstein at webmethods.com (Jeremy Epstein)
Date: Thu, 15 Dec 2005 07:00:38 -0800
Ken, I looked into this a couple of years ago to protect against intellectual property theft (e.g., reverse engineering) and to make it harder to bypass software licensing techniques. My conclusion at that point was that the obfuscation didn't actually do much good (it was still fairly easy to figure out what was going on). It introduced an extra risky step - our developers want to do their debugging/QA on unobfuscated versions so they can figure out what goes wrong, but you then have to replicate all of your QA on the obfuscated version to make sure that the obfuscator didn't break anything. [I hope that no one would test one version and release another!] And if there was a discrepancy, it was likely to be difficult to find what went wrong. Most importantly for us, it made support a royal pain - stack traces no longer meant anything. And we had to be *very* careful not to obfuscate any published or undocumented-but-known interfaces. My conclusion is that it's better than just marketing hooey - there is some technical advantage - but that if you have an extensible product and/or you have to provide support, the pain is worse than the advantage. --Jeremy
-----Original Message----- From: sc-l-bounces at securecoding.org [mailto:sc-l-bounces at securecoding.org] On Behalf Of Kenneth R. van Wyk Sent: Thursday, December 15, 2005 8:59 AM To: Secure Coding Mailing List Subject: [SC-L] Managing the insider threat through code obfuscation This morning, an article caught my attention -- "Managing the insider threat through code obfuscation", http://www.itmanagersjournal.com/article.pl?sid=05/12/13/1736253 The article's premise is that, because attackers can find out a great deal about the internals of databases and such by decompiling bytecode (in Java and .NET), bytecode should be obfuscated to hide its internal details. The article points to several commercial bytecode obfuscation products: http://www.devdirect.com/ALL/OBFUSCATIORS_PCAT_2014.aspx I hadn't heard of this approach before, although I'm quite familiar with how easy it is to decompile Java bytecode. My questions for the group are: o Anyone here have any good/bad experiences with bytecode obfuscation? o What is the impact on performance of the bytecode? o How about compatibility with various JVMs? o How much protection do these obfuscators really provide? o Is this all just a bunch of product marketing hooey? Well, at least the article uses the term "threat" correctly... Cheers, Ken van Wyk --- KRvW Associates, LLC http://www.KRvW.com _______________________________________________ Secure Coding mailing list (SC-L) SC-L at securecoding.org List information, subscriptions, etc - http://krvw.com/mailman/listinfo/sc-l List charter available at - http://www.securecoding.org/list/charter.php
Current thread:
- Managing the insider threat through code obfuscation Kenneth R. van Wyk (Dec 15)
- Managing the insider threat through code obfuscation Jose Nazario (Dec 15)
- Managing the insider threat through code obfuscation Kenneth R. van Wyk (Dec 15)
- Managing the insider threat through code obfuscation Dana Epp (Dec 15)
- Managing the insider threat through code obfuscation Kenneth R. van Wyk (Dec 15)
- Managing the insider threat through code obfuscation Matt Bishop (Dec 15)
- <Possible follow-ups>
- Managing the insider threat through code obfuscation Jeremy Epstein (Dec 15)
- Managing the insider threat through code obfuscation James Stibbards (Dec 15)
- Managing the insider threat through code obfuscation Jose Nazario (Dec 15)