<?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: Let the posturing begin&#8230;</title>
	<atom:link href="http://www.cigital.com/justice-league-blog/2009/01/22/let-the-posturing-begin/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.cigital.com/justice-league-blog/2009/01/22/let-the-posturing-begin/</link>
	<description></description>
	<lastBuildDate>Wed, 30 Nov 2011 15:50:04 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
	<item>
		<title>By: jOHN</title>
		<link>http://www.cigital.com/justice-league-blog/2009/01/22/let-the-posturing-begin/#comment-124</link>
		<dc:creator>jOHN</dc:creator>
		<pubDate>Thu, 05 Feb 2009 22:15:27 +0000</pubDate>
		<guid isPermaLink="false">http://www.cigital.com/justiceleague/?p=115#comment-124</guid>
		<description>&quot;Crappy&quot;,

Oh boy--there&#039;s a lot to deal with here. First off: Yes, I agree static analysis tools (and the companies that sell them) have definitely treated customization as a second-class citizen or worse. I have to hand it to Fortify though, when Cigital sold them our technology, we vehemently stressed the need for extension and they listened. Even still, I agree, documentation and support is alpha-level in maturity or worse for customization. 

Still, for those who can surmount the learning curve for customization, dramatic depth and accuracy gains will be yours. We&#039;ve seen this across the board in both customizing Ounce and Fortify&#039;s tools. We&#039;ve seen similar benefits from &#039;tuning&#039; Coverity&#039;s tools. 

To give you a feel for what you can expect, I think 40% false-positive reduction is a conservative goal in the Java SE/EE rule space. Likewise, I expect that fully 50% of an organization&#039;s corporate standards can be automated reasonably within a single calendar year (with far less than a man-year of effort). 

Eric Dalci (one of my favorite Cigital guys for static analysis) and I talk on this topic at conferences frequently and have created a framework for tool customization:

http://www.cigital.com/papers/download/Framework%20for%20Custom%20Rules.pdf

I&#039;m not the only one that can customize these tools either. At least seven Cigital consultants are quite exceptional at it. Most of my clients have one or two individuals who I&#039;d label &quot;quite capable&quot; as well.

