<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
		>
<channel>
	<title>Comments on: Is &#8220;Software Protection&#8221; Software Security?</title>
	<atom:link href="http://www.cigital.com/justice-league-blog/2009/07/29/is-software-protection-software-security/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.cigital.com/justice-league-blog/2009/07/29/is-software-protection-software-security/</link>
	<description></description>
	<lastBuildDate>Sun, 13 May 2012 16:44:00 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.2</generator>
	<item>
		<title>By: Kyle Quest</title>
		<link>http://www.cigital.com/justice-league-blog/2009/07/29/is-software-protection-software-security/#comment-168</link>
		<dc:creator>Kyle Quest</dc:creator>
		<pubDate>Wed, 05 Aug 2009 18:20:25 +0000</pubDate>
		<guid isPermaLink="false">http://www.cigital.com/justiceleague/?p=211#comment-168</guid>
		<description>Just a note... The author, Christian Collberg, is a university professor, so his approach is very academic (and he actually had a class on this subject). The book is filled with lots of theory and fancy math formulas :-))) It&#039;s really good in what it&#039;s trying to do, but if you expect a hands-on manual then the book is not for you. It&#039;s more about &quot;design&quot; then implementation&quot; :-)</description>
		<content:encoded><![CDATA[<p>Just a note&#8230; The author, Christian Collberg, is a university professor, so his approach is very academic (and he actually had a class on this subject). The book is filled with lots of theory and fancy math formulas <img src='http://www.cigital.com/justice-league-blog/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> )) It&#8217;s really good in what it&#8217;s trying to do, but if you expect a hands-on manual then the book is not for you. It&#8217;s more about &#8220;design&#8221; then implementation&#8221; <img src='http://www.cigital.com/justice-league-blog/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Chris Wysopal</title>
		<link>http://www.cigital.com/justice-league-blog/2009/07/29/is-software-protection-software-security/#comment-167</link>
		<dc:creator>Chris Wysopal</dc:creator>
		<pubDate>Wed, 05 Aug 2009 01:20:22 +0000</pubDate>
		<guid isPermaLink="false">http://www.cigital.com/justiceleague/?p=211#comment-167</guid>
		<description>I totally agree with Kyle.  I wrote an article for SecurityFocus on obfuscation. The fact that the good guys and the bad guys use it should tell us something.

http://www.securityfocus.com/columnists/498

Excerpt:

&quot;Obfuscation by itself is not good or bad but it has led to the situation where users can’t determine if the behavior of obfuscated software is good or bad. While it would be a controversial measure, perhaps it&#039;s time to treat any code that exhibits unknown behavior as bad.

If obfuscation technology was ever perfected we would have perfect DRM and perfect malware. Yet, that outcome is unlikely. The computer ultimately has to decipher and follow a software program’s true instructions. Each new obfuscation technique has to abide by this requirement and, thus, will be able to be reverse engineered.&quot;</description>
		<content:encoded><![CDATA[<p>I totally agree with Kyle.  I wrote an article for SecurityFocus on obfuscation. The fact that the good guys and the bad guys use it should tell us something.</p>
<p><a href="http://www.securityfocus.com/columnists/498" rel="nofollow">http://www.securityfocus.com/columnists/498</a></p>
<p>Excerpt:</p>
<p>&#8220;Obfuscation by itself is not good or bad but it has led to the situation where users can’t determine if the behavior of obfuscated software is good or bad. While it would be a controversial measure, perhaps it&#8217;s time to treat any code that exhibits unknown behavior as bad.</p>
<p>If obfuscation technology was ever perfected we would have perfect DRM and perfect malware. Yet, that outcome is unlikely. The computer ultimately has to decipher and follow a software program’s true instructions. Each new obfuscation technique has to abide by this requirement and, thus, will be able to be reverse engineered.&#8221;</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Kyle Quest</title>
		<link>http://www.cigital.com/justice-league-blog/2009/07/29/is-software-protection-software-security/#comment-166</link>
		<dc:creator>Kyle Quest</dc:creator>
		<pubDate>Sat, 01 Aug 2009 04:30:59 +0000</pubDate>
		<guid isPermaLink="false">http://www.cigital.com/justiceleague/?p=211#comment-166</guid>
		<description>It would have been great to be in the same group as Greg Hogland, who wrote the number one rootkit book, but I ended up going with a different publisher for a number of reasons... including the fact that they are local, which greatly simplifies the process.

I actually own 5 books from this series (including the &quot;Surreptitious Software&quot; book, of course :-))))</description>
		<content:encoded><![CDATA[<p>It would have been great to be in the same group as Greg Hogland, who wrote the number one rootkit book, but I ended up going with a different publisher for a number of reasons&#8230; including the fact that they are local, which greatly simplifies the process.</p>
<p>I actually own 5 books from this series (including the &#8220;Surreptitious Software&#8221; book, of course <img src='http://www.cigital.com/justice-league-blog/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> )))</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: gem</title>
		<link>http://www.cigital.com/justice-league-blog/2009/07/29/is-software-protection-software-security/#comment-165</link>
		<dc:creator>gem</dc:creator>
		<pubDate>Fri, 31 Jul 2009 20:41:15 +0000</pubDate>
		<guid isPermaLink="false">http://www.cigital.com/justiceleague/?p=211#comment-165</guid>
		<description>Hi kyle,

Let me know if you would like your book to be considered for the AWL Software Security series as well.

gem</description>
		<content:encoded><![CDATA[<p>Hi kyle,</p>
<p>Let me know if you would like your book to be considered for the AWL Software Security series as well.</p>
<p>gem</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Kyle Quest</title>
		<link>http://www.cigital.com/justice-league-blog/2009/07/29/is-software-protection-software-security/#comment-164</link>
		<dc:creator>Kyle Quest</dc:creator>
		<pubDate>Fri, 31 Jul 2009 20:36:14 +0000</pubDate>
		<guid isPermaLink="false">http://www.cigital.com/justiceleague/?p=211#comment-164</guid>
		<description>I&#039;m more interested in software security as well, which is why the book I&#039;m writing is focused on dealing with applications running on people&#039;s computers including the applications that use &quot;software protection&quot;. In a way it&#039;s the opposite of the &quot;Surreptitious Software&quot; book, which is why this topic got my interest :-)</description>
		<content:encoded><![CDATA[<p>I&#8217;m more interested in software security as well, which is why the book I&#8217;m writing is focused on dealing with applications running on people&#8217;s computers including the applications that use &#8220;software protection&#8221;. In a way it&#8217;s the opposite of the &#8220;Surreptitious Software&#8221; book, which is why this topic got my interest <img src='http://www.cigital.com/justice-league-blog/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
]]></content:encoded>
	</item>
	<item>
		<title>By: gem</title>
		<link>http://www.cigital.com/justice-league-blog/2009/07/29/is-software-protection-software-security/#comment-163</link>
		<dc:creator>gem</dc:creator>
		<pubDate>Fri, 31 Jul 2009 20:01:55 +0000</pubDate>
		<guid isPermaLink="false">http://www.cigital.com/justiceleague/?p=211#comment-163</guid>
		<description>hi kyle,

Yep.  I think you&#039;ll find many of the approaches you describe in the book (which is called &quot;Surreptitious Software&quot; and not &quot;Software Protection&quot;.)

Incidentally, as you might imagine I am much more interested in software security than in software protection (or protecting software).  Funny how big a difference a word makes.  That&#039;s why I had a hard time determining whether to include the book in the series.  Too late now!

gem</description>
		<content:encoded><![CDATA[<p>hi kyle,</p>
<p>Yep.  I think you&#8217;ll find many of the approaches you describe in the book (which is called &#8220;Surreptitious Software&#8221; and not &#8220;Software Protection&#8221;.)</p>
<p>Incidentally, as you might imagine I am much more interested in software security than in software protection (or protecting software).  Funny how big a difference a word makes.  That&#8217;s why I had a hard time determining whether to include the book in the series.  Too late now!</p>
<p>gem</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Kyle Quest</title>
		<link>http://www.cigital.com/justice-league-blog/2009/07/29/is-software-protection-software-security/#comment-162</link>
		<dc:creator>Kyle Quest</dc:creator>
		<pubDate>Fri, 31 Jul 2009 18:08:50 +0000</pubDate>
		<guid isPermaLink="false">http://www.cigital.com/justiceleague/?p=211#comment-162</guid>
		<description>I completely agree that we&#039;ll see more what I&#039;d call &quot;application customization&quot; in the future and we need to be prepared for it. The process has already begun with basic things like ASLR. More &quot;application customization&quot; techniques will be utilized that will customize application environments in many different ways. What I don&#039;t agree about is the role of the &quot;software protection&quot; systems in this process. They were not designed for it. They might have some intersecting features, but these features are simply implementation byproducts of their main goal, which is to protect IP by turning software into a black box. Instead of trying to use the &quot;software protection&quot; systems as &quot;application security&quot; systems I&#039;d focus on &quot;application security&quot; systems that are designed specifically for this purpose. They&#039;d have the &quot;application customization&quot; features necessary to provide the diversity we talked about without the negative features of the &quot;software protection&quot; systems that they used to accomplish their task. For example, for a pure &quot;application customization&quot; software there&#039;s no need for VM detection, debugger detection, SSDT hooks, and file system filter drivers that take over the entire system. Application security, host intrusion prevention systems, and even &quot;software protection&quot; systems are actually some of my specialties, so I&#039;ve been on both sides of the fence. Dealing with black box pieces of code is quite a pain when you need to verify that this &quot;magic&quot; code is safe. And when I designed my last &quot;software protection&quot; system its goals didn&#039;t include software exploitation prevention :-) All I&#039;m saying is that it&#039;s best to leave &quot;software protection&quot; as it to do its job and to have specialized &quot;application customization&quot; products that focus on the application security using various &quot;diversity&quot; mechanisms.</description>
		<content:encoded><![CDATA[<p>I completely agree that we&#8217;ll see more what I&#8217;d call &#8220;application customization&#8221; in the future and we need to be prepared for it. The process has already begun with basic things like ASLR. More &#8220;application customization&#8221; techniques will be utilized that will customize application environments in many different ways. What I don&#8217;t agree about is the role of the &#8220;software protection&#8221; systems in this process. They were not designed for it. They might have some intersecting features, but these features are simply implementation byproducts of their main goal, which is to protect IP by turning software into a black box. Instead of trying to use the &#8220;software protection&#8221; systems as &#8220;application security&#8221; systems I&#8217;d focus on &#8220;application security&#8221; systems that are designed specifically for this purpose. They&#8217;d have the &#8220;application customization&#8221; features necessary to provide the diversity we talked about without the negative features of the &#8220;software protection&#8221; systems that they used to accomplish their task. For example, for a pure &#8220;application customization&#8221; software there&#8217;s no need for VM detection, debugger detection, SSDT hooks, and file system filter drivers that take over the entire system. Application security, host intrusion prevention systems, and even &#8220;software protection&#8221; systems are actually some of my specialties, so I&#8217;ve been on both sides of the fence. Dealing with black box pieces of code is quite a pain when you need to verify that this &#8220;magic&#8221; code is safe. And when I designed my last &#8220;software protection&#8221; system its goals didn&#8217;t include software exploitation prevention <img src='http://www.cigital.com/justice-league-blog/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' />  All I&#8217;m saying is that it&#8217;s best to leave &#8220;software protection&#8221; as it to do its job and to have specialized &#8220;application customization&#8221; products that focus on the application security using various &#8220;diversity&#8221; mechanisms.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: gem</title>
		<link>http://www.cigital.com/justice-league-blog/2009/07/29/is-software-protection-software-security/#comment-161</link>
		<dc:creator>gem</dc:creator>
		<pubDate>Fri, 31 Jul 2009 16:01:19 +0000</pubDate>
		<guid isPermaLink="false">http://www.cigital.com/justiceleague/?p=211#comment-161</guid>
		<description>hi kyle,

I think you&#039;re focusing a bit too much attention on the IP protection stuff (which you are right about...).  I agree that maintenance and bug fixing is a mess in systems using obfuscation.  Imagine the headaches that automatic update would have if commercial systems used more obfuscation!  Nevertheless, I think it behooves us to pay attention to this technology and these ideas because we will be living in a world chock full of them soon.

gem</description>
		<content:encoded><![CDATA[<p>hi kyle,</p>
<p>I think you&#8217;re focusing a bit too much attention on the IP protection stuff (which you are right about&#8230;).  I agree that maintenance and bug fixing is a mess in systems using obfuscation.  Imagine the headaches that automatic update would have if commercial systems used more obfuscation!  Nevertheless, I think it behooves us to pay attention to this technology and these ideas because we will be living in a world chock full of them soon.</p>
<p>gem</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Kyle Quest</title>
		<link>http://www.cigital.com/justice-league-blog/2009/07/29/is-software-protection-software-security/#comment-160</link>
		<dc:creator>Kyle Quest</dc:creator>
		<pubDate>Fri, 31 Jul 2009 03:42:04 +0000</pubDate>
		<guid isPermaLink="false">http://www.cigital.com/justiceleague/?p=211#comment-160</guid>
		<description>Diversity as a security mechanism is indeed a good concept. When application environments are different in each deployment it&#039;s hard to have a reliable exploit. However, this is not the goal of the &quot;software protection&quot; systems. The IP protection is though. Some implementations might use techniques that would introduce this diversity, but I&#039;d claim that these are two different things that sometimes intersect in their low level implementation. The biggest problem with the &quot;software protection&quot; systems is their black box nature that prevents the host environment from properly verifying the safety of the application in question. It is possible to have systems that introduce the divirsity without complete isolation from the host environment. I can use a gun as a hammer, but it doesn&#039;t mean the gun was designed for it :-)</description>
		<content:encoded><![CDATA[<p>Diversity as a security mechanism is indeed a good concept. When application environments are different in each deployment it&#8217;s hard to have a reliable exploit. However, this is not the goal of the &#8220;software protection&#8221; systems. The IP protection is though. Some implementations might use techniques that would introduce this diversity, but I&#8217;d claim that these are two different things that sometimes intersect in their low level implementation. The biggest problem with the &#8220;software protection&#8221; systems is their black box nature that prevents the host environment from properly verifying the safety of the application in question. It is possible to have systems that introduce the divirsity without complete isolation from the host environment. I can use a gun as a hammer, but it doesn&#8217;t mean the gun was designed for it <img src='http://www.cigital.com/justice-league-blog/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
]]></content:encoded>
	</item>
	<item>
		<title>By: gem</title>
		<link>http://www.cigital.com/justice-league-blog/2009/07/29/is-software-protection-software-security/#comment-159</link>
		<dc:creator>gem</dc:creator>
		<pubDate>Thu, 30 Jul 2009 17:53:54 +0000</pubDate>
		<guid isPermaLink="false">http://www.cigital.com/justiceleague/?p=211#comment-159</guid>
		<description>hi kyle,

Parts of &quot;software protection&quot; are indeed about IP protection, but not all aspects.  As an example, consider the idea of diversity as a security mechanism.  I was at a DoD meeting this week with Fred Schneider from Cornell and he claimed that some aspects of diversity (carried out using some of the techniques that Christian talks about in his book) have a demonstrable relationship with type safety.

Put in simple terms, if you&#039;re stuck with crappy languages like C++, then obfuscation may help you with security as much as type safety helps with modern languages like Java.  Why would that be?  Because attackers can&#039;t script up one attack that works against all instances of a given codebase.

If you want to take a deep dive into this, here is a pointer to Fred&#039;s paper on the idea:  http://www.cs.cornell.edu/fbs/publications/punningJrnl.pdf

Regardless of that work, I think if you take a look at the book, you&#039;ll see why the ideas in it go WAY past IP protection.

Thanks for your comment.

gem</description>
		<content:encoded><![CDATA[<p>hi kyle,</p>
<p>Parts of &#8220;software protection&#8221; are indeed about IP protection, but not all aspects.  As an example, consider the idea of diversity as a security mechanism.  I was at a DoD meeting this week with Fred Schneider from Cornell and he claimed that some aspects of diversity (carried out using some of the techniques that Christian talks about in his book) have a demonstrable relationship with type safety.</p>
<p>Put in simple terms, if you&#8217;re stuck with crappy languages like C++, then obfuscation may help you with security as much as type safety helps with modern languages like Java.  Why would that be?  Because attackers can&#8217;t script up one attack that works against all instances of a given codebase.</p>
<p>If you want to take a deep dive into this, here is a pointer to Fred&#8217;s paper on the idea:  <a href="http://www.cs.cornell.edu/fbs/publications/punningJrnl.pdf" rel="nofollow">http://www.cs.cornell.edu/fbs/publications/punningJrnl.pdf</a></p>
<p>Regardless of that work, I think if you take a look at the book, you&#8217;ll see why the ideas in it go WAY past IP protection.</p>
<p>Thanks for your comment.</p>
<p>gem</p>
]]></content:encoded>
	</item>
</channel>
</rss>

