<?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"
	>
<channel>
	<title>Comments on: Show 004 - An Interview with Dana Epp</title>
	<atom:link href="http://www.cigital.com/silverbullet/show-004/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.cigital.com/silverbullet/show-004/</link>
	<description>In-depth conversations with leading security gurus, hosted by Gary McGraw, sponsored by IEEE Security &#38; Privacy Magazine.</description>
	<pubDate>Wed, 03 Dec 2008 07:20:14 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.6.5</generator>
		<item>
		<title>By: John Steven</title>
		<link>http://www.cigital.com/silverbullet/show-004/#comment-83</link>
		<dc:creator>John Steven</dc:creator>
		<pubDate>Fri, 04 Aug 2006 20:22:33 +0000</pubDate>
		<guid isPermaLink="false">http://www.cigital.com/silverbullet/show-004/#comment-83</guid>
		<description>Yes,

I fully agree with the position from which you followed up in the comments as well. I'm going to have to listen to the podcast again and see if I just missed that message. 

Very cool podcast though man.</description>
		<content:encoded><![CDATA[<p>Yes,</p>
<p>I fully agree with the position from which you followed up in the comments as well. I&#8217;m going to have to listen to the podcast again and see if I just missed that message. </p>
<p>Very cool podcast though man.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Dana Epp</title>
		<link>http://www.cigital.com/silverbullet/show-004/#comment-82</link>
		<dc:creator>Dana Epp</dc:creator>
		<pubDate>Fri, 04 Aug 2006 18:59:56 +0000</pubDate>
		<guid isPermaLink="false">http://www.cigital.com/silverbullet/show-004/#comment-82</guid>
		<description>Hey John,

Thanks for the comments. You have eliquently positioned your feelings and I appreciate the insight. Actually, I really liked your Matrix analogy in the midst of explaining your position.

I would like to clarify my position in the podcast that gave you the negative reaction though. To be clear I wasn't meaning that "developers" don't understand their own code. I was discussing how network appliance vendors aren't able to understand Layer 7 security issues when they are trying to address the problem at Layer 3. As an example, there are firewall and IPS vendors who believe they can defend against attacks at Layer 7 without really understanding the application stack that is in question. More and more attack patterns are piercing these things because software people are finding better and better ways to circumvent their technical safeguards. This was the point I was trying to make.

I completely agree with you that respecting the understanding of the code by the development team is critical. Actually, I believe an outside security person will have a much tougher time understanding the implementation of code without a good relationship with the dev team, since they are the only ones that know the INTENT of the code in question.

Great feedback though. I wish we all could stop the bullets... or better yet... not need to.</description>
		<content:encoded><![CDATA[<p>Hey John,</p>
<p>Thanks for the comments. You have eliquently positioned your feelings and I appreciate the insight. Actually, I really liked your Matrix analogy in the midst of explaining your position.</p>
<p>I would like to clarify my position in the podcast that gave you the negative reaction though. To be clear I wasn&#8217;t meaning that &#8220;developers&#8221; don&#8217;t understand their own code. I was discussing how network appliance vendors aren&#8217;t able to understand Layer 7 security issues when they are trying to address the problem at Layer 3. As an example, there are firewall and IPS vendors who believe they can defend against attacks at Layer 7 without really understanding the application stack that is in question. More and more attack patterns are piercing these things because software people are finding better and better ways to circumvent their technical safeguards. This was the point I was trying to make.</p>
<p>I completely agree with you that respecting the understanding of the code by the development team is critical. Actually, I believe an outside security person will have a much tougher time understanding the implementation of code without a good relationship with the dev team, since they are the only ones that know the INTENT of the code in question.</p>
<p>Great feedback though. I wish we all could stop the bullets&#8230; or better yet&#8230; not need to.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: John Steven</title>
		<link>http://www.cigital.com/silverbullet/show-004/#comment-74</link>
		<dc:creator>John Steven</dc:creator>
		<pubDate>Tue, 01 Aug 2006 15:42:01 +0000</pubDate>
		<guid isPermaLink="false">http://www.cigital.com/silverbullet/show-004/#comment-74</guid>
		<description>A good podcast, as always.

I wanted to comment on something that Dana said. I'll paraphrase as, "the thing that developers don't understand is that we understand these systems better than they do." Gary followed this up with an matrix analogy. I really like what Gary said, I have a negative reaction to what Dana said--probably because he said it so quickly not because he doesn't understand it.

Security guys have an interesting problem--whether they're external consultants or internal resources. Regardless of whether or not the software in question is a software product (like Oracle)or is being written in order to support a line of business (like a financial website) that software's Development team will understand their software better than we (security folk) do, contrary to what Dana suggests. Macroscopically, there's just too much of their code for us to grok. They've been working on it day-in and day-out for years--we haven't. They understand the code's role in business workflows--we don't fully. Focusing on a very small aspect/module of the code, we may begin to understand one aspect/module more deeply than they do, true. But, the real value we provide, IMO, is understanding the properties and side effects of what's underneath their code--that's what matters. For a security person, it's essential that he/she understands how compilers organize method calls or buffers in memory,  how runtimes load and store class and type definitions, what checks are done by compilers, classloaders, verifiers, and finally, in-runtime security managers? For the same reason that developers understand their code better than we do, these things are often invisible to them: the developer remains focused on workflows and features--not what's underneath them.
It is in this light that Gary's analogy is most apt.

M: "Some rules can be bent, others can be broken."
N: "What are you saying,  that I can stop bullets?"
M: "When you're ready, you won't have to." 

By getting underneath the application's functionality, you can simply change the rules on which the application relies. After that, all bets are off. It's no wonder that the Developer can't protect against attacks--the attacker isn't abiding by rules or conventions the Developer believes to be hard-and-fast.

In summary: break or bend the rules as necessary to exploit or test software--but always respect the Dev. team's understanding of their code/problem. There's a level on which you understand it better than them, but there are certainly levels on which their understanding exceeds your own. You'll need to tap them in order to understand the rules' well enough to bend or break them.

----
John Steven
Technical Director; Principal, Software Security Group
Key fingerprint = 4772 F7F3 1019 4668 62AD  94B0 AE7F http://www.cigital.com
Software Confidence. Achieved.</description>
		<content:encoded><![CDATA[<p>A good podcast, as always.</p>
<p>I wanted to comment on something that Dana said. I&#8217;ll paraphrase as, &#8220;the thing that developers don&#8217;t understand is that we understand these systems better than they do.&#8221; Gary followed this up with an matrix analogy. I really like what Gary said, I have a negative reaction to what Dana said&#8211;probably because he said it so quickly not because he doesn&#8217;t understand it.</p>
<p>Security guys have an interesting problem&#8211;whether they&#8217;re external consultants or internal resources. Regardless of whether or not the software in question is a software product (like Oracle)or is being written in order to support a line of business (like a financial website) that software&#8217;s Development team will understand their software better than we (security folk) do, contrary to what Dana suggests. Macroscopically, there&#8217;s just too much of their code for us to grok. They&#8217;ve been working on it day-in and day-out for years&#8211;we haven&#8217;t. They understand the code&#8217;s role in business workflows&#8211;we don&#8217;t fully. Focusing on a very small aspect/module of the code, we may begin to understand one aspect/module more deeply than they do, true. But, the real value we provide, IMO, is understanding the properties and side effects of what&#8217;s underneath their code&#8211;that&#8217;s what matters. For a security person, it&#8217;s essential that he/she understands how compilers organize method calls or buffers in memory,  how runtimes load and store class and type definitions, what checks are done by compilers, classloaders, verifiers, and finally, in-runtime security managers? For the same reason that developers understand their code better than we do, these things are often invisible to them: the developer remains focused on workflows and features&#8211;not what&#8217;s underneath them.<br />
It is in this light that Gary&#8217;s analogy is most apt.</p>
<p>M: &#8220;Some rules can be bent, others can be broken.&#8221;<br />
N: &#8220;What are you saying,  that I can stop bullets?&#8221;<br />
M: &#8220;When you&#8217;re ready, you won&#8217;t have to.&#8221; </p>
<p>By getting underneath the application&#8217;s functionality, you can simply change the rules on which the application relies. After that, all bets are off. It&#8217;s no wonder that the Developer can&#8217;t protect against attacks&#8211;the attacker isn&#8217;t abiding by rules or conventions the Developer believes to be hard-and-fast.</p>
<p>In summary: break or bend the rules as necessary to exploit or test software&#8211;but always respect the Dev. team&#8217;s understanding of their code/problem. There&#8217;s a level on which you understand it better than them, but there are certainly levels on which their understanding exceeds your own. You&#8217;ll need to tap them in order to understand the rules&#8217; well enough to bend or break them.</p>
<p>&#8212;-<br />
John Steven<br />
Technical Director; Principal, Software Security Group<br />
Key fingerprint = 4772 F7F3 1019 4668 62AD  94B0 AE7F <a href="http://www.cigital.com" rel="nofollow">http://www.cigital.com</a><br />
Software Confidence. Achieved.</p>
]]></content:encoded>
	</item>
</channel>
</rss>
