<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" version="2.0"><channel><title>Following the White Rabbit</title><link>http://www.communities.hp.com/securitysoftware/blogs/rafal/default.aspx</link><description>Perspectives on Data Security and Enterprise Risk in a Web-Enabled Enterprise</description><dc:language>en</dc:language><generator>CommunityServer 2008.5 SP1 (Build: 31106.3070)</generator><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" href="http://feeds.feedburner.com/RafalLos" type="application/rss+xml" /><item><title>Quality Engineers &amp; Testers - StarWest is Coming Up!</title><link>http://feedproxy.google.com/~r/RafalLos/~3/dWiYbLbykq4/quality-engineers-amp-testers-starwest-is-coming-up.aspx</link><pubDate>Thu, 02 Jul 2009 20:45:00 GMT</pubDate><guid isPermaLink="false">94bda21f-7d63-4095-85de-7c2a68fb172c:91110</guid><dc:creator>RafalLos</dc:creator><slash:comments>0</slash:comments><wfw:commentRss>http://www.communities.hp.com/securitysoftware/blogs/rafal/rsscomments.aspx?PostID=91110</wfw:commentRss><comments>http://www.communities.hp.com/securitysoftware/blogs/rafal/archive/2009/07/02/quality-engineers-amp-testers-starwest-is-coming-up.aspx#comments</comments><description>&lt;p&gt;&lt;span style="font-family:arial,helvetica,sans-serif;"&gt;&lt;span style="font-size:small;"&gt;I&amp;#39;m thrilled to announce that I have been selected to speak at the StarWest 2009 Quality Conference (SQE) October 5-9th 2009, hosted at the DisneyLand Hotel in Annaheim, CA!&amp;nbsp; Link to the conference website is here (&lt;a target="_blank" title="SQE StarWest Conference" href="http://www.sqe.com/starwest/Schedule/Default.aspx"&gt;http://www.sqe.com/starwest/Schedule/Default.aspx&lt;/a&gt;)&lt;span style="line-height:115%;"&gt; and there are a number of awesome speakers as well!&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-family:arial,helvetica,sans-serif;"&gt;&lt;span style="font-size:small;"&gt;The StarEast conference was chock-full of great speakers, vendors and of course yours-truly... speaking on Security topics and why the quality assurance teams are so crucial to the web application security process.&amp;nbsp; That&amp;#39;s right, I&amp;#39;ve been talking about Q/A engineering and testing teams and why they&amp;#39;re so crucial to the success of any enterprise web application security program - but now for the first time you&amp;#39;ll get the truth that the IT Security guys probably won&amp;#39;t tell you - &lt;b&gt;YOU&lt;/b&gt; are the key!&amp;nbsp; My talk on this topic promises to be riveting and will certainly have an impact on formal testing and security organizations...&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-family:arial,helvetica,sans-serif;"&gt;&lt;span style="font-size:small;"&gt;As an added bonus - if you sign up you&amp;#39;ll get money OFF the price of your admission!&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;








 
  Normal
  0
  
  
  
  
  false
  false
  false
  
  EN-US
  X-NONE
  X-NONE
  
   
   
   
   
   
   
   
   
   
   
   
  
  
   
   
   
   
   
   
   
   
   
   
   
  

 
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
 





&lt;p class="MsoNormal"&gt;&lt;span style="font-family:arial,helvetica,sans-serif;"&gt;&lt;span style="font-size:small;"&gt;&lt;span class="blacktext1"&gt;&lt;span style="line-height:115%;"&gt;Register using special promo code &lt;/span&gt;&lt;/span&gt;&lt;i&gt;SKWS&lt;/i&gt; and save up to
$300! Register by September 4&lt;sup&gt;th&lt;/sup&gt; to add the Early Bird Discount for
up to $600 in total savings! Call the client support group at 888.268.8770 or
register online at: &lt;a href="https://www.sqe.com/starwest/Register/SelectConference.aspx"&gt;https://www.sqe.com/starwest/Register/SelectConference.aspx&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;span style="color:#ff0000;"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="font-family:arial,helvetica,sans-serif;"&gt;I&amp;#39;ll see you all there!&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;