If you&#039;d like additional information on this topic, please email me personally. Tools left on the shelf are of little value ;-)</description>
		<content:encoded><![CDATA[<p>&#8220;Crappy&#8221;,</p>
<p>Oh boy&#8211;there&#8217;s a lot to deal with here. First off: Yes, I agree static analysis tools (and the companies that sell them) have definitely treated customization as a second-class citizen or worse. I have to hand it to Fortify though, when Cigital sold them our technology, we vehemently stressed the need for extension and they listened. Even still, I agree, documentation and support is alpha-level in maturity or worse for customization. </p>
<p>Still, for those who can surmount the learning curve for customization, dramatic depth and accuracy gains will be yours. We&#8217;ve seen this across the board in both customizing Ounce and Fortify&#8217;s tools. We&#8217;ve seen similar benefits from &#8216;tuning&#8217; Coverity&#8217;s tools. </p>
<p>To give you a feel for what you can expect, I think 40% false-positive reduction is a conservative goal in the Java SE/EE rule space. Likewise, I expect that fully 50% of an organization&#8217;s corporate standards can be automated reasonably within a single calendar year (with far less than a man-year of effort). </p>
<p>Eric Dalci (one of my favorite Cigital guys for static analysis) and I talk on this topic at conferences frequently and have created a framework for tool customization:</p>
<p><a href="http://www.cigital.com/papers/download/Framework%20for%20Custom%20Rules.pdf" rel="nofollow">http://www.cigital.com/papers/download/Framework%20for%20Custom%20Rules.pdf</a></p>
<p>I&#8217;m not the only one that can customize these tools either. At least seven Cigital consultants are quite exceptional at it. Most of my clients have one or two individuals who I&#8217;d label &#8220;quite capable&#8221; as well.</p>
<p>If you&#8217;d like additional information on this topic, please email me personally. Tools left on the shelf are of little value <img src='http://www.cigital.com/justice-league-blog/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /> </p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Crappy Static Analysis Tools Make Me Appreciate Strong Typing</title>
		<link>http://www.cigital.com/justice-league-blog/2009/01/22/let-the-posturing-begin/#comment-123</link>
		<dc:creator>Crappy Static Analysis Tools Make Me Appreciate Strong Typing</dc:creator>
		<pubDate>Thu, 05 Feb 2009 06:27:57 +0000</pubDate>
		<guid isPermaLink="false">http://www.cigital.com/justiceleague/?p=115#comment-123</guid>
		<description>static analysis tools are great, until the point where you end up outside the comfy predefined and preoptimized cases that are packaged with the product and try using it on particularly custom or odd software. 

Then they are a LOT of hassle, as you have to more or less write and test your own small suite of analysis rules to replicate the same coverage you would be getting if you were doing something more standardized.

while writing your own rules is certainly possible, the vendors I&#039;ve seen put very little effort into making this not as untested, pseudosupported, and complicated as they possibly can.</description>
		<content:encoded><![CDATA[<p>static analysis tools are great, until the point where you end up outside the comfy predefined and preoptimized cases that are packaged with the product and try using it on particularly custom or odd software. </p>
<p>Then they are a LOT of hassle, as you have to more or less write and test your own small suite of analysis rules to replicate the same coverage you would be getting if you were doing something more standardized.</p>
<p>while writing your own rules is certainly possible, the vendors I&#8217;ve seen put very little effort into making this not as untested, pseudosupported, and complicated as they possibly can.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: jOHN</title>
		<link>http://www.cigital.com/justice-league-blog/2009/01/22/let-the-posturing-begin/#comment-122</link>
		<dc:creator>jOHN</dc:creator>
		<pubDate>Mon, 02 Feb 2009 19:04:30 +0000</pubDate>
		<guid isPermaLink="false">http://www.cigital.com/justiceleague/?p=115#comment-122</guid>
		<description>...tying this back into the original post... 

because arsenic will kill me, I&#039;d like to scan for its existence as cheaply and thoroughly as I&#039;m able to. Heck, I&#039;d like to scan for as many things that might kill me as I can. Static analysis will find _some_ things, and dynamic analysis will find _other_ things. My experience is the set of things each finds overlaps slightly. 

My concern, simply put, is that the tool vendors are increasingly claiming they sell the only &#039;poison taster&#039; you&#039;ll need. My experience is that this is never the case. 

Based on the kind of software you as an organization &#039;cook&#039;, I suggest testing out poison-tasting capabilities of each a bit, and building yourself a pipeline that most inexpensively (and appropriately to your risk aversion) detects poison.</description>
		<content:encoded><![CDATA[<p>&#8230;tying this back into the original post&#8230; </p>
<p>because arsenic will kill me, I&#8217;d like to scan for its existence as cheaply and thoroughly as I&#8217;m able to. Heck, I&#8217;d like to scan for as many things that might kill me as I can. Static analysis will find _some_ things, and dynamic analysis will find _other_ things. My experience is the set of things each finds overlaps slightly. </p>
<p>My concern, simply put, is that the tool vendors are increasingly claiming they sell the only &#8216;poison taster&#8217; you&#8217;ll need. My experience is that this is never the case. </p>
<p>Based on the kind of software you as an organization &#8216;cook&#8217;, I suggest testing out poison-tasting capabilities of each a bit, and building yourself a pipeline that most inexpensively (and appropriately to your risk aversion) detects poison.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: jOHN</title>
		<link>http://www.cigital.com/justice-league-blog/2009/01/22/let-the-posturing-begin/#comment-121</link>
		<dc:creator>jOHN</dc:creator>
		<pubDate>Mon, 02 Feb 2009 18:55:49 +0000</pubDate>
		<guid isPermaLink="false">http://www.cigital.com/justiceleague/?p=115#comment-121</guid>
		<description>Tom,

I don&#039;t think you&#039;ll get any Cigital takers for an argument that &quot;building security in&quot; is preferable to an attempt to strain vulnerability from your software soup after it&#039;s cooked (to continue your metaphor). One of Gary&#039;s last books was titled &quot;Building Security In&quot;.

I&#039;m a bit concerned about the inversion you&#039;ve posited in the next paragraph though. Simply put: all soup made today is poisoned. There&#039;s just no one shipping/deploying vulnerability-free software. It&#039;s true that knowing you&#039;re not going to die of arsenic tells you nothing about thallium or anti-coagulants in your brew... but that doesn&#039;t mean we shouldn&#039;t use tools such as static and dynamic analysis before we ship/deploy to detect what we can find.

If assurance activities reduce to the halting problem (they do), then your solution is equally imperfect: it reduces to the question, &quot;Can one get dirty water from a clean pipe?&quot; Yes. Yes (s)he can. Microsoft and other &#039;secure&#039; SDLs will not guarantee that the &quot;water&quot; poured from your software development &quot;pipe&quot; will be clean. Indeed, every secure SDL mandates assurance activities in addition to constructive steps. 

In short, we need to do both constructive and assurance activities to reach the current state of the art in secure software development. I&#039;d argue that static and dynamic tools will help in this pursuit--both with consistency/scale and with depth (if used correctly).

In fact there are whole other classes of poison (such as bacterial or viral) which we see as the metaphorical equivalents of deployment misconfiguration or architectural flaws) we&#039;ll want to check for too. Your static and dynamic tool kits might not help you reliably find these problems. This just means that we&#039;re going to have to augment them with constructive or assurance-based manual techniques. 

...as I frequently say in conference presentations, &quot;Software security is still in diapers... any one who tells you otherwise is full of ... well... the reason you wear diapers.&quot; :D</description>
		<content:encoded><![CDATA[<p>Tom,</p>
<p>I don&#8217;t think you&#8217;ll get any Cigital takers for an argument that &#8220;building security in&#8221; is preferable to an attempt to strain vulnerability from your software soup after it&#8217;s cooked (to continue your metaphor). One of Gary&#8217;s last books was titled &#8220;Building Security In&#8221;.</p>
<p>I&#8217;m a bit concerned about the inversion you&#8217;ve posited in the next paragraph though. Simply put: all soup made today is poisoned. There&#8217;s just no one shipping/deploying vulnerability-free software. It&#8217;s true that knowing you&#8217;re not going to die of arsenic tells you nothing about thallium or anti-coagulants in your brew&#8230; but that doesn&#8217;t mean we shouldn&#8217;t use tools such as static and dynamic analysis before we ship/deploy to detect what we can find.</p>
<p>If assurance activities reduce to the halting problem (they do), then your solution is equally imperfect: it reduces to the question, &#8220;Can one get dirty water from a clean pipe?&#8221; Yes. Yes (s)he can. Microsoft and other &#8216;secure&#8217; SDLs will not guarantee that the &#8220;water&#8221; poured from your software development &#8220;pipe&#8221; will be clean. Indeed, every secure SDL mandates assurance activities in addition to constructive steps. </p>
<p>In short, we need to do both constructive and assurance activities to reach the current state of the art in secure software development. I&#8217;d argue that static and dynamic tools will help in this pursuit&#8211;both with consistency/scale and with depth (if used correctly).</p>
<p>In fact there are whole other classes of poison (such as bacterial or viral) which we see as the metaphorical equivalents of deployment misconfiguration or architectural flaws) we&#8217;ll want to check for too. Your static and dynamic tool kits might not help you reliably find these problems. This just means that we&#8217;re going to have to augment them with constructive or assurance-based manual techniques. </p>
<p>&#8230;as I frequently say in conference presentations, &#8220;Software security is still in diapers&#8230; any one who tells you otherwise is full of &#8230; well&#8230; the reason you wear diapers.&#8221; <img src='http://www.cigital.com/justice-league-blog/wp-includes/images/smilies/icon_biggrin.gif' alt=':D' class='wp-smiley' /> </p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Tom Van Vleck</title>
		<link>http://www.cigital.com/justice-league-blog/2009/01/22/let-the-posturing-begin/#comment-120</link>
		<dc:creator>Tom Van Vleck</dc:creator>
		<pubDate>Thu, 29 Jan 2009 15:43:25 +0000</pubDate>
		<guid isPermaLink="false">http://www.cigital.com/justiceleague/?p=115#comment-120</guid>
		<description>My thought was that if you don&#039;t trust the cooking process, you are in trouble that post-cooking-processing can&#039;t fix.  

I think finding security holes is a halting problem: that is, provably impossible.  Not to say we shouldn&#039;t look for security holes, just that we know we can&#039;t find them all.  Security holes are like poison... if you miss finding just a little bit, you are still poisoned.

(Suppose the wandering magician can look at your food and say, &quot;Yup, no arsenic in this food.&quot; But he&#039;s unaware of cyanide.)

Static analysis is one leg of the table.  Testing is another.  Neither is sufficient to trust a piece of software.  What is needed in addition is knowledge about WHO built the software and WHAT they did to make it bug-free. If you face programs built by strangers, using methods and tools known to be unsafe, you start with a level of risk.  Static and dynamic analysis can reduce part of that risk.</description>
		<content:encoded><![CDATA[<p>My thought was that if you don&#8217;t trust the cooking process, you are in trouble that post-cooking-processing can&#8217;t fix.  </p>
<p>I think finding security holes is a halting problem: that is, provably impossible.  Not to say we shouldn&#8217;t look for security holes, just that we know we can&#8217;t find them all.  Security holes are like poison&#8230; if you miss finding just a little bit, you are still poisoned.</p>
<p>(Suppose the wandering magician can look at your food and say, &#8220;Yup, no arsenic in this food.&#8221; But he&#8217;s unaware of cyanide.)</p>
<p>Static analysis is one leg of the table.  Testing is another.  Neither is sufficient to trust a piece of software.  What is needed in addition is knowledge about WHO built the software and WHAT they did to make it bug-free. If you face programs built by strangers, using methods and tools known to be unsafe, you start with a level of risk.  Static and dynamic analysis can reduce part of that risk.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: jOHN</title>
		<link>http://www.cigital.com/justice-league-blog/2009/01/22/let-the-posturing-begin/#comment-119</link>
		<dc:creator>jOHN</dc:creator>
		<pubDate>Wed, 28 Jan 2009 02:10:17 +0000</pubDate>
		<guid isPermaLink="false">http://www.cigital.com/justiceleague/?p=115#comment-119</guid>
		<description>Tom,

Haha! I might pay such a magician if (s)he came with a provable track record ;-)

Allow me to propose another metaphor:

I realize the mid-market will do little else than turn the key and kick the tires before they buy the car (static or dynamic)... my objective is simply to get them to stop believing the commercials and actually take the thing for a test drive. Test driving the car/truck might even give them a better feel for what will meet their needs than the &#039;magician&#039; might discern from his tower--notwithstanding its superior view :-p

And, like most families, those who research beyond the test drive they may find that they can fully satisfy their needs more cheaply with both a minivan and a four-door sport coupe rather than buying into some all-things-to-all-people vehicle, like the &#039;sporty&#039; Mazda CX-7 or the Porsche Cayenne S.</description>
		<content:encoded><![CDATA[<p>Tom,</p>
<p>Haha! I might pay such a magician if (s)he came with a provable track record <img src='http://www.cigital.com/justice-league-blog/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /> </p>
<p>Allow me to propose another metaphor:</p>
<p>I realize the mid-market will do little else than turn the key and kick the tires before they buy the car (static or dynamic)&#8230; my objective is simply to get them to stop believing the commercials and actually take the thing for a test drive. Test driving the car/truck might even give them a better feel for what will meet their needs than the &#8216;magician&#8217; might discern from his tower&#8211;notwithstanding its superior view :-p</p>
<p>And, like most families, those who research beyond the test drive they may find that they can fully satisfy their needs more cheaply with both a minivan and a four-door sport coupe rather than buying into some all-things-to-all-people vehicle, like the &#8216;sporty&#8217; Mazda CX-7 or the Porsche Cayenne S.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Tom Van Vleck</title>
		<link>http://www.cigital.com/justice-league-blog/2009/01/22/let-the-posturing-begin/#comment-118</link>
		<dc:creator>Tom Van Vleck</dc:creator>
		<pubDate>Tue, 27 Jan 2009 21:46:25 +0000</pubDate>
		<guid isPermaLink="false">http://www.cigital.com/justiceleague/?p=115#comment-118</guid>
		<description>If you were worried that your food was poisoned, would you pay a wandering magician to strain the poison out?  Good luck.</description>
		<content:encoded><![CDATA[<p>If you were worried that your food was poisoned, would you pay a wandering magician to strain the poison out?  Good luck.</p>
]]></content:encoded>
	</item>
</channel>
</rss>

