<?xml version="1.0" encoding="UTF-8"?><!-- generator="wordpress/2.2.3" -->
<rss version="2.0" 
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	>
<channel>
	<title>Comments on: Day 8: ITSM Vulnerability Assessment techniques</title>
	<link>http://www.tssci-security.com/archives/2008/01/16/day-8-itsm-vulnerability-assessment-techniques/</link>
	<description>top secret/secure computing information</description>
	<pubDate>Fri, 21 Nov 2008 19:32:59 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.2.3</generator>

	<item>
		<title>By: dre</title>
		<link>http://www.tssci-security.com/archives/2008/01/16/day-8-itsm-vulnerability-assessment-techniques/#comment-3907</link>
		<dc:creator>dre</dc:creator>
		<pubDate>Sun, 20 Jan 2008 00:00:50 +0000</pubDate>
		<guid>http://www.tssci-security.com/archives/2008/01/16/day-8-itsm-vulnerability-assessment-techniques/#comment-3907</guid>
		<description>@ Arshan:

Nah.  Developers don't need to know anything to make this sort of thing happen.  All they need to know is that they wrote a bug and it's considered an error.  And that they should be writing unit tests that assert for that particular bug's behavior.  Once you teach them these things -- the rest will be self-taught or easily preached.

In other words, I wouldn't go slow.  I wouldn't wait to have Ounce or Fortify SCA as part of the system integration nightly builds.  I wouldn't wait to mark at least the top twenty or so vulnerabilities that apply to any one project as errors.

I also wouldn't wait to get Fagan inspection working throughout the development culture of any organization.  Then I'd combine Klocwork K7 along with MITRE CAPEC and CWE know-how for any given moderator of any given project.

WebScarab?  I never even mentioned that.  Giving WebScarab to a developer or quality engineer is a complete waste of time and money.  Even WebGoat is a waste, in my personal opinion.

Developers need to learn how they already learn.  You can't throw any of this stuff at them.  You integrate it silently; and when they start complaining -- you throw in the idea of a reward system for programmers who can write good, reusable unit tests to find software weaknesses.  For the programmers that continually make the same security mistakes over and over -- it's best to penalize/punish them until they can get up to par with the rest of the team.

If putting Armorize, Fortify SCA, or Ounce into the build server or integration process is overwhelming developers, then turn down the sensitivity.  While I agree that requirements and UML aren't required/necessary for every project -- they should certainly take up 10% of the time and budget of any project -- and security should be a part of that process, especially looking at criteria such as MITRE CAPEC, attack-modeling, and Application Architectural Risk Analysis.

