<?xml version="1.0" encoding="utf-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" version="2.0">
  <channel>
    <title><![CDATA[[SecurityRatty] tag: variable]]></title>
    <link>http://securityratty.com/tag/variable</link>
    <description></description>
    <pubDate>Fri, 22 Aug 2008 09:05:53 +0000</pubDate>
    <generator>iRatty Engine</generator>
    <docs>http://blogs.law.harvard.edu/tech/rss</docs>
    <item>
      <title><![CDATA[Mamma.com: Insider trading and XSS]]></title>
      <link>http://securityratty.com/article/56fd5d403c630cbec7e9ec62becaafc5</link>
      <guid>http://securityratty.com/article/56fd5d403c630cbec7e9ec62becaafc5</guid>
      <description><![CDATA[Mamma.com 's got issues other than Mark Cuban's insider trading allegations. As a point of reference for this conversation, Mamma.com is ranked 4064 on Alexa as of today
I won't profess to following...]]></description>
      <content:encoded><![CDATA[<a href="http://mamma.com/" target="_blank">Mamma.com</a>'s got issues other than Mark Cuban's insider trading allegations. As a point of reference for this conversation, Mamma.com is ranked <a href="http://www.alexa.com/search?q=mamma.com" target="_blank">4064</a> on <a href="http://www.alexa.com" target="_blank">Alexa</a> as of today.<br />I won't profess to following Mr. Cuban's public life and the occasional antics. Obviously, he's a colorful and popular figure; certainly in Dallas, if not nationally. <br />What follows is not a judgment of Mr. Cuban or his pending legal challenges. I'm sure the process will play itself out accordingly.<br />A quick summary and some reference material:<br />The SEC has <a href="http://www.businessweek.com/the_thread/blogspotting/archives/2008/11/sec_hits_mark_c.html?chan=technology_technology+index+page_top+stories" target="_blank">filed</a> insider trading charges against Mr. Cuban. "According to the SEC, Cuban dumped 600,000 shares, or all of his 6.3% stake, in the search engine Mamma.com (The Mother of All Search Engines), in June 2004 after learning about private financing that the company was proposing. By selling, he avoided losing $750,000, the SEC alleges."<br />The whole issue for Mr. Cuban was <a href="http://blogmaverick.com/2008/11/17/the-sec/" target="_blank">PIPE</a> financing because it's "dilutive to existing shareholders’ stakes."<br />That's the long and the short of the current issue, and again, not my real interest here, with the exception of the bet I made with myself regarding the probable web application security posture of mamma.com. <br />All this talk about a popular site immediately sets off the little bell in my head (I hear it a lot). <span style="font-weight:bold;"><br />"What's wrong with the site?" is always the first question I ask myself.</span> <br /><br />I was not disappointed. <br /><br />Mamma.com exhibits the following issues:<br />1) XSS vulnerability in the <span style="font-style:italic;">utfout<span style="font-weight:bold;"><span style="font-style:italic;"></span></span></span> variable.<br /><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_kVOWaY1TAF0/SSNDBtG5jhI/AAAAAAAAAEs/rIT7buzVsao/s1600-h/mamma1.png" target="_blank"><img style="cursor:pointer; cursor:hand;width: 320px; height: 184px;" src="http://1.bp.blogspot.com/_kVOWaY1TAF0/SSNDBtG5jhI/AAAAAAAAAEs/rIT7buzVsao/s320/mamma1.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5270129685521075730" /></a><br /><br />2) XSS vulnerability in the <span style="font-style:italic;">qtype</span> variable.<br /><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_kVOWaY1TAF0/SSNDSxiGVeI/AAAAAAAAAE0/E-McmPqvoDQ/s1600-h/mamma2.png" target="_blank"><img style="cursor:pointer; cursor:hand;width: 320px; height: 201px;" src="http://3.bp.blogspot.com/_kVOWaY1TAF0/SSNDSxiGVeI/AAAAAAAAAE0/E-McmPqvoDQ/s320/mamma2.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5270129978766677474" /></a><br /><br />3) XSS vulnerability in their Mammajobs site at the <span style="font-style:italic;">pid</span> variable. This one's weirder still; if you drop an IFRAME in, it simply redirects to any URL you include in the IFRAME string.<br /><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_kVOWaY1TAF0/SSNDd-U7c0I/AAAAAAAAAE8/GCrCAoYom5k/s1600-h/mamma3.png" target="_blank"><img style="cursor:pointer; cursor:hand;width: 320px; height: 99px;" src="http://4.bp.blogspot.com/_kVOWaY1TAF0/SSNDd-U7c0I/AAAAAAAAAE8/GCrCAoYom5k/s320/mamma3.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5270130171179660098" /></a><br /><br />4) The prospect of CSRF (rather pointless here given that its just a search engine, but but still defies best practices) appears likely given that mamma.com blindly accepts updates via GET and POST with no sign of a formkey (canary) in sight.<br /><br />I figured it best to stop there, and have submitted all these to Copernic (the Momma parent company). <br />I am however truly disappointed that an enterprise as ambitious and motivated as Momma/Copernic seems to have thrown the baby out with the bath water when it comes to web application security.<br />With regard to Mark Cuban dumping his shares: maybe he was afraid of getting pwned. ;-) All kidding aside, it's a shame that the whimsical and pessimistic thoughts regarding web site security that bounce around in my head inevitably bear themselves out.<br /><br /><a href="http://del.icio.us/post?url=http://holisticinfosec.blogspot.com/2008/11/mammacom-insider-trading-and-xss.html&title=Mamma.com:%20Insider%20trading%20and%20XSS " title="Mamma.com: Insider trading and XSS ">del.icio.us</a> | <a href="http://digg.com/submit?phase=2&amp;url=http://holisticinfosec.blogspot.com/2008/11/mammacom-insider-trading-and-xss.html" title="Mamma.com: Insider trading and XSS ">digg</a> | <a href="http://slashdot.org/submit.pl?url=http://holisticinfosec.blogspot.com/2008/11/mammacom-insider-trading-and-xss.html">Submit to Slashdot</a>]]></content:encoded>
      <pubDate>Tue, 18 Nov 2008 06:55:00 +0000</pubDate>
      <category domain="http://securityratty.com/tag/mamma">mamma</category>
      <category domain="http://securityratty.com/tag/mark cuban">mark cuban</category>
      <category domain="http://securityratty.com/tag/cuban">cuban</category>
      <category domain="http://securityratty.com/tag/engine">engine</category>
      <category domain="http://securityratty.com/tag/engine mamma">engine mamma</category>
      <category domain="http://securityratty.com/tag/xss vulnerability">xss vulnerability</category>
      <category domain="http://securityratty.com/tag/site">site</category>
      <category domain="http://securityratty.com/tag/insider">insider</category>
      <category domain="http://securityratty.com/tag/web site security">web site security</category>
      <source url="http://holisticinfosec.blogspot.com/2008/11/mammacom-insider-trading-and-xss.html">Mamma.com: Insider trading and XSS</source>
    </item>
    <item>
      <title><![CDATA[XSS Comedy III: Tax Cheats with Small Equipment]]></title>
      <link>http://securityratty.com/article/231bdf97af3811aa73d852717e216a77</link>
      <guid>http://securityratty.com/article/231bdf97af3811aa73d852717e216a77</guid>
      <description><![CDATA[As part of an ongoing series, if I may I, the third in a series on the absurd, inane, and perhaps even funny. Lest you forget: the first and second in the series
I don't know about you, but I enjoy...]]></description>
      <content:encoded><![CDATA[As part of an ongoing series, if I may I, the third in a series on the absurd, inane, and perhaps even funny. Lest you forget: the <a href="http://holisticinfosec.blogspot.com/2008/06/xss-comedy-at-mcafee-secures-expense.html" target="_blank">first</a> and <a href="http://holisticinfosec.blogspot.com/2008/09/xss-fortune-cookie.html" target="_blank">second</a> in the series.<br />I don't know about you, but I enjoy occasionally watching offerings like the History Channel, AMC, or the Military Channel. I'm a 40ish, white male and as such I likely fit the general demographic as perceived by the marketing geniuses who buy the late evening advertising blocks on these channels. <br />That does NOT mean that I cheat of my taxes and thus need the services of a plethora of scam artists selling tax relief. Nor does it mean that I have any interest in "enhancement" opportunities like Enzyte or ExtenZe. <br />I just love people who choose to skip out on a primary obligation of citizenship that most of us choose to meet, and expect to magically turn $100,000 in tax debt into $999. Then there are the "businesses" who exploit these folks and willingly convince them of their "success" via the power of advertising, at which point my patience just snaps, as it did last night. <br />Thus, part one of this rant is a mighty <span style="font-weight:bold;">bugger off</span> to all the "tax relief" companies. To their patrons, may I suggest simply paying taxes like the rest of us?<br />Here's an XSS vulnerability in the Freedom Financial Network, "as seen on TV", designed to express precisely how I feel: <br /><br /><a href="http://www.freedomfinancialnetwork.com/tax_debt.php?pid=ffn+go&key=%22%3E%3Cmarquee%3E%3Ch1%3ENOTHING_IS_FREE!%3C%2Fh1%3E%3C%2Fmarquee%3E" target="_blank">http://www.freedomfinancialnetwork.com/tax_debt.php?pid=ffn+go&key=%22%3E%3Cmarquee%3E%3Ch1%3ENOTHING_IS_FREE!%3C%2Fh1%3E%3C%2Fmarquee%3E</a><br /><br />If and when they fix this issue, here's the <a href="http://holisticinfosec.org/video/freedomtaxrelief/nothingisfree.html" target="_blank">video</a> for posterity.<br /><br />Part two of this rant will get you more bang for your buck, and I'm not talking enhancement.<br />Thanks to my utter disdain for the endlessly annoying advertising I went to the ExtenZe site to see what might be broken which immediately led me to discover an entire platform vulnerability in the ColdFusion application built by <a href="http://www.internet-direct-response.com/portfolio.html" target="_blank">Internet Direct Response (IDR)</a>, the wankers who proudly bring you Maxoderm, Vivaxa, Vazomyne, Smoke Away, and Hydroxydrene; all such reputable products, and all repetitively wearing me out via DirectTV. At the ExtenZe site I spotted a variable that seemed worthy of building a <a href="http://www.google.com/search?hl=en&q=inurl:%22microppcsite%22&start=0&sa=N" target="_blank">Googledork</a> from, and I soon discovered that it was a consistent variable in most of the sites pimping this crap; specifically, <span style="font-style:italic;">microppcsite</span>. You can follow all the search results back to our friends at IDR. <br />A little experimentation and I quickly discovered that the similar <span style="font-style:italic;">microppcterm</span> variable was vulnerable to entertaining XSS exploitation so I started with:<br /><br /><a href="http://www.extenzeforlife.com/?microppcsite=google&microppcterm=%22%3E%3Cmarquee%3E%3Ch1%3EToo_short,_Morningwood?%3C%2Fh1%3E%3C%2Fmarquee%3E&gclid=CJ3T2NXH8JYCFQQCagod7xyBrA" target="_blank">http://www.extenzeforlife.com/?microppcsite=google&microppcterm=%22%3E%3Cmarquee%3E%3Ch1%3EToo_short,_Morningwood?%3C%2Fh1%3E%3C%2Fmarquee%3E&gclid=CJ3T2NXH8JYCFQQCagod7xyBrA</a><br /><br />Pick your poison, it works on most IDR gems.<br /><br /><a href="http://www.enzyte-male-enhancement.com/google/?microppcsite=google&microppcterm=%22%3E%3Cmarquee%3E%3Ch1%3EBob_just_wants_your_money.%3C%2Fh1%3E%3C%2Fmarquee%3E" target="_blank">http://www.enzyte-male-enhancement.com/google/?microppcsite=google&microppcterm=%22%3E%3Cmarquee%3E%3Ch1%3EBob_just_wants_your_money.%3C%2Fh1%3E%3C%2Fmarquee%3E</a><br /><br />Again, a <a href="http://holisticinfosec.org/video/enhancement/enhancement.html" target="_blank">video</a>, should IDR choose to fix their app.<br /><br />And now, the grand prize for pathetic: The ExtenZe site is <a href="https://www.mcafeesecure.com/RatingVerify?ref=www.extenzeforlife.com" target="_blank">McAfee Secure</a>. <br /><br />I couldn't make this stuff up if I tried.<br />You thought www stood for world wide web. Try wee willy wankers. *sigh*<br /><br /><a href="http://del.icio.us/post?url=http://holisticinfosec.blogspot.com/2008/11/xss-comedy-iii-tax-cheats-with-small.html&title=XSS%20Comedy%20III:%20Tax%20Cheats%20with%20Small%20Equipment " title="XSS Comedy III: Tax Cheats with Small Equipment ">del.icio.us</a> | <a href="http://digg.com/submit?phase=2&amp;url=http://holisticinfosec.blogspot.com/2008/11/xss-comedy-iii-tax-cheats-with-small.html" title="XSS Comedy III: Tax Cheats with Small Equipment ">digg</a> | <a href="http://slashdot.org/submit.pl?url=http://holisticinfosec.blogspot.com/2008/11/xss-comedy-iii-tax-cheats-with-small.html">Submit to Slashdot</a>]]></content:encoded>
      <pubDate>Wed, 12 Nov 2008 13:52:00 +0000</pubDate>
      <category domain="http://securityratty.com/tag/idr">idr</category>
      <category domain="http://securityratty.com/tag/idr choose">idr choose</category>
      <category domain="http://securityratty.com/tag/extenze site">extenze site</category>
      <category domain="http://securityratty.com/tag/extenze">extenze</category>
      <category domain="http://securityratty.com/tag/variable">variable</category>
      <category domain="http://securityratty.com/tag/consistent variable">consistent variable</category>
      <category domain="http://securityratty.com/tag/wankers">wankers</category>
      <category domain="http://securityratty.com/tag/choose">choose</category>
      <category domain="http://securityratty.com/tag/tax relief">tax relief</category>
      <source url="http://holisticinfosec.blogspot.com/2008/11/xss-comedy-iii-tax-cheats-with-small.html">XSS Comedy III: Tax Cheats with Small Equipment</source>
    </item>
    <item>
      <title><![CDATA[Ticketmaster/Paciolan XSS: Thanks, but I'll buy at the stadium]]></title>
      <link>http://securityratty.com/article/6f061166c9d2ed01f029ede10862d142</link>
      <guid>http://securityratty.com/article/6f061166c9d2ed01f029ede10862d142</guid>
      <description><![CDATA[As if the extra Ticketmaster fees weren't enough, how about the prospect of your PII being stolen because they forgot to perform proper due diligence via a web application security assessment on...]]></description>
      <content:encoded><![CDATA[As if the extra Ticketmaster fees weren't enough, how about the prospect of your <a href="http://en.wiktionary.org/wiki/PII" target="_blank">PII</a> being stolen because they forgot to perform proper due diligence via a web application security assessment on recent <a href="http://press.ticketmaster.com/Extranet/TMPRArticlePressReleases.aspx?id=5530" target="_blank">acquisition</a> <a href="http://paciolan.com/" target="_blank">Paciolan</a>?<br />Consider the following Google search <a href="http://www.google.com/search?hl=en&q=site:ev12.evenue.net&start=10&sa=N">results</a>. The server referenced therein hosts an "integrated ticketing system that enables venues to manage their own tickets."<br />Rutgers, University of Washington, Army, Air Force, Navy, Baylor, Notre Dame, even the American Museum of Natural History; all sell their tickets online through the Ticketmaster/Paciolan offering.<br />And they're all vulnerable as a result.<br />I've made multiple attempts to notify these folks, and have been ignored, so time for a scolding as my Gran used to say.<br />It's been awhile since I've brought video to bear and while I've nothing against the Arkansas Razorbacks, I had to utilize someone's instance of this service to prove my point, so away we go.<br />By the way, I just love the Verisign Secured badge (it's not going to help here).<br />Here's the full URL:<br /><a href="http://ev12.evenue.net/cgi-bin/ncommerce3/SEGetEventList?groupCode=FB&linkID=arkansas&shopperContext=&caller=&appCode=&RSRC=TM&RDAT=FB08SPLASH" target="_blank">http://ev12.evenue.net/cgi-bin/ncommerce3/SEGetEventList?groupCode=FB&linkID=arkansas&shopperContext=&caller=&appCode=&RSRC=TM&RDAT=FB08SPLASH</a><br />The <span style="font-style:italic;">shopperContext</span> (how ironic) variable is the parameter with issues. Mind you, this holds true for any university or venue using this service.<br /><br />For your viewing pleasure, the <a href="http://holisticinfosec.org/video/paciolan/paciolan.html" target="_blank">video</a>.<br /><br />Yes, they take your credit card information, and conduct the ticket purchase transaction. If you've read my blog, you know by now the risks inherent to cross-site scripting vulnerabilities under circumstances like these. Verisign SSL certs are nice, but won't help the consumer if the web app is vulnerable.<br /><br />Thanks, but I'll buy my tickets at the stadium. ;-)<br /><br />Should Ticketmaster/Paciolan fix this issue, I'll update the post accordingly.<br /><br /><a href="http://del.icio.us/post?url=http://holisticinfosec.blogspot.com/2008/10/ticketmasterpaciolan-xss-thanks-but-ill.html&title=Ticketmaster/Paciolan%20XSS:%20Thanks,%20but%20I'll%20buy%20at%20the%20stadium " title="Ticketmaster/Paciolan XSS: Thanks, but I'll buy at the stadium ">del.icio.us</a> | <a href="http://digg.com/submit?phase=2&amp;url=http://holisticinfosec.blogspot.com/2008/10/ticketmasterpaciolan-xss-thanks-but-ill.html" title="Ticketmaster/Paciolan XSS: Thanks, but I'll buy at the stadium ">digg</a> | <a href="http://slashdot.org/submit.pl?url=http://holisticinfosec.blogspot.com/2008/10/ticketmasterpaciolan-xss-thanks-but-ill.html">Submit to Slashdot</a>]]></content:encoded>
      <pubDate>Tue, 28 Oct 2008 17:30:00 +0000</pubDate>
      <category domain="http://securityratty.com/tag/tickets">tickets</category>
      <category domain="http://securityratty.com/tag/tickets online">tickets online</category>
      <category domain="http://securityratty.com/tag/verisign ssl certs">verisign ssl certs</category>
      <category domain="http://securityratty.com/tag/verisign">verisign</category>
      <category domain="http://securityratty.com/tag/credit card information">credit card information</category>
      <category domain="http://securityratty.com/tag/ticket purchase transaction">ticket purchase transaction</category>
      <category domain="http://securityratty.com/tag/extra ticketmaster fees">extra ticketmaster fees</category>
      <category domain="http://securityratty.com/tag/recent acquisition paciolan">recent acquisition paciolan</category>
      <category domain="http://securityratty.com/tag/natural history">natural history</category>
      <source url="http://holisticinfosec.blogspot.com/2008/10/ticketmasterpaciolan-xss-thanks-but-ill.html">Ticketmaster/Paciolan XSS: Thanks, but I'll buy at the stadium</source>
    </item>
    <item>
      <title><![CDATA[MS08-067 and the SDL]]></title>
      <link>http://securityratty.com/article/df5eba2c21ebdf631d2dd9fbe82532ab</link>
      <guid>http://securityratty.com/article/df5eba2c21ebdf631d2dd9fbe82532ab</guid>
      <description><![CDATA[Hi, Michael here
No doubt you are aware of the out-of-band security bulletin issued by the Microsoft Security Response Center today, and like all security vulnerabilities, this is a vulnerability we...]]></description>
      <content:encoded><![CDATA[<P mce_keep="true">Hi, Michael here.</P>
<P>No doubt you are aware of the out-of-band security bulletin issued by the <A href="http://www.microsoft.com/technet/security/Bulletin/MS08-067.mspx" mce_href="http://www.microsoft.com/technet/security/Bulletin/MS08-067.mspx">Microsoft Security Response Center</A> today, and like all security vulnerabilities, this is a vulnerability we can learn from and, if necessary, can use to shape future versions of the Security Development Lifecycle (SDL).</P>
<P>Before I get into some of the details, it's important to understand that the SDL is designed as a multi-pronged security process to help systemically reduce security vulnerabilities. In theory, if one facet of the SDL process fails to prevent or catch a bug, then some other facet should prevent or catch the bug. The SDL also mandates the use of security defenses, because we know full well that the SDL process will never catch all security bugs. As we have said many times, the goal of the SDL is to "Reduce vulnerabilities, and reduce the severity of what's missed."</P>
<P>In this post, I want to focus on the SDL-required code analysis, code review, fuzzing and compiler and operating system defenses and how they fared.</P>
<H3>Code Analysis and Review</H3>
<P>I want to start by analyzing the code to understand why we did not find this bug through manual code review nor through the use of our static analysis tools. First, the code in question is reasonably complex code to canonicalize path names; for example, strip out ‘..' characters and such to arrive at the simplest possible directory name. The bug is a stack-based buffer overflow inside a loop; finding buffer overruns in loops, especially complex loops, is difficult to detect with a high degree of probability without producing many false positives. At a later date I will publish more of the source code for the function. </P>
<P>The loop inside the function walks along an incoming string to determine if a character in the path might be a dot, dot-dot, slash or backslash and if it is then applies canonicalization algorithms.</P>
<P>The irony of the bug is it occurs while calling a bounded function call:</P>
<BLOCKQUOTE>
<P>_tcscpy_s(previousLastSlash, pBufferEnd - previousLastSlash, ptr + 2);</P></BLOCKQUOTE>
<P>This function is a macro that expands to <A href="http://msdn.microsoft.com/en-us/library/td1esda9(VS.80).aspx" mce_href="http://msdn.microsoft.com/en-us/library/td1esda9(VS.80).aspx">wcscpy_s</A>(dest, len, source); technically, the bug is not in the call to wcscpy_s, but it's in the way the arguments are calculated. As I alluded to, all three arguments are highly dynamic and constantly updated within the while() loop. There is a great deal of pointer arithmetic in this loop. Without going into all the gory attack details, given a specific path, and after the while() loop has been passed through a few times, the pointer, previousLastSlash, gets clobbered. </P>
<P>In my opinion, hand reviewing this code and successfully finding this bug would require a great deal of skill and luck. So what about tools?&nbsp; It's very difficult to design an algorithm which can analyze C or C++ code for these sorts of errors.&nbsp; The possible variable states grows very, very quickly.&nbsp; It's even more difficult to take such algorithms and scale them to non-trivial code bases. This is made more complex as the function accepts a highly variable argument, it's not like the argument is the value 1, 2 or 3! Our present toolset does not catch this bug. </P>
<P>Ok, now I'm really going out on a limb with this next section.</P>
<P>Over the last year or so I've noticed that the security vulnerabilities across Microsoft, but most noticeably in Windows have become bugs of a class I call "onesey - twosies" in other words, one-off bugs. There is a good side and a bad side to this. First the good news; I think perhaps we have removed a good number of the low-hanging security vulnerabilities from many of our products, especially the newer code. The bad news is, we'll continue to have vulnerabilities because you cannot train a developer to hunt for unique bugs, and creating tools to find such bugs is also hard to do without incurring an incredible volume of false positives. With all that said, I will add detail about one-off bugs to our internal education; I think it's important to make people aware that even with great tools and great security-savvy engineers, there are still bugs that are very hard to find.</P>
<H3>Fuzz Testing</H3>
<P>I'll be blunt; our fuzz tests did not catch this and they should have. So we are going back to our fuzzing algorithms and libraries to update them accordingly. For what it's worth, we constantly update our fuzz testing heuristics and rules, so this bug is not unique.</P>
<H3>Defenses</H3>
<P>If you want the full details of the defenses, and how they come into play on Windows Vista and Windows Server 2008, I urge you to read teh SVRD team's in-depth <A href="http://blogs.technet.com/swi/" mce_href="http://blogs.technet.com/swi/">analysis</A>&nbsp;once it is posted.</P>
<P>A big focus of the SDL is to define and require defenses because we have no allusions about finding or preventing all security vulnerabilities by attempting to get the code right all the time, because no-one can do that. No one. &nbsp;See my comment above about one-off bugs! </P>
<P>Let's look at each SDL mandated requirement and how they fared in light of this vulnerability.</P>
<H4>-GS</H4>
<P>The -GS story is not so simple. A lot of code is executed before a cookie check is made and the attacker can control the overflow because the overflow starts at an offset before the stack buffer, rather than at the stack buffer itself. So the attacker can overwrite other frames on the call stack, corresponding to functions that return before a cookie check is made. That's a long way of saying that -GS was not meant to prevent this type of scenarios.</P>
<H4>ASLR and NX</H4>
<P>The code fully complies with the SDL, and is linked with /DYNAMICBASE and /NXCOMPAT on Windows Vista and Windows Server 2008. There are great defenses when used together, and reduce the chance of a successful attack substantially. Also, the stack offset is randomized too, making a deterministic attack even more unlikely.</P>
<H4>Service Restart Policy</H4>
<P>By default the affected service is marked to restart only twice after a crash on Windows Vista and Windows Server 2008, which means the attacker has only two attempts to get the attack right. Prior to Windows Vista, the attacker has unlimited attempts because the service restarts indefinitely. </P>
<H4>Authentication</H4>
<P>Thanks to mandatory integrity control (MIC) settings (which comes courtesy of UAC) the networking endpoint that leads to the vulnerable code requires authentication on Windows Vista and Windows Server 2008 by default. Prior to Windows Vista, the end point is always anonymous, so anyone can attack it, so long as the attacker can traverse the firewall. This is a great example of SDL's focus on attack surface reduction; requiring authentication means the number of attackers that can access the entry point is dramatically reduced.</P>
<H4>Firewall</H4>
<P>We enabled the firewall by default in Windows XP SP2 and later, this was a direct learning from the Blaster worm. By default, ports 139 and 445 are not opened to the Internet on Windows XP SP2, Windows Vista and Windows Server 2008. </P>
<H3>Summary</H3>
<P>The $64,000 question we ask ourselves when we issue any bulletin is "did SDL fail?" and the answer in this case is categorically "No!" No because as I said earlier the goal of the SDL is "Reduce vulnerabilities, and reduce the severity of what you miss." Windows Vista and Windows Server 2008 customers are protected by the defenses in the operating system that have been crafted in part by the SDL. The development team who built the affected component compiled and linked with the appropriate settings as described in "<A href="http://msdn.microsoft.com/en-us/library/bb430720.aspx" mce_href="http://msdn.microsoft.com/en-us/library/bb430720.aspx">Windows Vista ISV Security</A>" and <A href="http://www.microsoft.com/mspress/books/10723.aspx" mce_href="http://www.microsoft.com/mspress/books/10723.aspx">Writing Secure Code for Windows Vista</A> so that their service is protected by the operating system. </P>
<P>The team did not poke holes through the firewall unnecessarily, in accordance with the SDL.</P>
<P>The team reduced their attack surface, in accordance with the SDL, by requiring authenticated connections rather than anonymous connections by default.</P>
<P>We know that the SDL-mandated -GS has very strict heuristics so some functions are not protected by a stack cookie, but in this case, there is no buffer on the stack, so there will be no cookie. We know this. There are no plans to remedy this in the short term. </P>
<P>Fuzzing missed the bug, so we will update our fuzz testing heuristics, but we continually update our fuzzing heuristics anyway. </P>
<P>In short, based on what we know right now, Windows Vista and Windows Server 2008 customers are protected because of the SDL-mandated defenses in the operating system, and because the development team adhered to the letter of the SDL to take advantage of those defenses.</P>
<P>Chalk one up for Windows Vista and later and the SDL!</P>
<P>As usual, questions and comments are very welcome.</P><img src="http://blogs.msdn.com/aggbug.aspx?PostID=9012073" width="1" height="1">]]></content:encoded>
      <pubDate>Wed, 22 Oct 2008 21:09:00 +0000</pubDate>
      <category domain="http://securityratty.com/tag/manual code review">manual code review</category>
      <category domain="http://securityratty.com/tag/code review">code review</category>
      <category domain="http://securityratty.com/tag/vulnerabilities">vulnerabilities</category>
      <category domain="http://securityratty.com/tag/reduce security vulnerabilities">reduce security vulnerabilities</category>
      <category domain="http://securityratty.com/tag/sdl">sdl</category>
      <category domain="http://securityratty.com/tag/windows">windows</category>
      <category domain="http://securityratty.com/tag/windows server">windows server</category>
      <category domain="http://securityratty.com/tag/sdl process fails">sdl process fails</category>
      <category domain="http://securityratty.com/tag/sdl process">sdl process</category>
      <source url="http://blogs.msdn.com/sdl/archive/2008/10/22/ms08-067.aspx">MS08-067 and the SDL</source>
    </item>
    <item>
      <title><![CDATA[Privacy In the Cloud: Show Me The Money]]></title>
      <link>http://securityratty.com/article/2e805d07b3a60ac9d955f1ff811f3569</link>
      <guid>http://securityratty.com/article/2e805d07b3a60ac9d955f1ff811f3569</guid>
      <description><![CDATA[Privacy is a lot like universal healthcare. Many agree its a good idea in concept, but few people want to pay for it
Richard Stallman - the man that gave us GNU - doesnt trust Cloud providers with his...]]></description>
      <content:encoded><![CDATA[<p><img class="alignright" style="float: right; border: 0; margin: 3px;" src="http://farm3.static.flickr.com/2052/2404940312_e759c4030d_m_d.jpg" alt="Locker" width="180" height="240" />Privacy is a lot like universal healthcare.  Many agree its a good idea in concept, but few people want to pay for it.</p>
<p>Richard Stallman - the man that gave us <a href="http://www.gnu.org/">GNU</a> - <a href="http://www.guardian.co.uk/technology/2008/sep/29/cloud.computing.richard.stallman">doesn&#8217;t trust Cloud providers with his data</a> and says you shouldn&#8217;t either.  Richard believes we should store our private data on our own computers using &#8216;free&#8217; (as in <a href="http://www.gnu.org/gnu/thegnuproject.html">freedom</a>) software.  The ironic part for Richard is that a significant portion of the Cloud is powered by open source software which he indirectly created (think <a href="http://gcc.gnu.org/">gcc</a>).</p>
<p>Richard sees it as a question of control.  Control is important but it isn&#8217;t the only variable.  Rather, I see it as a question of control, competence and economics.</p>
<p>The quick rebuttal to Richards&#8217; view is this: the average computer user is <a href="http://www.stallman.org/photos/rms-full-size.jpg">not as smart as you</a>.  Control is not the same as competence.  Control is about exercising choice, not about requiring everyone in the world to develop sufficient skills to protect complex hardware and software systems (aka their computer) against <a href="http://ddanchev.blogspot.com/">ever increasing threats</a>.</p>
<p>My view is that privacy is not &#8216;free&#8217;.  It comes at a cost.  Whether you run your own systems or rely on someone else to do it, there is a cost.  There is cost in designing and implementing mechanisms to support privacy.  Beyond upfront costs there are ongoing expenditures to ensure privacy is maintained e.g. maintaining access control lists, testing and applying security patches, data leakage prevention etc.  None of these things are &#8216;free&#8217;.</p>
<p>If we agree that privacy costs money then how much is your privacy worth?</p>
<p>Stop for a second - think of a number&#8230;  </p>
<p>Now did we all think of the <a href="http://pbskids.org/sesame/coloring/images/07_grover.gif">same number</a>?</p>
<p>The problem with a one size fits all approach to privacy is that we each place a different value on it.</p>
<p>Checking in on the <a href="http://epic.org/">EPIC</a> site, I saw this:  </p>
<blockquote><p>A new report from <a href="http://www.pewinternet.org/">Pew Internet and American Life Project</a> indicates that &#8220;cloud computing&#8221; applications, such as web-based email and other web apps, are raising new privacy concerns. The report <a href="http://www.pewinternet.org/press_release.asp?r=306" target="_blank">Use of Cloud Computing: Applications and Services</a> found that 69% of online Americans use webmail services, store data online, or use software programs such as word processing applications whose functionality is located on the web. At the same time, &#8220;users report high levels of concern when presented with scenarios in which companies may put their data to uses of which they may not be aware.&#8221; For example, 90% of respondents said that they &#8220;would be very concerned if the company at which their data were stored sold it to another party,&#8221; 80% say &#8220;they would be very concerned if companies used their photos or other data in marketing campaigns,&#8221; and 68% of &#8220;users of at least one of the six cloud applications say they would be very concerned if companies who provided these services analyzed their information and then displayed ads to them based on their actions.&#8221;</p></blockquote>
<p>What does that tell us?</p>
<p>The average (American) Internet user finds Cloud services convenient but has concerns about how their privacy might be affected by Cloud providers actions (duh!).  The survey identifies a lack of awareness in how private data is used in some consumer based Cloud services (consistent with web advertising awareness surveys).  </p>
<p>Unfortunately, the results of this survey are not very actionable.  The survey doesn&#8217;t mention whether these are all &#8216;free&#8217; Cloud services (we can only assume they are) or ask the respondents what their expectations of privacy are and how much they would be willing to pay for different privacy assurance levels. </p>
<p>On a sidenote, respondents were not asked if they had actually read the privacy agreement for the services they signed up to.  But the providers know if they did or not&#8230;  Or at least, they have the data to figure it out.  At sign up time they can measure the time between displaying the privacy agreement and the user clicking &#8216;I accept&#8217;.  If its just a few seconds then its pretty obvious there was more scrolling than reading going on.  But I think we can probably guess the answer without the data ;-).</p>
<p>I believe we need to be able to link expectation of privacy with cost.</p>
<ul>
<li>How much are you willing to pay for privacy?  What level of privacy assurance do you need?</li>
<li>How much is your Cloud Provider paying to protect your privacy today?  What privacy services could they reasonably offer if they had customers willing to pay?  How might this compare with how you manage your private data on your home computer today?</li>
</ul>
<p>The cynical view is that we expect privacy but don&#8217;t want to pay for it.  Its a bit like uptime - there is a parallel universe out there, where internal IT departments allegedly meet their 99.999% uptime SLAs, but when Gmail goes down, the Sergey Brin witchcraft dolls come out.</p>
<p>From a provider perspective, the &#8220;cost&#8221; of privacy invariably gets bundled under that line item called &#8216;Information Security&#8217;.  And don&#8217;t be fooled, the cost of privacy in reality is more than the salary of the person employed to be the privacy advocate (if there is one).  If we can&#8217;t see how much our providers are spending on our privacy then how can we judge if they are spending enough?  And what is enough?  And what can I get if I&#8217;m willing to pay a little extra?</p>
<p>Personally, I would rather we get some transparency around privacy costs and assessment of offerings.  However, without a sufficiently sized market of customers willing to pay for privacy assurance and Cloud Providers willing to be more open, I won&#8217;t hold my breath.</p>
<p>What about you?  Would you be prepared to pay for privacy?  Should providers be more transparent about what they do and don&#8217;t do and how they do it?<br />
 <br />
 </p>
<p> </p>
<img src="http://feeds.feedburner.com/~r/CloudSecurity/~4/419000947" height="1" width="1"/>]]></content:encoded>
      <pubDate>Sun, 12 Oct 2008 19:49:41 +0000</pubDate>
      <category domain="http://securityratty.com/tag/cloud">cloud</category>
      <category domain="http://securityratty.com/tag/cloud providers">cloud providers</category>
      <category domain="http://securityratty.com/tag/trust cloud providers">trust cloud providers</category>
      <category domain="http://securityratty.com/tag/privacy">privacy</category>
      <category domain="http://securityratty.com/tag/cloud providers actions">cloud providers actions</category>
      <category domain="http://securityratty.com/tag/cloud applications">cloud applications</category>
      <category domain="http://securityratty.com/tag/privacy costs money">privacy costs money</category>
      <category domain="http://securityratty.com/tag/privacy assurance levels">privacy assurance levels</category>
      <category domain="http://securityratty.com/tag/privacy assurance">privacy assurance</category>
      <source url="http://feeds.feedburner.com/~r/CloudSecurity/~3/419000947/">Privacy In the Cloud: Show Me The Money</source>
    </item>
    <item>
      <title><![CDATA[The asymmetry of data loss - data thief has an upper hand]]></title>
      <link>http://securityratty.com/article/1279b28b3737ccdc02880482fc1987c9</link>
      <guid>http://securityratty.com/article/1279b28b3737ccdc02880482fc1987c9</guid>
      <description><![CDATA[I read this awesome book by Dan Geer, Economics and Strategies of Data Security . This gave me structure for my thoughts about a complex topic such as data security
When a data owner's (a business)...]]></description>
      <content:encoded><![CDATA[<P>I read this&nbsp;awesome book by Dan Geer, <A href="http://www.verdasys.com/thoughtleadership/">Economics and Strategies of Data Security</A>. This gave me structure&nbsp;for my thoughts about a complex topic such as data security. </P>
<P>When&nbsp;a&nbsp;data owner's (a business)&nbsp;sensitive data is breached it is&nbsp;difficult to quantify the monetary loss. According to respectable survey sources, the average cost of sensitive data breach for a large size company is about $50,000. I am attempting here to think about this in simple mathametical terms:</P>
<P>There is a data breach. From the data owner's perspective the loss is:</P>
<P><FONT color=#3366ff>Loss&nbsp;= Cost to protect data&nbsp;+ Loss of business due to data theft aka cost of competitive disadvantage</FONT></P>
<P>From the data thief's perspective</P>
<P><FONT color=#3333ff>Net Gain= [Cost of producing the data&nbsp; *&nbsp; Data freshness factor] - Cost to steal the data + Profit of business due to data aka gain of competitive advantage</FONT></P>
<P>From the above two equations it is very clear that this is not a zero sum game. There is a clear cost asymmetry for a data owner and for a data thief. When there is an asymmetry there is an opportunity. Data owner&nbsp;would not even know that the&nbsp;data is lost because&nbsp;the original copy of the data may be still intact - data thief could have simply copied the data.&nbsp;Data theft does not look like&nbsp;a car theft, there is no vacuum left behind.&nbsp;</P>
<P><STRONG><EM>This motivates a data thief to keep the cost to steal low, steal highly valuable data that has&nbsp;a long shelf life and in a way that data owner will never even be aware of theft.</EM></STRONG></P>
<P>From&nbsp;a data thief's perspective, the cost to steal data if kept high would disincentive him. Moreover, Data freshness factor, i.e. how valuable this data is over period of time plays an important role.&nbsp;A good example is content of today's newspaper is hardly valuable tomorrow, but the content of newspaper two days ahead (if can be procured)would be invaluable. Data relevance is a function of time and other marketplace variables - &nbsp;Data freshness Factor accounts for that variable. A good way to discourage data thief is to increase his/her cost to steal the data. There are other inferences from the above equation. If there exists&nbsp;no competitive advantage&nbsp;with the stolen data, hardly any thief would even venture&nbsp;to steal the&nbsp;data in the first place. If the cost of producing data is very low, then probably thief can just produce the data himself and would not attempt to steal the data. If the cost of&nbsp;theft is kept high, it would definitely deter the data thief from stealing data using technical mechanisms, then the data thief would&nbsp;exploit weak links in data security&nbsp;such as use of social engineering to get access to the data.</P>
<P>From data owner perspective protecting data becomes very important. How much would the owner be willing to spend? Not definitely the cost equal to cost of producing the data. 1% to 10% of cost of producing data is considered prudent. For a data owner it is difficult to estimate cost of data protection of a specific data, because it is not easy to chunkify data protection costs. Moreover, as Dan Geer says in his book, a data owner has to protect himself from number of intruders not just one.</P>
<P><EM><STRONG>It pays for a data owner to: be aware of data breaches (or data leaks), employ appropriate&nbsp;mechanisms to protect the data; the cost of protection which&nbsp;is fractional cost of&nbsp;the valuable&nbsp;data and&nbsp;enhance information security awareness of personnel who handle the data.</STRONG></EM></P>
<P><STRONG><EM>Data loss is not a zero sum game. The advantage is in favor of a data thief (data thieves rather).&nbsp;Data owner does not give much thought&nbsp;on&nbsp;the value of data&nbsp;unless&nbsp;there is a data theft.&nbsp;But,&nbsp;a&nbsp;data thief&nbsp;has every reason to think about economics of data theft before he acts to steal the data else data thief won't survive in this game and he is very well aware of his advantageous position.</EM></STRONG></P>]]></content:encoded>
      <pubDate>Wed, 01 Oct 2008 02:33:22 +0000</pubDate>
      <category domain="http://securityratty.com/tag/data owner perspective">data owner perspective</category>
      <category domain="http://securityratty.com/tag/data owner">data owner</category>
      <category domain="http://securityratty.com/tag/data">data</category>
      <category domain="http://securityratty.com/tag/thief">thief</category>
      <category domain="http://securityratty.com/tag/owner">owner</category>
      <category domain="http://securityratty.com/tag/data freshness factor">data freshness factor</category>
      <category domain="http://securityratty.com/tag/data protection costs">data protection costs</category>
      <category domain="http://securityratty.com/tag/discourage data thief">discourage data thief</category>
      <category domain="http://securityratty.com/tag/protect data">protect data</category>
      <source url="http://ravichar.blogharbor.com/blog/_archives/2008/10/1/3910766.html">The asymmetry of data loss - data thief has an upper hand</source>
    </item>
    <item>
      <title><![CDATA[IGiGLE: Irongeek's WiGLE WiFi Database to Google Earth Client for Wardrive Mapping Updated]]></title>
      <link>http://securityratty.com/article/da1593982134ca0a4d12adb50950022c</link>
      <guid>http://securityratty.com/article/da1593982134ca0a4d12adb50950022c</guid>
      <description><![CDATA[I've uploaded version IGiGLE 0.75. This fixes the &quot;$WS EX CLIENTEDGE: undeclared global variable.&quot; error when you try to compile with the newer versions of Autoit3. Also, I've added a feature so...]]></description>
      <content:encoded><![CDATA[I've uploaded version IGiGLE 0.75. This fixes the &quot;$WS_EX_CLIENTEDGE: undeclared global variable.&quot; error when you try to compile with the newer versions of Autoit3. Also, I've added a feature so IGiGLE saves your last used settings to an ini file so you don't have to keep entering them over and over again.
<p><a href="http://feedads.googleadservices.com/~a/ges-SKyHQB3_UUCnNZ3vIIq7tSE/a"><img src="http://feedads.googleadservices.com/~a/ges-SKyHQB3_UUCnNZ3vIIq7tSE/i" border="0" ismap="true"></img></a></p><img src="http://feedproxy.google.com/~r/IrongeeksSecuritySite/~4/I18a-1ky3Yc" height="1" width="1"/>]]></content:encoded>
      <pubDate>Sun, 07 Sep 2008 17:00:21 +0000</pubDate>
      <category domain="http://securityratty.com/tag/ini file">ini file</category>
      <category domain="http://securityratty.com/tag/global variable">global variable</category>
      <category domain="http://securityratty.com/tag/igigle saves">igigle saves</category>
      <category domain="http://securityratty.com/tag/version igigle">version igigle</category>
      <category domain="http://securityratty.com/tag/compile">compile</category>
      <category domain="http://securityratty.com/tag/autoit3">autoit3</category>
      <category domain="http://securityratty.com/tag/fixes">fixes</category>
      <category domain="http://securityratty.com/tag/settings">settings</category>
      <category domain="http://securityratty.com/tag/versions">versions</category>
      <source url="http://feedproxy.google.com/~r/IrongeeksSecuritySite/~3/I18a-1ky3Yc/i.php">IGiGLE: Irongeek's WiGLE WiFi Database to Google Earth Client for Wardrive Mapping Updated</source>
    </item>
    <item>
      <title><![CDATA[XSS fortune cookie]]></title>
      <link>http://securityratty.com/article/ebb795063c6db43201a38a043c2c54db</link>
      <guid>http://securityratty.com/article/ebb795063c6db43201a38a043c2c54db</guid>
      <description><![CDATA[Forgive me in advance for an extremely bad joke, if you can even call it that, but I just can't help it
Here's how to get an XSS fortune cookie

1) Ask the mighty Google oracle who might be able to...]]></description>
      <content:encoded><![CDATA[Forgive me in advance for an extremely bad joke, if you can even call it that, but I just can't help it.<br />Here's how to get an XSS fortune cookie:<br /><br />1) Ask the mighty Google oracle who might be able to tell you your fortune. <br /><a href="http://www.google.com/search?hl=en&q=tell+my+fortune&btnG=Search&lr=lang_en" target="_blank">http://www.google.com/search?hl=en&q=tell+my+fortune&btnG=Search&lr=lang_en</a><br /><br />2) Select one of the sponsored links; in this case I chose <a href="http://www.spiritualexperts.com/" target="_blank">SpritualExperts.com</a>. <br /><br />3) Pick a variable. I settled for <span style="font-style:italic;">banid</span>.<br /><br />4) Ask it if it has a cookie for you.<br /><a href="http://www.spiritualexperts.com/psychic_reading/psychic_reading.asp?banid=%22%3E%3CSCRIPT%3Ealert%28document%2Ecookie%29%3C%2FSCRIPT%3E" target="_blank">http://www.spiritualexperts.com/psychic_reading/psychic_reading.asp?banid=%22%3E%3CSCRIPT%3Ealert%28document%2Ecookie%29%3C%2FSCRIPT%3E</a><br /><br />Voila...an XSS fortune cookie. Sorry. Really, I am.<br /><br />The webmaster has been advised...play nice.<br /><br />Screenshot for after they fix the issue.<br /><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_kVOWaY1TAF0/SL3NFWH4GQI/AAAAAAAAACk/j6nJeVjRbSk/s1600-h/FortuneCookie.png"><img style="cursor:pointer; cursor:hand;" src="http://1.bp.blogspot.com/_kVOWaY1TAF0/SL3NFWH4GQI/AAAAAAAAACk/j6nJeVjRbSk/s320/FortuneCookie.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5241571033050781954" /></a><br /><br /><a href="http://del.icio.us/post?url=http://holisticinfosec.blogspot.com/2008/09/xss-fortune-cookie.html&title=XSS fortune cookie " title="XSS%20fortune%20cookie ">del.icio.us</a> | <a href="http://digg.com/submit?phase=2&amp;url=http://holisticinfosec.blogspot.com/2008/09/xss-fortune-cookie.html" title="XSS fortune cookie ">digg</a>]]></content:encoded>
      <pubDate>Tue, 02 Sep 2008 12:10:00 +0000</pubDate>
      <category domain="http://securityratty.com/tag/xss fortune cookie">xss fortune cookie</category>
      <category domain="http://securityratty.com/tag/cookie">cookie</category>
      <category domain="http://securityratty.com/tag/fortune">fortune</category>
      <category domain="http://securityratty.com/tag/google">google</category>
      <category domain="http://securityratty.com/tag/mighty google oracle">mighty google oracle</category>
      <category domain="http://securityratty.com/tag/extremely bad joke">extremely bad joke</category>
      <category domain="http://securityratty.com/tag/compsychic readingpsychic">compsychic readingpsychic</category>
      <category domain="http://securityratty.com/tag/chose spritualexperts">chose spritualexperts</category>
      <category domain="http://securityratty.com/tag/play nice">play nice</category>
      <source url="http://holisticinfosec.blogspot.com/2008/09/xss-fortune-cookie.html">XSS fortune cookie</source>
    </item>
    <item>
      <title><![CDATA[ColdFusion: Hack Me or Help Me]]></title>
      <link>http://securityratty.com/article/9fb9073abbbbfc649c8feeed2afceb21</link>
      <guid>http://securityratty.com/article/9fb9073abbbbfc649c8feeed2afceb21</guid>
      <description><![CDATA[For your consideration, the endless battle between security and convenience
Front and center: ColdFusion
I've been picking on ColdFusion-built apps again a bit lately, and one of my observations has...]]></description>
      <content:encoded><![CDATA[For your consideration, the endless battle between security and convenience.<br />Front and center: ColdFusion.<br />I've been picking on ColdFusion-built apps again a bit lately, and one of my observations has been that consistently, if mismanaged, the verbose error reporting features in ColdFusion can be really problematic.<br /><br /><a href="http://holisticinfosec.org/content/view/78/45/" target="_blank">HIO-2008-0713 JOBBEX JobSite SQLi & XSS</a><br /><a href="http://holisticinfosec.org/content/view/79/45/" target="_blank">HIO-2008-0729 BookMine SQLi & XSS</a><br /><br />Recently, I stumbled on an example of way too much information disclosure in a few sites running a ColdFusion-built CMS. The error reporting was so verbose it included the base path, data source name, database username, and yes, the <strong>database password</strong>.<br />I've cleaned it up for the protection of all involved, but here's a screen shot of only 1/4 of the details this site coughed up when I tweaked the input to a calendar date variable.<br /><br /><a href="http://3.bp.blogspot.com/_kVOWaY1TAF0/SLblWNYqSmI/AAAAAAAAACc/BIPkxSBOxpg/s1600-h/ColdFusionTMI.png"><img style="float:center; margin:0 10px 10px 0;cursor:pointer; cursor:hand;" src="http://3.bp.blogspot.com/_kVOWaY1TAF0/SLblWNYqSmI/AAAAAAAAACc/BIPkxSBOxpg/s320/ColdFusionTMI.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5239627386205129314" /></a><br /><br />When I reached out to the developers of this app (always and immediately responsive), they assured me that this was not due to a flaw in the app, but that the "information should be protected, and is by default for our installations" and that the client disabled the security check and turned debugging on. I accept this explanation entirely, but it leads to the classic debate around the dangers of mismanaged debugging features, be they developer added or ColdFusion feature driven. Stupid user tricks are always an issue, but how much rope should they be given to hang themselves? Does error reporting really need to include the database username and password?<br /><br />Allow me to present a few different perspectives.<br />First, rvdh's take on <a href="http://www.0x000000.com/?i=610" target="_blank">Attacking ColdFusion</a>. Developers can learn a lot from this post, if only in that it precisely points out attack vectors. Ronald sums up my concerns aptly:<br />"As we know, error messages are important. Especially error messages generated by database software we want to inject. This, is useful for obtaining information about table structures that can be a real time-saver for attackers. If the right information is available, attackers do not have to guess database tables and fields anymore, nor having to brute force them. I have never seen so much information regarding the site's structure, used database, table names, drivers, server setup and other information useful for attackers that those of ColdFusion. It almost says: Please Hack Me!"<br />As I can't presume to improve on this stance, I won't. Well said.<br /><br />Next, a developer's take on the issue from <a href="http://www.usefulconcept.com/" target="_blank">Joshua Cyr</a>, who has declared it <a href="http://www.usefulconcept.com/index.cfm/2008/8/27/ColdFusion-Errors-and-Security" target="_blank">Check Your Error Output Day</a>. Joshua highlights two key points:<br />1) Do NOT enable the robust errors setting in CF Administrator.<br />2) Don't forget to remove debugging dump code.<br />Heed this advice, ColdFusion fans!<br /><br />One destination that all "secure" ColdFusion paths should lead to is the use of <em>cfqueryparam</em>. Ronald spells it out well mid way through his <a href="http://www.0x000000.com/?i=610" target="_blank">discussion</a>, and so do the following resources:<br /><a href="http://www.coldfusionjedi.com/index.cfm/2008/7/29/What-Folks-arent-using-cfqueryparam" target="_blank">coldfusionjedi</a><br /><a href="http://www.coldfusionmuse.com/index.cfm/2008/7/28/cfqueryparam-protects-against-daleks" target="_blank">Coldfusion Muse</a><br /><br />Further excellent resources for ColdFusion security issues:<br /><a href="http://www.coldfusionmuse.com/index.cfm/2008/7/18/Injection-Using-CAST-And-ASCII" target="_blank">SQL Injection Part II (Make Sure You Are Sitting Down)</a><br /><a href="http://www.12robots.com/index.cfm/Security" target="_blank">12Robots.com</a><br /><br />In closing, security and convenience needn't always be at odds, but often allowing for both requires a higher state of awareness for developers and end-users. Let common sense prevail; perhaps it'll give me less to do in the way of <a href="http://holisticinfosec.org/content/category/6/23/45/" target="_blank">research</a>. ;-)<br /><br /><a href="http://del.icio.us/post?url=http://holisticinfosec.blogspot.com/2008/08/coldfusion-hack-me-or-help-me.html&title=ColdFusion:%20Hack%20Me%20or%20Help%20Me " title="ColdFusion: Hack Me or Help Me ">del.icio.us</a> | <a href="http://digg.com/submit?phase=2&amp;url=http://holisticinfosec.blogspot.com/2008/08/coldfusion-hack-me-or-help-me.html" title="ColdFusion: Hack Me or Help Me ">digg</a>]]></content:encoded>
      <pubDate>Thu, 28 Aug 2008 06:13:00 +0000</pubDate>
      <category domain="http://securityratty.com/tag/coldfusion">coldfusion</category>
      <category domain="http://securityratty.com/tag/coldfusion paths">coldfusion paths</category>
      <category domain="http://securityratty.com/tag/coldfusion fans">coldfusion fans</category>
      <category domain="http://securityratty.com/tag/coldfusion security issues">coldfusion security issues</category>
      <category domain="http://securityratty.com/tag/error">error</category>
      <category domain="http://securityratty.com/tag/database">database</category>
      <category domain="http://securityratty.com/tag/database username">database username</category>
      <category domain="http://securityratty.com/tag/error messages">error messages</category>
      <category domain="http://securityratty.com/tag/coldfusion feature">coldfusion feature</category>
      <source url="http://holisticinfosec.blogspot.com/2008/08/coldfusion-hack-me-or-help-me.html">ColdFusion: Hack Me or Help Me</source>
    </item>
    <item>
      <title><![CDATA[A Short Vacation at Wi-Fi Networking News]]></title>
      <link>http://securityratty.com/article/46c7e0efa77faded5fcee3e9a656ee0d</link>
      <guid>http://securityratty.com/article/46c7e0efa77faded5fcee3e9a656ee0d</guid>
      <description><![CDATA[Making pollen while the sun shines: Loyal readers, I'll be taking the next week off for some serious staycationing, enjoying the variable Seattle weather, playing with the kids, and generally...]]></description>
      <content:encoded><![CDATA[<p><strong>Making pollen while the sun shines:</strong> Loyal readers, I'll be taking the next week off for some serious staycationing, enjoying the variable Seattle weather, playing with the kids, and generally relaxing. I hope you are all doing the same, wherever in the world you are.</p>

<p>Please withhold all serious and interesting wireless news until after Labor Day, 'kay? </p>

<p><img src="http://wifinetnews.com//images/2008/2735439267_2decc8f588_m.jpg" alt="2735439267_2decc8f588_m.jpg" border="0" width="240" height="174" /></p>]]></content:encoded>
      <pubDate>Fri, 22 Aug 2008 09:05:53 +0000</pubDate>
      <category domain="http://securityratty.com/tag/variable seattle weather">variable seattle weather</category>
      <category domain="http://securityratty.com/tag/wireless news">wireless news</category>
      <category domain="http://securityratty.com/tag/sun shines">sun shines</category>
      <category domain="http://securityratty.com/tag/labor day">labor day</category>
      <category domain="http://securityratty.com/tag/loyal readers">loyal readers</category>
      <category domain="http://securityratty.com/tag/withhold">withhold</category>
      <category domain="http://securityratty.com/tag/week">week</category>
      <category domain="http://securityratty.com/tag/world">world</category>
      <category domain="http://securityratty.com/tag/hope">hope</category>
      <source url="http://wifinetnews.com/archives/008426.html">A Short Vacation at Wi-Fi Networking News</source>
    </item>
  </channel>
</rss>
