<?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; owasp</title>
	<atom:link href="http://www.webadminblog.com/index.php/tag/owasp/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.webadminblog.com</link>
	<description>Real Web Admins.  Real World Experience.</description>
	<lastBuildDate>Wed, 25 May 2011 03:02:28 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<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>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>OWASP Live CD: An open environment for Web Application Security</title>
		<link>http://www.webadminblog.com/index.php/2009/11/12/owasp-live-cd-an-open-environment-for-web-application-security/</link>
		<comments>http://www.webadminblog.com/index.php/2009/11/12/owasp-live-cd-an-open-environment-for-web-application-security/#comments</comments>
		<pubDate>Thu, 12 Nov 2009 21:45:43 +0000</pubDate>
		<dc:creator>Josh</dc:creator>
				<category><![CDATA[OWASP AppSec DC 2009]]></category>
		<category><![CDATA[Web Application Security]]></category>
		<category><![CDATA[cd]]></category>
		<category><![CDATA[live]]></category>
		<category><![CDATA[livecd]]></category>
		<category><![CDATA[owasp]]></category>

		<guid isPermaLink="false">http://www.webadminblog.com/?p=313</guid>
		<description><![CDATA[General Goals Going Forward Showcase great OWASP projects Provide the best, freely distributable application security tools/documents Ensure that the tools provided are easy to use as possible Continue to document how to use the tools and how the modules were created Align the tools with the OWASP Testing Guide v3 to provide maximum coverage Awesome [...]]]></description>
			<content:encoded><![CDATA[<p><span style="text-decoration: underline;"><strong>General Goals Going Forward<br />
</strong></span></p>
<ul>
<li>Showcase great OWASP projects</li>
<li>Provide the best, freely distributable application security tools/documents</li>
<li>Ensure that the tools provided are easy to use as possible</li>
<li>Continue to document how to use the tools and how the modules were created</li>
<li>Align the tools with the OWASP Testing Guide v3 to provide maximum coverage</li>
<li>Awesome training environment</li>
</ul>
<p>330,081 total downloads as of 10/5/2009</p>
<p>~5,094 GB of bandwidth since launch (7/2008)</p>
<p>Most downloads in 1 month = 81,607 (3/2009)</p>
<p><span style="text-decoration: underline;"><strong>Available Tools: 26 "Significant"</strong></span></p>
<ul>
<li>Web Scarab</li>
<li>Web Goat</li>
<li>CAL9000</li>
<li>JBroFuzz</li>
<li>WSFuzzer</li>
<li>Wapiti</li>
<li>Burp Suite</li>
<li>Paro</li>
<li>Spike Proxy</li>
<li>Rat Proxy</li>
<li>w3af</li>
<li>Grendel Scan</li>
<li>Nikto</li>
<li>nmap</li>
<li>Zenmap</li>
<li>sqlmap</li>
<li>SQL Brute</li>
<li>Metasploit</li>
<li>....</li>
</ul>
<p><span style="text-decoration: underline;"><strong>OWASP Documents</strong></span></p>
<ul>
<li>Testing Guide v2 &amp; v3</li>
<li>CLASP</li>
<li>Top 10 for 2007</li>
<li>Top 10 for Java Enterprise Edition</li>
<li>AppSec FAQ</li>
<li>Books (CLASP, Top 10 2007, Top 10 + Testing + Legal, WebGoat and Web Scarab, Guide 2.0, Code Review)</li>
<li>WASC Threat Classification</li>
<li>OSTTMM</li>
</ul>
<p><span style="text-decoration: underline;"><strong>Where are we going?</strong></span></p>
<ul>
<li>Project Tindy (Live CD installed to a virtual hard drive, persistence, VMware, VirtualBox, and Paralles)</li>
<li>Project Aqua Dog (OWASP Live CD on a USB drive, VM install + VM engine + USB drive = mobile app sec platform, currently testing, Qemu is the current VM engine)</li>
<li>Much easier URL - AppSecLive.org</li>
<li>Community site around OWASP Live CD</li>
<li>Online Tool DB (331+ tools)</li>
<li>New release will be based on Ubuntu instead of SLAX</li>
<li>Create .deb packages for every tool</li>
<li>Create a repository for packages</li>
<li>Add dependency info to packages</li>
<li>Brings the 26,000+ existing packages to the Live CD</li>
<li>More fun cool stuff like Wubi (install Ubuntu onto an existing windows desktop to be able to dual-boot without repartitioning windows)</li>
</ul>
<p><span style="text-decoration: underline;"><strong>Design Goals</strong></span></p>
<ul>
<li>Easy for users to keep updated</li>
<li>Easy for project lead to keep updated</li>
<li>Easy to produce releases (every 6 months)
<ul>
<li>Crank out new .debs when new tool releases</li>
<li>Continually updating repository</li>
</ul>
</li>
<li>Focused on just application security - not general pen testing
<ul>
<li>Both dynamic and static tools</li>
<li>Developer tools also</li>
</ul>
</li>
</ul>
<p><span style="text-decoration: underline;"><strong>OWASP Education Project</strong></span></p>
<ul>
<li>Natural ties between these projects
<ul>
<li>Already being used for training classes</li>
<li>Need to coordinate efforts to make sure critical pieces aren't missing form the OWASP Live CD</li>
<li>Training environment could be customized for a particular class thanks to the individual modules
<ul>
<li>Student gets to take the environment home</li>
</ul>
</li>
<li>As more modules come online, even more potential for cross pollination</li>
<li>Builder tools/docs only expand its reach</li>
<li>Kiosk mode?</li>
</ul>
</li>
</ul>
<p><span style="text-decoration: underline;"><strong>Crazy Pie in the Sky Idea</strong></span></p>
<ul>
<li>.deb package + auto update + categories = CD profiles</li>
<li>Allows someone to customize the OWASP Live CD to their needs</li>
<li>Example Profiles:
<ul>
<li>Whitebox testing</li>
<li>Blackbox testing</li>
<li>Static analysis</li>
<li>Targe specific (Java, .Net)</li>
</ul>
</li>
</ul>
<p><span style="text-decoration: underline;"><strong>What have you done for me lately?</strong></span></p>
<ul>
<li>For Testers/QA testers
<ul>
<li>Wide array of tools, preconfigured and ready to go</li>
<li>Nice "jump kit" to keep in your laptop bag</li>
<li>Great platform to test or learn the tools</li>
</ul>
</li>
<li>For App Sec Professionals
<ul>
<li>Both dynamic and static tool coverage</li>
<li>Ability to customize the job your on</li>
</ul>
</li>
<li>For Trainers
<ul>
<li>Ready to go environment for students</li>
<li>Ability to customize for the class</li>
</ul>
</li>
</ul>
<p><span style="text-decoration: underline;"><strong>Get Involved</strong></span></p>
<ul>
<li>Join the mailing list</li>
<li>Post on hte AppSecLive.org forums</li>
<li>Download an ISO or VM
<ul>
<li>Complain or praise, suggest improvements</li>
<li>Submit a bug to the Google Code site</li>
</ul>
</li>
<li>Create a deb package of a tool
<ul>
<li>How I create the debs will be documented, command by command and I'll answer questions gladly</li>
</ul>
</li>
<li>Suggest missing tools, docs, or links</li>
<li>Do a screencast of one of the tools being used on the OWASP Live CD</li>
</ul>
<p><span style="text-decoration: underline;"><strong>Learn More</strong></span></p>
<ul>
<li>Google "OWASP Live CD"</li>
<li>Download &amp; Community Site (http://AppSecLive.org)</li>
</ul>
<p>Everything is stored in /opt/owasp</p>
]]></content:encoded>
			<wfw:commentRss>http://www.webadminblog.com/index.php/2009/11/12/owasp-live-cd-an-open-environment-for-web-application-security/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>The ESAPI Web Application Firewall</title>
		<link>http://www.webadminblog.com/index.php/2009/11/12/the-esapi-web-application-firewall/</link>
		<comments>http://www.webadminblog.com/index.php/2009/11/12/the-esapi-web-application-firewall/#comments</comments>
		<pubDate>Thu, 12 Nov 2009 20:55:54 +0000</pubDate>
		<dc:creator>Josh</dc:creator>
				<category><![CDATA[OWASP AppSec DC 2009]]></category>
		<category><![CDATA[Web Application Security]]></category>
		<category><![CDATA[application]]></category>
		<category><![CDATA[esapi]]></category>
		<category><![CDATA[firewall]]></category>
		<category><![CDATA[owasp]]></category>
		<category><![CDATA[waf]]></category>
		<category><![CDATA[web]]></category>

		<guid isPermaLink="false">http://www.webadminblog.com/?p=309</guid>
		<description><![CDATA[This presentation was by Arshan Dabirsiaghi and was about the OWASP ESAPI Web Application Firewall (WAF) project.  My notes are below: WAF Fallacies (at least in regards to OWASP ESAPI WAF) WAFs add attack surface WAFs can create culture problems WAFs can't fix business logic vulnerabilities WAFs are way too expensive WAFs complicate networks Why [...]]]></description>
			<content:encoded><![CDATA[<p>This presentation was by Arshan Dabirsiaghi and was about the OWASP ESAPI Web Application Firewall (WAF) project.  My notes are below:</p>
<p><span style="text-decoration: underline;"><strong>WAF Fallacies (at least in regards to OWASP ESAPI WAF)</strong></span></p>
<ul>
<li>WAFs add attack surface</li>
<li>WAFs can create culture problems</li>
<li>WAFs can't fix business logic vulnerabilities</li>
<li>WAFs are way too expensive</li>
<li>WAFs complicate networks</li>
</ul>
<p><span style="text-decoration: underline;"><strong>Why fix in ESAPI WAF vs Fix in code?</strong></span></p>
<ul>
<li>Changing in ESAPI WAF is just a text file</li>
<li>Shorter gap between time discovered and WAF fix vs code fix</li>
</ul>
<p><span style="text-decoration: underline;"><strong>Advantages of WAF</strong></span></p>
<ul>
<li>Performance - Only your rules are checked, plus state is already managed by the app server</li>
<li>Capability - being closer to the app lets us do more</li>
<li>Process - Rules are closer to application owner, shortening discovery-to-patch time, also fix-to-patch-removal time</li>
</ul>
<p>Principle: Make common tasks easy, uncommon tasks possible</p>
<p>General virtual patching functionality is easy to understand</p>
<p>Ability to write custom script rules as well "bean-shell-rules"<br />
Fixing Injection Flaws is easy</p>
<p>Can fix business logic flaws with the WAF (missing authentication, missing functional access control, missing data layer access control)</p>
<p>Can add "outbound" security as well</p>
<ul>
<li>Add anti-clickjacking header</li>
<li>Set uniform content-type</li>
<li>Add HttpOnly flag</li>
<li>Add secure flag</li>
<li>Detect outbound information</li>
<li>Replace outbound information</li>
</ul>
<p>Takes advantage of early failing to make rules as optimized as possible</p>
<p>Now we see the tool demonstrated with several different vulnerabilities in a real-world application (JForum):</p>
<ul>
<li>Cross-Site Scripting Flaw (JForum XSS flaw is unable to be fixed with a WAF because of dynamic URLs)</li>
<li>Unchecked Redirect</li>
<li>Add HttpOnly</li>
<li>Add anti-clickjacking header</li>
<li>Privilege escalation</li>
</ul>
<p><span style="text-decoration: underline;"><strong>3 Different WAF Modes</strong></span></p>
<ul>
<li>Log</li>
<li>Block</li>
<li>Redirect</li>
</ul>
<p>Latency with all of the rules turned on is about 5%.  With selected rules is closer to 0%.  Basically an order of n magnitude where n is the number of rules enabled.  Comes out to milliseconds.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.webadminblog.com/index.php/2009/11/12/the-esapi-web-application-firewall/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Software Assurance Maturity Model (SAMM)</title>
		<link>http://www.webadminblog.com/index.php/2009/11/12/software-assurance-maturity-model-samm/</link>
		<comments>http://www.webadminblog.com/index.php/2009/11/12/software-assurance-maturity-model-samm/#comments</comments>
		<pubDate>Thu, 12 Nov 2009 18:15:32 +0000</pubDate>
		<dc:creator>Josh</dc:creator>
				<category><![CDATA[OWASP AppSec DC 2009]]></category>
		<category><![CDATA[Web Application Security]]></category>
		<category><![CDATA[assurance]]></category>
		<category><![CDATA[maturity]]></category>
		<category><![CDATA[model]]></category>
		<category><![CDATA[owasp]]></category>
		<category><![CDATA[samm]]></category>
		<category><![CDATA[software]]></category>

		<guid isPermaLink="false">http://www.webadminblog.com/?p=303</guid>
		<description><![CDATA[This presentation on the OWASP Software Assurance Maturity Model (SAMM) was by Pravir Chandra, the project lead.  I was actually really excited in seeing this topic on the schedule as SAMM is something that I've been toying with for my organization for a while.  It's actually a very simple and intuitive approach to how to [...]]]></description>
			<content:encoded><![CDATA[<p>This presentation on the OWASP Software Assurance Maturity Model (SAMM) was by Pravir Chandra, the project lead.  I was actually really excited in seeing this topic on the schedule as SAMM is something that I've been toying with for my organization for a while.  It's actually a very simple and intuitive approach to how to assess where your organization is at as far as software maturity, where you want to get to, and how to get there.  My notes on this presentation are below:</p>
<p>By the end of the presentation should be able to....</p>
<ul>
<li>Evaluate an organizations existing software security practices</li>
<li>Build a balanced software security assurance program in well-defined iterations</li>
<li>Demonstrate concrete improvements to a security assessment program</li>
<li>Define and measure security-related activities throughout the organization</li>
</ul>
<p><span style="text-decoration: underline;"><strong>Lessons Learned</strong></span></p>
<ul>
<li>Microsoft SDL
<ul>
<li>Heavyweight, good for large ISVs</li>
</ul>
</li>
<li>Touchpoints
<ul>
<li>High-level, not enough details to execute against</li>
</ul>
</li>
<li>CLASP
<ul>
<li>Large collection of activities, but no priority ordering</li>
</ul>
</li>
<li>ALL: Good for experts to use as a guide, but hard for non-security folkds to use off the shelf</li>
</ul>
<p><span style="text-decoration: underline;"><strong>Drivers for a Maturity Model</strong></span></p>
<ul>
<li>An organization's behavior changes slowly over time
<ul>
<li>Changes must be iterative while working toward long-term goals</li>
</ul>
</li>
<li>There is no single recipe that works for all organizations
<ul>
<li>A solution must enable risk-based choices tailored to the organization</li>
</ul>
</li>
<li>Guidance related to security activities must be prescriptive
<ul>
<li>A solution must provide enough details for non-security-people</li>
</ul>
</li>
<li>Overall, must be simple, well-defined, and measurable</li>
</ul>
<p>Therefore, a viable model must...</p>
<ul>
<li>Define building blocks for an assurance program
<ul>
<li>Delineate all functions within an organization that could be improved over time</li>
</ul>
</li>
<li>Define how building blocks should be combined
<ul>
<li>Make creating change in iterations a no-brainer</li>
</ul>
</li>
</ul>
<p><span style="text-decoration: underline;"><strong>SAMM Business Functions (4 in total)<br />
</strong></span></p>
<ul>
<li>Start with the core activities tied to any organization performing software development</li>
<li>Named generically, but should resonate with any developer or manager</li>
<li>Governance, Construction, Verification, Deployment</li>
</ul>
<p><span style="text-decoration: underline;"><strong>SAMM Security Practices (12 in total)</strong></span></p>
<ul>
<li>From each of the Business Functions, 3 Security Practices are defined</li>
<li>The Security Practices cover all areas relevant to software security assurance</li>
<li>Each one is a 'silo' for improvement</li>
<li>Governance: Strategy &amp; Metrics, Education &amp; Guidance, Policy &amp; Compliance</li>
<li>Construction: Threat Assessment, Security Requirements, Secure Architecture</li>
<li>Verification: Design Review, Code Review, Security Testing</li>
<li>Deployment: Vulnerability Management, Environment Hardening, Operational Enablement</li>
</ul>
<p>What is "software"?</p>
<ul>
<li>Lots of different aspects of what software is</li>
<li>Could be a tarball of source code, UML and specifications, or a server running the code</li>
</ul>
<p><span style="text-decoration: underline;"><strong>Under each Security Practice</strong></span></p>
<ul>
<li>Three successive Objectives under each Practice define how it can be improved over time</li>
<li>Level 1, Level 2, and Level 3</li>
<li>"Going from crawling to walking to running"</li>
<li>72 different actives all about the size of a bread box</li>
</ul>
<p>Per Level, SAMM defines...</p>
<ul>
<li>Objectives</li>
<li>Activites</li>
<li>Results</li>
<li>Success Metrics (2-4 metrics for each objective)</li>
<li>Costs (training, content, license, or buildout)</li>
<li>Personnel (overhead on different roles because operating at this level)</li>
</ul>
<p><span style="text-decoration: underline;"><strong>Conducting Assessments</strong></span></p>
<ul>
<li>SAMM includes assessment worksheets for each Security Practice</li>
</ul>
<p><span style="text-decoration: underline;"><strong>Assessment Process</strong></span></p>
<ul>
<li>Supports both lightweight and detailed assessments</li>
<li>Organizations may fall in between levels (+)</li>
</ul>
<p><span style="text-decoration: underline;"><strong>Creating Scorecards</strong></span></p>
<ul>
<li>Gap Analysis
<ul>
<li>Capturing scores from detailed assessments versus expected performance levels</li>
</ul>
</li>
<li>Demonstrating Improvement
<ul>
<li>Capturing scores from before and after an iteration of assurance program buld-out</li>
</ul>
</li>
<li>Ongoing Measurement
<ul>
<li>Capturing scores over consistent tiem frames for an assurance program that is already in place</li>
</ul>
</li>
</ul>
<p><span style="text-decoration: underline;"><strong>Roadmap Templates</strong></span></p>
<ul>
<li>To make the "building blocks" usable, SAMM defines Roadmaps templates for typical kinds of organizations
<ul>
<li>Independent SW Vendors</li>
<li>Online Service Providers</li>
<li>Financial Services Organizations</li>
<li>Government Organizations</li>
</ul>
</li>
<li>Organization types chose because
<ul>
<li>They represent common use-cases</li>
<li>Each organization has variations in typical software-induced risk</li>
<li>Optimal creation of an assurance program is different for each</li>
</ul>
</li>
</ul>
<p><span style="text-decoration: underline;"><strong>Expert Contributions</strong></span></p>
<ul>
<li>Build based on collected experiences with 100's of organizations
<ul>
<li>Including security experts, developers, architects, development managers, IT managers</li>
</ul>
</li>
</ul>
<p><span style="text-decoration: underline;"><strong>Industry Support</strong></span></p>
<ul>
<li>Several case studies already</li>
<li>Several more case studies underway</li>
</ul>
<p><span style="text-decoration: underline;"><strong>The OpenSAMM Project</strong></span></p>
<ul>
<li>http://www.opensamm.org</li>
<li>Dedicated to defining, improving, and testing the SAMM framework</li>
<li>Always vendor-neutral, but lots of industry participation</li>
<li>Targeting new releases every ~18 months</li>
<li>Change management process</li>
</ul>
<p><span style="text-decoration: underline;"><strong>Future Plans</strong></span></p>
<ul>
<li>Mappings to existing standards and regulations</li>
<li>Additional roadmaps where need is identified</li>
<li>Additional case studies</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.webadminblog.com/index.php/2009/11/12/software-assurance-maturity-model-samm/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>All About OWASP</title>
		<link>http://www.webadminblog.com/index.php/2009/11/12/all-about-owasp/</link>
		<comments>http://www.webadminblog.com/index.php/2009/11/12/all-about-owasp/#comments</comments>
		<pubDate>Thu, 12 Nov 2009 15:30:18 +0000</pubDate>
		<dc:creator>Josh</dc:creator>
				<category><![CDATA[OWASP AppSec DC 2009]]></category>
		<category><![CDATA[2010]]></category>
		<category><![CDATA[board]]></category>
		<category><![CDATA[focus]]></category>
		<category><![CDATA[owasp]]></category>

		<guid isPermaLink="false">http://www.webadminblog.com/?p=330</guid>
		<description><![CDATA[The second presentation of the morning was various members of the OWASP board speaking about the goals of OWASP for the upcoming year.  My summary is below. Jeff Williams Cross Site Scripting is an epidemic We need to view insecure software as a disgrace Everything OWASP is free and void of commercialism "When information comes [...]]]></description>
			<content:encoded><![CDATA[<p>The second presentation of the morning was various members of the OWASP board speaking about the goals of OWASP for the upcoming year.  My summary is below.</p>
<p><span style="text-decoration: underline;"><strong>Jeff Williams</strong></span></p>
<ul>
<li>Cross Site Scripting is an epidemic</li>
<li>We need to view insecure software as a disgrace</li>
<li>Everything OWASP is free and void of commercialism</li>
<li>"When information comes with an agenda, people discount it"</li>
</ul>
<p><span style="text-decoration: underline;"><strong>Tom Brenan</strong></span></p>
<p><strong>Global Membership Committe 2010 Focus</strong></p>
<ul>
<li>Global expansion</li>
<li>7x increase (2008)</li>
<li>Vote your board members</li>
</ul>
<p><strong>Global Industry Committee 2010 Focus</strong></p>
<ul>
<li>Building industry special interest groups</li>
<li>Continuing to impact regulation (NIST, government, organizations, EU)</li>
</ul>
<p><span style="text-decoration: underline;"><strong>Dave Wichers</strong></span></p>
<p><strong>Global Conferences Committee 2010 Focus</strong></p>
<ul>
<li>Support four global AppSec Conferences per year</li>
<li>Support OWASP regional and local events worldwide</li>
</ul>
<p><span style="text-decoration: underline;"><strong>Sebastian Deleersnyder</strong></span></p>
<p><strong>Global Education Committee 2010 Focus</strong></p>
<ul>
<li>Academic outreach</li>
<li>OWASP bootcamp</li>
<li>Roll out college OWASP education kits</li>
</ul>
<p><strong>Global Chapter Committee 2010 Focus</strong></p>
<ul>
<li>Identify and reactive inactive chapters</li>
<li>Actively support chapters with mentors and speakers</li>
<li>College OWASP education kits</li>
</ul>
<p><span style="text-decoration: underline;"><strong>Dinis Cruz</strong></span></p>
<p><strong>Global Projects Committee 2010 Focus</strong></p>
<ul>
<li>Apply assessment criteria version 2 to all projects</li>
<li>Unified dashboard for OWASP projects</li>
<li>Launch and manage 2010 season of code</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.webadminblog.com/index.php/2009/11/12/all-about-owasp/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Using Proxies to Secure Applications and More</title>
		<link>http://www.webadminblog.com/index.php/2008/10/31/using-proxies-to-secure-applications-and-more/</link>
		<comments>http://www.webadminblog.com/index.php/2008/10/31/using-proxies-to-secure-applications-and-more/#comments</comments>
		<pubDate>Fri, 31 Oct 2008 15:27:15 +0000</pubDate>
		<dc:creator>Josh</dc:creator>
				<category><![CDATA[Software and Tools]]></category>
		<category><![CDATA[Web Application Security]]></category>
		<category><![CDATA[applications]]></category>
		<category><![CDATA[firefox]]></category>
		<category><![CDATA[google]]></category>
		<category><![CDATA[owasp]]></category>
		<category><![CDATA[proxies]]></category>
		<category><![CDATA[ratproxy]]></category>
		<category><![CDATA[secure]]></category>
		<category><![CDATA[tamperdata]]></category>
		<category><![CDATA[web]]></category>
		<category><![CDATA[webscarab]]></category>

		<guid isPermaLink="false">http://www.webadminblog.com/?p=159</guid>
		<description><![CDATA[I've been really surprised that for as long as I've been active with OWASP, I've never seen a proxy presentation.  After all, they are hugely beneficial in doing web application penetration testing and they're really not that difficult to use.  Take TamperData for example.  It's just a firefox plugin, but it does header, cookie, get, [...]]]></description>
			<content:encoded><![CDATA[<p>I've been really surprised that for as long as I've been active with OWASP, I've never seen a proxy presentation.  After all, they are hugely beneficial in doing web application penetration testing and they're really not that difficult to use.  Take TamperData for example.  It's just a firefox plugin, but it does header, cookie, get, and post manipulation just as well as WebScarab.  Or Google Ratproxy, which works in the background while you browse around QA'ing your web site and gives you a nice actionable report when you're done.  I decided it was time to educate my peers on the awesomeness of proxies.</p>
<p>This past Tuesday I presented to a crowd of about 35 people at the Austin OWASP Meeting.  The title of my presentation was "Using Proxies to Secure Applications and More".  Since so many people came up to me afterward telling me what a great presentation it was and how they learned something they can take back to the office, I decided (with a little insistance from Ernest) that it was worth putting up on SlideShare and posting to the Web Admin Blog.</p>
<p>The presentation starts off with a brief description of what a proxy is.  Then, I talked about the different types of proxies.  Then, the bulk of the presentation was just me giving examples and demonstrating the various proxies.  I included anonymizing proxies, reverse proxies, and intercepting proxies.  While my slides can't substitue for the actual demo, I did try to include in them what tool I used for the demo.  If you have any specific questions, please let me know.  All that said, <a href="http://www.slideshare.net/jsokol/using-proxies-to-secure-applications-and-more-presentation" target="_blank">here's the presentation</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.webadminblog.com/index.php/2008/10/31/using-proxies-to-secure-applications-and-more/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Cryptography for Penetration Testers &#8211; OWASP AppSec NYC 2008</title>
		<link>http://www.webadminblog.com/index.php/2008/09/25/cryptography-for-penetration-testers-owasp-appsec-nyc-2008/</link>
		<comments>http://www.webadminblog.com/index.php/2008/09/25/cryptography-for-penetration-testers-owasp-appsec-nyc-2008/#comments</comments>
		<pubDate>Thu, 25 Sep 2008 20:45:53 +0000</pubDate>
		<dc:creator>Josh</dc:creator>
				<category><![CDATA[OWASP AppSec NYC 2008]]></category>
		<category><![CDATA[Web Application Security]]></category>
		<category><![CDATA[application]]></category>
		<category><![CDATA[appsec]]></category>
		<category><![CDATA[cryptography]]></category>
		<category><![CDATA[owasp]]></category>
		<category><![CDATA[penetration]]></category>
		<category><![CDATA[Security]]></category>
		<category><![CDATA[testers]]></category>

		<guid isPermaLink="false">http://www.webadminblog.com/?p=127</guid>
		<description><![CDATA[This presentation was on "Cryptography for Penetration Testers" and was by Chris Eng, the Senior Director of Security Research at VeraCode. The Premise How much do you really have to know about cryptography in order to detect and exploit crypto weaknesses in web apps. Goals Learn basic techniques for identifying and analyzing cryptographic data Learn [...]]]></description>
			<content:encoded><![CDATA[<p>This presentation was on "Cryptography for Penetration Testers" and was by Chris Eng, the Senior Director of Security Research at VeraCode.</p>
<p><span style="text-decoration: underline;"><strong>The Premise</strong></span></p>
<p>How much do you really have to know about cryptography in order to detect and exploit crypto weaknesses in web apps.</p>
<p><span style="text-decoration: underline;"><strong>Goals</strong></span></p>
<ul>
<li>Learn basic techniques for identifying and analyzing cryptographic data</li>
<li>Learn black-box heauristics for recorgnizing weak crypto implementation</li>
<li>Apply techniques</li>
</ul>
<p>The Crypto that Matters in 6 Short Slides</p>
<p><span style="text-decoration: underline;"><strong>Types of Ciphers</strong></span></p>
<ul>
<li><strong>Block Ciphers:</strong> Operates on fixed-length groups of bits, called blocks.  Block sizes vary depending on the algorithm.  Several different modes of operation for encrypting messages longer than the basic block size.  Example ciphers include DES, 3DES, Blowfish, AES</li>
<li><strong>Stream Ciphers:</strong> Operates on plaintext one bit at a time</li>
</ul>
<p><span style="text-decoration: underline;"><strong>Block Ciphers: Electronic Code Book (ECB) Mode</strong></span></p>
<ul>
<li>Fixed-size blocks of plaintext are encrypted independently</li>
<li>Each plaintext block is substituted with ciphertext block, like a codebook</li>
<li>Weaknesses: Structure in plaintext is reflected in ciphertext.  Ciphertext blocks can be modified without detection.</li>
</ul>
<p><span style="text-decoration: underline;"><strong>Bliock Ciphers: Cipher Block Chaining (CBC) Mode</strong></span></p>
<ul>
<li>Each block of plaintext is XORed with the previous ciphertext block before being encrypted</li>
<li>Change of message affects all following ciphertext blocks</li>
<li>Initialization Vector (IV) is used to encrypt first block</li>
</ul>
<p><span style="text-decoration: underline;"><strong>Stream Ciphers</strong></span></p>
<ul>
<li>Plaintext message is processed byte by byte (as a stream)</li>
<li>Key scheduler algorithm generates a keystream using a key and an Initialization Vector (IV combined (XOR) with plaintext bit by bit</li>
<li>Encrypt by XORing plaintext with the generated keystream</li>
</ul>
<p><span style="text-decoration: underline;"><strong>Common Crypto Mistakes</strong></span></p>
<ul>
<li>Insecure cipher mode (usually ECB)</li>
<li>Inappropriate key reuse</li>
<li>Poor key selection</li>
<li>Insufficient key length</li>
<li>Insecure random number generation</li>
<li>Proprietary or home-grown encryption algorithms (Don't do this ever!)</li>
</ul>
<p><strong>Analysis Techniques</strong></p>
<p><span style="text-decoration: underline;"><strong>Dealing with Gibberish Data</strong></span></p>
<p>What do you do when you are pen testing a web application and you encounter data that is not easy to interpret?</p>
<ul>
<li>Cookies</li>
<li>Hidden fields</li>
<li>Query string parameters</li>
<li>POST parameters</li>
</ul>
<p>How random is it?</p>
<ul>
<li>Output of cryptographic algorithms should be evenly distributed, given a sufficiently large sample size.</li>
<li>Tools such as ENT (http://www.fourmilab.ch/random) will calculate entropy per byte, chi-square distribution, arithmetic mean, serial correlation, etc</li>
</ul>
<p><span style="text-decoration: underline;"><strong>Observe Characteristics</strong></span></p>
<p>Is the length a multiple of a common block size?</p>
<ul>
<li>Indicates that the application may be using a block cipher</li>
</ul>
<p>Is the length the same as a known hash algorithm?</p>
<ul>
<li>For example, MD5 is usually represented as 32 hex characters</li>
<li>May also indicate the presence of an HMAC</li>
<li>Still may be worthwhile to hash various permutations of known data in case a simple unkeyed hash is being used</li>
</ul>
<p><span style="text-decoration: underline;"><strong>Stimulus, Response</strong></span></p>
<p>Does the length of the token change based on the length of some value that you can supply?</p>
<p>For a block cipher, you can determine the block size by incrementing input one byte at a time and observing when the encrypted output length jumps by multiple bytes (ie, the block size)</p>
<p>How does the token change in response to user-supplied data?</p>
<ul>
<li>Figure out how changing different parts of the input affects the output</li>
<li>Is more than one block affected by a single character change in the input?</li>
</ul>
<p><span style="text-decoration: underline;"><strong>Deeper Block Cipher Inspection</strong></span></p>
<p>Are there any blocks of data that seem to repeat in the same token or over multiple tokens?</p>
<ul>
<li>Possibly ECB mode, this doesn't just happen by coincidence</li>
</ul>
<p><span style="text-decoration: underline;"><strong>EXAMPLE</strong></span></p>
<p>Context:  A public-facing web portal for a large ISP.  Used an encrypted cookie to authenticate identity.  A new cookie is issued on each request.  Base64 decoded EE cookies.  Divided by 8 and found 8 byte blocks.  Noticed some repetition in the same position.  The only variable blocks are the last two (possibly a "last accessed" timestamp or similar timeout mechanism).  Register a new account with a username of 'c' x 32, the maximum length permitted, and observe the value of the EE cookie.</p>
<p>'c' x 32 is Perl notation for "cccccccccccccccccccccccccccccccc"</p>
<p>The token is longer, meaning the username is probably stored in the cookie.  Still noticed repition in same position.  Register another account with a username of 'c' x 16 and compare to the EE cookie generated in the previous step.  Didn't see two identical blocks for 'c' x 16 and four identical blocks for 'c' x 32.  Reason is padding.  The username doesn't align perfectly with the block offset.  Want to figure out what position in the cookie the usernaem is located.  Additional user accounts were created with specific usernames in order to determine if there is any initial padding in the first block.  Now you know where the username is in the ciphertext.</p>
<p>Able to successfully subvert the authentication mechanism without any knowledge of the algorithm or the key, based solely on observed patterns in the ciphertext.  The root cause was the insecure cipher mode and the lack of a verification mechanism.  ECB mode shoul dnot be used (use CBC instead).</p>
<p><span style="text-decoration: underline;"><strong>EXAMPLE</strong></span></p>
<p>Token values observed in URLs.  Changed every time we logged on to the application.  Never the same for any two sessions or any two users.  Base64 decoded values for several different "stmt" tokens.  Statement numbers were displayed in the browser.  Looked for correlations between statement number and cipher-text.  Conclusion: It looks like a stream cipher.  Use XOR to calculate 10 bytes of the keystream based on the known plain-text (ie. the statement number).  Now try the same things against one of the other collected tokens, such as the one called "Ctxt".  Get ASCII text that allows you to infer what it would say.  Expand it out more and more to get the keystream.  Repeat over and over until you have enough of the key to figure out anything in the application.</p>
<p>Through this iterative process, we can obtain the entire keystream (or rather, a sufficient amount of the keystream to encrypt and decrypt all of the cipher-text we encounter).  Can replace the statement number with another valid statement number and view the contents.</p>
<p>Able to subvert the encryption mechanism without any knowledge of the algorithm or the key based solely on observed patterns in the ciphertext.  They were using RC4 with a unique key generated for each user session.  Root cause of the vulnerability is the re-use of the keystream.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.webadminblog.com/index.php/2008/09/25/cryptography-for-penetration-testers-owasp-appsec-nyc-2008/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Practical Advanced Threat Modeling &#8211; OWASP AppSec NYC 2008</title>
		<link>http://www.webadminblog.com/index.php/2008/09/25/practical-advanced-threat-modeling-owasp-appsec-nyc-2008/</link>
		<comments>http://www.webadminblog.com/index.php/2008/09/25/practical-advanced-threat-modeling-owasp-appsec-nyc-2008/#comments</comments>
		<pubDate>Thu, 25 Sep 2008 18:53:45 +0000</pubDate>
		<dc:creator>Josh</dc:creator>
				<category><![CDATA[OWASP AppSec NYC 2008]]></category>
		<category><![CDATA[Web Application Security]]></category>
		<category><![CDATA[advanced]]></category>
		<category><![CDATA[application]]></category>
		<category><![CDATA[appsec]]></category>
		<category><![CDATA[modeling]]></category>
		<category><![CDATA[owasp]]></category>
		<category><![CDATA[Security]]></category>
		<category><![CDATA[threat]]></category>

		<guid isPermaLink="false">http://www.webadminblog.com/?p=122</guid>
		<description><![CDATA[This presentation was by John Steven who is the Senior Director of Advanced Technology Consulting at Cigital, Inc. What is a threat? An agent who attacks you? An attack? An attack's consequence? A risk? What is a threat model? Depiction of the system's attack surface, threats who can attack the system, and assets threats may [...]]]></description>
			<content:encoded><![CDATA[<p>This presentation was by John Steven who is the Senior Director of Advanced Technology Consulting at Cigital, Inc.</p>
<p><span style="text-decoration: underline;"><strong>What is a threat?</strong></span></p>
<ul>
<li>An agent who attacks you?</li>
<li>An attack?</li>
<li>An attack's consequence?</li>
<li>A risk?</li>
</ul>
<p><span style="text-decoration: underline;"><strong>What is a threat model?</strong></span></p>
<ul>
<li>Depiction of the system's attack surface, threats who can attack the system, and assets threats may compromise.</li>
<li>Some leverage risk management practices.  Estimate probability of attack.  Weigh impact of successful attack.</li>
</ul>
<p><span style="text-decoration: underline;"><strong>Elements of a threat model</strong></span></p>
<ul>
<li>Structural view</li>
<li>Threat actors</li>
<li>Assets</li>
<li>Attack vectors</li>
<li>Privilege/"trust"</li>
</ul>
<p><span style="text-decoration: underline;"><strong>Threat</strong></span></p>
<ul>
<li>Capability: Access to the system, able to reverse engineer binaries, able to sniff the network</li>
<li>Skill Level: Experienced hacker, script kiddie, insiders</li>
<li>Resources and Tools: Simple manual execution, distributed bot army, well-funded organization, access to private information</li>
<li>Threats help encourage thorough throught about how intentions for misuse and determine "out of bounds" scenarios.</li>
</ul>
<p><span style="text-decoration: underline;"><strong>A Few Words on STRIDE</strong></span></p>
<ul>
<li>A conceptual checklist backed by data flow diagrams</li>
</ul>
<p><span style="text-decoration: underline;"><strong>Attack Trees</strong></span></p>
<ul>
<li>Aggregate attack possibilites</li>
<li>Use OR, AND</li>
<li>Allow for decoration (probability, cost, skills required, etc)</li>
</ul>
<p><span style="text-decoration: underline;"><strong>Threat Modeling as a Process</strong></span></p>
<ul>
<li>Use threat modeling to identify where potential threats exist relative to the architecture, how threats escalate privilege, specify vectors of attack, identifies components and assets worth protecting.</li>
</ul>
<p><span style="text-decoration: underline;"><strong>Leading Up to Threat Modeling</strong></span></p>
<ul>
<li>Identify threats</li>
<li>Enumerate doomsday scenarios</li>
<li>Document misuse/abuse</li>
<li>Diagram structure, assets</li>
<li>Annotate diagram with threats</li>
<li>Enumerate attack vectors</li>
<li>Iterate</li>
</ul>
<p>Input: Goals, Doomsday Scenarios</p>
<p>Misuse/Abuse Cases (use case view and component view)</p>
<p>Inputs: Security Requirements (specified security features - "128 bit encryption", "software security != security software")</p>
<p><span style="text-decoration: underline;"><strong>Anchor in Software Architecture</strong></span></p>
<p>Consider where attacks occur:</p>
<ul>
<li>Top-down: enumerate business objects (sensitive data, privileged functionality)</li>
<li>Bottom-Up: enumerate application</li>
</ul>
<p>Output: Security Assessment &amp; Test Design.  Threat models drive assessments, Test design.  Establish rules of engagement.  Prioritize areas of interest.  Manage a team in risk-based fashion.  Establish a single tie between vulnerability and control.</p>
<p>Application Structure: No "One Size Fits All"</p>
<p>Application Structure: Topology - Coloration shows authorization by role.  Arrows indicate resolution of principal/assertion propagation.  Use structure to separate privilege.</p>
<p>Application Structure: Components - Component diagrams show critical choke points for security controls (input validation, authentication, output encoding).</p>
<p>Application Structure: Frameworks - Showing frameworks indicates where important service contracts exist "up" and "down".</p>
<p>Assets: Flow - Assets exist not only in rest, but also flow through the system.  Use different types of flags to represent data flow of assets.</p>
<p>Use different colored arrows to represent each different attack vector.</p>
<p>Target Using Layered Attacks: Bootstrap later attacks with those that "deliver".  Use one layer to exploit another (net, app).  Combine attacks to reach desired target.</p>
<p><span style="text-decoration: underline;"><strong>Take Homes</strong></span></p>
<ul>
<li>Base threat model in software architecture</li>
<li>When specific use (cases) and high-level architecture are defined: inventory roles, entitlements, if one doesn't exist and inventory assets, sensitive data, privileged components</li>
<li>Enumerate initial attack vectors.  Use common low hanging fruit.</li>
<li>Elaborate more attacks.  Find opportunities for privilege escalation.  Layer attacks to target or "hop" to assets.  Fill in gaps by "inventing" attacks.</li>
<li>Use threat modeling to drive security testing</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.webadminblog.com/index.php/2008/09/25/practical-advanced-threat-modeling-owasp-appsec-nyc-2008/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Lotus Notes/Domino Web Application Security &#8211; OWASP AppSec NYC 2008</title>
		<link>http://www.webadminblog.com/index.php/2008/09/25/lotus-notesdomino-web-application-security-owasp-appsec-nyc-2008/</link>
		<comments>http://www.webadminblog.com/index.php/2008/09/25/lotus-notesdomino-web-application-security-owasp-appsec-nyc-2008/#comments</comments>
		<pubDate>Thu, 25 Sep 2008 17:34:24 +0000</pubDate>
		<dc:creator>Josh</dc:creator>
				<category><![CDATA[OWASP AppSec NYC 2008]]></category>
		<category><![CDATA[Web Application Security]]></category>
		<category><![CDATA[application]]></category>
		<category><![CDATA[appsec]]></category>
		<category><![CDATA[domino]]></category>
		<category><![CDATA[ibm]]></category>
		<category><![CDATA[lotus]]></category>
		<category><![CDATA[notes]]></category>
		<category><![CDATA[owasp]]></category>
		<category><![CDATA[Security]]></category>

		<guid isPermaLink="false">http://www.webadminblog.com/?p=120</guid>
		<description><![CDATA[This presentation was by Jian Hui Wang (girl) who is a security professional, but "a nobody in NYC".  Talking about Lotus Notes/Domino web application architecture and security features, web application common development mistakes and fixes, and test methodology. Lotus Notes/Domino History Lotus Notes is client and Domino is the server.  Supports multiple protocols with one [...]]]></description>
			<content:encoded><![CDATA[<p>This presentation was by Jian Hui Wang (girl) who is a security professional, but "a nobody in NYC".  Talking about Lotus Notes/Domino web application architecture and security features, web application common development mistakes and fixes, and test methodology.</p>
<p><span style="text-decoration: underline;"><strong>Lotus Notes/Domino History</strong></span></p>
<p>Lotus Notes is client and Domino is the server.  Supports multiple protocols with one interface (HTTP, LDAP, SMTP/POP/IMAP, file sharing).  Strong on workflow application and collaborative application.  Used by .gov, .edu, .com.  Google search shows 66 million notes databases facing the internet.  People use it because it's easy to develop and deploy a simple application, granular access control, good logging method, and it integrates well with e-mails.</p>
<p><span style="text-decoration: underline;"><strong>Notes Databases</strong></span></p>
<p>Notes databse is building block of Domino application (.nsf or .ntf).  Notes Database is a container for data (document, message, web page), design elements (form, page, view, folder, navigator, agent, frameset, outline).</p>
<p>Two components in Domino server architecture.  There is an HTTP Server and a Domino Engine (URL Parser, Command Handler, and Database).</p>
<p><span style="text-decoration: underline;"><strong>Web Access Syntax</strong></span></p>
<ul>
<li>http://host/data/base/NotesObject?Action&amp;Arguments</li>
<li>Database = Notes Database</li>
<li>NotesObject  = the web accessible design element</li>
<li>Action = the action on NotesObject</li>
<li>Arguments = the qualifiers for the action (optional)</li>
</ul>
<p><span style="text-decoration: underline;"><strong>Notes Database Access Control List (ACL)</strong></span></p>
<ul>
<li>Define users and groups access privileges on the database</li>
<li>Seven access levels (manager, designer, editor, author, reader, depositor, and no access)</li>
<li>Eight access options for each level (create/delete documents, create/delete folders/views, create/delete agents, create/delete public documents)</li>
<li>Anonymous and -Default-</li>
<li>Maximum internet and password access: only works for name-password authentication but not for certificate authentication.  A web user cannot get the access greater than the "Maximum" access even if the access explicitly given is higher</li>
<li>Further restriction can be done by conjunction with reader field, author field, and access list of documents for granular read and write access control</li>
</ul>
<p><span style="text-decoration: underline;"><strong>Notes Web Authentication</strong></span></p>
<ul>
<li>Anonymous user - who does not have Person documents in DOmino Directory (names.nsf)</li>
<li>Authentication occurs if anonymous access is disabled on server configuration document and Notes objects</li>
<li>Name-password authentication: user/pass are authenticated to Person document and internet password in Domino directory (names.nsf).  Basic authentication and session-based authentication.  Internet password lockout function (Notes 8 only)</li>
<li>SSL client certificate authentication</li>
</ul>
<p><span style="text-decoration: underline;"><strong>Common Security Mistakes in Development</strong></span></p>
<ol>
<li>Unauthorized Access: Anonymous access.  Anonymous privilege is assigned to Default access level if there is no anonymous group explicitly set.  Default access level is Designer and Maximum Internet and Password Access is Editor of most built-in templates.  Forceful browsing.  Solutions are to setup anonymous group and assign it "no access".  Review the ACLs of all databases and confidential documents.</li>
<li>Using Default Objects (Databases):  Default databases are statrep.nsf, schema.nsf, reports.nsf, names.nsf, log.nsf, events.nsf, doladmin.nsf, dbdirman.nsf certsrv.nsf, certlog.nsf, admin4.nsf, ...  Anonymous users should not be allowed to access these databases.</li>
<li>Default Objects (view): $DefautlView?OpenView, $DefaultNav?OpenNav, $DefaultForm?OpenForm, help?OpenHelp, $about?OpenAbout, $searchform?searchdomain, $searchform?searchsite, $searchform?searchview, $Icon?OpenIcon, $first, $file.  Solutions are to use the URL redirection and mapping on server document, customize the default pages, and apply the appropriate access control.</li>
<li>SQL Injection: Places to process User Input (@Commands, WebQueryOpen, WebQuerySave, WebQueryClose, @URLQueryString, OpenAgent, RunAgent).  Solutions is input validation in fields by formula or lotus scripts</li>
<li>Cross Site Scripting: Most cross site scripting vulnerabilities are persistent.  Solutions are to use input validaton or to HTMLencode.</li>
<li>Session Management: By default uses basic authentication.  Username and password are sent in clear-text in teh packet of every request.  Solution is to configure the server document to use session-based authentication.  Do not append sensitive data to Querystring.</li>
<li>Information Leakage: Hard coding username and password.  Solutions are to remove the sensitive information from the source code and log and customize the error message.</li>
<li>Operating System Interaction: LotusScript has system commands such as Shell, OSLoadProgram, OSLoadLibrary, FileCopy, Open, Kill, Get, Input, Close.  Solution is to hardcode the path and validate the filename input.</li>
</ol>
<p>Testing security is challenging but it can be done:</p>
<ul>
<li>Lotus Notes Designer (Design Synopsis)</li>
<li>Grep</li>
<li>A good text editor</li>
<li>Paros</li>
</ul>
<p><span style="text-decoration: underline;"><strong>References</strong></span></p>
<ul>
<li>Secure Domino Application</li>
<li>Lotus Security Handbook</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.webadminblog.com/index.php/2008/09/25/lotus-notesdomino-web-application-security-owasp-appsec-nyc-2008/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>