The most difficult part of my CPSL is the verification of fuzzing/fault-injection tools that are run during integration, but I provide ways of making this easier.  Some of these might run very clean assuming how these compare to the continuous-prevention unit tests that the developers have used throughout the process.  It's up to everyone to make improvements; not just the CSO and his/her team.</description>
		<content:encoded><![CDATA[<p>@ Arshan:</p>
<p>Nah.  Developers don&#8217;t need to know anything to make this sort of thing happen.  All they need to know is that they wrote a bug and it&#8217;s considered an error.  And that they should be writing unit tests that assert for that particular bug&#8217;s behavior.  Once you teach them these things &#8212; the rest will be self-taught or easily preached.</p>
<p>In other words, I wouldn&#8217;t go slow.  I wouldn&#8217;t wait to have Ounce or Fortify SCA as part of the system integration nightly builds.  I wouldn&#8217;t wait to mark at least the top twenty or so vulnerabilities that apply to any one project as errors.</p>
<p>I also wouldn&#8217;t wait to get Fagan inspection working throughout the development culture of any organization.  Then I&#8217;d combine Klocwork K7 along with MITRE CAPEC and CWE know-how for any given moderator of any given project.</p>
<p>WebScarab?  I never even mentioned that.  Giving WebScarab to a developer or quality engineer is a complete waste of time and money.  Even WebGoat is a waste, in my personal opinion.</p>
<p>Developers need to learn how they already learn.  You can&#8217;t throw any of this stuff at them.  You integrate it silently; and when they start complaining &#8212; you throw in the idea of a reward system for programmers who can write good, reusable unit tests to find software weaknesses.  For the programmers that continually make the same security mistakes over and over &#8212; it&#8217;s best to penalize/punish them until they can get up to par with the rest of the team.</p>
<p>If putting Armorize, Fortify SCA, or Ounce into the build server or integration process is overwhelming developers, then turn down the sensitivity.  While I agree that requirements and UML aren&#8217;t required/necessary for every project &#8212; they should certainly take up 10% of the time and budget of any project &#8212; and security should be a part of that process, especially looking at criteria such as MITRE CAPEC, attack-modeling, and Application Architectural Risk Analysis.</p>
<p>The most difficult part of my CPSL is the verification of fuzzing/fault-injection tools that are run during integration, but I provide ways of making this easier.  Some of these might run very clean assuming how these compare to the continuous-prevention unit tests that the developers have used throughout the process.  It&#8217;s up to everyone to make improvements; not just the CSO and his/her team.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Arshan Dabirsiaghi</title>
		<link>http://www.tssci-security.com/archives/2008/01/16/day-8-itsm-vulnerability-assessment-techniques/#comment-3852</link>
		<dc:creator>Arshan Dabirsiaghi</dc:creator>
		<pubDate>Fri, 18 Jan 2008 16:08:01 +0000</pubDate>
		<guid>http://www.tssci-security.com/archives/2008/01/16/day-8-itsm-vulnerability-assessment-techniques/#comment-3852</guid>
		<description>I think you've got good advice here, and it needs to be read in a particular way by developers who are integrating security into their daily life. My advice would be to start slow, and work up to the complex stuff.

Get and install WebScarab, then after a while get something plugged into ypur IDE, then really by that time they will start to realize what they need from this list of resources. I'd be careful to not overwhelm them.

I'm glad you are looking at ESAPI, because that is a CSO's dream and there aren't enough people using it.</description>
		<content:encoded><![CDATA[<p>I think you&#8217;ve got good advice here, and it needs to be read in a particular way by developers who are integrating security into their daily life. My advice would be to start slow, and work up to the complex stuff.</p>
<p>Get and install WebScarab, then after a while get something plugged into ypur IDE, then really by that time they will start to realize what they need from this list of resources. I&#8217;d be careful to not overwhelm them.</p>
<p>I&#8217;m glad you are looking at ESAPI, because that is a CSO&#8217;s dream and there aren&#8217;t enough people using it.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: dre</title>
		<link>http://www.tssci-security.com/archives/2008/01/16/day-8-itsm-vulnerability-assessment-techniques/#comment-3824</link>
		<dc:creator>dre</dc:creator>
		<pubDate>Thu, 17 Jan 2008 22:54:22 +0000</pubDate>
		<guid>http://www.tssci-security.com/archives/2008/01/16/day-8-itsm-vulnerability-assessment-techniques/#comment-3824</guid>
		<description>@ Arshan:

&lt;i&gt;You certainly suggest a lot of tools, and in a dream world we’d be able to utilize all of them. Unfortunately, assessment times are usually scoped fairly tight, internally or externally.&lt;/i&gt;

I don't think people should be using all these tools.  I'm recommending some based on an order of preference.  This ordered list is mostly for learning what the tools are capable of for assessment work.

In the case of doing a vulnerability assessment on a large web application -- I could point you towards a world full of resources.  It's not just tools, but I happen to be talking about those here.

As I said in &lt;a href="http://www.tssci-security.com/archives/2008/01/07/day-1-itsm-vulnerability-assessment-techniques/" rel="nofollow"&gt;the first post of this thread&lt;/a&gt;, "My feeling is that vulnerability assessments are typically done less strategically/operationally in IT environments (relying too much on tools and point-and-click scanners), while not hands-on enough for IT dev shops (or unknown where to start)".

Short answer: personally, if speed is important; I would use JSView and FireBug for DOM-based XSS findings if source code wasn't available.  If it was, I'd use Fortify SCA and a combination of open-source and commercial tools that would be largely language dependent (Milk, LAPSE, Orizon, PMD, FindBugs, jCUTE for Java; PSA3, PhpSecAudit, Inspekt, Pixy, PHP-SAT, PFF for PHP; ASP-Auditor, XSS-Detect, PREsharp, FxCop, Compuware SecurityChecker for .NET; DN_BOFinder, PREfast, PREfix, AppVerif, CUTE, Compuware SecurityChecker for Classic ASP; plus RATS, SWAAT, AppPrint, AppCodeScan, AppScan DE, and DevInspect for most languages).

I know that's not a short answer, but wait until you see the long answer, below.

&lt;i&gt;I don’t think many people would be able to use a lot of these tools and still get maximum coverage in other areas like authentication, access control, etc. What can you say about prioritizing toolsets in a real world assessment?&lt;/i&gt;

When testing a large application, I would use &lt;a href="http://www.tssci-security.com/archives/2007/12/02/why-pen-testing-doesnt-matter/" rel="nofollow"&gt;my CPSL methodology&lt;/a&gt;, if at all possible.

The recommended toolsets have an equal priority (unless they are CWE-Effective or CWE-Compatible).  AFAIK, I recommend 5 kinds of tools
1) A requirements analysis tool such as IBM Rational Requisite Pro or the free tool from NASA SATC's ARM
2) Secure design inspection tools that work with UML 2.0, such as IBM Rational Rose or better Klocwork K7.  There is also an open-source tool called Fujaba that can be used to move between UML and Java source code
3) A CWE-Compatible static analysis tool.  Right now, only Veracode would fit into this category (so, clearly, they would be prioritized first), but aspiring CWE-Compatible tools such as Armorize, Klocwork K7, GrammaTech CodeSonar, Ounce Labs, and Fortify SCA would fit into this category.  Milk/Orizon/LAPSE/PMD/FindBugs or ASP-Auditor/XSS-Detect/SWAAT/PREsharp/FxCop could be FOSS replacements for the above as long as CWE is customized into the tools
4) Manual secure code review with a workflow tool such as Atlassian Crucible, although Trac could be a FOSS alternative
5) Final verification with another CWE-Compatible tool that is capable of fuzzing/fault-injection for integration testing.  No tools are currently CWE-Compatible and allow for integration testing (however I would like to see this change).  The best tools are FOSS tools such as CUTE, Canoo WebTest, or Windmill that would be modified to support CWE and CAPEC testing.  Alternatives in the commercial world include AppScan DE or DevInspect -- although these are difficult to automate for continuous integration when they are built into the IDE -- and they also integrate less well with unit testing.  One of the more interesting tools that I've come across lately for this purpose is UTScapy (although built more for protocol dissection and packet mangling than for web application testing, although still valid for modern application testing)

