<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	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/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Web Admin Blog &#187; Security</title>
	<atom:link href="http://www.webadminblog.com/index.php/category/security/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.webadminblog.com</link>
	<description>Real Web Admins.  Real World Experience.</description>
	<lastBuildDate>Thu, 22 Jul 2010 16:18:30 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
		<item>
		<title>Static Application Vulnerability Testing: Binary Scanning vs Source Code Scanning</title>
		<link>http://www.webadminblog.com/index.php/2010/07/22/static-application-vulnerability-testing-binary-scanning-vs-source-code-scanning/</link>
		<comments>http://www.webadminblog.com/index.php/2010/07/22/static-application-vulnerability-testing-binary-scanning-vs-source-code-scanning/#comments</comments>
		<pubDate>Thu, 22 Jul 2010 16:16:56 +0000</pubDate>
		<dc:creator>Josh</dc:creator>
				<category><![CDATA[Software and Tools]]></category>
		<category><![CDATA[Static Analysis]]></category>
		<category><![CDATA[Web Application Security]]></category>
		<category><![CDATA[analysis]]></category>
		<category><![CDATA[black]]></category>
		<category><![CDATA[box]]></category>
		<category><![CDATA[comparison]]></category>
		<category><![CDATA[dynamic]]></category>
		<category><![CDATA[SaaS]]></category>
		<category><![CDATA[software]]></category>
		<category><![CDATA[static]]></category>
		<category><![CDATA[testing]]></category>
		<category><![CDATA[versus]]></category>
		<category><![CDATA[vulnerability]]></category>
		<category><![CDATA[white]]></category>

		<guid isPermaLink="false">http://www.webadminblog.com/?p=474</guid>
		<description><![CDATA[I had a meeting yesterday with a vendor who sells a SaaS solution for binary application vulnerability testing. They tell a very interesting story of a world where dynamic testing ("black box") takes place alongside static testing ("white box") to give you a full picture of your application security posture. They even combine the results [...]]]></description>
			<content:encoded><![CDATA[<p>I had a meeting yesterday with a vendor who sells a SaaS solution for binary application vulnerability testing.  They tell a very interesting story of a world where dynamic testing ("black box") takes place alongside static testing ("white box") to give you a full picture of your application security posture.  They even combine the results with some e-Learning aspects so that developers can research the vulnerabilities in the same place they go to find them.  In concept, this sounds fantastic, but I quickly turned into a skeptic and as I dug deeper into the details I'm not sure I like what I found.</p>
<p>I wanted to make sure I fully understood what was going on under the hood here so I started asking questions about the static testing and how it works.  They've got a nice looking portal where you name your application, give it a version, assign it to a group of developers, and point it to your compiled code (WAR, EAR, JAR, etc).  Once you upload your binaries, their system basically runs a disassembler on it to get it into assembly code.  It's then at this level that they start looking for vulnerabilities.  They said that this process takes about 3 days initially and then maybe 2 days after the first time because they are able to re-use some data about your application.  Once complete, they say they are able to provide you a report detailing your vulnerabilities and how to fix them.</p>
<p>The thing that immediately struck me as worth noting here was the 2-3 day turnaround.  This means that our developers would need to wait a fairly substantial amount of time before getting any feedback on the vulnerability status of their code.  In a world full of Agile development, 2-3 days is a lifetime.  Compare that to static source code testing where you get actionable results at compile time.  The edge here definitely goes to source code testing as I believe most people would prefer the near-instant gratification.</p>
<p>The next thing worth noting was that they are taking binary files and disassembling them in order to find vulnerabilities.  This lends itself to one major issue which is how can you determine with any accuracy the line number of a particular vulnerability written in let's say Java from assembly code generated by disassembling the binaries.  By default, it's simply not possible.  This vendor claimed that they can by adding in some debug strings at compile time, but even then I'd contend that you're not going to get much.  I'm guessing they have some heuristics that are able to tell what function generated a set of assembly code, but I'm extremely skeptical that they can do anything with variable names, custom code functions, etc.  I've seen some source code scanners, on the other hand, that not only tell you what line of code is affected, but are able to give you an entire list of parameters that have been consequently affected by that vulnerability.  The edge here definitely goes to source code testing.</p>
<p>The main benefit that I can see with binary testing vs source code testing is that we can test code that we didn't write.  Things like APIs, third-party applications, open source, etc are all things that we now have visibility into.  The only problem here is that while we now can see the vulnerabilities in this software, they are unfortunately all things that we can't directly influence change in, unless we want to send our developers off to work on somebody else's software.  I'd argue that scanning for vulnerabilities in that type of code is their responsibility, not ours.  Granted, it'd be nice to have validation that there aren't vulnerabilities there that we're exposing ourselves to by uptaking it, but in all honesty are we really going to take the time to scan somebody else's work?  Probably not.  The edge here goes to binary testing with the caveat being that it's in something that I frankly don't care as much about.</p>
<p>This isn't the complete list of pros and cons by any means.  It's just me voicing in writing some concerns that I had about the technology while talking to this particular vendor.  In my opinion, the benefits of doing source code testing far outweigh any benefits that we could get from testing compiled binary files.  What do you think about the benefits of one versus the other?  I'd certainly love for someone to try to change my mind here and show me where the real value lies in binary testing.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.webadminblog.com/index.php/2010/07/22/static-application-vulnerability-testing-binary-scanning-vs-source-code-scanning/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Auditors Just Don&#8217;t Understand Security</title>
		<link>http://www.webadminblog.com/index.php/2010/07/02/auditors-just-dont-understand-security/</link>
		<comments>http://www.webadminblog.com/index.php/2010/07/02/auditors-just-dont-understand-security/#comments</comments>
		<pubDate>Fri, 02 Jul 2010 16:17:07 +0000</pubDate>
		<dc:creator>Josh</dc:creator>
				<category><![CDATA[Compliance]]></category>
		<category><![CDATA[auditors]]></category>
		<category><![CDATA[checklist]]></category>
		<category><![CDATA[clear]]></category>
		<category><![CDATA[cleartext]]></category>
		<category><![CDATA[compliance]]></category>
		<category><![CDATA[email]]></category>
		<category><![CDATA[file]]></category>
		<category><![CDATA[ftp]]></category>
		<category><![CDATA[pgp]]></category>
		<category><![CDATA[secure]]></category>
		<category><![CDATA[Security]]></category>
		<category><![CDATA[text]]></category>
		<category><![CDATA[transfer]]></category>
		<category><![CDATA[understand]]></category>

		<guid isPermaLink="false">http://www.webadminblog.com/?p=471</guid>
		<description><![CDATA[Part of my new role as the Information Security Program Owner at NI is taking care of our regulatory compliance concerns which means I spend quite a bit of time dealing with auditors. Now auditors are nice people and I want to preface what I'll say next by saying that I think auditors do perform [...]]]></description>
			<content:encoded><![CDATA[<p>Part of my new role as the Information Security Program Owner at NI is taking care of our regulatory compliance concerns which means I spend quite a bit of time dealing with auditors.  Now auditors are nice people and I want to preface what I'll say next by saying that I think auditors do perform a great service to companies.  I'm sure that most of them are hard-workers and understand compliance requirements probably better than I do, but they just don't understand security.</p>
<p>As a case in point, we're in the middle of our annual audit by one of those "Big Four" audit firms which I won't name here to protect the innocent.  I sent an email checking in with our auditors to make sure that they had everything they needed before we went into our four-day holiday weekend.  They said that they had received everything they needed except for documentation on "privileged users from the current OS and Database environments" as well as "evidence of current password settings from the application servers, OS, and Database".  We go through a round of translation from Auditorese to Techie and figure out that they want exports of some specific user, profile, role, and privilege tables from the database and copies of /etc/passwd, /etc/shadow, and /etc group from the servers.  </p>
<p>So we obtain the requested documentation and I shoot them back an email message to find out their proposed method for transferring the files.  Secure FTP?  No.  PGP encryption?  Nope.  Their response back was astonishing: </p>
<blockquote><p>How large do you think they'll be?  Email should be fine.</p></blockquote>
<p>Seriously?  These are the guys that we're paying to verify that we're properly protecting our systems and they're suggesting that sending our usernames and password hashes via cleartext email is an appropriate method of file transfer.  I respond back:</p>
<blockquote><p>I'm not really concerned about the size of the files, but rather, the data that they contain.  Sending files containing the users, groups, and password hashes for our financial systems via cleartext is probably not a good plan considering the point of this process is protecting that data.</p></blockquote>
<p>And they respond with:</p>
<blockquote><p>Whatever you'd like Josh.  As long as you have the files as of today, we're good.</p></blockquote>
<p>So now I'm convinced that auditors (or at least these auditors) view security as nothing more than a checklist.  The people telling me what I need to do in order to protect my systems really have no clue about the fundamentals of security.  If it's not on their checklist, then it must not be of importance.  In this particular situation it may be easier or more convenient to send the documents via email, but any security professional worth their salt would tell you that's not secure nor appropriate for that data.  Either our auditors hold themselves to a very different standard than the rest of us security professionals or they just don't understand security unless it's on a checklist.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.webadminblog.com/index.php/2010/07/02/auditors-just-dont-understand-security/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>A XSS Vulnerability in Almost Every PHP Form I&#8217;ve Ever Written</title>
		<link>http://www.webadminblog.com/index.php/2010/02/23/a-xss-vulnerability-in-almost-every-php-form-ive-ever-written/</link>
		<comments>http://www.webadminblog.com/index.php/2010/02/23/a-xss-vulnerability-in-almost-every-php-form-ive-ever-written/#comments</comments>
		<pubDate>Wed, 24 Feb 2010 02:30:16 +0000</pubDate>
		<dc:creator>Josh</dc:creator>
				<category><![CDATA[Web Application Security]]></category>
		<category><![CDATA[cross]]></category>
		<category><![CDATA[cross-site]]></category>
		<category><![CDATA[form]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[php_self]]></category>
		<category><![CDATA[post]]></category>
		<category><![CDATA[scripting]]></category>
		<category><![CDATA[site]]></category>
		<category><![CDATA[vulnerability]]></category>
		<category><![CDATA[xss]]></category>

		<guid isPermaLink="false">http://www.webadminblog.com/?p=401</guid>
		<description><![CDATA[I've spent a lot of time over the past few months writing an enterprise application in PHP.  Despite what some people may say, I believe that PHP is as secure or insecure as the developer who is writing the code.  Anyway, I'm at the point in my development lifecycle where I decided that it was [...]]]></description>
			<content:encoded><![CDATA[<p>I've spent a lot of time over the past few months writing an enterprise application in PHP.  Despite what some people may say, I believe that PHP is as secure or insecure as the developer who is writing the code.  Anyway, I'm at the point in my development lifecycle where I decided that it was ready to run an application vulnerability scanner against it.  What I found was interesting and I think it's worth sharing with you all.</p>
<p>Let me preface this by saying that I'm the guy who gives the training to our developers on the OWASP Top 10, writing secure code, etc.  I'd like to think that I have a pretty good handle on programming best practices, input validation, and HTML encoding.  I built all kinds of validation into this application and thought that the vulnerability scan would come up empty.  For the most part I was right, but there was one vulnerability, one flaw in particular, that found it's way into every form in my application.  In fact, I realized that I've made this exact same mistake in almost every PHP form that I've ever written.  Talk about a humbling experience.</p>
<p>So here's what happened.  I created a simple page with a form where the results of that form are submitted back to the page itself for processing.  Let's assume it looks something like this:</p>
<pre>&lt;<a href="http://december.com/html/4/element/html.html">html</a>&gt;
 &lt;<a href="http://december.com/html/4/element/body.html">body</a>&gt;
  &lt;?php
  if (isset($_REQUEST['submitted']) &amp;&amp; $_REQUEST['submitted'] == '1') {
    echo "Form submitted!";
  }
  ?&gt;
  &lt;<a href="http://december.com/html/4/element/form.html">form</a> action="&lt;?php echo $_SERVER['PHP_SELF']; ?&gt;"&gt;
   &lt;<a href="http://december.com/html/4/element/input.html">input</a> type="hidden" name="submitted" value="1" /&gt;
   &lt;<a href="http://december.com/html/4/element/input.html">input</a> type="submit" value="Submit!" /&gt;
  &lt;/<a href="http://december.com/html/4/element/form.html">form</a>&gt;
 &lt;/<a href="http://december.com/html/4/element/body.html">body</a>&gt;
&lt;/<a href="http://december.com/html/4/element/html.html">html</a>&gt;
</pre>
<p>It looks fairly straightforward, right?  The problem has to do with that $_SERVER['PHP_SELF'] variable.  The intent here is that PHP will display the path and name of the current page so that the form knows to submit back to the same page.  The problem is that $_SERVER['PHP_SELF'] can actually be manipulated by the user.  Let's say as the user I change the URL from http://www.webadminblog.com/example.php to http://www.webadminblog.com/example.php"&gt;&lt;script&gt;alert('xss');&lt;/script&gt;.  This will end the form action part of the code and inject a javascript alert into the page.  This is the very definition of cross site scripting.  I can't believe that with as long as I've been writing in PHP and as  long as I've been studying application security, I've never realized this.  Fortunately, there are a couple of different ways to fix this.  First, you could use the HTML entities or HTML special character functions to sanitize the user input like this:</p>
<p>htmlentities($_SERVER['PHP_SELF]);</p>
<p>htmlspecialchars($_SERVER['PHP_SELF]);</p>
<p>This fix would still allow the user to manipulate the URL, and thus, what is displayed on the page, but it would render the javascript invalid.  The second way to fix this is to use the script name variable instead like this:</p>
<p>$_SERVER['SCRIPT_NAME'];</p>
<p>This fix would just echo the full path and filename of the current file.    Yes, there are other ways to fix this.  Yes, my code example above for the XSS exploit doesn't do anything other than display a javascript alert.  I just wanted to draw attention to this issue because if it's found it's way into my code, then perhaps it's found it's way into yours as well.  Happy coding!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.webadminblog.com/index.php/2010/02/23/a-xss-vulnerability-in-almost-every-php-form-ive-ever-written/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>Techniques in Attacking and Defending XML/Web Services</title>
		<link>http://www.webadminblog.com/index.php/2009/11/13/techniques-in-attacking-and-defending-xmlweb-services/</link>
		<comments>http://www.webadminblog.com/index.php/2009/11/13/techniques-in-attacking-and-defending-xmlweb-services/#comments</comments>
		<pubDate>Fri, 13 Nov 2009 20:55:06 +0000</pubDate>
		<dc:creator>Josh</dc:creator>
				<category><![CDATA[OWASP AppSec DC 2009]]></category>
		<category><![CDATA[Web Application Security]]></category>
		<category><![CDATA[attack]]></category>
		<category><![CDATA[attacking]]></category>
		<category><![CDATA[defend]]></category>
		<category><![CDATA[defending]]></category>
		<category><![CDATA[services]]></category>
		<category><![CDATA[techniques]]></category>
		<category><![CDATA[web]]></category>
		<category><![CDATA[xml]]></category>

		<guid isPermaLink="false">http://www.webadminblog.com/?p=344</guid>
		<description><![CDATA[This presentation was by Jason Macy and Mamoon Yunus of Crosscheck Networks - Forum Systems.  It wins the award (the one I just made up) for being the most vendor-oriented presentation at the conference.  Not that it wasn't an interesting presentation, but their solution to defend against most of the attacks was "Use an XML [...]]]></description>
			<content:encoded><![CDATA[<p>This presentation was by Jason Macy and Mamoon Yunus of Crosscheck Networks - Forum Systems.  It wins the award (the one I just made up) for being the most vendor-oriented presentation at the conference.  Not that it wasn't an interesting presentation, but their solution to defend against most of the attacks was "Use an XML Gateway" (guess what Forum Systems sells?) and the attacks were all presented using the CrossCheck SOAPSonar tool.  I realize that being a vendor they probably have more knowledge than most in the field, but being an Open Source conference, you'd think they would have demonstrated using a free/open tool (SOAPUI?) and talked more about non-hardware solutions to fix the issues.  My notes from the session are below:</p>
<p><span style="text-decoration: underline;"><strong>Agenda</strong></span></p>
<ol>
<li>Introduction to XML/Web Services Threats</li>
<li>Techniques for Defending XML Threats</li>
<li>XML Attack Examples and Classification</li>
<li>Review sample attacks</li>
</ol>
<p><span style="text-decoration: underline;"><strong>Introduction to XML Threats</strong></span></p>
<ul>
<li>Explicit Attacks
<ul>
<li>Forced Disruption</li>
<li>Information Theft</li>
<li>Vendor Discovery</li>
</ul>
</li>
<li>Implicit Vulnerability
<ul>
<li>Perimeter Breach (embeeded virus, malware)</li>
<li>Infrastructure Malfunction (parser and data processing failures)</li>
</ul>
</li>
</ul>
<p><span style="text-decoration: underline;"><strong>New Attack Vectors</strong></span></p>
<ul>
<li>Protocol Firewalls are blind to XML</li>
<li>Malware and virus delivered via SOAP attachments</li>
<li>WSDL exposes schema and message structure</li>
<li>Injection attacks exposed via XML parameters</li>
<li>Data replay attacks</li>
</ul>
<p><span style="text-decoration: underline;"><strong>Security Testing - Base Requirements</strong></span></p>
<ul>
<li>Security Framework
<ul>
<li>Sign, ENcrypt, Decrypt, SSL</li>
</ul>
</li>
<li>Identity Framework
<ul>
<li>Basic auth, SSL auth, WS-Security token auth</li>
</ul>
</li>
<li>Parameter Injection
<ul>
<li>Database or file driven</li>
<li>Permutations for security, identity, and SOAP/XML</li>
</ul>
</li>
<li>Concurrent Client Simultaneous Loading
<ul>
<li>Denial of Service Testing</li>
</ul>
</li>
<li>SOAP with Attachments
<ul>
<li>Malware and Virus testing</li>
</ul>
</li>
<li>Dynamic XSD Mutation
<ul>
<li>Derive SOAP vulnerability profile from WSDL schema</li>
</ul>
</li>
</ul>
<p><span id="more-344"></span></p>
<p><span style="text-decoration: underline;"><strong> XML Security Gateway - Base Requirements</strong></span></p>
<ul>
<li>Certified PKI Infrastructure (DOD PKI)
<ul>
<li>X509 Path validation</li>
<li>Sign/verify, SSL initiation, SSL termination</li>
</ul>
</li>
<li>Certified Security Architecture (FIPS)
<ul>
<li>Key management and storage</li>
<li>Physical security device</li>
</ul>
</li>
<li>Transaction Privacy
<ul>
<li>Encryption, decryption, SSL</li>
</ul>
</li>
<li>Transaction Integrity
<ul>
<li>Digital signature, signature verification, schema validation</li>
</ul>
</li>
<li>Transaction Accountability
<ul>
<li>Archiving, logging, reporting, and monitoring</li>
</ul>
</li>
<li>Transaction Threat Mitigation
<ul>
<li>Intrusion detection and prevention</li>
<li>Rate-based rules, size-based rules, anti-virus detection, pattern recognition</li>
<li>Structural integrity, protocol adherence, athorization attempts</li>
</ul>
</li>
</ul>
<p><span style="text-decoration: underline;"><strong>XML Attack Examples and Classification</strong></span></p>
<ol>
<li>SQL Injection Attack</li>
<li>Denial of Service Attack</li>
<li>XSD Mutation Attack</li>
</ol>
<p><span style="text-decoration: underline;"><strong>XML Web Services SQL Injection Attack Example</strong></span></p>
<ul>
<li>How to Attack
<ul>
<li>Construct SQL escape sequences</li>
<li>Construct SQL 1=1 query</li>
<li>Inject into XML node values</li>
</ul>
</li>
<li>Discovered Exposure
<ul>
<li>Sensitive data loss</li>
<li>Database corruption</li>
</ul>
</li>
<li>Used "SOAPSonar" tool to load WSDL and send responses</li>
</ul>
<p><span style="text-decoration: underline;"><strong>SQL Injection - XML Gateway Secured</strong></span></p>
<ul>
<li>How to Defend
<ul>
<li>Deploy XML Gateway</li>
<li>Enable pattern scanning IDP rules</li>
<li>Configure response message size and complexity limits</li>
</ul>
</li>
<li>Advantages
<ul>
<li>Prevent Data Loss</li>
<li>Alert and Quarantine Attempted Breaches</li>
</ul>
</li>
</ul>
<p><span style="text-decoration: underline;"><strong>XML Web Services based Denial of Service Attack</strong></span></p>
<ul>
<li>How to Attack
<ul>
<li>Loading client with concurrent simultaneous threads</li>
<li>Coercive parsing attack</li>
</ul>
</li>
<li>Discovered Exposure
<ul>
<li>Unlimited message flow</li>
<li>Unfair service SLA distribution</li>
<li>Back-end CPU and I/O Saturation</li>
</ul>
</li>
</ul>
<p><span style="text-decoration: underline;"><strong>Denial of Service - XML Gateway Secured</strong></span></p>
<ul>
<li>How to Defend
<ul>
<li>Deploy XML gateway</li>
<li>Set allowed transaction rates (Group, user, or IP)</li>
</ul>
</li>
<li>Advantages
<ul>
<li>Message flow limited to specified rate</li>
</ul>
</li>
</ul>
<p><span style="text-decoration: underline;"><strong>Another Example: Denial of Service through Coercive Parsing</strong></span></p>
<ul>
<li>Sending malformed XML data (removing the "&gt;" end tag) creates increased time to parse a request</li>
</ul>
<p><span style="text-decoration: underline;"><strong>XML Web Services Based XSD Mutation Attack</strong></span></p>
<ul>
<li>How to Attack
<ul>
<li>Obtain WSDL</li>
<li>Derive message structure and types from WSDL schema</li>
<li>Send SOAP message mutations based on schema</li>
</ul>
</li>
<li>Discovered Exposure
<ul>
<li>Code paths not handled for exceptions</li>
<li>Stack traces returned with implementation details</li>
<li>Application failure</li>
</ul>
</li>
</ul>
<p><span style="text-decoration: underline;"><strong>XSD Mutation Attack - XML Gateway Secured</strong></span></p>
<ul>
<li>How to Defend
<ul>
<li>Deploy XML Gateway</li>
<li>Enforce inbound message structure and type validation</li>
<li>Cleanse outbound data (stack traces, sensitive data)</li>
</ul>
</li>
<li>Advantages
<ul>
<li>Reduce parser impact on web service</li>
<li>Remove vendor and implementation details in response</li>
<li>Protect application layer code paths on web service</li>
</ul>
</li>
</ul>
<p><span style="text-decoration: underline;"><strong>XSD Mutation - Secured</strong></span></p>
<ol>
<li>Deploy specialized XML Gateways - Packet firewalls and HTML application firewalls are insufficient</li>
<li>Validate XML against a robust schema</li>
<li>Tighten Schema: restrict unbounded strings, etc</li>
<li>Enforce XML specific detection rules (node depth, recursive payloads)</li>
</ol>
<p><span style="text-decoration: underline;"><strong>Best Practices for Countermeasures</strong></span></p>
<ul>
<li>Information Control - Outbound
<ul>
<li>Restrict SOAP Faults</li>
<li>Protect Sensitive Information</li>
<li>Audit Transaction Flows</li>
</ul>
</li>
<li>Information Control - Inbound
<ul>
<li>Tighten Payloads</li>
<li>Enforce SLA</li>
<li>Disallow SQL, virus, malicious code</li>
</ul>
</li>
<li>Use Web Services Penetration Testing Product</li>
<li>Deploy XML web Services Gateway</li>
<li>Deploy Centralized XML Security</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.webadminblog.com/index.php/2009/11/13/techniques-in-attacking-and-defending-xmlweb-services/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>The OWASP Security Spending Benchmarks Project</title>
		<link>http://www.webadminblog.com/index.php/2009/11/13/the-owasp-security-spending-benchmarks-project/</link>
		<comments>http://www.webadminblog.com/index.php/2009/11/13/the-owasp-security-spending-benchmarks-project/#comments</comments>
		<pubDate>Fri, 13 Nov 2009 20:05:37 +0000</pubDate>
		<dc:creator>Josh</dc:creator>
				<category><![CDATA[Metrics]]></category>
		<category><![CDATA[OWASP AppSec DC 2009]]></category>
		<category><![CDATA[benchmarks]]></category>
		<category><![CDATA[owasp]]></category>
		<category><![CDATA[project]]></category>
		<category><![CDATA[Security]]></category>
		<category><![CDATA[spending]]></category>

		<guid isPermaLink="false">http://www.webadminblog.com/?p=342</guid>
		<description><![CDATA[This presentation was by Boaz Belboard, the Executive Director of Information Security for Wireless Generation and the Project Leader for the OWASP Security Spending Benchmarks Project.  My notes are below: It does cost more to produce a secure product than an insecure product. Most people will still shop somewhere, go to a hospital, or enroll [...]]]></description>
			<content:encoded><![CDATA[<p>This presentation was by Boaz Belboard, the Executive Director of Information Security for Wireless Generation and the Project Leader for the OWASP Security Spending Benchmarks Project.  My notes are below:</p>
<p>It does cost more to produce a secure product than an insecure product.</p>
<p>Most people will still shop somewhere, go to a hospital, or enroll in a university after they have had a data breach.</p>
<p>Why do we spend on security?  How much should we be spending?</p>
<ul>
<li>Security imposes extra costs on organizations</li>
<li>The "security tax" is relatively well knnown for network and IT security - 5 to 10% (years of Gartner, Forrester, and other studies)</li>
<li>No comparable data for development or web apps</li>
<li>Regualtions and contracts usually require "reasonable measures".  What does that mean?</li>
</ul>
<p><span style="text-decoration: underline;"><strong>OWASP Security Spending Benchmarks Project</strong></span></p>
<ul>
<li>20 partner organizations, many contributors</li>
<li>Open process and participation</li>
<li>Raw data available to community</li>
</ul>
<p><span style="text-decoration: underline;"><strong>Reasons For Investing in Security</strong></span></p>
<ul>
<li>Contractual and Regulatory Compliance</li>
<li>Incident Prevention, Risk Mitigation</li>
<li>Cost of Entry</li>
<li>Competitive Advantage</li>
</ul>
<p><span style="text-decoration: underline;"><strong>Technical and Procedural Principles</strong></span></p>
<ul>
<li>Managed and Documented Systems</li>
<li>Business-need access</li>
<li>Minimization of sensitive data use</li>
<li>Security in Design and Development</li>
<li>Auditing and Monitoring</li>
<li>Defense in Depth</li>
</ul>
<p><span style="text-decoration: underline;"><strong>Specific Activities and Projects</strong></span></p>
<ul>
<li>Security Policy and Training</li>
<li>DLP-Type Systems</li>
<li>Internal Configurations Management</li>
<li>Credential Management</li>
<li>Security in Development</li>
<li>Locking down internal permissions</li>
<li>Secure Data Exchange</li>
<li>Network Security</li>
<li>Application Security Programs</li>
</ul>
<p><span id="more-342"></span></p>
<p><span style="text-decoration: underline;"><strong>The 10000' View For Most Organizations</strong></span></p>
<ul>
<li>Legal and Regulatory Compliance: Because we have to</li>
<li>Incident Prevention, Risk Mitigation and Cost of Entry: Because this is what everyone else does</li>
<li>Competitive Advantage: Really?</li>
</ul>
<p><span style="text-decoration: underline;"><strong>Regs are Not App Sec Friently...</strong></span></p>
<ul>
<li>Regulations, contracts, and RFPs are usually based on the notion of "reasonable effort" - state regulations, HIPAA, FTC, SEC, Red Flags Rule</li>
<li>When regulations do get technical, they focus on old school security fetishes like firewalls, SSL, encryption, biometric passes and server rooms</li>
</ul>
<p><span style="text-decoration: underline;"><strong>A Few Examples</strong></span></p>
<ul>
<li>PCI Prioritized Approach</li>
<li>Massachusetts 201 CMR 17.00</li>
<li>The encryption exemption in state data breach notification laws</li>
<li>HIPAA Notification Form</li>
<li>Recent SEC Action</li>
<li>Most of the contracts/RFPs/Vendor security whitepapers I have seen...</li>
</ul>
<p><span style="text-decoration: underline;"><strong>A Real World Example of Where Your PII Lives...</strong></span></p>
<ul>
<li>Small company with a few dozen employees sells widgets over the Internet</li>
<li>Pay an outsourced team to develop a Joomla/Drupal/whatever site to build a widget-lovers community where users can connect.  All sorts of PII involved in the app</li>
<li>They deploy their site on a shared hosting/VPS model and basically only interact with the App from a web admin interface</li>
<li>They know a bit about the technical details of their app but not much.  Actually, no actual web developers were really involved in the building or deployment of the app</li>
</ul>
<p><span style="text-decoration: underline;"><strong>Here is What Company A Did...</strong></span></p>
<ul>
<li>Asked their developer team in India to develop code securely.  Referenced OWASP Top 10 or similar list.</li>
<li>Told their dev team that services and DB users needed to run with minimum privilege.  Dev team balked.  Company A agreed to pay a bit extra.</li>
<li>...</li>
<li>...</li>
</ul>
<p><span style="text-decoration: underline;"><strong>Here's What Company B Did...</strong></span></p>
<ul>
<li>Installed anti-virus on all employee machines</li>
<li>Bought a firewall for the corporate network</li>
<li>Maybe even got two-factor tokens for network access</li>
<li>Made sure everything is going over SSL everywhere,.</li>
<li>Put a biometric reader in the data center</li>
<li>Encrypt all laptops</li>
</ul>
<p>Company B is more likely to be in compliance with state laws and other regulations.</p>
<p>Company B is also more likely to suffer a data breach.</p>
<p>So the only thing left to finance your application security program is the "reasonable spend" argument...</p>
<p>As a community we need to get some consensus on what constitutes a reasonable spend...</p>
<p><span style="text-decoration: underline;"><strong>About the OWASP Security Spending Benchmarks Project</strong></span></p>
<ul>
<li>First survey focused on general web application spending.</li>
<li>Second survey focused on cloud computing.</li>
<li>Responses currently being gathered for third survey</li>
<li>Approximately 50 companies profiled in each case</li>
<li>We do not collect IP addresses</li>
<li>Most of the partners are security vendors</li>
<li>Relatively small respondent base</li>
<li>Meant to stimulate a discussion on security spending benchmarks</li>
</ul>
<p><span style="text-decoration: underline;"><strong>Percentage of Development Headcount Spent on Security</strong></span></p>
<ul>
<li>41% had less than 2%</li>
<li>20% had 5-10%</li>
<li>18% didn't know</li>
<li>10% had 2-5%</li>
</ul>
<p><span style="text-decoration: underline;"><strong>Percentage IT Budget on Web Application Security</strong></span></p>
<ul>
<li>33% don't know</li>
<li>24% had 5-10%</li>
<li>12% had 1-5%</li>
<li>12% had 10-20%</li>
</ul>
<p><span style="text-decoration: underline;"><strong>Organizational Responsibility for Security Reviews</strong></span></p>
<ul>
<li>67% in IT Security</li>
</ul>
<p>47% of companies surveyed provide developers with security training via internal resources.</p>
<ul>
<li>Organizations that have suffered a public data breach spend more on security in the development process than those that have not.</li>
<li>Web application security spending is expected to either stay flat or increase in nearly two thirds of companies</li>
<li>Half of respondents consider security experience important when hiring developers</li>
</ul>
<p><span style="text-decoration: underline;"><strong>Cloud Summary</strong></span></p>
<ul>
<li>SaaaS is in much greater use than IaaS or PaaS.</li>
<li>Security spending does not change significantly as a result of cloud computing.</li>
<li>Organizations are not doing their homework when it comes to cloud security.</li>
<li>The risk of an undetected data breach is the greatest concern with using cloud computing, closely followed by the risk of a public data breach.</li>
<li>Compliance and standards requirements related to cloud computing are not well understood.</li>
</ul>
<p><span style="text-decoration: underline;"><strong>Future of Project</strong></span></p>
<ul>
<li>Currently collecting responses for the third survey</li>
<li>Partners assist in promoting survey, analyzing results, and providing strategic input</li>
<li>Current status of project can always be found on OWASP website</li>
<li>New partners are always welcome</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.webadminblog.com/index.php/2009/11/13/the-owasp-security-spending-benchmarks-project/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Building an In-House Application Security Assessment Team</title>
		<link>http://www.webadminblog.com/index.php/2009/11/13/building-an-in-house-application-security-assessment-team/</link>
		<comments>http://www.webadminblog.com/index.php/2009/11/13/building-an-in-house-application-security-assessment-team/#comments</comments>
		<pubDate>Fri, 13 Nov 2009 19:05:04 +0000</pubDate>
		<dc:creator>Josh</dc:creator>
				<category><![CDATA[OWASP AppSec DC 2009]]></category>
		<category><![CDATA[Security]]></category>
		<category><![CDATA[application]]></category>
		<category><![CDATA[assessment]]></category>
		<category><![CDATA[build]]></category>
		<category><![CDATA[contractor]]></category>
		<category><![CDATA[in-house]]></category>
		<category><![CDATA[team]]></category>

		<guid isPermaLink="false">http://www.webadminblog.com/?p=340</guid>
		<description><![CDATA[This presentation was by Keith Turpin from The Boeing Company.   About three years ago, all of Boeing's assessments were coming from outsourced service providers.  They realized that they were unable to have control over the people and process and had difficulties integrating the controls into the SDLC and decided to bring these functions in house.  [...]]]></description>
			<content:encoded><![CDATA[<p>This presentation was by Keith Turpin from The Boeing Company.   About three years ago, all of Boeing's assessments were coming from outsourced service providers.  They realized that they were unable to have control over the people and process and had difficulties integrating the controls into the SDLC and decided to bring these functions in house.  The goal of this presentation is to show some of the issues they ran into and how they addressed those problems.  My notes from the presentation are below:</p>
<p><span style="text-decoration: underline;"><strong>Contraced Services Considerations</strong></span></p>
<ul>
<li>Some Advantages:
<ul>
<li>Highly skilled</li>
<li>Established tools, processes, and standards</li>
<li>Unbiased</li>
<li>Available as needed</li>
</ul>
</li>
<li>Some Disadvantages:
<ul>
<li>Expensive, especially for an extended engagement</li>
<li>Less control and flexibility</li>
<li>Not familiar with company processes and culture</li>
<li>Rotating staff</li>
</ul>
</li>
</ul>
<p><span style="text-decoration: underline;"><strong>Planning</strong></span></p>
<ul>
<li>Considerations for establishing an internal team:
<ul>
<li>Time to staff and train the team</li>
<li>Overlap of external and internal teams</li>
<li>Development of processes and standards</li>
<li>Acquiring necessary tools</li>
</ul>
</li>
</ul>
<p><span style="text-decoration: underline;"><strong>Service Model</strong></span></p>
<ul>
<li>Define the services your team will provide.  This will be greatly influenced by:
<ul>
<li>The team's size and skills</li>
<li>The number of applications you have to support</li>
<li>The tools available</li>
<li>The level of executive support</li>
<li>The funding model
<ul>
<li>Who pays for your services</li>
</ul>
</li>
<li>The team's role
<ul>
<li>Development support, pre-deployment testing or post deployment auditing and pen testing</li>
</ul>
</li>
</ul>
</li>
</ul>
<p><span id="more-340"></span></p>
<p><span style="text-decoration: underline;"><strong>Staffing the Team</strong></span></p>
<ul>
<li>Decide how to staff your team and what skills you need.  Possible candidates include:
<ul>
<li>Experienced Application Testers
<ul>
<li>This is ideal from a skills standpoint, but people in this category may be harder to find, cost more, may not be familiar with your company and or fit its culture.</li>
</ul>
</li>
<li>Experienced Developers
<ul>
<li>Developers will have a good understanding of the technologies, but may not understand security principles.  Their focus is on what an application is intended to do, not what it can be made to do.</li>
</ul>
</li>
<li>Other IT Security Professionals
<ul>
<li>They have a good understanding of security principles, but may lack specific technical skills.  However, some skills may provide a useful overlap, like experienced OS or network testers.</li>
</ul>
</li>
<li>Service and Project Managers
<ul>
<li>Building a new team, defining processes and standards, managing work flow and handling customer relations requires a set of skills as important, but distinct, from technical testing skills.</li>
</ul>
</li>
</ul>
</li>
</ul>
<p><span style="text-decoration: underline;"><strong>Selecting Tools</strong></span></p>
<ul>
<li>There are a lot of options when it comes to tools.  What you choose depends on the services you want to provide, your team's skills and your budget.
<ul>
<li>Commercial vs. Free or Low Cost Tools
<ul>
<li>Commercial tools scale to support enterprise use, utilize a higher degree of automation and come with product support.  They also come with a big price tag.</li>
<li>Open source and low cost tools allow for more customization, and are free or inexpensive, usually have a supportive user community, but often require a higher degree of user knowledge and skill.</li>
</ul>
</li>
<li>Types of Tools
<ul>
<li>Vulnerability Scanners
<ul>
<li>Commercial examples include IBM AppScan, HP WebInspect and Cenzic Hailstorm</li>
</ul>
</li>
<li>Source Code Analysis
<ul>
<li>There are commercial options like Fortify or open source tools like the OWASP Yasca Project</li>
</ul>
</li>
<li>Client Side Web Proxies
<ul>
<li>Options include WebScarab, Burp Suite and Charles Proxy</li>
</ul>
</li>
<li>Other Tools
<ul>
<li>These include password crackers, hex editors, text extractors, browser plug-ins, integrated development environments, network mapping, network traffic analysis, and exploitation tools</li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
</ul>
<p><span style="text-decoration: underline;"><strong>What to Assess</strong></span></p>
<ul>
<li>Measuring an application's risk:
<ul>
<li>The Types of Users
<ul>
<li>Privileged Users, employees, suppliers, customers or the general public</li>
</ul>
</li>
<li>The Sensitivity of the Data
<ul>
<li>Intellectual Property, PII or other regulatory requirements</li>
</ul>
</li>
<li>Availability and Integrity Requirements
<ul>
<li>The impact to the business if compromised</li>
</ul>
</li>
<li>Technology and Environmental Consideration
<ul>
<li>What technologies are used, where is it deployed,...</li>
</ul>
</li>
</ul>
</li>
</ul>
<p><span style="text-decoration: underline;"><strong>Gather Necessary Information</strong></span></p>
<ul>
<li>Before starting an assessment you will need to gather important information:
<ul>
<li>Application contacts</li>
<li>Server contacts</li>
<li>The process for getting accounts</li>
<li>A description of what the application does</li>
<li>The description or diagram of the system architecture</li>
</ul>
</li>
</ul>
<p><span style="text-decoration: underline;"><strong>Assessment Planning Meeting</strong></span></p>
<ul>
<li>Meet with the application development and support teams:
<ul>
<li>Get a demonstration of the application</li>
<li>Review the information gathered to support the assessment</li>
<li>Discuss the testing process and ground rules
<ul>
<li>No changes to the code during testing</li>
<li>Backups of the application servers and databases</li>
<li>How to address system crashes during testing</li>
<li>Database corruption issues</li>
<li>Emails generated by the application</li>
</ul>
</li>
</ul>
</li>
</ul>
<p><span style="text-decoration: underline;"><strong>Testing Notifications</strong></span></p>
<ul>
<li>You should have a process to notify affected parties before the actual testing begins.
<ul>
<li>Key system contacts</li>
<li>Intrusion detection teams</li>
<li>Other assessors</li>
</ul>
</li>
<li>Information to include in the notification:
<ul>
<li>Source IP addresses</li>
<li>Target IP addresses, URL, system name</li>
<li>Testing schedule</li>
<li>Assessment team contacts</li>
</ul>
</li>
</ul>
<p><span style="text-decoration: underline;"><strong>Conducting the Assessment</strong></span></p>
<ul>
<li>If you are using automated scanning tools, beware of false positives and negatives
<ul>
<li>Pattern recognition has limitations</li>
<li>Combine various testing methods
<ul>
<li>Automated scanning</li>
<li>Code review</li>
<li>Manual testing</li>
</ul>
</li>
<li>Learn what your tools do and do not do well</li>
<li>Validate every finding</li>
<li>Keep detailed notes</li>
</ul>
</li>
</ul>
<p><span style="text-decoration: underline;"><strong>Establish Standards</strong></span></p>
<ul>
<li>Assessments performed by two different people or the same person over time, may result in the same finding being presented very differently
<ul>
<li>This may result in inconsistent descriptions of the vulnerability or different recommendations for remediation</li>
<li>Without standard findings you may also find it difficult to produce meaningful metrics about discovered vulnerabilities</li>
</ul>
</li>
</ul>
<p><span style="text-decoration: underline;"><strong>Standard Findings</strong></span></p>
<ul>
<li>Opinions about how to standardize software vulnerabilities are like noses, everyone has one.</li>
<li>At Boeing we have categorized vulnerabilities into approximately 70 standard findings like:
<ul>
<li>SQL Injection</li>
<li>Path Traversal</li>
<li>Session Fixation</li>
<li>Excessive Authentication Attempts</li>
<li>Forced Browsing</li>
<li>System information Leakage</li>
</ul>
</li>
</ul>
<p><span style="text-decoration: underline;"><strong>Data Elements for Standard Findings</strong></span></p>
<ul>
<li>Each finding is made up of the following data elements:
<ul>
<li>Name</li>
<li>Control Classification</li>
<li>Severity (Likelihood + Impact)</li>
<li>Company Policy References</li>
<li>Industry References</li>
<li>Summary Description (one sentence)</li>
<li>Impact Statement (one sentence)</li>
<li>Detailed Description (basic introduction to vulnerability + detailed description of how it manifests within their application)</li>
<li>Recommendation (standard remediation recommendations tied into SDLC practices)</li>
</ul>
</li>
</ul>
<p><span style="text-decoration: underline;"><strong>Control Classifications</strong></span></p>
<ul>
<li>We group individual vulnerabilities into control classifications.  This helps us determine how effective we are at implementing control types.</li>
<li>Our classifications:
<ul>
<li>Input and output controls</li>
<li>Authentication and password management</li>
<li>Authorization and access management</li>
<li>Sensitive information storage or transmission</li>
<li>System configuration and management</li>
<li>General coding errors</li>
</ul>
</li>
</ul>
<p><span style="text-decoration: underline;"><strong>Reporting Findings</strong></span></p>
<ul>
<li>Developing a standardized reporting template will allow you to deliver a consistent, branded message
<ul>
<li>Cover Page
<ul>
<li>Provides information necessary to identify the assessment, what was assessed and who the key people were</li>
</ul>
</li>
<li>Executive Summary</li>
<li>Findings Summary</li>
<li>Detailed Findings</li>
<li>Conclusion
<ul>
<li>Summary of assessment results, discussion of next steps and links to additional resources</li>
</ul>
</li>
<li>Appendixes
<ul>
<li>Information on how severity ratings are determined, description of control classifications</li>
</ul>
</li>
<li>Attachments
<ul>
<li>Typically raw scan files</li>
</ul>
</li>
</ul>
</li>
</ul>
<p><span style="text-decoration: underline;"><strong>Managing Corrective Actions</strong></span></p>
<ul>
<li>Once a report is issued you need a closed loop process to ensure serious issues are addressed.  Considerations include:
<ul>
<li>Tracking Findings:
<ul>
<li>Critical and high findings should be tracked to resolution</li>
<li>Medium findings are less straight forward</li>
<li>Low or informational findings may not be value added</li>
</ul>
</li>
<li>Customer Responses to Findings:
<ul>
<li>Implement a technical fix to address the finding</li>
<li>Implement a process fix to address the finding</li>
<li>The business formally accepts the risk of not remediating</li>
</ul>
</li>
</ul>
</li>
</ul>
<p><span style="text-decoration: underline;"><strong>When to Re-Evaluate an Application</strong></span></p>
<ul>
<li>Depending on the number of applications you support and the frequency with which they change you may need to establish re-evaluation guidelines.  Soem criteria to consider include:
<ul>
<li>Fixes to previously accepted risk</li>
<li>User population changes</li>
<li>Data sensitivity changes</li>
<li>Business's dependency on the application has increased</li>
<li>Authentication mechanism has changed</li>
<li>Authorization mechanism has changed</li>
</ul>
</li>
</ul>
<p><span style="text-decoration: underline;"><strong>Application Assessment Process Flow Version</strong></span></p>
<ul>
<li>Create a document that shows the process flow for both requested and targeted assessment (ask for document from presenter?)</li>
<li>Formal closure process</li>
</ul>
<p><span style="text-decoration: underline;"><strong>Conclusion</strong></span></p>
<ul>
<li>Building an assessment team from the ground up takes:
<ul>
<li>Executive Support</li>
<li>A lot of planning</li>
<li>Staffing</li>
<li>The right tools</li>
<li>Training</li>
<li>Standards</li>
<li>Supporting Processes</li>
</ul>
</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.webadminblog.com/index.php/2009/11/13/building-an-in-house-application-security-assessment-team/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>The 10 Least-Likely and Most Dangerous People on the Internet</title>
		<link>http://www.webadminblog.com/index.php/2009/11/13/the-10-least-likely-and-most-dangerous-people-on-the-internet/</link>
		<comments>http://www.webadminblog.com/index.php/2009/11/13/the-10-least-likely-and-most-dangerous-people-on-the-internet/#comments</comments>
		<pubDate>Fri, 13 Nov 2009 18:15:25 +0000</pubDate>
		<dc:creator>Josh</dc:creator>
				<category><![CDATA[OWASP AppSec DC 2009]]></category>
		<category><![CDATA[Security]]></category>
		<category><![CDATA[companies]]></category>
		<category><![CDATA[dangerous]]></category>
		<category><![CDATA[hansen]]></category>
		<category><![CDATA[internet]]></category>
		<category><![CDATA[most]]></category>
		<category><![CDATA[people]]></category>
		<category><![CDATA[robert]]></category>
		<category><![CDATA[rsnake]]></category>
		<category><![CDATA[worst]]></category>

		<guid isPermaLink="false">http://www.webadminblog.com/?p=338</guid>
		<description><![CDATA[This presentation was by Robert "RSnake" Hansen and was designed to be a fun conversation to have over drinks with security people.  I feel privileged to have been one of those security people who he talked about this with beforehand.  A very interesting topic about the non-obvious threats that may or may not exist.   [...]]]></description>
			<content:encoded><![CDATA[<p>This presentation was by Robert "RSnake" Hansen and was designed to be a fun conversation to have over drinks with security people.  I feel privileged to have been one of those security people who he talked about this with beforehand.  A very interesting topic about the non-obvious threats that may or may not exist.   My notes are below:</p>
<p><span style="text-decoration: underline;"><strong>Why?</strong></span></p>
<ul>
<li>Because I use the Internet</li>
<li>Because I'm a target</li>
<li>Because most people don't know</li>
<li>Because it's a fun conversation to have over drinks with security guys</li>
<li>Maybe/hopefully you'll continue this conversation instead of just arguing!</li>
</ul>
<p><span style="text-decoration: underline;"><strong>Ground Rules</strong></span></p>
<ul>
<li>Must be non-obvious and must be directly related to the Internet.  Not:
<ul>
<li>...the President or any other gov'ernment official</li>
<li>...or someone involved with SCADA Systems/Brick and mortar</li>
</ul>
</li>
<li>Must be in control of some infrastructure or software, etc</li>
<li>Must have the largest or widest negative impact possible for the least amount of work and least likelihood of being stopped</li>
<li>No magic - must be real and dangerous</li>
<li>They can't be "bad" people</li>
<li>You can't take this list too seriously</li>
</ul>
<p><span style="text-decoration: underline;"><strong>How I Got Started</strong></span></p>
<ul>
<li>Started thinking about core technologies that everything relies on</li>
<li>Made a big list</li>
<li>Shopped it around to dozens of security experts</li>
<li>Assigned an arbitrary, unscientific, hand-wavy, risk-rating system of my own design</li>
<li>Ranked them in order of how scared I am of them personally</li>
</ul>
<p><span style="text-decoration: underline;"><strong>#10</strong></span></p>
<ul>
<li>John Doe at C|Net</li>
<li>Job: Network Engineer</li>
<li>Why: Controls com.com</li>
<li>Impact: Largest collection point of typo traffic both for web adn email.
<ul>
<li>Doesn't require anything overt or even indefensible</li>
</ul>
</li>
</ul>
<p><span style="text-decoration: underline;"><strong>#9</strong></span></p>
<ul>
<li>Giorgio Maone of NoScript</li>
<li>Job: Consultant</li>
<li>Why: Controls NoScript</li>
<li>Impact: Nearly every security researcher on the planet - complete compromise.  In general the most paranoid people on earth would be compromised.
<ul>
<li>Builds arbitrary whitelists (ebay.com)</li>
<li>Has changed functionality to subvert Adblock Plus</li>
</ul>
</li>
</ul>
<p><span id="more-338"></span></p>
<p><span style="text-decoration: underline;"><strong>#8</strong></span></p>
<ul>
<li>Eddy Nigg at StartCom Ltd...
<ul>
<li>or John Doe at SSL Cert Reseller</li>
</ul>
</li>
<li>Job: Developer/QA</li>
<li>Why: Has access to create wildcard SSL certs for any domain</li>
<li>Impact: Would allow an attacker to steal any information they were able to man in the middle.
<ul>
<li>Previously demonstrated bad security</li>
<li>Much smaller and therefore less controlled than Verisign or Thawt</li>
</ul>
</li>
</ul>
<p><span style="text-decoration: underline;"><strong>#7</strong></span></p>
<ul>
<li>John Doe at Authorize.net</li>
<li>Job: Network admin/Server admin</li>
<li>Why: Has the ability to see the vast majority of online transactions.</li>
<li>Impact: Would allow an attacker to get PII and credit card information for the bulk of the US online shopping population and many international shoppers as well</li>
</ul>
<p><span style="text-decoration: underline;"><strong>#6 (RSnake recants this one after dinner last night)<br />
</strong></span></p>
<ul>
<li>John Doe at Mozilla</li>
<li>Job: Has check-in access</li>
<li>Why: Has the ability to change functionality within the browser, including installing new SSL certs.</li>
<li>Impact: Would allow the attacker to man in the middle and read all SSL traffic.
<ul>
<li>Almost no documentation</li>
<li>The verification process is very open and subject to tampering - meaning the update mechanism isn't probably much better</li>
</ul>
</li>
</ul>
<p><span style="text-decoration: underline;"><strong>#5</strong></span></p>
<ul>
<li>Chirag and Floyd at Adwords</li>
<li>Job: Whomever checks in code</li>
<li>Why: Has access to millions of websites because it is XSS</li>
<li>Impact: Can be leveraged for stealing cookies and hijacking web functionality
<ul>
<li>Is embedded in millions of web pages</li>
<li>Is already obfuscated heavily</li>
<li>Is seen daily by the bulk of the Internet population</li>
<li>Begs the question about CDNs in particular</li>
</ul>
</li>
</ul>
<p><span style="text-decoration: underline;"><strong>#4</strong></span></p>
<ul>
<li>John Doe at Google's Postini</li>
<li>Job: Programmer/Server admin</li>
<li>Why: Controls and can view the bulk of the world's email - including Gmail</li>
<li>Impact: Would enable attacker to steal credentials, spoof conversations, tamper with data, introduce malware, etc
<ul>
<li>More dangerous than Adwords because it's passive</li>
</ul>
</li>
</ul>
<p><span style="text-decoration: underline;"><strong>#3</strong></span></p>
<ul>
<li>John Doe at 1 Wilshire</li>
<li>Job: NOC Monkey</li>
<li>Why: One of the largest peering centers on the west coast</li>
<li>Impact: Can tamper with machines, install malware, inject malicious traffic, intercept communications, etc...
<ul>
<li>Most amount of data links in one physical location</li>
<li>CIA has already demonstrated interest in choke points in San Francisco as outed by Mark Klein</li>
</ul>
</li>
</ul>
<p><span style="text-decoration: underline;"><strong>#2</strong></span></p>
<ul>
<li>John Doe at gtei.net</li>
<li>Job: Network Admin/Server Admin</li>
<li>Why: Controls 4.2.2.2 and 4.2.2.3</li>
<li>Impact: Can be used to subvert a huge chunk of Internet traffic by giving erroneous DNS answers
<ul>
<li>Used by default in many devices</li>
<li>Used by tons of individuals and companies who are lazy</li>
<li>Can be used in very targeted attacks for a very short period of time</li>
</ul>
</li>
</ul>
<p><span style="text-decoration: underline;"><strong>#1</strong></span></p>
<ul>
<li>John Doe at iDefense</li>
<li>Job: Security Engineer/Consultant</li>
<li>Why: Consults for and is owned by Verisign, who owns Network Solutions, who controls authoritative DNS for ".com"</li>
<li>Impact: Would allow the bulk of the Internet traffic to be modified
<ul>
<li>Heavily monitored and protected but still could lead to temporary and targeted compromise</li>
<li>More dangerous than 4.2.2.2 because it controls all of .com and not just a subset of users</li>
</ul>
</li>
</ul>
<p><span style="text-decoration: underline;"><strong>Disappointed?  Upset?</strong></span></p>
<p>The room is full of people who care that your feelings are hurt.</p>
<p>The List</p>
<ol>
<li>John Doe at iDefense</li>
<li>John Doe at gtei.net</li>
<li>John Doe at 1 Wilshire</li>
<li>John Doe at Google's Postini</li>
<li>Chirag and Floyd at Adwords</li>
<li>John Doe at Mozilla</li>
<li>John Doe at Authorize.net</li>
<li>Eddy Nigg at StartCom Ltd.</li>
<li>Giorgio Maone of NoScript</li>
<li>John Doe at C|Net</li>
</ol>
<p><span style="text-decoration: underline;"><strong>Questions/Comments?</strong></span></p>
<ul>
<li>Robert Hansen
<ul>
<li>Robert_at_sectheory d0t c0m</li>
<li>http://www.sectheory.com</li>
<li>http://ha.ckers.org/</li>
<li>Detecting Malice
<ul>
<li>http://www.detectmalice.com/</li>
</ul>
</li>
<li>XSS Book: XSS Exploits and Defense
<ul>
<li>ISBN: 1597491543</li>
</ul>
</li>
</ul>
</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.webadminblog.com/index.php/2009/11/13/the-10-least-likely-and-most-dangerous-people-on-the-internet/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>OWASP Top 10 &#8211; 2010</title>
		<link>http://www.webadminblog.com/index.php/2009/11/13/owasp-top-10-2010/</link>
		<comments>http://www.webadminblog.com/index.php/2009/11/13/owasp-top-10-2010/#comments</comments>
		<pubDate>Fri, 13 Nov 2009 16:25:53 +0000</pubDate>
		<dc:creator>Josh</dc:creator>
				<category><![CDATA[OWASP AppSec DC 2009]]></category>
		<category><![CDATA[Web Application Security]]></category>
		<category><![CDATA[2010]]></category>
		<category><![CDATA[application]]></category>
		<category><![CDATA[authentication]]></category>
		<category><![CDATA[broken]]></category>
		<category><![CDATA[critical]]></category>
		<category><![CDATA[cross]]></category>
		<category><![CDATA[direct]]></category>
		<category><![CDATA[forgery]]></category>
		<category><![CDATA[forwards]]></category>
		<category><![CDATA[injection]]></category>
		<category><![CDATA[insecure]]></category>
		<category><![CDATA[Management]]></category>
		<category><![CDATA[misconfiguration]]></category>
		<category><![CDATA[object]]></category>
		<category><![CDATA[owasp]]></category>
		<category><![CDATA[redirects]]></category>
		<category><![CDATA[reference]]></category>
		<category><![CDATA[request]]></category>
		<category><![CDATA[risks]]></category>
		<category><![CDATA[scripting]]></category>
		<category><![CDATA[Security]]></category>
		<category><![CDATA[session]]></category>
		<category><![CDATA[site]]></category>
		<category><![CDATA[sql]]></category>
		<category><![CDATA[top 10]]></category>
		<category><![CDATA[unvalidated]]></category>
		<category><![CDATA[web]]></category>
		<category><![CDATA[xss]]></category>

		<guid isPermaLink="false">http://www.webadminblog.com/?p=336</guid>
		<description><![CDATA[This presentation was by Dave WIchers, COO of Aspect Security and an OWASP Board Member.  My notes are below: What's Changed? It's about Risks, not just vulnerabilities New title is: "The Top 10 Most Critical Web Application Security Risks" OWASP Top 10 Risk Rating Methodology Based on the OWASP Risk Rating Methodology, used to prioritize [...]]]></description>
			<content:encoded><![CDATA[<p>This presentation was by Dave WIchers, COO of Aspect Security and an OWASP Board Member.  My notes are below:</p>
<p><span style="text-decoration: underline;"><strong>What's Changed?</strong></span></p>
<ul>
<li>It's about Risks, not just vulnerabilities
<ul>
<li>New title is: "The Top 10 Most Critical Web Application Security Risks"</li>
</ul>
</li>
<li>OWASP Top 10 Risk Rating Methodology
<ul>
<li>Based on the OWASP Risk Rating Methodology, used to prioritize Top 10</li>
</ul>
</li>
<li>2 Risks Added, 2 Dropped
<ul>
<li>Added: A6 - Security Misconfiguration
<ul>
<li>Was A10 in 2004 Top 10: Insecure Configuration Management</li>
</ul>
</li>
<li>Added: A8 - Unvalidated Redirects and Forwards
<ul>
<li>Relatively common and VERY dangerous flaw that is not well know</li>
</ul>
</li>
<li>Removed: A3 - Malicious File Execution
<ul>
<li>Primarily a PHP flaw that is dropping in prevalence</li>
</ul>
</li>
<li>Removed: A6 - Information Leakage and Improper Error Handling
<ul>
<li>A very prevalent flaw, that does not introduce much risk (normally)</li>
</ul>
</li>
</ul>
</li>
</ul>
<ol>
<li><strong>A1- </strong><strong>Injection: </strong>Tricking an application into including unintended commands in the data sent to an interpreter. (http://www.owasp.org/index.php/SQL_Injection_Prevention_Cheat_Sheet)</li>
<li><strong>A2 - Cross Site Scripting (XSS):</strong> Raw data from attacker is sent to an innocent user's browser.  For large chunks of user supplied HTML, use OWASP's AntiSamy to sanitize this HTML to make it safe.  (http://www.owasp.org/index.php/XSS_(Cross_Site_Scripting)_Prevention_Cheat_Sheet)</li>
<li><strong>A3 - Broken Authentication and Session Management:</strong> Means credentials have to go with every request.  Should use SSL for everything requiring authentication.</li>
<li><strong>A4 - Insecure Direct Object Reference:</strong> This is part of enforcing proper "Authorization", along with A7 - Failure to Restrict URL Access.</li>
<li><strong>A5 - Cross Site Request Forgery (CSRF):</strong> An attack where the victim's browser is tricked into issuing a command to a vulnerable web application.  Vulnerability is caused by browsers automatically including user authentication data with each request.  (Check out OWASP CSRFGuard, OWASP CSRFTester, http://www.owasp.org/index.php/CSRF_Prevention_Cheat_Sheet)</li>
<li><strong>A6 - Security Misconfiguration:</strong> All through the network and platform.  Don't forget the development environment.  Think of all the places your source code goes.  All credentials should change in production.</li>
<li><strong>A7 - Failure to Restrict URL Access:</strong> This is part of enforcing proper "authorization", along with A4 - Insecure Direct Object References.</li>
<li><strong>A8 - Unvalidated Redirects and Forwards:</strong> Web application redirects are very common and frequently include user supplied parameters in the destination URL.  If they aren't validated, attacker can send victim to a site of their choice.</li>
<li><strong>A9 - Insecure Cryptographic Storage:</strong> Storing sensitive data insecurely.  Failure to identify all sensitive data.  Failure to identify all the places that this sensitive data gets stored.  Failure to properly protect this data in every location.</li>
<li><strong>A10 - Insufficient Transport Layer Protection</strong></li>
</ol>
<p><span style="text-decoration: underline;"><strong>OWASP Top 10 Risk Rating Methodology</strong></span></p>
<ul>
<li>Attack Vector (How hard for an attacker to use this flaw - 1 (Easy), 2 (Average), 3 (Difficult))</li>
<li>Weakness Prevalence (How often is it found - 1 (Widespread), 2 (Common), 3 (Uncommon))</li>
<li>Weakness Detectability (How hard is it for an attacker to find the flaw - 1 (Easy),  2 (Average), 3 (Difficult))</li>
<li>Technical Impact (1 (Severe), 2 (Moderate), 3 (Minor))</li>
</ul>
<p>This is generic across the internet, not specific to any organization.</p>
<p>Started a new "Prevention Cheatsheet Series" that the Top 10 references (XSS, SQL Injection, Transport Layer Security, CSRF, Direct Object Reference).</p>
<p>What is actually being released is RC1 of the Top 10 and they are encouraging people to provide comments through the end of the year and then use that feedback to post the final Top 10 in January 2010.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.webadminblog.com/index.php/2009/11/13/owasp-top-10-2010/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Application Security Metrics from the Organization on Down to the Vulnerabilities</title>
		<link>http://www.webadminblog.com/index.php/2009/11/13/application-security-metrics-from-the-organization-on-down-to-the-vulnerabilities/</link>
		<comments>http://www.webadminblog.com/index.php/2009/11/13/application-security-metrics-from-the-organization-on-down-to-the-vulnerabilities/#comments</comments>
		<pubDate>Fri, 13 Nov 2009 15:35:08 +0000</pubDate>
		<dc:creator>Josh</dc:creator>
				<category><![CDATA[Metrics]]></category>
		<category><![CDATA[OWASP AppSec DC 2009]]></category>
		<category><![CDATA[application]]></category>
		<category><![CDATA[attack]]></category>
		<category><![CDATA[metrics]]></category>
		<category><![CDATA[probability]]></category>
		<category><![CDATA[Security]]></category>
		<category><![CDATA[vulnerability]]></category>

		<guid isPermaLink="false">http://www.webadminblog.com/?p=334</guid>
		<description><![CDATA[This presentation was by Chris Wysopal, the CTO of Veracode.  My notes are below: "To measure is to know." - James Clerk Maxwell "Measurement motivates." - John Kenneth Galbraith Metrics do Matter Metrics quantify the otherwise unquantifiable Metrics can show trends and trends matter more than measurements do Metrics can show if we are doing [...]]]></description>
			<content:encoded><![CDATA[<p>This presentation was by Chris Wysopal, the CTO of Veracode.  My notes are below:</p>
<p>"To measure is to know." - James Clerk Maxwell</p>
<p>"Measurement motivates." - John Kenneth Galbraith</p>
<p><span style="text-decoration: underline;"><strong>Metrics do Matter</strong></span></p>
<ol>
<li>Metrics quantify the otherwise unquantifiable</li>
<li>Metrics can show trends and trends matter more than measurements do</li>
<li>Metrics can show if we are doing a good job or bad job</li>
<li>Metrics can show if you have no idea where you are</li>
<li>Metrics establish where "You are here" really is</li>
<li>Metrics build bridges to managers</li>
<li>Metrics allow cross sectional comparisons</li>
<li>Metrics set targets</li>
<li>Metrics benchmark yourself against the opposition</li>
<li>Metrics create curiosity</li>
</ol>
<p><span style="text-decoration: underline;"><strong>Metrics Don't Matter (Mike Rothman)<br />
</strong></span></p>
<ul>
<li>It is too easy to count things for no purpose other than to count them</li>
<li>You cannot measure security so stop</li>
<li>This following is all that matters and you can't map security metrics to them:
<ul>
<li>Maintenance of availability</li>
<li>Preservation of wealth</li>
<li>Limitation on corporate liability</li>
<li>Compliance</li>
<li>Shepherding the corporate brand</li>
</ul>
</li>
<li>Cost of measurement not worth the benefit</li>
</ul>
<p>Bad metrics are worse than no metrics</p>
<p><span style="text-decoration: underline;"><strong>Security Metrics Can Drive Executive Decision Making</strong></span></p>
<ul>
<li>How secure am I?</li>
<li>Am I better off than this time last year?</li>
<li>Am I spending the right about of money?</li>
<li>How do I compare to my peers?</li>
<li>What risk transfer options to I have?</li>
</ul>
<p><span style="text-decoration: underline;"><strong>Goals of Application Security Metrics</strong></span></p>
<ul>
<li>Provide quantifiable information to support enterprise risk management and risk-based decision making</li>
<li>Articulate progress towards goals and objectives</li>
<li>Provides a repeatable, quantifiable way to assess, compare, and track improvements in assurance</li>
<li>Focus activities on risk mitigation in order of priority and exploitability</li>
<li>Facilitate adoption and improvement of secure software design and development processes</li>
<li>Provide and objective means of comparing and benchmarking projects, divisions, organizations, and vendor products</li>
</ul>
<p><span id="more-334"></span></p>
<p><span style="text-decoration: underline;"><strong>Use Enumerations</strong></span></p>
<ul>
<li>Enumerations help identify specific software-related items that can be counted, aggregated, evaluated over time</li>
<li>CVE - Common Vulnerabilities and Exposures</li>
<li>CWE - Common Weakness Enumeration</li>
<li>CAPEC - Common Attack Pattern Enumeration and Classification</li>
</ul>
<p><span style="text-decoration: underline;"><strong>Organizational Metrics</strong></span></p>
<ul>
<li>Percentage of application inventory developed with SDLC (which version of SDLC?)</li>
<li>Business criticality of each application in inventory</li>
<li>Percentage of application inventory tested for security (what level of testing?)</li>
<li>Percentage of application inventory remediated and meeting assurance requirements</li>
<li>Roll up of testing results</li>
</ul>
<p><span style="text-decoration: underline;"><strong>Organizational Metrics</strong></span></p>
<ul>
<li>Cost to fix defects at different points in the software lifecycle</li>
<li>Cost of data breaches related to software vulnerabilities</li>
</ul>
<p><span style="text-decoration: underline;"><strong>Testing Metrics</strong></span></p>
<ul>
<li>Number of threats identified in threat model</li>
<li>Size of attack surface identified</li>
<li>Percentage code coverage (static and dynamic)</li>
<li>Coverage of defect categories (CWE)</li>
<li>Coverage of attack pattern categories (CAPEC)</li>
</ul>
<p>SANS Top 25 Mapped to Application Security Methods (CWE, Title, Education?, Manual Process?, Tools?, Threat Model?)</p>
<p>Weakness Class Prevalence based on 2008 CVE data (Mitre?)</p>
<p><span style="text-decoration: underline;"><strong>Basic Metrics: Defect Counts</strong></span></p>
<ul>
<li>Design and implementation defects
<ul>
<li>CWE identifier</li>
<li>CVSS score</li>
<li>Severity</li>
<li>Likelihood of exploit</li>
</ul>
</li>
</ul>
<p><span style="text-decoration: underline;"><strong>Automated Code Analysis Techniques</strong></span></p>
<ul>
<li>Static Analysis (White Box Testing)</li>
<li>Dynamic Analysis (Black Box Testing)</li>
</ul>
<p><span style="text-decoration: underline;"><strong>Manual Analysis</strong></span></p>
<ul>
<li>Manual Penetration Testing</li>
<li>Manual Code Review</li>
<li>Manual Design Review</li>
<li>Threat Modeling</li>
</ul>
<p><span style="text-decoration: underline;"><strong>WASC Web Application Security Statistics Project 2008</strong></span></p>
<ul>
<li>Goals
<ul>
<li>Identify the prevalence and probability of different vulnerability classes</li>
<li>Compare testing methodologies against what types of vulnerabilities they are likely to identify</li>
</ul>
</li>
<li>Summary
<ul>
<li>12186 web applications with 97554 detected vulnerabilities</li>
<li>More than 13% of all reviewed sites can be compromised completely automatically</li>
<li>About 49% of web applications contain vulnerabilities of high risk level detected by scanning</li>
<li>Manual and automated assessment by white box method allows to detect these high risk level vulnerabilities with the probability up to 80-96%</li>
<li>99% of web applications are not compliant with PCI DSS standard</li>
</ul>
</li>
<li>Compare to 2007 WASC Project
<ul>
<li>Number of sites with SQL Injection fell by 13%</li>
<li>Number of sites with Cross-site Scripting fell 20%</li>
<li>Number of sites with different types of Information Leakage rose by 24%</li>
<li>Probability to compromise a host automatically rose from 7 to 13%</li>
</ul>
</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.webadminblog.com/index.php/2009/11/13/application-security-metrics-from-the-organization-on-down-to-the-vulnerabilities/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Securing the Core JEE Patterns</title>
		<link>http://www.webadminblog.com/index.php/2009/11/13/securing-the-core-jee-patterns/</link>
		<comments>http://www.webadminblog.com/index.php/2009/11/13/securing-the-core-jee-patterns/#comments</comments>
		<pubDate>Fri, 13 Nov 2009 14:45:24 +0000</pubDate>
		<dc:creator>Josh</dc:creator>
				<category><![CDATA[OWASP AppSec DC 2009]]></category>
		<category><![CDATA[Web Application Security]]></category>
		<category><![CDATA[analysis]]></category>
		<category><![CDATA[best]]></category>
		<category><![CDATA[core]]></category>
		<category><![CDATA[design]]></category>
		<category><![CDATA[j2ee]]></category>
		<category><![CDATA[JEE]]></category>
		<category><![CDATA[pattern]]></category>
		<category><![CDATA[patterns]]></category>
		<category><![CDATA[practices]]></category>
		<category><![CDATA[project]]></category>
		<category><![CDATA[secure]]></category>
		<category><![CDATA[securing]]></category>
		<category><![CDATA[Security]]></category>
		<category><![CDATA[strategies]]></category>

		<guid isPermaLink="false">http://www.webadminblog.com/?p=332</guid>
		<description><![CDATA[This presentation was by Rohit Sethi, the Project Leader for the Secure Pattern Analysis Project at OWASP and he works at Security Compass, a security analysis and training company.  My notes from the session are below: Before anyone starts building complex systems, they need to design. We create threat models on completed designs. What about [...]]]></description>
			<content:encoded><![CDATA[<p>This presentation was by Rohit Sethi, the Project Leader for the Secure Pattern Analysis Project at OWASP and he works at Security Compass, a security analysis and training company.  My notes from the session are below:</p>
<ul>
<li>Before anyone starts building complex systems, they need to design.</li>
<li>We create threat models on completed designs.</li>
<li>What about during design?</li>
<li>Book: "Core J2EE Patterns Best Practices and Design Strategies"</li>
<li>If you use J2EE development, chances are you're using patterns documented here</li>
<li>Core J2EE patterns are used extensively</li>
<li>Patterns are used in JSF, Velocity, Struts, Tapestry, Spring, and Proprietary Frameworks</li>
</ul>
<p><span style="text-decoration: underline;"><strong>Example: Project: Analyze Patterns</strong></span></p>
<p>Use to Implement:</p>
<ul>
<li>Synchronization Tokens as Anti-CSRF Mechanism</li>
<li>Page-level authorizations</li>
</ul>
<p>Avoid:</p>
<ul>
<li>XSLT and Xpath vulnerabilities</li>
<li>XML Denial of Service</li>
<li>Disclosure of information in SOAP faults</li>
<li>Publishing WSDL files</li>
<li>Unhandled commands</li>
<li>Unauthorized commands</li>
</ul>
<p><span style="text-decoration: underline;"><strong>Project Goals</strong></span></p>
<ul>
<li>Analyze patterns for security pitfalls to avoid</li>
<li>Determine how patterns can implement security controls</li>
<li>Provide advice portable to most frameworks</li>
</ul>
<p>A security pattern is not the same as a security analysis of a pattern.</p>
<p><span style="text-decoration: underline;"><strong>Uses</strong></span></p>
<ul>
<li>Designing new web application frameworks (make the next generation of frameworks secure by default)</li>
<li>Designing new apps that use the patterns</li>
<li>Source code review of existing apps</li>
<li>Runtime assessment of existing apps</li>
<li>Integrate with threat modeling of new or existing apps</li>
</ul>
<p><span style="text-decoration: underline;"><strong>You can help:</strong></span></p>
<ul>
<li>Tell developers</li>
<li>Improve the analysis</li>
</ul>
<p><span style="text-decoration: underline;"><strong>Next Steps?</strong></span></p>
<ul>
<li>Add code review and examples to the existing pattern book</li>
<li>Look at other pattern books to see if there are other patterns that we should analyze</li>
</ul>
<p><span style="text-decoration: underline;"><strong>Our Dream</strong></span></p>
<ul>
<li>New web application framework idea + Design-time security analysis = Secure-by-default web application framework</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.webadminblog.com/index.php/2009/11/13/securing-the-core-jee-patterns/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
