<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://www.communities.hp.com/securitysoftware/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" 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/"><channel><title>Following the White Rabbit Blog : software quality</title><link>http://www.communities.hp.com/securitysoftware/blogs/rafal/archive/tags/software+quality/default.aspx</link><description>Tags: software quality</description><dc:language>en</dc:language><generator>CommunityServer 2008.5 SP1 (Build: 31106.3070)</generator><item><title>Is Anybody Listening?</title><link>http://www.communities.hp.com/securitysoftware/blogs/rafal/archive/2009/10/15/is-anybody-listening.aspx</link><pubDate>Thu, 15 Oct 2009 16:22:00 GMT</pubDate><guid isPermaLink="false">94bda21f-7d63-4095-85de-7c2a68fb172c:108403</guid><dc:creator>RafalLos</dc:creator><slash:comments>0</slash:comments><description>&lt;p&gt;Greetings, I am finally back home after an exhausting trip which had me speaking at 2 conferences back-to-back in separate countries and on opposite side of the coast! &amp;nbsp;I did learn some valuable lessons from speaking at these two wildly different conferences thought, so I thought I would share them with you here for your benefit too.&lt;/p&gt;
&lt;p&gt;First off, the Information Security conference I attended on Tuesday in Toronto called &amp;quot;&lt;a target="_blank" title="SecTor Presentations" href="http://www.sector.ca/presentations"&gt;SecTor&lt;/a&gt;&amp;quot; was brilliantly run and targeted towards Canadian-based information security professionals and wanna-be security professionals. &amp;nbsp;It&amp;#39;s OK to say it, there are plenty of people that attend these conferences who are looking to break into the business and want to learn about information security enough to get a grounding of what the industry is about... so they attend these conferences. &amp;nbsp;My talk &amp;quot;When Web 2.0 Attacks&amp;quot; was well-attended and I even had some big names in my audience (thanks to RSnake, Hoff and a few others that wandered in and out) and I think the overall impression was that the stuff I presented was relevant to people&amp;#39;s daily lives in Information Security. &amp;nbsp;That&amp;#39;s kind of the problem though...&lt;/p&gt;
&lt;p&gt;You see, while I ordinarily wouldn&amp;#39;t think twice about educating those in my field ... someone that&amp;#39;s been doing this for a while longer than I reminded me a while back that this is what we would call &amp;quot;preaching to the choir&amp;quot;. &amp;nbsp;Sure, I tend to agree that even within Information Security not enough people understand Web App Sec well enough to build a program and actually reduce any real risks - but those folks have been hearing this talk for years upon years right? &amp;nbsp;At some point I&amp;#39;m bound to hit the law of diminishing returns; and furthermore, people who didn&amp;#39;t agree with me 6 months ago aren&amp;#39;t likely to agree with me today. &amp;nbsp;Great conference, great mind-share but it&amp;#39;s definitely time to reach a broader audience.&lt;/p&gt;
&lt;p&gt;That&amp;#39;s where the next conference I spoke at comes in. &amp;nbsp;Wednesday morning, at 4:00am Central time (yea, AM) while some of my colleagues were stumbling into their hotel rooms in downtown Toronto I was hopping into a car and being driven to the airport to head out west. &amp;nbsp;My destination was Anaheim, CA where I would speak at StarWest later that day. &amp;nbsp;I&amp;#39;m still not sure how through the delayed flight, sickness, and almost-missed connection I made it out to the West Coast by 2pm, but I did... and Star West was awesome.&lt;/p&gt;
&lt;p&gt;StarWest (run by the SQE folks (&lt;a target="_blank" title="SQE Homepage" href="http://www.sqe.com"&gt;www.SQE.com&lt;/a&gt;) is nicely put together and serves an entirely new audience of people. &amp;nbsp;Here at StarWest (although I did find it strange that we were in the heart of DisneyLand!) the audience was almost entirely composed of software test engineers, managers and those related to the field. &amp;nbsp;This was a completely different set of ears than what I&amp;#39;m used to ... this was a good thing.&lt;/p&gt;
&lt;p&gt;The first thing I heard when I put my welcome slide up was &amp;quot;Hey, isn&amp;#39;t security supposed to be done by the security people?&amp;quot; &amp;nbsp;Love it. &amp;nbsp;This is exactly the mentality and walls I was there to break down. &amp;nbsp;I think as we went through the hour-long session on &amp;quot;Detective Work for Testers...&amp;quot; I managed to convince a few people in the audience that their jobs were closely tied to mine in Information Security. &amp;nbsp;Maybe, maybe not. &amp;nbsp;The bottom line is that there were many great folks who came up to me and talked afterwards and through the end of the conference about the absolutely missing component in their SDL that was security. &amp;nbsp;I had one lady in the audience (although she fled before I could get more out of her, and had to track her down myself later on the show floor) tell me that her security team &lt;strong&gt;is&lt;/strong&gt;&amp;nbsp;the developers and that because they tell the bosses that they don&amp;#39;t have security issues no one ever tests the code. &amp;nbsp;I wish I could recall where she worked, hopefully no place important like a bank or anything ...&lt;/p&gt;
&lt;p&gt;The point is - this was the right audience. &amp;nbsp;If you were there and came to my talk, awesome! &amp;nbsp;If you missed it, slides are posted and we can talk about it whenever you have some time.&lt;/p&gt;
&lt;p&gt;Do you believe that Information Security and Software Quality testing is one and the same? &amp;nbsp;Do you believe that a quality defect may as well be a security defect? &amp;nbsp;Can you successfully explain the difference between a security and quality bug?&lt;/p&gt;
&lt;p&gt;... I&amp;#39;m fairly sure I have my target audience for the next&amp;nbsp;foreseeable&amp;nbsp;future. &amp;nbsp;Listen up quality testers - I&amp;#39;m coming to a conference near you!&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=108403" width="1" height="1"&gt;</description><category domain="http://www.communities.hp.com/securitysoftware/blogs/rafal/archive/tags/security/default.aspx">security</category><category domain="http://www.communities.hp.com/securitysoftware/blogs/rafal/archive/tags/conferences/default.aspx">conferences</category><category domain="http://www.communities.hp.com/securitysoftware/blogs/rafal/archive/tags/software+quality/default.aspx">software quality</category></item><item><title>Defining Security as a Business Requirement</title><link>http://www.communities.hp.com/securitysoftware/blogs/rafal/archive/2009/02/05/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 xmlns:wfw="http://wellformedweb.org/CommentAPI/">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;</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/application+security/default.aspx">application security</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/QA/default.aspx">QA</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/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/process/default.aspx">process</category></item><item><title>Harsh Reality - Life in InfoSec</title><link>http://www.communities.hp.com/securitysoftware/blogs/rafal/archive/2008/12/08/harsh-reality-life-in-infosec.aspx</link><pubDate>Mon, 08 Dec 2008 20:13:00 GMT</pubDate><guid isPermaLink="false">94bda21f-7d63-4095-85de-7c2a68fb172c:86982</guid><dc:creator>RafalLos</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://www.communities.hp.com/securitysoftware/blogs/rafal/rsscomments.aspx?PostID=86982</wfw:commentRss><comments>http://www.communities.hp.com/securitysoftware/blogs/rafal/archive/2008/12/08/harsh-reality-life-in-infosec.aspx#comments</comments><description>&lt;p&gt;&amp;nbsp; It&amp;#39;s Monday again, and it&amp;#39;s absolutely brain-numbingly cold here in Chicago... but I wanted to get these thoughts down before they fell out of my brain to make room for new stuff.&lt;/p&gt;
&lt;p&gt;&amp;nbsp; Last week I had the pleasure of meeting with a group of guys that are running the Information Security practice within one of the largest and most respected retailers to the &amp;quot;hip&amp;quot; crowd... these folks live sales volume and press... good or bad.&amp;nbsp; I think they&amp;#39;ve got some extremely unique challenges so I wanted to present the angle I proposed in case it&amp;#39;s useful to anyone else.&lt;/p&gt;
&lt;p&gt;&amp;nbsp; First off, they have a very small &amp;quot;security&amp;quot; team, mainly consistent of compliance activities and common &amp;quot;operational security&amp;quot; tasks such as identity provisioning, anti-virus, firewall, you get the picture.&amp;nbsp; They also have a relatively well-established QA team which is critical to the success of their online retail component - so the established value of that team is there.&amp;nbsp; This is unlike the value of the security team - which unfortunately doesn&amp;#39;t have a good foot-hold... not for lack of trying from what I heard.&amp;nbsp; Their problem?&amp;nbsp; No one cares about security.&amp;nbsp; (Sound familiar yet?)&lt;/p&gt;
&lt;p&gt;&amp;nbsp; To overcome some of these challenges we focused on what was important to the business from an IT perspective - Software Quality.&amp;nbsp; More specifically the quality of the online application(s) was important to this customer.&amp;nbsp; Having their eCommerce site(s) up, and available for business is top-priority.&amp;nbsp; Given that information we can quickly re-tool our approach and make *security* a component of the overall quality cycle.&amp;nbsp; I know, some of you security purists are probably mad at me right now, but this is the harsh reality of life in a downturn.&amp;nbsp; Why not though, use the business-critical areas to get the job done?&amp;nbsp; The Security guys know they need tighter security but maybe the business doesn&amp;#39;t care so much - except to check the box of compliance (PCI-DSS) - so I think taking a modified approach is the only way to fly in cases like this.&lt;/p&gt;
&lt;p&gt;&amp;nbsp; Making security a sub-component of overall software quality works like this.&amp;nbsp; Security, amongst other things, aims to keep a site/application &amp;quot;up and running&amp;quot; and resistant to hacking.&amp;nbsp; Now, hacking often-times causes Denial-of-Service conditions so there we have link #1 to quality and uptime.&amp;nbsp; The second link comes in a little more vague.&amp;nbsp; Hacking an application means loss of data, potentially - and that can lead to downtime and disrupt the consumer&amp;#39;s ability to purchase or buy - basically data corruption.&amp;nbsp; I know these aren&amp;#39;t ideal links, and you&amp;#39;ll like the PCI &amp;quot;compliance&amp;quot; link even less I&amp;#39;m sure - but there you have it.&lt;/p&gt;
&lt;p&gt;&amp;nbsp; Those 3 links into application quality may be the difference between *&lt;strong&gt;zero&lt;/strong&gt;* security budget and getting *some* security budget.&amp;nbsp; Now, the question of &lt;strong&gt;TTH&lt;/strong&gt; (from Jeremiah Grossman, Time-To-Hack) may come into play again... we have to ask ourselves if what we&amp;#39;re doing makes any difference in the time that it takes to take the app down, and steal the data.&amp;nbsp; Maybe yes, maybe no right?&amp;nbsp; The main point here for these guys is to demonstrate due-dilligence for PCI comliance.&amp;nbsp; While this is a bit of a sad commentary on the way of the world and how much security *&lt;strong&gt;really&lt;/strong&gt;* matters... at least they&amp;#39;re doing something.&lt;/p&gt;
&lt;p&gt;&lt;em&gt;&amp;nbsp;&amp;nbsp; Keep pushing guys, you&amp;#39;re on the right track!&lt;/em&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=86982" width="1" height="1"&gt;</description><category domain="http://www.communities.hp.com/securitysoftware/blogs/rafal/archive/tags/PCI+Compliance/default.aspx">PCI Compliance</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/application+security/default.aspx">application security</category><category domain="http://www.communities.hp.com/securitysoftware/blogs/rafal/archive/tags/PCI+DSS/default.aspx">PCI DSS</category></item></channel></rss>