My views on vulnerability assessments are quite different, as you can see.  The rest of the methodology outside of the tools is also important.  There are a few enhancements that I'm working on to the CPSL process, such as integrating ideas from OWASP ESAPI as well as work I've done on the &lt;a href="http://www.tssci-security.com/archives/2007/12/20/spread-the-owasp-holiday-cheer/" rel="nofollow"&gt;OWASP Web Security Certification Framework&lt;/a&gt;.

The most important section of the CPSL methodology is the continuous-prevention part, where reusable unit tests that assert the behavior of known security-related bugs are used at build-time.  It's like regression testing, but better.</description>
		<content:encoded><![CDATA[<p>@ Arshan:</p>
<p><i>You certainly suggest a lot of tools, and in a dream world we’d be able to utilize all of them. Unfortunately, assessment times are usually scoped fairly tight, internally or externally.</i></p>
<p>I don&#8217;t think people should be using all these tools.  I&#8217;m recommending some based on an order of preference.  This ordered list is mostly for learning what the tools are capable of for assessment work.</p>
<p>In the case of doing a vulnerability assessment on a large web application &#8212; I could point you towards a world full of resources.  It&#8217;s not just tools, but I happen to be talking about those here.</p>
<p>As I said in <a href="http://www.tssci-security.com/archives/2008/01/07/day-1-itsm-vulnerability-assessment-techniques/"  >the first post of this thread</a>, &#8220;My feeling is that vulnerability assessments are typically done less strategically/operationally in IT environments (relying too much on tools and point-and-click scanners), while not hands-on enough for IT dev shops (or unknown where to start)&#8221;.</p>
<p>Short answer: personally, if speed is important; I would use JSView and FireBug for DOM-based XSS findings if source code wasn&#8217;t available.  If it was, I&#8217;d use Fortify SCA and a combination of open-source and commercial tools that would be largely language dependent (Milk, LAPSE, Orizon, PMD, FindBugs, jCUTE for Java; PSA3, PhpSecAudit, Inspekt, Pixy, PHP-SAT, PFF for PHP; ASP-Auditor, XSS-Detect, PREsharp, FxCop, Compuware SecurityChecker for .NET; DN_BOFinder, PREfast, PREfix, AppVerif, CUTE, Compuware SecurityChecker for Classic ASP; plus RATS, SWAAT, AppPrint, AppCodeScan, AppScan DE, and DevInspect for most languages).</p>
<p>I know that&#8217;s not a short answer, but wait until you see the long answer, below.</p>
<p><i>I don’t think many people would be able to use a lot of these tools and still get maximum coverage in other areas like authentication, access control, etc. What can you say about prioritizing toolsets in a real world assessment?</i></p>
<p>When testing a large application, I would use <a href="http://www.tssci-security.com/archives/2007/12/02/why-pen-testing-doesnt-matter/"  >my CPSL methodology</a>, if at all possible.</p>
<p>The recommended toolsets have an equal priority (unless they are CWE-Effective or CWE-Compatible).  AFAIK, I recommend 5 kinds of tools<br />
1) A requirements analysis tool such as IBM Rational Requisite Pro or the free tool from NASA SATC&#8217;s ARM<br />
2) Secure design inspection tools that work with UML 2.0, such as IBM Rational Rose or better Klocwork K7.  There is also an open-source tool called Fujaba that can be used to move between UML and Java source code<br />
3) A CWE-Compatible static analysis tool.  Right now, only Veracode would fit into this category (so, clearly, they would be prioritized first), but aspiring CWE-Compatible tools such as Armorize, Klocwork K7, GrammaTech CodeSonar, Ounce Labs, and Fortify SCA would fit into this category.  Milk/Orizon/LAPSE/PMD/FindBugs or ASP-Auditor/XSS-Detect/SWAAT/PREsharp/FxCop could be FOSS replacements for the above as long as CWE is customized into the tools<br />
4) Manual secure code review with a workflow tool such as Atlassian Crucible, although Trac could be a FOSS alternative<br />
5) Final verification with another CWE-Compatible tool that is capable of fuzzing/fault-injection for integration testing.  No tools are currently CWE-Compatible and allow for integration testing (however I would like to see this change).  The best tools are FOSS tools such as CUTE, Canoo WebTest, or Windmill that would be modified to support CWE and CAPEC testing.  Alternatives in the commercial world include AppScan DE or DevInspect &#8212; although these are difficult to automate for continuous integration when they are built into the IDE &#8212; and they also integrate less well with unit testing.  One of the more interesting tools that I&#8217;ve come across lately for this purpose is UTScapy (although built more for protocol dissection and packet mangling than for web application testing, although still valid for modern application testing)</p>
<p>My views on vulnerability assessments are quite different, as you can see.  The rest of the methodology outside of the tools is also important.  There are a few enhancements that I&#8217;m working on to the CPSL process, such as integrating ideas from OWASP ESAPI as well as work I&#8217;ve done on the <a href="http://www.tssci-security.com/archives/2007/12/20/spread-the-owasp-holiday-cheer/"  >OWASP Web Security Certification Framework</a>.</p>
<p>The most important section of the CPSL methodology is the continuous-prevention part, where reusable unit tests that assert the behavior of known security-related bugs are used at build-time.  It&#8217;s like regression testing, but better.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Marcin</title>
		<link>http://www.tssci-security.com/archives/2008/01/16/day-8-itsm-vulnerability-assessment-techniques/#comment-3823</link>
		<dc:creator>Marcin</dc:creator>
		<pubDate>Thu, 17 Jan 2008 19:13:53 +0000</pubDate>
		<guid>http://www.tssci-security.com/archives/2008/01/16/day-8-itsm-vulnerability-assessment-techniques/#comment-3823</guid>
		<description>I said the same thing myself once when I talked with dre about that. A lot of it comes down to how much time you have spent with each tool and how good are you with it. The more time you spend, the quicker it becomes to use, and then just naturally, it becomes a part of your toolset.