&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://www.communities.hp.com/securitysoftware/aggbug.aspx?PostID=91110" width="1" height="1"&gt;&lt;img src="http://feeds.feedburner.com/~r/RafalLos/~4/dWiYbLbykq4" height="1" width="1"/&gt;</description><category domain="http://www.communities.hp.com/securitysoftware/blogs/rafal/archive/tags/quality/default.aspx">quality</category><category domain="http://www.communities.hp.com/securitysoftware/blogs/rafal/archive/tags/web+application+security/default.aspx">web application security</category><category domain="http://www.communities.hp.com/securitysoftware/blogs/rafal/archive/tags/QA/default.aspx">QA</category><feedburner:origLink>http://www.communities.hp.com/securitysoftware/blogs/rafal/archive/2009/07/02/quality-engineers-amp-testers-starwest-is-coming-up.aspx</feedburner:origLink></item><item><title>Blog Comment SPAM...</title><link>http://feedproxy.google.com/~r/RafalLos/~3/LzZUPahQV04/blog-comment-spam.aspx</link><pubDate>Fri, 26 Jun 2009 04:21:00 GMT</pubDate><guid isPermaLink="false">94bda21f-7d63-4095-85de-7c2a68fb172c:90364</guid><dc:creator>RafalLos</dc:creator><slash:comments>0</slash:comments><description>&lt;p&gt;Hi everyone - I apologize in advance if you write a nicely thought-out comment to one of my posts and it gets &amp;quot;lost in moderation&amp;quot;... I have recently started getting north of ~250&amp;nbsp;SPAM comments every 12 hours or so (as quickly as I clean them up) so I may accidentally delete yours as part of the SPAM.&amp;nbsp; My sincere apologies, and I trust you&amp;#39;ll sympathize with me when I say I do my best - but sometimes I just can&amp;#39;t beat the spamming machines out there.&amp;nbsp; I make sure I don&amp;#39;t get any SPAM published to my blog - but at the same time it&amp;#39;s entirely possible that the baby goes out with the bath water.&lt;/p&gt;
&lt;p&gt;Thanks for your patience and understanding.&lt;/p&gt;
&lt;p&gt;~Rafal&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://www.communities.hp.com/securitysoftware/aggbug.aspx?PostID=90364" width="1" height="1"&gt;&lt;img src="http://feeds.feedburner.com/~r/RafalLos/~4/LzZUPahQV04" height="1" width="1"/&gt;</description><feedburner:origLink>http://www.communities.hp.com/securitysoftware/blogs/rafal/archive/2009/06/26/blog-comment-spam.aspx</feedburner:origLink></item><item><title>The Problem of "Too Many Problems"</title><link>http://feedproxy.google.com/~r/RafalLos/~3/ahsOK2D0GBM/the-problem-of-quot-too-many-problems-quot.aspx</link><pubDate>Wed, 24 Jun 2009 21:45:00 GMT</pubDate><guid isPermaLink="false">94bda21f-7d63-4095-85de-7c2a68fb172c:90193</guid><dc:creator>RafalLos</dc:creator><slash:comments>1</slash:comments><wfw:commentRss>http://www.communities.hp.com/securitysoftware/blogs/rafal/rsscomments.aspx?PostID=90193</wfw:commentRss><comments>http://www.communities.hp.com/securitysoftware/blogs/rafal/archive/2009/06/24/the-problem-of-quot-too-many-problems-quot.aspx#comments</comments><description>&lt;p&gt;Hey everyone... now that I&amp;#39;m back to regularly posting I thought I&amp;#39;d address the issue I&amp;#39;ve faced with the last few customers we&amp;#39;ve gotten the pleasure of visiting.&amp;nbsp; Speaking from experience you never want to introduce a tool or process that will overwhelm people - it tends to cause that &amp;quot;deer in the headlights&amp;quot; reaction... and we all know how well the deer normally fares, right?&lt;/p&gt;
&lt;p&gt;That being said, I think I&amp;#39;ve found a problem that&amp;#39;s plaguing companies that are lagging in the Web App Sec program department (yes, there are companies who are now just starting to get into the thinking of building a program to protect their web sites and applications) even more than the political problems they face, or which tool/service to purchase.&amp;nbsp; Nope... there is even a bigger problem.&lt;/p&gt;
&lt;p&gt;I will frame it for you by giving you an example of a recent product validation I was a part of... and what turned out to be a brilliant disaster.&amp;nbsp; It was brilliant in that our suite of web application black-box testing tools performed beautifully, and uncovered way more than the customer (or the competing products) were expecting.&amp;nbsp; This is where the disaster struck...&amp;nbsp; As this was all being written up into a nicely packaged recommendations and findings document we sat down with the person who was in charge of the validation project.&amp;nbsp; Immediately, my contact&amp;#39;s face turned a few different shades of pale before going completely white - he was shocked at what we found and how simple it was to completely and fully compromise their main public-facing website.&amp;nbsp; After the initial shock wore off and color returned to his face he was excited that we would be presenting this to the &amp;quot;senior security group&amp;quot; headed by the CISO the next day.&amp;nbsp; Here is where things started to go sideways.&lt;/p&gt;
&lt;p&gt;The presentation the next day kicked off as expected... we presented our executive summary, the methodology of our product validation and moved on to the specific findings.&amp;nbsp; In this case, since there was &lt;em&gt;so much wrong&lt;/em&gt; I stripped out only the Critical and Highly Important issues and bundled the rest into a &amp;quot;non-mission-critical&amp;quot; bucket for the sake of brevity.&amp;nbsp; My goal was to move through that into our recommendations section where we would propose what the customer should do next, including building a security validation program and starting to integrate into the SDL; let&amp;#39;s just say I never got that far...&lt;/p&gt;
&lt;p&gt;As soon as I hit the Criticals section I noticed something wrong.&amp;nbsp; Immediately the faces of the folks in the room started to look... befuddled I think is the correct word.&amp;nbsp; Some got that glazed-over look I get when my wife tries to explain the complex relationships of her friends and such... they were overwhelmed, lost, and confused.&amp;nbsp; I stopped and asked if there were questions... no one raised their hand or spoke up so I continued.&amp;nbsp; I got about 1/2 way through the critical issues section when the CISO, hand half-raised, looked at me and said &amp;quot;This is way too much ... I just don&amp;#39;t think we can handle it&amp;quot;.&amp;nbsp; Naturally I thought he was talking about the depth of the presentation... or the mountain of information I was giving them... nope - he was referring to the number of things that we had found that were wrong with the site.&lt;/p&gt;
&lt;p&gt;What happened next is nothing short of terrifying... faced with the mountainous task of comprehending, addressing and remediating these 100+ critical issues the CISO was frozen in his place... like a deer in the headlights.&amp;nbsp; I guess I can&amp;#39;t really blame him given that any one of the 20+ SQL Injection vulnerabilities uncovered could entirely compromise their main system.&amp;nbsp; The question on the table now was - what do they do?&amp;nbsp; After thinking about it and talking amongst themselves for a few minutes (at this point the presentation was halted) they agreed that there was nothing they could do - and they would simply leave the production systems alone and simply focus on the websites which were currently in development.&amp;nbsp; The deer had gotten so bedazzled with the oncoming car it didn&amp;#39;t care that it was about to become an inevitable&amp;nbsp;victim.&lt;/p&gt;
&lt;p&gt;What just happened?&amp;nbsp; What we have here is a failure to launch.&amp;nbsp; Given the overwhelming nature of the issues, some companies simply choose to &amp;quot;&lt;em&gt;do nothing&lt;/em&gt;&amp;quot; because the resource requirements of tackling all those issues seem impossible.&amp;nbsp; Rather than sitting down and prioritizing sites, vulnerabilities and required effort they simply choose to be overwhelmed.&amp;nbsp; Well, I&amp;#39;m not sure &lt;em&gt;choose&lt;/em&gt; is the right word here... but you know what I mean.&amp;nbsp; It&amp;#39;s not trivial to look at over 300 critical and high-ranked vulnerabilities on your &lt;em&gt;main site &lt;/em&gt;and resolve to prioritize and address everything in a sane fashion.&amp;nbsp; It takes resources and a tough resolve to make that happen... and it&amp;#39;s not a trivial task as I&amp;#39;ve said.&lt;/p&gt;
&lt;p&gt;That being said... the lesson learned here is that I shouldn&amp;#39;t take for granted that given a moutain of security risks - someone will be able to find a starting point and then be willing to push that boulder up hill.&amp;nbsp; Going forward I&amp;#39;m definitely going to be offering more tactical and strategic assistance from the years of experience solving these sorts of partially-psychological problems in security.&lt;/p&gt;
&lt;p&gt;If you&amp;#39;re faced with one of these crises... don&amp;#39;t despair!&amp;nbsp; First remember that others run into the same headlights.&amp;nbsp; Second - don&amp;#39;t think you can&amp;#39;t do it... with a good risk-based approach and a sound methodology you can transform that overwhelming moutain of security risks into a big win for you and your department.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Good luck!&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://www.communities.hp.com/securitysoftware/aggbug.aspx?PostID=90193" width="1" height="1"&gt;&lt;img src="http://feeds.feedburner.com/~r/RafalLos/~4/ahsOK2D0GBM" height="1" width="1"/&gt;</description><category domain="http://www.communities.hp.com/securitysoftware/blogs/rafal/archive/tags/web+application+security+program/default.aspx">web application security program</category><category domain="http://www.communities.hp.com/securitysoftware/blogs/rafal/archive/tags/scurity+vulnerabilities/default.aspx">scurity vulnerabilities</category><feedburner:origLink>http://www.communities.hp.com/securitysoftware/blogs/rafal/archive/2009/06/24/the-problem-of-quot-too-many-problems-quot.aspx</feedburner:origLink></item><item><title>Enterprise Web Application Security: Part 2 - The Policy</title><link>http://feedproxy.google.com/~r/RafalLos/~3/kX8T6Cuif4Q/enterprise-web-application-security-part-2-the-policy.aspx</link><pubDate>Tue, 23 Jun 2009 07:30:00 GMT</pubDate><guid isPermaLink="false">94bda21f-7d63-4095-85de-7c2a68fb172c:88057</guid><dc:creator>RafalLos</dc:creator><slash:comments>0</slash:comments><wfw:commentRss>http://www.communities.hp.com/securitysoftware/blogs/rafal/rsscomments.aspx?PostID=88057</wfw:commentRss><comments>http://www.communities.hp.com/securitysoftware/blogs/rafal/archive/2009/06/23/enterprise-web-application-security-part-2-the-policy.aspx#comments</comments><description>&lt;p&gt;&amp;nbsp;In the first part of this series titled &amp;quot;&lt;a target="_blank" href="http://www.communities.hp.com/securitysoftware/blogs/rafal/archive/2009/02/20/enterprise-web-application-security-part-1.aspx" title="Part 1"&gt;Enterprise Web Application Security: Part 1 - The Foundation&lt;/a&gt;&amp;quot; I left you with 6 foundational things you should consider before galloping head-long into building a web application security program.&amp;nbsp; Going forward I&amp;#39;ll take as a given that you&amp;#39;ve defined those 6 items, and you have good definition of all of those components.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;After you&amp;#39;ve defined the baseline for your security program the next most important thing to do is exercise your patience.&amp;nbsp; This second stop involves a lot of thinking, writing, and processing time.&amp;nbsp; You&amp;#39;ll be building a policy and framework for the entire program going forward, so don&amp;#39;t spare the details.&lt;/p&gt;
&lt;p&gt;Building a policy is difficult, let&amp;#39;s face it.&amp;nbsp; You have to have some sense of actual security inside, with a tint of business logic so that you have buy-in from your upper-management, and now you&amp;#39;ve got to think about how to keep the people who will actually have to read and use it engaged.&amp;nbsp; I&amp;#39;ll address each of the 3 major groups you&amp;#39;ll need to impress and give you some pointers on how to do that... so let&amp;#39;s get going.&lt;/p&gt;
&lt;p&gt;First off, let&amp;#39;s discuss the format of your policy document.&amp;nbsp; Over time, what I&amp;#39;ve found that works well in organizations large and small is the &amp;quot;Cook Book&amp;quot; approach.&amp;nbsp; Folks in your organization want to know what they have to do to be in compliance with security - or they&amp;#39;ll simply find a way to avoid security altogether.&amp;nbsp; That being said your responsibility is to lay out a simple cookie-cutter approach to performing common tasks and projects in such a way that minimizes the need for interaction with security while creating a simple approach to building security into the project.&amp;nbsp; To illustrate the point consider a project where your delivery team will be building out a private customer-centric site to interface with your internal systems.&amp;nbsp; The project may be repeated dozens or hundreds of times each year and by creating a one-time approved and documented process, procedure and architecture document you&amp;#39;ll save yourself and the project teams many cycles and meetings.&amp;nbsp; They&amp;#39;ll thank you for it later.&amp;nbsp; In order to make this work though, you&amp;#39;ll have to make sure you cover as many of the common project types as possible.&lt;/p&gt;
&lt;p&gt;The last thing you&amp;#39;ll need to remember on the format is to give people as many options (that you&amp;#39;ve pre-approved) as possible.&amp;nbsp; There will be no one-size-fits-all approach that will work all of the time - so you need to make sure you cover as many options as possible and provide possibilities for accomplishing the same goal given budgets, resources and time.&amp;nbsp; Don&amp;#39;t forget to factor in budget, resources and time into your documentation or you&amp;#39;ll regret it later when your hard work starts to gather dust.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;The first group you&amp;#39;ll need to cover are the people who make projects go - the project managers (PMs).&amp;nbsp; They will need easy to understand cheat-sheet style documentation which can be printed out and stuck into a binder.&amp;nbsp; Maybe you&amp;#39;ll get lucky and your document&amp;#39;s simple pages will end up on the head of the project management office... or maybe it&amp;#39;ll be required reading during the project manager training process.&amp;nbsp; At any rate - the policy must be comprehensible by the project manager.&amp;nbsp; Comprehensible can be broken down into a few simple requirements: simple, short, non-technical, and short.&amp;nbsp; I mention short twice because PMs have enough to worry about without yet another complicated document.&amp;nbsp; Your policy should include a very short executive summary (the &amp;quot;why&amp;quot; for your policy), it should contain a logical &amp;quot;if - then&amp;quot; organized section which describes at a high level (at the business level) the causal and effect of the security requirement.&amp;nbsp; If the business requirement is X, the security requirement will be Y must be laid out in simple to understand, non-technical language.&amp;nbsp; The Y (the requirement itself) must be broken down into a general solution and a technical directive.&amp;nbsp; An example of this is as follows:&amp;nbsp; If the business chooses to store credit card numbers (the business requirement) they must be protected by an approved form of encryption (high-level requirement); this requires utilizing pre-built module A, B, C or code snippets D, E, or F depending on implementation or technical requirements.&amp;nbsp; This example provides adequate if/then for the PM to grasp the requirement and then provides some light technical guidance on how to solve the problem.&lt;/p&gt;
&lt;p&gt;After you&amp;#39;ve created a section for each of the cookie-cutters you&amp;#39;re creating that&amp;#39;s designed for the project manager you&amp;#39;re going to want to address the development resources.&amp;nbsp; These technical resources often have no care for the business angle of the requirement only the technical solution which must be included to pass security audit later on.&amp;nbsp; Quite simply put these are the technical options that security is providing.&amp;nbsp; You can provide code snippets, pre-reviewed and approved modules or an architectural approach to the issue.&amp;nbsp; Securing a project can often&amp;nbsp;take on many forms and it&amp;#39;s important to include as many options (within reason, and that are technically sound) as possible to ensure that at least one if not more of the approved methods is feasible.&amp;nbsp; Feasibility is often overlooked when creating&amp;nbsp;a document like this... security professionals simply bark out requirements without looking into whether it&amp;#39;s even possible to execute them within the parameters of the project.&amp;nbsp; I&amp;#39;ve often heard from project managers that IT Security is trying to force the business to spend a million to protect a thousand.&amp;nbsp; Make sure you don&amp;#39;t run into this type of obstacle - as it will definitely deter adoption.&lt;/p&gt;
&lt;p&gt;Lastly, and this group is only last because I&amp;#39;m saving the most important group for last, you need to address management.&amp;nbsp; Eventually someone from either the PM or the Development groups will challenge your requirements and solutions.&amp;nbsp; Ensure that upper-management understands and can make sense of your documentation.&amp;nbsp; Getting this level of understanding will usher a whole new level of cooperation among business and IT and security, I promise.&amp;nbsp; Covering not only the technical approach, but also the project-management approach is one thing... but to make your policy document readable by someone in upper management who may or may not even understand what IT is doing... that&amp;#39;s a whole new level of brilliant.&amp;nbsp; Upper management has a surprising thirst to &amp;quot;do the right thing&amp;quot;... but often times they&amp;#39;re constrained by two major factors - understanding and budget.&amp;nbsp; You can&amp;#39;t always address budget (which is where I tell you, sometimes you just have to let them accept crazy risks), but you can definitely address understanding.&amp;nbsp; Overcoming that taboo between management and security technology can not only create a very cooperative relationship but it has been known to lead to random acts of proper risk management.&amp;nbsp; I once shared the elevator with a CIO who, after being asked to read and approve the security policy I had set forth not a week before, let me know that in the last meeting of his direct reports when someone mentioned a new project that they were considering - he was able to throw out the security requirement for that &amp;quot;type&amp;quot; of project.&amp;nbsp; He smiled in self-approval as he described how silent the room fell... and how everyone could simply not believe the CIO was spouting security requirements.&amp;nbsp; It was quite an accomplishment.&lt;/p&gt;
&lt;p&gt;So there you have it - we&amp;#39;ve gone through a lot of material - but the policy requires a lot of attention to get it right.&amp;nbsp; It&amp;#39;s like building a good, strong castle.&amp;nbsp; The foundation is everything... but the cornerstone is the policy.&lt;/p&gt;
&lt;p&gt;Next we&amp;#39;ll be addressing the first &lt;em&gt;real&lt;/em&gt; step you&amp;#39;ll be making - taking a baseline - and this time I hope not to have a month in between posts... thanks for reading!&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://www.communities.hp.com/securitysoftware/aggbug.aspx?PostID=88057" width="1" height="1"&gt;&lt;img src="http://feeds.feedburner.com/~r/RafalLos/~4/kX8T6Cuif4Q" height="1" width="1"/&gt;</description><feedburner:origLink>http://www.communities.hp.com/securitysoftware/blogs/rafal/archive/2009/06/23/enterprise-web-application-security-part-2-the-policy.aspx</feedburner:origLink></item><item><title>Timless Cliche..."Doing More with Less"</title><link>http://feedproxy.google.com/~r/RafalLos/~3/NKknK_nGuIs/timless-cliche-quot-doing-more-with-less-quot.aspx</link><pubDate>Fri, 08 May 2009 16:18:00 GMT</pubDate><guid isPermaLink="false">94bda21f-7d63-4095-85de-7c2a68fb172c:89513</guid><dc:creator>RafalLos</dc:creator><slash:comments>0</slash:comments><wfw:commentRss>http://www.communities.hp.com/securitysoftware/blogs/rafal/rsscomments.aspx?PostID=89513</wfw:commentRss><comments>http://www.communities.hp.com/securitysoftware/blogs/rafal/archive/2009/05/08/timless-cliche-quot-doing-more-with-less-quot.aspx#comments</comments><description>&lt;p&gt;I believe it was the caveman who first say &amp;quot;Ug, unga, munga, ug ug&amp;quot; which roughly translated to &amp;quot;We need to figure out how to do more with less&amp;quot;.&amp;nbsp; Since those days man has struggled with that eternal issue of getting higher productivity with less resources.&lt;/p&gt;
&lt;p&gt;Looking around at the economic situation it&amp;#39;s obvious to see why this issue presents itself so prominently today... which is why I&amp;#39;m thrilled to post the link below.&amp;nbsp; Yes, it&amp;#39;s a blatant ad for HP App Sec Center&amp;#39;s tools and services but it is helping my customers answer that problem that&amp;#39;s as old as humanity.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;Give it a go, it&amp;#39;s a short but informative view on how you can leverage our latest tools to get your web app security teams to be able to &amp;quot;&lt;em&gt;do more with less&lt;/em&gt;&amp;quot;...&amp;nbsp; There is a registration required, so you&amp;#39;ve been warned :)&lt;/p&gt;
&lt;p&gt;&amp;nbsp;Link here:&amp;nbsp; &lt;span style="FONT-SIZE:12pt;COLOR:black;FONT-FAMILY:&amp;#39;Times New Roman&amp;#39;,&amp;#39;serif&amp;#39;;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ansi-language:EN-US;mso-fareast-language:EN-US;mso-bidi-language:AR-SA;"&gt;&lt;a title="https://h30406.www3.hp.com/campaigns/2009/events/sw-05-05-09/index.php?rtc=3-2P5BKUK" href="https://h30406.www3.hp.com/campaigns/2009/events/sw-05-05-09/index.php?rtc=3-2P5BKUK"&gt;&lt;span style="FONT-SIZE:10pt;COLOR:blue;FONT-FAMILY:&amp;#39;Arial&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;https://h30406.www3.hp.com/campaigns/2009/events/sw-05-05-09/index.php?rtc=3-2P5BKUK&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://www.communities.hp.com/securitysoftware/aggbug.aspx?PostID=89513" width="1" height="1"&gt;&lt;img src="http://feeds.feedburner.com/~r/RafalLos/~4/NKknK_nGuIs" height="1" width="1"/&gt;</description><feedburner:origLink>http://www.communities.hp.com/securitysoftware/blogs/rafal/archive/2009/05/08/timless-cliche-quot-doing-more-with-less-quot.aspx</feedburner:origLink></item><item><title>The Pros of a Con</title><link>http://feedproxy.google.com/~r/RafalLos/~3/V0hSbBfiiQk/the-pros-of-a-con.aspx</link><pubDate>Thu, 07 May 2009 18:22:00 GMT</pubDate><guid isPermaLink="false">94bda21f-7d63-4095-85de-7c2a68fb172c:89442</guid><dc:creator>RafalLos</dc:creator><slash:comments>0</slash:comments><wfw:commentRss>http://www.communities.hp.com/securitysoftware/blogs/rafal/rsscomments.aspx?PostID=89442</wfw:commentRss><comments>http://www.communities.hp.com/securitysoftware/blogs/rafal/archive/2009/05/07/the-pros-of-a-con.aspx#comments</comments><description>&lt;p&gt;&amp;nbsp;My slides &lt;strong&gt;are now available for you to revisit &lt;/strong&gt;(if you would like a copy for yourself, email me)&lt;strong&gt;, &lt;/strong&gt;&lt;a class="" title="Slides for Viewing!" href="http://www.slideshare.net/RafalLos/creating-practical-security-testcases-for-web-applications" target="_blank"&gt;&lt;font color="#ff0000"&gt;&lt;strong&gt;here at SlideShare.net&lt;/strong&gt;&lt;/font&gt;&lt;/a&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp; Most of you already know how much I love to stand in front of fresh set of faces to deliver the message of web application security.&amp;nbsp; Every once in a while I get the rare pleasure of venturing out of my element (the &amp;quot;security&amp;quot; audience) and talking to an audience that doesn&amp;#39;t actually have any vested interest in security... yet.&amp;nbsp; This past couple of days spent with QA engineers and software testers at StarEast has been absolutely priceless.&amp;nbsp; I can&amp;#39;t tell you how much joy it brings me to see the light bulbs go on as you slowly make the transition to knowing and understanding what should make you lose sleep - that security is everyone&amp;#39;s problem.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;The audiences that came out to the &amp;quot;Hacking Flash&amp;quot; talk, as well as the &amp;quot;Building Practical Test Cases...&amp;quot; talk were wonderfully interactive and really game me faith in the fact that the message is reading more and more of the right folks.&amp;nbsp; I know I mentioned at least a few times that the QA teams are the key to security&amp;#39;s success, and I&amp;#39;ll further explain for everyone else why that&amp;#39;s the case in a later post - but know it&amp;#39;s absolutely, 100%, no-bs truth.&lt;/p&gt;
&lt;p&gt;&amp;nbsp; When you get back to your jobs stop by your security team&amp;#39;s desks and tell them that &lt;strong&gt;you&lt;/strong&gt; are the secret step in a successful security strategy and program.&amp;nbsp; Take a snapshot of their reaction.&amp;nbsp; Remember, there is generall a 10:1 ration of QA to security staff... and your effectiveness is measured in the depth of cooperation with your security teams in decreasing your enterprise&amp;#39;s risk on the web.&lt;/p&gt;
&lt;p&gt;&amp;nbsp; Given all that, I want to post some follow-up stories.&amp;nbsp; I would like to get some brave souls to reply to me (either privately or here as a comment) with how you&amp;#39;ve taken this information back to your organization and utilized it for the company&amp;#39;s greater good.&amp;nbsp; What kinds of reactions have you gotten?&amp;nbsp; Please let me know and I would love to have you guest-blog either semi-anonymously, or identifying yourself if you&amp;#39;d like!&lt;/p&gt;
&lt;p&gt;Thanks again!&amp;nbsp; Good luck out there.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://www.communities.hp.com/securitysoftware/aggbug.aspx?PostID=89442" width="1" height="1"&gt;&lt;img src="http://feeds.feedburner.com/~r/RafalLos/~4/V0hSbBfiiQk" height="1" width="1"/&gt;</description><category domain="http://www.communities.hp.com/securitysoftware/blogs/rafal/archive/tags/QA/default.aspx">QA</category><category domain="http://www.communities.hp.com/securitysoftware/blogs/rafal/archive/tags/security+testing/default.aspx">security testing</category><feedburner:origLink>http://www.communities.hp.com/securitysoftware/blogs/rafal/archive/2009/05/07/the-pros-of-a-con.aspx</feedburner:origLink></item><item><title>Raising the Bar? Flash Encryption, Obfuscation</title><link>http://feedproxy.google.com/~r/RafalLos/~3/W5Mzb_olWTQ/raising-the-bar-flash-encryption-obfuscation.aspx</link><pubDate>Mon, 20 Apr 2009 17:37:00 GMT</pubDate><guid isPermaLink="false">94bda21f-7d63-4095-85de-7c2a68fb172c:89053</guid><dc:creator>RafalLos</dc:creator><slash:comments>4</slash:comments><wfw:commentRss>http://www.communities.hp.com/securitysoftware/blogs/rafal/rsscomments.aspx?PostID=89053</wfw:commentRss><comments>http://www.communities.hp.com/securitysoftware/blogs/rafal/archive/2009/04/20/raising-the-bar-flash-encryption-obfuscation.aspx#comments</comments><description>&lt;p&gt;On the heels of&amp;nbsp;my OWASP talk regarding decompiling and analyzing Flash [&lt;a class="" title="HP SWFScan" href="http://www.hp.com/hpinfo/newsroom/press/2009/090323xa.html" target="_blank"&gt;see SWFScan link&lt;/a&gt;] files lots of you have asked &amp;quot;So what about Flash file encryption or obfuscation?&amp;nbsp; Does that make my code any more secure?&amp;quot;&amp;nbsp; I&amp;#39;ve done the research and talked to&amp;nbsp;experts (including our very own Billy Hoffman) - and have a blog post just for those of you starving for this information.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;There are a lot of Flash file obfuscators/encryptors out there... all of them hoping to raise the bar for attackers against your client-side Flash code.&amp;nbsp; I&amp;#39;d like to make sure I properly set the background for you here - everything you&amp;#39;ll read about is happening on the &lt;em&gt;client side&lt;/em&gt; within the user&amp;#39;s browser framework, meaning, it&amp;#39;s running in potentially hostile territory.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;Now let&amp;#39;s move on and take a look at some of the ideas we&amp;#39;re addressing.&amp;nbsp; First when-ever you&amp;#39;re discussing client-run code you have to understand that whether it&amp;#39;s encryption, obfuscation, or magic you have one major problem: &lt;em&gt;the client has to know how to un-do the magic&lt;/em&gt;.&amp;nbsp; When the Flash! file comes to your client it has to be interpreted by the Flash! player, right?&amp;nbsp; In order for it to do that it has to be &lt;em&gt;readable&lt;/em&gt; and understandable by the Flash! player.&amp;nbsp; Think about that.&amp;nbsp; If the code is sent encrypted, say using some strong AES-256 encryption technology, then the player is unable to render it thus creating a quite secure, but completely unusable &amp;quot;blob&amp;quot;.&amp;nbsp; In order for the code to be worth anything to the client it has to be de-crypted (or obfuscated).&amp;nbsp; For that to happen you have to have the routine to &lt;em&gt;decrypt | de-obfuscate&lt;/em&gt; the blob located within that blob, likely as a pre-cursor to the whole piece of code.&amp;nbsp; You should already see a huge gaping hole here.&amp;nbsp; Here&amp;#39;s what this all looks like in terms of process from developer&amp;#39;s workstation to client player:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;div&gt;Developer writes some [potentially bad] ActionScript code&lt;/div&gt;&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;Developer &amp;quot;obfuscates | encrypts&amp;quot; the code&lt;/div&gt;&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;User hits page, downloads embedded &amp;quot;blob&amp;quot;&lt;/div&gt;&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;User starts to execute Flash! file&lt;/div&gt;&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;&lt;em&gt;Decryption|De-obfuscation&lt;/em&gt; routine runs, produces valid (unprotected) Flash!&lt;/div&gt;&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;Flash! player executes code, movie runs&lt;/div&gt;&lt;/li&gt;&lt;/ol&gt;
&lt;p&gt;Immediately, in the above step-by-step you&amp;#39;ll notice that step 5 the decryption|de-obfuscation routine has to run on the client to unprotect the SWF file.&amp;nbsp; This essentially breaks down to mean that the &lt;em&gt;deobfuscation|decryption&lt;/em&gt; code has to exist on the client, within the protected SWF file.&amp;nbsp; Ask yourself what sort of security that buys you, if you&amp;#39;re including the unprotect routine with the protected code.&lt;/p&gt;
&lt;p&gt;After wading through many different SWF encryption|obfuscation tools I&amp;#39;ve come to realize that they&amp;#39;re selling to folks who simply don&amp;#39;t understand the full scope of the problem.&amp;nbsp; Here is an interesting quote from&amp;nbsp;one vendor&amp;#39;s&amp;nbsp;marketing material.&amp;nbsp; I&amp;#39;m not identifying the vendor... mostly to protect them from the questions you would have about their effectiveness.&lt;/p&gt;
&lt;p&gt;&lt;span class="Apple-style-span" style="WORD-SPACING:0px;TEXT-TRANSFORM:none;TEXT-INDENT:0px;WHITE-SPACE:normal;LETTER-SPACING:normal;BORDER-COLLAPSE:separate;TEXT-ALIGN:justify;orphans:2;widows:2;-webkit-border-horizontal-spacing:3px;-webkit-border-vertical-spacing:3px;-webkit-text-decorations-in-effect:none;-webkit-text-size-adjust:auto;-webkit-text-stroke-width:0;"&gt;&lt;font color="#333399"&gt;&amp;quot;PRODUCT X uses Advanced Obfuscation Techniques along side proven Encryption Technology to provide security and protection for your Adobe Flash® SWF Files. Put simply,&amp;nbsp;PRODUCT X&amp;nbsp;prevents other people from decompiling or reverse engineering your SWF movie and stealing the ActionScript Code.&amp;quot; &lt;/font&gt;&lt;font color="#000000"&gt;How can a vendor make a statement like that, consciously, knowing full-well that this is just like the obfuscation techniques that are being used on JavaScript right now... their effectiveness is only marginal to the determined attacker.&amp;nbsp; You have to continue to put these types of technologies into context because if you&amp;#39;re looking at &amp;quot;encrypted content&amp;quot; you&amp;#39;d think that it&amp;#39;s secured, much like an &amp;quot;encrypted database&amp;quot; is secured from someone who steals it... until you realize the main difference is that generally the decryption routine is &lt;em&gt;not included&lt;/em&gt; with the database but as a separate process.&amp;nbsp; This is the main difference.&amp;nbsp; Since Flash! player has no internal mechanism to &lt;em&gt;decrypt|de-obfuscate&lt;/em&gt; flash files the work falls to the application itself, meaning it has to be included into the code blob.&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;The verdict?&amp;nbsp; If you&amp;#39;re depending on a code obfuscation|encryption tool to protect your Flash! files, you should probably re-think your strategy.&amp;nbsp; First ask yourself &lt;em&gt;why &lt;/em&gt;you&amp;#39;re hoping to hide the client-side code.&amp;nbsp; Intent here is key... because while the tools you&amp;#39;re using may &lt;em&gt;temporarily&lt;/em&gt; deter a simple Flash decompiler, in the long-run it will not protect your code.&amp;nbsp; As Billy Hoffman notes &amp;quot;Client-code obfuscation|encryption is much like WAF (Web Application Firewall) technology, it&amp;#39;s a temporary fix meant to increase the &amp;quot;time to hack&amp;quot; while not providing anything permanent.&amp;quot;&amp;nbsp; Including sensitive information on a client-side code blob is &lt;em&gt;never a good idea.&amp;nbsp; &lt;/em&gt;This should be self-evident but apparently there is a significant market for Flash! obfuscation|encryption tools so maybe I&amp;#39;m wrong.&amp;nbsp; Here are a few pointers for those of you thinking about writing sensitive client-side Flash! apps...&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;div&gt;Never put sensitive information on a client (passwords, &amp;#39;hidden&amp;quot; URLs, validation routines, encryption routines, etc)&lt;/div&gt;&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;Understand that &lt;em&gt;anything on a client can be compromised&lt;/em&gt; because you no longer have control&lt;/div&gt;&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;Any encryption|obfuscation of client-side code has to be un-done in order for the framework to process it... thus only providing marginal security improvement&lt;/div&gt;&lt;/li&gt;&lt;/ol&gt;
&lt;p&gt;When all is said and done, to quote Billy Hoffman &amp;quot;It&amp;#39;s like boxing a 7 year-old... you&amp;#39;re going to win it&amp;#39;s just a matter of how hard do you want to try&amp;quot;.&amp;nbsp; --Thanks to Billy Hoffman of HP’s Web Security Research Group for his contribution to this blog, and his ongoing effort to protect developers from their own worst enemy... themselves.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://www.communities.hp.com/securitysoftware/aggbug.aspx?PostID=89053" width="1" height="1"&gt;&lt;img src="http://feeds.feedburner.com/~r/RafalLos/~4/W5Mzb_olWTQ" height="1" width="1"/&gt;</description><category domain="http://www.communities.hp.com/securitysoftware/blogs/rafal/archive/tags/web+application+security/default.aspx">web application security</category><category domain="http://www.communities.hp.com/securitysoftware/blogs/rafal/archive/tags/Web+2.0/default.aspx">Web 2.0</category><category domain="http://www.communities.hp.com/securitysoftware/blogs/rafal/archive/tags/Adobe+flash/default.aspx">Adobe flash</category><feedburner:origLink>http://www.communities.hp.com/securitysoftware/blogs/rafal/archive/2009/04/20/raising-the-bar-flash-encryption-obfuscation.aspx</feedburner:origLink></item><item><title>OWASP, Security Bloggers Finalist and more</title><link>http://feedproxy.google.com/~r/RafalLos/~3/GP7rofkv3tM/owasp-security-bloggers-finalist-and-more.aspx</link><pubDate>Thu, 09 Apr 2009 18:14:00 GMT</pubDate><guid isPermaLink="false">94bda21f-7d63-4095-85de-7c2a68fb172c:88884</guid><dc:creator>RafalLos</dc:creator><slash:comments>1</slash:comments><wfw:commentRss>http://www.communities.hp.com/securitysoftware/blogs/rafal/rsscomments.aspx?PostID=88884</wfw:commentRss><comments>http://www.communities.hp.com/securitysoftware/blogs/rafal/archive/2009/04/09/owasp-security-bloggers-finalist-and-more.aspx#comments</comments><description>&lt;p&gt;&lt;font color="#ff0000"&gt;First off - let me say how absolutely honored and humbled I am right now... after this past week&amp;#39;s events.&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;That out of the way, I want to wrap up an absolutely wonderful week up here in Canada with the 3 OWASP chapters I spent time with over the last few days.&amp;nbsp; Specifically I want to thank Benoit Guerette of OWASP Montreal, Sherif Koussa of OWASP Ottawa, and Nish Bhalla of OWASP Toronto for having me and showing an out-of-towner a wonderful time in each of your beautiful cities.&amp;nbsp; You three have some of the most vibrant, enthusiastic OWASP chapters I&amp;#39;ve ever had the pleasure of working with.&amp;nbsp; I encourage you to keep up the good work, meet regularly and get good quality speakers so that your numbers grow.&amp;nbsp; I feel honored and lucky to be among the speakers you&amp;#39;ve invited in.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;Next there&amp;#39;s the news I got today over my twitter feed (I&amp;#39;m &lt;a class="" title="Rafal Los - Twitter" href="http://twitter.com/RafalLos" target="_blank"&gt;RafalLos on twitter&lt;/a&gt;, in case you want to follow my random thoughts).&amp;nbsp; Apparently you all &lt;strong&gt;voted Following the White Rabbit&lt;/strong&gt;, this very blog right into being a &lt;strong&gt;FINALIST&lt;/strong&gt; for the Security Bloggers awards at RSA 2009.&amp;nbsp; I&amp;#39;m blown away.&amp;nbsp; My goal is to write some quality posts that security professionals, practitioners and management can read and get value out of - and if I&amp;#39;m succeeding it&amp;#39;s because of all the feedback, comments and off-line things that I receive.&amp;nbsp; Let me say again how honored and humbled I am to be among the ranks of people like Tim Callan at VeriSign, the SunBelt blog, the F-Secure blog... really - this is awesome!&lt;/p&gt;
&lt;p&gt;&amp;nbsp;So for the above reasons - &lt;strong&gt;thank you&lt;/strong&gt;, and I will work even harder to continue to provide content you&amp;#39;ll want to read and share with your colleagues and friends.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;See you in the&amp;nbsp;bits!&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://www.communities.hp.com/securitysoftware/aggbug.aspx?PostID=88884" width="1" height="1"&gt;&lt;img src="http://feeds.feedburner.com/~r/RafalLos/~4/GP7rofkv3tM" height="1" width="1"/&gt;</description><category domain="http://www.communities.hp.com/securitysoftware/blogs/rafal/archive/tags/OWASP/default.aspx">OWASP</category><category domain="http://www.communities.hp.com/securitysoftware/blogs/rafal/archive/tags/Securityity+Bloggers+Awards/default.aspx">Securityity Bloggers Awards</category><feedburner:origLink>http://www.communities.hp.com/securitysoftware/blogs/rafal/archive/2009/04/09/owasp-security-bloggers-finalist-and-more.aspx</feedburner:origLink></item><item><title>Let's talk "Rich Internet Applications"</title><link>http://feedproxy.google.com/~r/RafalLos/~3/ci9wJoKfkos/let-s-talk-quot-rich-internet-applications-quot.aspx</link><pubDate>Thu, 02 Apr 2009 14:10:00 GMT</pubDate><guid isPermaLink="false">94bda21f-7d63-4095-85de-7c2a68fb172c:88737</guid><dc:creator>RafalLos</dc:creator><slash:comments>0</slash:comments><wfw:commentRss>http://www.communities.hp.com/securitysoftware/blogs/rafal/rsscomments.aspx?PostID=88737</wfw:commentRss><comments>http://www.communities.hp.com/securitysoftware/blogs/rafal/archive/2009/04/02/let-s-talk-quot-rich-internet-applications-quot.aspx#comments</comments><description>&lt;p&gt;Hello again everybody!&amp;nbsp; My apologies for going radio silent for a bit - it&amp;#39;s been a rough March with travel and visiting many of you over the past several weeks... and guess what?&amp;nbsp; it&amp;#39;s not going to be any better in the near future!&amp;nbsp; The good news is that for those of you living in Canada (Ottawa, Montreal, Toronto) I&amp;#39;ll be seeing you &lt;strong&gt;next week&lt;/strong&gt; at the OWASP meetings scheduled.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;div&gt;&amp;nbsp;Monday - April 6th - Ottawa, ON, CA&lt;/div&gt;&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;Tuesday - April 7th - Montreal, QC, CA&lt;/div&gt;&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;Wednesday - April 8th - Toronto, ON, CA&lt;/div&gt;&lt;/li&gt;&lt;/ul&gt;
&lt;p&gt;The topic is &amp;quot;Rich Internet Applications&amp;quot; and while the talk isn&amp;#39;t currently named (officially) you can go cast your vote thru tomorrow on the &amp;quot;Name That Talk&amp;quot; poll going on on my &lt;a class="" title="PreachSecurity Blog" href="http://preachsecurity.blogspot.com/" target="_blank"&gt;Preach Security blog&lt;/a&gt;, please take a moment to vote!&lt;/p&gt;
&lt;p&gt;&amp;nbsp;I will be hanging out afterwards to meet up with everyone... so if you can make it, let&amp;#39;s chat!&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://www.communities.hp.com/securitysoftware/aggbug.aspx?PostID=88737" width="1" height="1"&gt;&lt;img src="http://feeds.feedburner.com/~r/RafalLos/~4/ci9wJoKfkos" height="1" width="1"/&gt;</description><category domain="http://www.communities.hp.com/securitysoftware/blogs/rafal/archive/tags/hacking+demonstration/default.aspx">hacking demonstration</category><category domain="http://www.communities.hp.com/securitysoftware/blogs/rafal/archive/tags/OWASP/default.aspx">OWASP</category><category domain="http://www.communities.hp.com/securitysoftware/blogs/rafal/archive/tags/Rich+Internet+Applications/default.aspx">Rich Internet Applications</category><feedburner:origLink>http://www.communities.hp.com/securitysoftware/blogs/rafal/archive/2009/04/02/let-s-talk-quot-rich-internet-applications-quot.aspx</feedburner:origLink></item><item><title>My InfoSec 2009 Slides Are Available!</title><link>http://feedproxy.google.com/~r/RafalLos/~3/MlFBaDWucZs/my-infosec-2009-slides-are-available.aspx</link><pubDate>Fri, 13 Mar 2009 06:20:00 GMT</pubDate><guid isPermaLink="false">94bda21f-7d63-4095-85de-7c2a68fb172c:88353</guid><dc:creator>RafalLos</dc:creator><slash:comments>0</slash:comments><wfw:commentRss>http://www.communities.hp.com/securitysoftware/blogs/rafal/rsscomments.aspx?PostID=88353</wfw:commentRss><comments>http://www.communities.hp.com/securitysoftware/blogs/rafal/archive/2009/03/13/my-infosec-2009-slides-are-available.aspx#comments</comments><description>&lt;p&gt;In case you missed it, InfoSec World 2009 is at a close here in Orlando, FL.&amp;nbsp; Thanks to the standing room only crowd that came out to see the talks - it was really stellar!&lt;/p&gt;&lt;p&gt;&amp;nbsp;As promised, here are the slides, posted online for your viewing.&amp;nbsp; If you are lookingn for the demos we did during our &lt;b&gt;Total Browser Pwnag3&lt;/b&gt; talk, Josh Abraham, my co-presenter, will have the voice-overs done soon and posted.&amp;nbsp; I will link to it from here when that&amp;#39;s ready.&lt;/p&gt;&lt;p&gt;&amp;nbsp;Without further ado... here are the slides! &amp;nbsp; &lt;a href="http://www.slideshare.net/RafalLos" title="SlideShare.net" target="_blank"&gt;http://www.slideshare.net/RafalLos&lt;/a&gt;&lt;br /&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://www.communities.hp.com/securitysoftware/aggbug.aspx?PostID=88353" width="1" height="1"&gt;&lt;img src="http://feeds.feedburner.com/~r/RafalLos/~4/MlFBaDWucZs" height="1" width="1"/&gt;</description><category domain="http://www.communities.hp.com/securitysoftware/blogs/rafal/archive/tags/InfoSec+World+2009/default.aspx">InfoSec World 2009</category><feedburner:origLink>http://www.communities.hp.com/securitysoftware/blogs/rafal/archive/2009/03/13/my-infosec-2009-slides-are-available.aspx</feedburner:origLink></item><item><title>Enterprise Web Application Security: Part 1 - The Foundation</title><link>http://feedproxy.google.com/~r/RafalLos/~3/NhJ4bIHCSs0/enterprise-web-application-security-part-1.aspx</link><pubDate>Fri, 20 Feb 2009 15:10:00 GMT</pubDate><guid isPermaLink="false">94bda21f-7d63-4095-85de-7c2a68fb172c:88002</guid><dc:creator>RafalLos</dc:creator><slash:comments>0</slash:comments><wfw:commentRss>http://www.communities.hp.com/securitysoftware/blogs/rafal/rsscomments.aspx?PostID=88002</wfw:commentRss><comments>http://www.communities.hp.com/securitysoftware/blogs/rafal/archive/2009/02/20/enterprise-web-application-security-part-1.aspx#comments</comments><description>&lt;p&gt;The term &amp;quot;&lt;b&gt;Enterprise Web Application Security Program&lt;/b&gt;&amp;quot; has been evolving.&amp;nbsp; Generally referring to a corporate IT program which includes web application code in some way and has traditionally meant either a white-box approach or a black-box approach, either through the use of tools or the use of a 3rd party for the assessment.&lt;/p&gt;&lt;p&gt;No matter how you look at it, that&amp;#39;s all completely wrong.&lt;/p&gt;&lt;p&gt;First off the thought that a &amp;quot;security program&amp;quot; would begin with code is a failure to launch, in my experience.&amp;nbsp; Web application security deals so much more with non-code items than we&amp;#39;d like to believe, but rarely address.&amp;nbsp; These topics include hosting, server hardening, user-management, and a few others I&amp;#39;m forgetting now.&amp;nbsp; The point is before you can bulid a strong web application security program that withstands not only economic cycles but business trends you have to understand what it is you&amp;#39;re building.&amp;nbsp; Much like a home, you can&amp;#39;t change plans after the foundation has been laid...or else you will fail.&lt;br /&gt;&lt;/p&gt;&lt;p&gt;There are some fundamental components you must consider before you start to lay the foundation for your &lt;b&gt;Enterprise Web Application Security Program&lt;/b&gt;... here are some of the most important ones that have to be addressed from day one...&lt;/p&gt;&lt;ol&gt;&lt;li&gt;&lt;b&gt;Intended purpose&lt;/b&gt; - In order to solve a problem you must know what that problem is; you must understand what the &lt;i&gt;purpose&lt;/i&gt; of the program you&amp;#39;re building is going to be in business terms.&lt;/li&gt;&lt;li&gt;&lt;b&gt;Long-term vision&lt;/b&gt; - Define what you see this program evolving into 6, 12, and 18+ months down the road; clearly identifying a long-term goal will assure that you don&amp;#39;t start straying in different directions as you progress&lt;/li&gt;&lt;li&gt;&lt;b&gt;Success criteria&lt;/b&gt; - There must be a clear definition of how success or failure will be measured; if there is no way to measure failure you will never understand if you&amp;#39;ve succeeded (or failed) in your goals.&amp;nbsp; Setting realistic success criteria in a concrete context (as opposed to &amp;quot;secure the company&amp;#39;s web applications&amp;quot;) makes it real to reach those goals and achieve success, while setting milestones helps you focus on making little changes over time that don&amp;#39;t happen overnight &lt;/li&gt;&lt;li&gt;&lt;b&gt;Metrics&lt;/b&gt; - Setting success criteria and having clear metrics go hand-in-hand when building a framework and foundation for a successful program.&amp;nbsp; Just as you have to have a goal you must be able to measure that goal accurately, at any given point along your path in order to assess your rate of success&lt;/li&gt;&lt;li&gt;&lt;b&gt;Scope&lt;/b&gt; - While it may sound rudimentary to say that your program must have scope it is not to be confused with vision or success criteria.&amp;nbsp; Scope can keep your program in-focus and prevent creep into areas you are not equipped to handle.&amp;nbsp; Scope-creep is one of the most widely identified preventatives to success... if the finishline is always moving you will never be able to reach it&lt;/li&gt;&lt;li&gt;&lt;b&gt;Identified starting point&lt;/b&gt; - Yes, it&amp;#39;s critical to identify where you are starting- this goes back to gathering metrics and measuring success.&amp;nbsp; Very rarely does a program start at &amp;quot;nothing&amp;quot; actually; there is always some degree of movement already - you must quickly identify your starting point so as to build from that point forward&lt;/li&gt;&lt;/ol&gt;&lt;p&gt;There you have it - there are six (6) identified components to a foundational approach to building an enterprise web application security program.&amp;nbsp; If you&amp;#39;re starting to put together a framework for such a program; no matter whether it&amp;#39;s due to compliance needs or internal pressures, make sure you understand at least those six pieces.&amp;nbsp; Write them down, remind yourself regularly of their existence.&lt;/p&gt;&lt;p&gt;&lt;b&gt;&lt;i&gt;&amp;nbsp;As master Yoda said - &amp;quot;Do, or do not do, there is no try&amp;quot;.&lt;/i&gt;&lt;/b&gt;&lt;/p&gt;&lt;p&gt;&lt;i&gt;Next time we will address framing that first step of building your program - the policy.&lt;/i&gt; &lt;br /&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://www.communities.hp.com/securitysoftware/aggbug.aspx?PostID=88002" width="1" height="1"&gt;&lt;img src="http://feeds.feedburner.com/~r/RafalLos/~4/NhJ4bIHCSs0" height="1" width="1"/&gt;</description><category domain="http://www.communities.hp.com/securitysoftware/blogs/rafal/archive/tags/web+application+security/default.aspx">web application security</category><category domain="http://www.communities.hp.com/securitysoftware/blogs/rafal/archive/tags/enterprise+web+application+security+program/default.aspx">enterprise web application security program</category><feedburner:origLink>http://www.communities.hp.com/securitysoftware/blogs/rafal/archive/2009/02/20/enterprise-web-application-security-part-1.aspx</feedburner:origLink></item><item><title>An Unfortunate Case of Learned Behavior</title><link>http://feedproxy.google.com/~r/RafalLos/~3/T4HWiMUYi-M/an-unfortunate-case-of-learned-behavior.aspx</link><pubDate>Tue, 10 Feb 2009 16:25:00 GMT</pubDate><guid isPermaLink="false">94bda21f-7d63-4095-85de-7c2a68fb172c:87642</guid><dc:creator>RafalLos</dc:creator><slash:comments>5</slash:comments><wfw:commentRss>http://www.communities.hp.com/securitysoftware/blogs/rafal/rsscomments.aspx?PostID=87642</wfw:commentRss><comments>http://www.communities.hp.com/securitysoftware/blogs/rafal/archive/2009/02/10/an-unfortunate-case-of-learned-behavior.aspx#comments</comments><description>&lt;p&gt;One of my all-time favorite quotes&amp;nbsp; is &amp;quot;&lt;i&gt;When all you have is a hammer, the whole world is a nail&lt;/i&gt;&amp;quot;... but lately that quote has started to apply to the practice of web application security programs, and that&amp;#39;s causing me to start losing sleep.&lt;/p&gt;
&lt;p&gt;Speaking to large-scale enterprises about their budding web application security programs has seen its share of challenges - but when one of the problems &lt;strong&gt;is&lt;/strong&gt; the program&amp;#39;s implementation... then we&amp;#39;re faced with a different kettle of fish altogether.&amp;nbsp; The&amp;nbsp;issue arises from a mis-guided approach to solving enterprise problems based on&amp;nbsp;a single, vendor-inspired, point solution.&amp;nbsp; Spotting this imminent failure is rather simple, here are some warning signs you&amp;#39;re about to head down a dangerously failure-laiden path:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;div&gt;Your &lt;strong&gt;enterprise web application security program&lt;/strong&gt; is based on a &lt;em&gt;point solution&lt;/em&gt; from {insert vendor here}&lt;/div&gt;&lt;/li&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;div&gt;&amp;quot;solution&amp;quot; can be a tool&lt;/div&gt;&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;&amp;quot;solution&amp;quot; can be a service&lt;/div&gt;&lt;/li&gt;&lt;/ol&gt;
&lt;li&gt;
&lt;div&gt;You determine risk rating based on a pre-defined risk rating of &lt;em&gt;high&lt;/em&gt; | &lt;em&gt;medium&lt;/em&gt; | &lt;em&gt;low&lt;/em&gt;&lt;/div&gt;&lt;/li&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;div&gt;if you&amp;#39;re taking a vendor&amp;#39;s &lt;em&gt;risk rating&lt;/em&gt; without your own context&lt;/div&gt;&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;if you don&amp;#39;t add context to your &lt;em&gt;vulnerability&lt;/em&gt; rating&lt;/div&gt;&lt;/li&gt;&lt;/ol&gt;
&lt;li&gt;
&lt;div&gt;You believe that &lt;em&gt;tools can replace people&lt;/em&gt; in security vulnerability detection&lt;/div&gt;&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;You believe that &lt;em&gt;people are more effective than tools&lt;/em&gt; in security vulnerability detection&lt;/div&gt;&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;You believe your enterprise is safe because your {black-box scanner | white-box scanner | service-provider} says so&lt;/div&gt;&lt;/li&gt;&lt;/ol&gt;
&lt;p&gt;The foundation for any good web application security program, one that will stand the test of time and circumstance, is &lt;strong&gt;diversification in the methods for risk-detection and analysis&lt;/strong&gt;.&amp;nbsp; I&amp;#39;ve said it over, and over... a diversified program must be at the root of your long-term strategy.&amp;nbsp; Remember, every good practicioner understands the place of tools, services, and internal processes ... and never trusts his company&amp;#39;s security and personal success to any single one of the aforementioned items.&lt;/p&gt;
&lt;p&gt;The reality is this - every &lt;i&gt;tool and human tester&lt;/i&gt;&amp;nbsp;has a shortcoming, a blind spot - something {it | they&amp;#39;re} simply not great at.&amp;nbsp; Flipping that around ... every penetration tester has a specialty - SQL Injection for Oracle, Cross-Site Scripting, whatever... and tools are the same way.&amp;nbsp; The problem with all of these is that if only one of them is used you end up with a narrowly-focused spotlight, completely missing everything else.&amp;nbsp; As an example, if your web application is tested by a human being who&amp;#39;s great at exploiting Oracle-based flaws but isn&amp;#39;t well-versed in CSRF and other flaws, you will only get part of the story.&amp;nbsp; Just like if you were to scan your application with a white-box scanning tool... since the analysis is static-driven you won&amp;#39;t actually know what&amp;#39;s &lt;em&gt;really&lt;/em&gt; going on... in a dynamic (data-driven) test.&amp;nbsp; Either way, you&amp;#39;re left with an incomplete picture.&amp;nbsp; Relying on this incomplete picture as your security posture leads to a false sense of security, and a feeling that if you &lt;em&gt;fix&lt;/em&gt; the identified flaws in {inserver vendor here} report, your enterprise will be secure.&amp;nbsp; That logic simply does not hold water.&lt;/p&gt;
&lt;p&gt;This type of failing approach will lead to a condition of &lt;strong&gt;&amp;quot;You don&amp;#39;t know, what you don&amp;#39;t know&amp;quot;&lt;/strong&gt;... and if you assume there is nothing else to know... your web application security program just failed to mitigate the most important risk - that of the unknown.&amp;nbsp; Therefore, the answer is unbelievably simple, and unfortunately uncomfortable for some of the&amp;nbsp;vendors in the security practice out there... you have to dip into both buckets.&amp;nbsp; This is precisely why people seek the second opinion of another doctor - to get another look at the same problem.&lt;/p&gt;
&lt;p&gt;The irony is that if you give 3 excellent penetration testers the same exact web application, which is relatively complex in nature (as almost all enterprise apps these days are), you limit their exposure window, limit the amount of money you can spend on their efforts...&amp;nbsp; odds are you will get 3 slightly varied results.&amp;nbsp; Worse-yet... one of those results may be the vulnerability that causes your next appearence on the front page of the Wall Street Journal.&amp;nbsp; The same goes for web application security scanners... black box, white box... doesn&amp;#39;t matter.&amp;nbsp; Given the complexity of enterprise applications you can start to see why these differences arise...&lt;/p&gt;
&lt;p&gt;So in these trying times which is the right course of action?&amp;nbsp; While your mileage may vary and there is no one-size-fits-all solution, here&amp;#39;s my recommendation... these few simple rules have served me well in some of the most challenging enterprises in the world:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Layer your strategy on top of a baseline of education; this does not have to be in-depth security training only a base knowledge of the CWE Top 25, or some other list if you need something for reference&lt;/li&gt;
&lt;li&gt;Implement a baseline of tools throughout your lifecycle because you simply can&amp;#39;t go wrong with minimizing risk by removing &amp;quot;low-hanging fruit&amp;quot; off the tree&lt;/li&gt;
&lt;li&gt;Adopt a major/minor release analysis model, which looks like this:&lt;/li&gt;
&lt;ol&gt;
&lt;li&gt;Major releases [Y.0, (Y+1).0, (Y+2).0] receive special attention from an outside party (your favorite penetration testing bunch) and your in-house set of vulnerability scanning and analysis tools&lt;/li&gt;
&lt;li&gt;Minor releases [1.x, 1.x+y...] receive scrutiny from a set of in-house built tools, based on an SDL approach which gives greater coverage and better chance of catching&amp;nbsp;bugs&lt;/li&gt;
&lt;li&gt;Define major/minor releases as...you see fit for your organization&amp;#39;s budget, release strategy, and SDL type&lt;/li&gt;&lt;/ol&gt;&lt;/ol&gt;
&lt;p&gt;Good luck.&amp;nbsp; &lt;em&gt;Remember... when all you have is a hammer, everything is a nail&lt;/em&gt;.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://www.communities.hp.com/securitysoftware/aggbug.aspx?PostID=87642" width="1" height="1"&gt;&lt;img src="http://feeds.feedburner.com/~r/RafalLos/~4/T4HWiMUYi-M" height="1" width="1"/&gt;</description><category domain="http://www.communities.hp.com/securitysoftware/blogs/rafal/archive/tags/program+failures/default.aspx">program failures</category><category domain="http://www.communities.hp.com/securitysoftware/blogs/rafal/archive/tags/program+secrets/default.aspx">program secrets</category><category domain="http://www.communities.hp.com/securitysoftware/blogs/rafal/archive/tags/web+application+security+program/default.aspx">web application security program</category><feedburner:origLink>http://www.communities.hp.com/securitysoftware/blogs/rafal/archive/2009/02/10/an-unfortunate-case-of-learned-behavior.aspx</feedburner:origLink></item><item><title>Defining Security as a Business Requirement</title><link>http://feedproxy.google.com/~r/RafalLos/~3/hnKTvLX4iOo/defining-security-as-a-business-requirement.aspx</link><pubDate>Thu, 05 Feb 2009 04:53:00 GMT</pubDate><guid isPermaLink="false">94bda21f-7d63-4095-85de-7c2a68fb172c:87792</guid><dc:creator>RafalLos</dc:creator><slash:comments>0</slash:comments><wfw:commentRss>http://www.communities.hp.com/securitysoftware/blogs/rafal/rsscomments.aspx?PostID=87792</wfw:commentRss><comments>http://www.communities.hp.com/securitysoftware/blogs/rafal/archive/2009/02/05/defining-security-as-a-business-requirement.aspx#comments</comments><description>&lt;p&gt;This post is a follow-up to the previous one on QA: Defect vs. Vulnerability.&amp;nbsp; All the highly-intelligent responses I received got me thinking further, and so here I present my additional thoughts.&lt;/p&gt;&lt;p&gt;This may not be revolutionary - but given the response I received regarding the terminology difference between defect and vulnerability I think the only logical conclusion we can reach is that &lt;b&gt;if security is not a foundational business requirement, we&amp;#39;re sunk&lt;/b&gt;.&lt;/p&gt;&lt;p&gt;To expand on this point a little more I think it&amp;#39;s important to follow non-technical critical-thinking here.&amp;nbsp; Anything that does not make it into the functional specification of an application [web or otherwise] is an afterthought.&amp;nbsp; It has been conclusively [and repeatedly] proven that anything that is not &amp;quot;baked in&amp;quot; as a requirement is nearly impossible to &lt;i&gt;fix&lt;/i&gt; later on, as an after-thought.&amp;nbsp; So we&amp;#39;re presented with a puzzler.&amp;nbsp; &lt;i&gt;Security&lt;/i&gt; must be a business-level requirement.&amp;nbsp; So how then does one translate vulnerabilities into a business requirement, sanely?&amp;nbsp; Simply stating &amp;quot;... the application shall be free of unintended design flaws and security vulnerabilities&amp;quot; is like asking an architect to build a structure that will withstand every known (and unknown) possible attack - it&amp;#39;s simply illogical.&lt;/p&gt;&lt;p&gt;Strangely, program leads that manage these large-scale web applications at the heart of nearly every major breach want concise, identified things to &lt;i&gt;not put into the code&lt;/i&gt;... but since that list is a moving target the security team gets penalized for the nature of security itself.&amp;nbsp; This is the reason why black-listing input is a losing proposition... you&amp;#39;re always going to be in an arms race with the &lt;i&gt;bad guys&lt;/i&gt;... and you&amp;#39;ll never win.&lt;/p&gt;&lt;p&gt;I&amp;#39;ve heard some recent conversations hit the wire around using the CWE Top 25 or some other list as a definitive list of &lt;i&gt;coding errors to avoid in web applications&lt;/i&gt; but I&amp;#39;m not sure if that will actually solve the problem.&amp;nbsp; The problem with this approach is and will be that these lists are exclusionary measures.&amp;nbsp; These lists illustrate what we must &lt;i&gt;exclude&lt;/i&gt; to be [more] secure.&amp;nbsp; Turning it around and making statements like &lt;i&gt;validate all input&lt;/i&gt; makes little more sense, especially given that &lt;i&gt;input validation&lt;/i&gt; must be defined in the context of the situation, and there is never a one-size-fits-all answer.&amp;nbsp; To illustrate the point further - input validation may mean excluding certain character sets/patterns &lt;i&gt;and&lt;/i&gt; pre-defining acceptable input options ... but this does not account for things like free-form input or other use-case specific examples.&lt;/p&gt;&lt;p&gt;In the end, the crux of the problem lies in the nature of security vulnerabilities.&amp;nbsp; Security vulnerabilities are a moving target and although they can be loosely defined and lumpted into Top 7/10/25 lists it is not logical to consider these lists complete or even functional for designing software.&amp;nbsp; Will a web application be &lt;i&gt;secure&lt;/i&gt; if it follows the CWE Top 25 and addresses those issues?&amp;nbsp; What about the OWASP Top 10?&amp;nbsp; I don&amp;#39;t think anyone has that answer, or at least is willing to stake their reputation on it.&lt;/p&gt;&lt;p&gt;So back to defining &lt;i&gt;security&lt;/i&gt; as a &lt;i&gt;business-level requirement&lt;/i&gt;... can it be done?&amp;nbsp; Can one clearly articulate requirements to secure data/transactions/processes/whatever *before* the technologists get involved; meaning, before the means to execution are defined?&amp;nbsp; I will leave that up for debate. &lt;br /&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://www.communities.hp.com/securitysoftware/aggbug.aspx?PostID=87792" width="1" height="1"&gt;&lt;img src="http://feeds.feedburner.com/~r/RafalLos/~4/hnKTvLX4iOo" height="1" width="1"/&gt;</description><category domain="http://www.communities.hp.com/securitysoftware/blogs/rafal/archive/tags/functional+specification/default.aspx">functional specification</category><category domain="http://www.communities.hp.com/securitysoftware/blogs/rafal/archive/tags/quality/default.aspx">quality</category><category domain="http://www.communities.hp.com/securitysoftware/blogs/rafal/archive/tags/process/default.aspx">process</category><category domain="http://www.communities.hp.com/securitysoftware/blogs/rafal/archive/tags/application+security/default.aspx">application security</category><category domain="http://www.communities.hp.com/securitysoftware/blogs/rafal/archive/tags/web+application+security+business+case/default.aspx">web application security business case</category><category domain="http://www.communities.hp.com/securitysoftware/blogs/rafal/archive/tags/software+quality/default.aspx">software quality</category><category domain="http://www.communities.hp.com/securitysoftware/blogs/rafal/archive/tags/software+security/default.aspx">software security</category><category domain="http://www.communities.hp.com/securitysoftware/blogs/rafal/archive/tags/QA/default.aspx">QA</category><feedburner:origLink>http://www.communities.hp.com/securitysoftware/blogs/rafal/archive/2009/02/05/defining-security-as-a-business-requirement.aspx</feedburner:origLink></item><item><title>QA Lesson - Defect vs. Vulnerability</title><link>http://feedproxy.google.com/~r/RafalLos/~3/ct50Y56OuMk/qa-lesson-defect-vs-vulnerability.aspx</link><pubDate>Tue, 03 Feb 2009 20:34:00 GMT</pubDate><guid isPermaLink="false">94bda21f-7d63-4095-85de-7c2a68fb172c:87756</guid><dc:creator>RafalLos</dc:creator><slash:comments>5</slash:comments><wfw:commentRss>http://www.communities.hp.com/securitysoftware/blogs/rafal/rsscomments.aspx?PostID=87756</wfw:commentRss><comments>http://www.communities.hp.com/securitysoftware/blogs/rafal/archive/2009/02/03/qa-lesson-defect-vs-vulnerability.aspx#comments</comments><description>&lt;p&gt;&amp;nbsp;Back in April 2008 one of my very first posts to this blog was titled &amp;quot;&lt;a href="http://www.communities.hp.com/securitysoftware/blogs/rafal/archive/2008/04/01/Security-vulnerabilities-as-quality-defects_3F00_.aspx" title="Security Vulnerability vs. Defect" target="_blank"&gt;Security Vulnerability != Defect; Why?&lt;/a&gt;&amp;quot; and it stirred some discussion.&amp;nbsp; Over the past year I&amp;#39;ve spoken to more QA teams than I can probably remember, and the message has been carried through - but a &lt;a href="http://www.cgisecurity.com/2009/02/the-security-industry-needs-to-realign-its-training-expectations-for-qa.html" title="Link to CGISecurity Article" target="_blank"&gt;recent article by Robert Auger&lt;/a&gt; at &lt;a href="http://www.cgisecurity.com/" title="CGI Security Homepage" target="_blank"&gt;CGI Security&lt;/a&gt; gave me a mental nudge and got me to think this through again.&amp;nbsp; As I sat and wrote a reply to Robert&amp;#39;s article, I was once again reminded of the example I use; I will share it here for everyone&amp;#39;s comment.&lt;/p&gt;&lt;p&gt;&amp;nbsp; Consider the following example of &lt;b&gt;defect&lt;/b&gt; versus &lt;b&gt;vulnerability&lt;/b&gt; usage... and perhaps you&amp;#39;ll be able to use it in your next discussion.&lt;/p&gt;&lt;p&gt;&amp;nbsp;The context for this is a conversation I had with the an IT leader at a very large auto manufacturer, sitting around a conference room table just after I had presented to them some security concepts and why security testing was a critical component to their organization.&amp;nbsp; After I was done, the IT Lead in the room (who won&amp;#39;t be named here) looked at me and shook his head.&amp;nbsp; Curious, I couldn&amp;#39;t help myself but to ask why he was spending so much money on quality-assurance, but not a penny on security; more importantly why I had not convinced him to spend security dollars.&amp;nbsp; This was his answer, and I think this perfectly illustrates my point, and why I now use &lt;b&gt;defect&lt;/b&gt; instead of &lt;b&gt;vulnerability&lt;/b&gt; when speaking to QA groups.&lt;/p&gt;&lt;p&gt;&lt;i&gt;paraphrasing&lt;/i&gt;... &amp;quot;Vulnerabilities and defects are not the same thing, in fact, vulnerabilities aren&amp;#39;t, in my opinion, anywhere near as important as quality defects.&amp;nbsp; In this industry, a &lt;i&gt;defect&lt;/i&gt; is illustrated by a brake pedal that goes to the floor as your brakes fail when you mash them to stop in case of an emergency.&amp;nbsp; The brake failure is a &lt;i&gt;defect&lt;/i&gt; which can lead to the loss of human life.&amp;nbsp; Defects are taken very seriously, and we do everything we can to avoid them.&amp;nbsp; A &lt;i&gt;vulnerability&lt;/i&gt; is much different.&amp;nbsp; A &lt;i&gt;vulnerability&lt;/i&gt; is likened to a car that is not theft-resilient.&amp;nbsp; A thief being able to easily break into the car, hot-wire it bypassing the starter-kill mechanisms (obviously without the keys) and drive away is a &lt;i&gt;vulnerability&lt;/i&gt;.&amp;nbsp; Which do you suppose you would focus on if you were faced with both in front of you?&amp;quot;&lt;/p&gt;&lt;p&gt;&amp;nbsp;That struck me, and stuck with me.&amp;nbsp; While this IT Lead&amp;#39;s analogy was spot-on for the automobile industry... unfortunately it didn&amp;#39;t quite hold for the software development organization.&amp;nbsp; A defect was, in most cases, arguably not quite as critical as s security vulnerability - but neither will likely cause a loss of life (one would hope).&amp;nbsp; Anyway... I thought I would share this story so that the next time you&amp;#39;re talking QA... remember to use the correct terminology... it makes the point that much more... understandable. &lt;br /&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://www.communities.hp.com/securitysoftware/aggbug.aspx?PostID=87756" width="1" height="1"&gt;&lt;img src="http://feeds.feedburner.com/~r/RafalLos/~4/ct50Y56OuMk" height="1" width="1"/&gt;</description><category domain="http://www.communities.hp.com/securitysoftware/blogs/rafal/archive/tags/terminology/default.aspx">terminology</category><category domain="http://www.communities.hp.com/securitysoftware/blogs/rafal/archive/tags/QA/default.aspx">QA</category><feedburner:origLink>http://www.communities.hp.com/securitysoftware/blogs/rafal/archive/2009/02/03/qa-lesson-defect-vs-vulnerability.aspx</feedburner:origLink></item><item><title>President Obama's Web 2.0 Campaign Hijacked</title><link>http://feedproxy.google.com/~r/RafalLos/~3/_jJF-ziLKf8/president-obama-s-web-2-0-campaign-hijacked.aspx</link><pubDate>Wed, 28 Jan 2009 21:00:00 GMT</pubDate><guid isPermaLink="false">94bda21f-7d63-4095-85de-7c2a68fb172c:87678</guid><dc:creator>RafalLos</dc:creator><slash:comments>2</slash:comments><wfw:commentRss>http://www.communities.hp.com/securitysoftware/blogs/rafal/rsscomments.aspx?PostID=87678</wfw:commentRss><comments>http://www.communities.hp.com/securitysoftware/blogs/rafal/archive/2009/01/28/president-obama-s-web-2-0-campaign-hijacked.aspx#comments</comments><description>&lt;p&gt;Congratulations Mr. President, your Web 2.0 campaign to be the &amp;quot;hip&amp;quot; president has just been hijacked.&amp;nbsp; In an interesting news article published originally on &lt;a href="http://cyberinsecure.com" title="CyberInsecure.com" target="_blank"&gt;CyberInsecure.com&lt;/a&gt;, someone has decided to use the President&amp;#39;s popularity to hijack his potential, and unsuspecting, users and drump malware on their machines.&lt;/p&gt;&lt;p&gt;&amp;nbsp;I won&amp;#39;t go into details, you can read it all &lt;a href="http://cyberinsecure.com/my-barackobama-com-infects-visitors-with-trojan/" title="My.BarackObama.com - hacked." target="_blank"&gt;here&lt;/a&gt;, but&amp;nbsp; the moral is simple... I&amp;#39;ve been telling you folks that&lt;i&gt; hackers&lt;/i&gt; don&amp;#39;t just want your databases and credit card data... they want your CLICKS too.&amp;nbsp; The more popular your site is, the harder someone will try and break it (silently) to inject things like adware/malware for their own purposes... which by now should be obvious - make money.&lt;/p&gt;&lt;p&gt;&amp;nbsp;Protect your sites...&amp;nbsp; and your users.&lt;br /&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://www.communities.hp.com/securitysoftware/aggbug.aspx?PostID=87678" width="1" height="1"&gt;&lt;img src="http://feeds.feedburner.com/~r/RafalLos/~4/_jJF-ziLKf8" height="1" width="1"/&gt;</description><category domain="http://www.communities.hp.com/securitysoftware/blogs/rafal/archive/tags/web+application+security/default.aspx">web application security</category><category domain="http://www.communities.hp.com/securitysoftware/blogs/rafal/archive/tags/Web+2.0/default.aspx">Web 2.0</category><category domain="http://www.communities.hp.com/securitysoftware/blogs/rafal/archive/tags/president+hacked/default.aspx">president hacked</category><feedburner:origLink>http://www.communities.hp.com/securitysoftware/blogs/rafal/archive/2009/01/28/president-obama-s-web-2-0-campaign-hijacked.aspx</feedburner:origLink></item></channel></rss>