Not to mention, some tools have overlapping areas of functionality.</description>
		<content:encoded><![CDATA[<p>I said the same thing myself once when I talked with dre about that. A lot of it comes down to how much time you have spent with each tool and how good are you with it. The more time you spend, the quicker it becomes to use, and then just naturally, it becomes a part of your toolset.</p>
<p>Not to mention, some tools have overlapping areas of functionality.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Arshan Dabirsiaghi</title>
		<link>http://www.tssci-security.com/archives/2008/01/16/day-8-itsm-vulnerability-assessment-techniques/#comment-3822</link>
		<dc:creator>Arshan Dabirsiaghi</dc:creator>
		<pubDate>Thu, 17 Jan 2008 18:24:20 +0000</pubDate>
		<guid>http://www.tssci-security.com/archives/2008/01/16/day-8-itsm-vulnerability-assessment-techniques/#comment-3822</guid>
		<description>This is valuable info.

&#62; Any claims that an automated scanning tool can find all XSS is  
&#62; dead wrong when it comes to DOM-based XSS (or Flash based 
&#62; XSS, et al).

Not just DOM-based XSS, even reflected and stored, especially in Web 2.0 applications. The scanners just don't understand the technology well enough. And this message has to be evangelized loudly because right now the loudest people in the room are the scanner marketing companies.

Just yesterday we ran one of the big named automated scanners against a client's Backbase application with at least 30% of the input fields being vulnerable to XSS and we got kaput from the scanner due to the Ajaxy nature of the app. 

&#62; Best DOM-based XSS attack tools
&#62; Web Developer’s View Javascript, FireBug, w3af, Burp Intruder, 
&#62; scanajax, ProxMon, OWASP Pantera, cruiser, CSpider.js

You certainly suggest a lot of tools, and in a dream world we'd be able to utilize all of them. Unfortunately, assessment times are usually scoped fairly tight, internally or externally. I don't think many people would be able to use a lot of these tools and still get maximum coverage in other areas like authentication, access control, etc. What can you say about prioritizing toolsets in a real world assessment?</description>
		<content:encoded><![CDATA[<p>This is valuable info.</p>
<p>&gt; Any claims that an automated scanning tool can find all XSS is<br />
&gt; dead wrong when it comes to DOM-based XSS (or Flash based<br />
&gt; XSS, et al).</p>
<p>Not just DOM-based XSS, even reflected and stored, especially in Web 2.0 applications. The scanners just don&#8217;t understand the technology well enough. And this message has to be evangelized loudly because right now the loudest people in the room are the scanner marketing companies.</p>
<p>Just yesterday we ran one of the big named automated scanners against a client&#8217;s Backbase application with at least 30% of the input fields being vulnerable to XSS and we got kaput from the scanner due to the Ajaxy nature of the app. </p>
<p>&gt; Best DOM-based XSS attack tools<br />
&gt; Web Developer’s View Javascript, FireBug, w3af, Burp Intruder,<br />
&gt; scanajax, ProxMon, OWASP Pantera, cruiser, CSpider.js</p>
<p>You certainly suggest a lot of tools, and in a dream world we&#8217;d be able to utilize all of them. Unfortunately, assessment times are usually scoped fairly tight, internally or externally. I don&#8217;t think many people would be able to use a lot of these tools and still get maximum coverage in other areas like authentication, access control, etc. What can you say about prioritizing toolsets in a real world assessment?</p>
]]></content:encoded>
	</item>
</channel>
</rss>

<!-- Dynamic Page Served (once) in 0.877 seconds -->
