<?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: paths]]></title>
    <link>http://securityratty.com/tag/paths</link>
    <description></description>
    <pubDate>Wed, 25 Jun 2008 13:29:25 +0000</pubDate>
    <generator>iRatty Engine</generator>
    <docs>http://blogs.law.harvard.edu/tech/rss</docs>
    <item>
      <title><![CDATA[Have CrackBerry, Will Travel]]></title>
      <link>http://securityratty.com/article/c96f50744fe7be879c793f14bd28e183</link>
      <guid>http://securityratty.com/article/c96f50744fe7be879c793f14bd28e183</guid>
      <description><![CDATA[Blogger: Dan Blum
It is no surprise for us to hear loose lips flapping in India about a capability to decrypt Blackberry and other carrier traffic
After all, weve done basic threat analysis for years...]]></description>
      <content:encoded><![CDATA[
<div xmlns="http://www.w3.org/1999/xhtml"><p>Blogger: Dan Blum</p>

<p>It is no surprise for us to hear loose lips flapping in India about <a href="http://economictimes.indiatimes.com/At_last_govt_cracks_BlackBerry_code/articleshow/3510719.cms">a capability to decrypt Blackberry and other carrier traffic</a>.</p>

<p>After all, we’ve done basic threat analysis for years and it was only months ago that I was brought into a company-wide CISO meeting at a U.S. defense contractor to help them hash out their travel policy for mobile devices. Going into the meeting, I knew their policy restricted taking devices to a list of countries considered dangerous – but there was an exemption for BlackBerries.</p>

<p>Our research uncovered that BlackBerry is pretty secure in most respects. It has transport encryption along with optional password protection, remote kill, disk encryption, and S/MIME encryption. Viruses have not flourished on this functionally limited and closed platform. Few if any third party add on programs are required for additional protection. Nonetheless, I went into the meeting prepared to talk with the CISOs about the risks and security limitations of life on BlackBerry.</p>

<p>Was the BlackBerry exemption reasonable? At the time, BlackBerry transport encryption was not known to have been broken (to be fair, the article listed above still qualifies as rumor, not certainty of breakage). However, I pointed out that it is dangerous to assume well-equipped attackers like military or intelligence organizations can’t crack transport encryption. And even if they haven’t cracked the BlackBerry network and whole disk encryption features, sophisticated adversaries have other attack paths. Check out Neal Stephenson’s excellent book <a href="http://www.amazon.com/Cryptonomicon-Neal-Stephenson/dp/0060512806/ref=pd_bbs_sr_1?ie=UTF8&amp;s=books&amp;qid=1222262354&amp;sr=1-1">Cryptonomicon</a> for a description of how a talented adversary might “see” your keystrokes and screen images through a motel room wall, for example.</p>

<p>If one of your employees – such as a key scientist, project manager, or executive – is targeted for surveillance and is carrying sensitive data through certain countries, one could argue that he or she had better undergo serious counter-intelligence training.&nbsp; Learn to spot and shake tails, sneak into dark alleys for that BlackBerry fix. Learn to paper the closet with layers of aluminum foil and send messages in the dark. Defend that BlackBerry with encryption, long passphrases, and kung fu. But unless James Bond is running your company, I doubt this is what your executives have in mind for the next business trip!</p>

<p>Assuming your organization’s lower level employees are like needles in a haystack and won’t be bothered could be an exercise in wishful thinking. It is always possible that nation states are monitoring some or all of the airwaves. Not so long ago the NSA had a massive a covert surveillance program in place. Years before the government was reportedly snarfing up terabytes of emails and crunching them through a program called Carnivore. And of course, selective monitoring of people on watch lists continues on a large scale. This is just the surveillance we know about in the U.S. We suspect there’s more behind the scenes and especially in countries such as China. Even if you train your non-specifically-targeted low level employees to write and speak in search-keyword-free code, the carnivore programs of the world are pretty good at sniffing out those interesting needles – such as descriptions of your business plans, manufacturing processes, and trade secrets.</p>

<p>Sound paranoid? I admit that I don’t know what the probabilities of being targeted or monitored are – just that it can happen. It’s the height of arrogance to believe that a nation state can’t get your information if they’ve targeted it and you’re within their borders. And it’s dangerous to rely on security by obscurity when medium or high consequence information must be protected.</p>

<p>What can be done? If key personnel can't dispense with the BlackBerry (or any other email device) during international travel to those countries where information may be most at risk, they (the users) should limit communications to what they’d feel comfortable uttering over a potentially-monitored telephone call. Controlling incoming communications – messages sent by others – is a harder problem. Until data loss prevention (DLP) products become more contextually sensitive about the travel issues, it may be best not to synchronize the BlackBerry with the overseas user’s home mailbox. Instead, have the user give out a temporary address for the BlackBerry and warn senders to be discreet. </p></div>
<img src="http://feeds.feedburner.com/~r/SecurityAndRiskManagementStrategiesBlog/~4/402766223" height="1" width="1"/>]]></content:encoded>
      <pubDate>Thu, 25 Sep 2008 04:45:34 +0000</pubDate>
      <category domain="http://securityratty.com/tag/blackberry transport encryption">blackberry transport encryption</category>
      <category domain="http://securityratty.com/tag/transport encryption">transport encryption</category>
      <category domain="http://securityratty.com/tag/exemption">exemption</category>
      <category domain="http://securityratty.com/tag/blackberry exemption reasonable">blackberry exemption reasonable</category>
      <category domain="http://securityratty.com/tag/blackberry">blackberry</category>
      <category domain="http://securityratty.com/tag/disk encryption">disk encryption</category>
      <category domain="http://securityratty.com/tag/disk encryption features">disk encryption features</category>
      <category domain="http://securityratty.com/tag/blackberry fix">blackberry fix</category>
      <category domain="http://securityratty.com/tag/decrypt blackberry">decrypt blackberry</category>
      <source url="http://feeds.feedburner.com/~r/SecurityAndRiskManagementStrategiesBlog/~3/402766223/have-crackberry.html">Have CrackBerry, Will Travel</source>
    </item>
    <item>
      <title><![CDATA[News from the Rock Phish Gang]]></title>
      <link>http://securityratty.com/article/dc125c8b2486a48f9daca3db254eb1ea</link>
      <guid>http://securityratty.com/article/dc125c8b2486a48f9daca3db254eb1ea</guid>
      <description><![CDATA[Definitely interesting : Based in Europe, the Rock Phish group is a criminal collective that has been targeting banks and other financial institutions since 2004. According to RSA, they are...]]></description>
      <content:encoded><![CDATA[<p><a href="http://www.rsa.com/blog/blog_entry.aspx?id=1338">Definitely</a> <a href="http://www.theregister.co.uk/2008/09/05/rock_phish_and_asprox_team_up/">interesting</a>:</p>

<blockquote>Based in Europe, the Rock Phish group is a criminal collective that has been targeting banks and other financial institutions since 2004. According to RSA, they are responsible for half of the worldwide phishing attacks and have siphoned tens of millions of dollars from individuals' bank accounts. The group got its name from a now discontinued quirk in which the phishers used directory paths that contained the word "rock."

<p>The first sign the group was expanding operations came in April, when it introduced a trojan known alternately as Zeus or WSNPOEM, which steals sensitive financial information in transit from a victim's machine to a bank. Shortly afterward, the gang added more crimeware, including a custom-made botnet client that was spread, among other means, using the Neosploit infection kit.</p>

<p>[...]</p>

<p>Soon, additional signs appeared pointing to a partnership between Rock Phishers and Asprox. Most notably, the command and control server for the custom Rock Phish crimeware had exactly the same directory structure of many of the Asprox servers, leading RSA researchers to believe Rock Phish and Asprox attacks were using at least one common server. (Researchers from Damballa were able to confirm this finding after observing malware samples from each of the respective botnets establish HTTP proxy server connections to a common set of destination IPs.)</blockquote> </p><div class="feedflare">
<a href="http://feeds.feedburner.com/~f/schneier/fulltext?a=DDIkL"><img src="http://feeds.feedburner.com/~f/schneier/fulltext?i=DDIkL" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/schneier/fulltext?a=LsDIL"><img src="http://feeds.feedburner.com/~f/schneier/fulltext?i=LsDIL" border="0"></img></a>
</div>]]></content:encoded>
      <pubDate>Wed, 10 Sep 2008 03:47:38 +0000</pubDate>
      <category domain="http://securityratty.com/tag/rock">rock</category>
      <category domain="http://securityratty.com/tag/rock phish">rock phish</category>
      <category domain="http://securityratty.com/tag/phishers">phishers</category>
      <category domain="http://securityratty.com/tag/rock phishers">rock phishers</category>
      <category domain="http://securityratty.com/tag/attacks">attacks</category>
      <category domain="http://securityratty.com/tag/asprox attacks">asprox attacks</category>
      <category domain="http://securityratty.com/tag/asprox">asprox</category>
      <category domain="http://securityratty.com/tag/rsa researchers">rsa researchers</category>
      <category domain="http://securityratty.com/tag/rsa">rsa</category>
      <source url="http://www.schneier.com/blog/archives/2008/09/news_from_the_r.html">News from the Rock Phish Gang</source>
    </item>
    <item>
      <title><![CDATA[Modelling Air Traffic Control]]></title>
      <link>http://securityratty.com/article/7f9e569822e0521bce9615d70124032f</link>
      <guid>http://securityratty.com/article/7f9e569822e0521bce9615d70124032f</guid>
      <description><![CDATA[Today I will discussa general approach to model air traffic control (ATC)using our CEP/EP reference architecture which is an application of the mature JDL multisensor data fusion model
ATC is an...]]></description>
      <content:encoded><![CDATA[<p>Today I will discuss a general approach to model air traffic control (ATC) using our <a href="http://www.thecepblog.com/what-is-complex-event-processing/" target="_blank">CEP/EP reference architecture </a>which is an application of the mature <a href="http://www.data-fusion.org/article.php?sid=70" target="_blank">JDL multisensor data fusion model</a>.</p>
<p>ATC is an excellent working example of complex event processing.   Radar and GPS provide the basic sensory information to accurately track and trace the position of each aircraft in the area of responsibility (AOR) of a particular control tower/zone.     Naturally,  sensory information is preprocessed and formatted in such a way that the data can be processed upstream by multiple real-time applications.</p>
<p>Before we look at complex ATC scenarios, such as &#8220;potential collision&#8221; or &#8220;aircraft off approach vector&#8221; we must trace and trace individual objects, aircraft-objects, accurately with very high confidence.    In addition to tracking aircraft-objects, there is a database of information about the aircraft (ideally), such as make, model, age, range, passengers and other properties about the aircraft-object.      In addition, there is a state-model for each aircraft, for example the aircraft might be &#8220;on the ground&#8221;, &#8220;approaching the runway&#8221;, &#8220;cleared for takeoff&#8221;, &#8220;cruising altitude&#8221;, &#8220;approaching runway&#8221;, &#8220;final decent&#8221; etc.  </p>
<p>Tracking and tracing individual aircraft is what is generally referred to as &#8220;object refinement&#8221; in our CEP/EP reference architecture.   The reason we call this function &#8220;object refinement&#8221; is that system engineers are focused on optimizing the situational knowledge about individual objects.     Sometimes we refer to this function as &#8220;track and trace&#8221; because that is what we are doing to  each object in the model.  In Marc Adler&#8217;s recent <a href="http://www.thecepblog.com/2008/09/07/modelling-shoplifting/" target="_blank">shoplifting scenario</a>, Marc was interested in tracking and tracing people in a store using imaging processing techniques to estimate their behavioral patterns.  In the same way, before we can process for scenarios such as &#8220;potential shoplifter&#8221; or &#8220;suspicious criminal gang activity&#8221; we must be able to accurately process (track and trace) individual object, such as people or merchandise.</p>
<p>Back to aircraft and ATC, the &#8220;complex event processing&#8221; begins when we are looking about object-object relationships, in this model, aircraft-to-aircraft, but this is an overly simplistic model, as we have not yet added (to our model) ground features (towers, buildings, power lines), weather (storm cells, wind) and other flying objects (known migratory bird paths, swarms of insects) to our simple model.  </p>
<p>Complex event processing occurs when we are processing multiple objects in our model looking for threats in real-time.     Practically speaking, all ATC applications are CEP applications.  This means that vendors and integrators who build ATC applications are also CEP vendors.   </p>
<blockquote><p>Editorial Note: CEP/EP has been around for a long time and was not recently invented in the past decade as some &#8220;inventors&#8221; would like for us to believe. </p></blockquote>
<p>As you can imagine, there is considerable &#8220;complex event processing&#8221; that goes on &#8220;behind the scenes&#8221; to provide air traffic controllers and pilots situational knowledge into the &#8220;friendly skies&#8221;.   As you might further imagine, the situation is more complex when the skies are &#8220;not so friendly&#8221;, for example, in air combat situations.   </p>
<p>Processing myriad objects is not the end of the processing &#8220;chain&#8221;.  For example, decisions are being made constantly about potential damage, alternative airports, and more.    In our reference model, we refer to this, generally speaking, as &#8220;impact assessment&#8221; because we must take an estimated detected complex event, for example &#8220;aircraft collision,&#8221; and estimate potential damage based on numerous factors such as, the amount of jet fuel in the aircrafts and the location of the aircrafts (over a large city or rural area, near a hospital and emergency services).   Regardless of the scenario, an impact assessment is normally required before optimal decisions can be made.</p>
<blockquote><p>This is true, by the way, for our <a href="http://www.thecepblog.com/2008/09/07/modelling-shoplifting/" target="_blank">shoplifting example</a> (the impact is different if a piece of gum is stolen versus a $1,000,000 diamond necklace or weapons-grade nuclear material) and other scenarios and models.  Static data (information about objects) is required for accurate decision processing.  </p></blockquote>
<p>Impact assessment is not the end of the &#8220;knowledge chain&#8221;.    Decisions are constantly being made that effect resources.  For example, suggestion an alternative route for an aircraft is a resource management decision.    Turning on and off radar or switching to alternative tracking devices is a resource management function.  In our CEP/EP reference model (based on the JDL data fusion model), we call this &#8220;resource management&#8221;.   This function includes contacting emergency services and directing them to a potential crash location or sending out a message to instruct all aircraft to stay off a certain radio frequency.  Resource management is critical.</p>
<p>Our simple ATC model today is by no means complete, it just scratches the surface.  In fact, I have a very close friend, <a href="http://www.linkedin.com/pub/0/b45/b16" target="_blank">Mark Secrist</a>, who is a former Marine fighter pilot and currently a senior captain for <a href="http://www.aa.com" target="_blank">American Airlines</a>.   I have asked Mark to read this post and help me further refine this crude &#8220;laymans&#8221; ATC model (Thanks Mark!).</p>
]]></content:encoded>
      <pubDate>Mon, 08 Sep 2008 09:27:26 +0000</pubDate>
      <category domain="http://securityratty.com/tag/model">model</category>
      <category domain="http://securityratty.com/tag/crude laymansatc model">crude laymansatc model</category>
      <category domain="http://securityratty.com/tag/state-model">state-model</category>
      <category domain="http://securityratty.com/tag/simple atc model">simple atc model</category>
      <category domain="http://securityratty.com/tag/complex">complex</category>
      <category domain="http://securityratty.com/tag/isconsiderable complex event">isconsiderable complex event</category>
      <category domain="http://securityratty.com/tag/overly simplistic model">overly simplistic model</category>
      <category domain="http://securityratty.com/tag/complex event">complex event</category>
      <category domain="http://securityratty.com/tag/simple model">simple model</category>
      <source url="http://www.thecepblog.com/2008/09/08/modelling-air-traffic-control/">Modelling Air Traffic Control</source>
    </item>
    <item>
      <title><![CDATA[Real Artists Ship]]></title>
      <link>http://securityratty.com/article/da6631c856e43a023c66515e59fbce16</link>
      <guid>http://securityratty.com/article/da6631c856e43a023c66515e59fbce16</guid>
      <description><![CDATA[For a number of reasons I follow emerging economies, the biggies being China and India. The BRIC countries (Brazil, Russia, India, and China) generally get lumped in together as the &quot;next big thing&quot;,...]]></description>
      <content:encoded><![CDATA[<p>For a number of reasons I follow emerging economies, the biggies being China and India. The BRIC countries (Brazil, Russia, India, and China) generally get lumped in together as the &quot;next big thing&quot;, but they are at very, very different stages of development and more importantly are taking different paths. You can easily think of software security as an emerging discipline - despite a lot of talk and papers about Saltzer and Schroeder, we really don&#39;t have this stuff figured out.&#160;</p><br /><div>So China is following a well worn path similar to South Korea, Japan, and the early US. India is taking a totally different and unproven path towards growth. Tata Motors has been innovative in building the cheapest car - the Tata Nano which is a $2500 car, and<a href="http://1raindrop.typepad.com/1_raindrop/2008/01/to-those-about.html"> engineering triumph</a>, driven by a mantra that an engineer would stand behind &quot;do we really need that?&quot;</div><br /><div>Now the progress to executing on this is <a href="http://www.nytimes.com/2008/09/03/world/asia/03tata.html?_r=1&amp;ref=world&amp;oref=slogin">held back</a> by India&#39;s dysfunctional environment:</div><br /><blockquote class="webkit-indent-blockquote" style="margin: 0 0 0 40px; border: none; padding: 0px;"><p><span style="font-family: Verdana; font-style: italic; line-height: normal; ">In a tale rich with incongruities, the Communist-run government of West Bengal State invited the&#160;<a href="http://topics.nytimes.com/top/news/business/companies/tata_group/index.html?inline=nyt-org" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; text-decoration: none; color: #006683; " title="More articles about the Tata Group.">Tata Group</a>, a symbol of Indian capitalism, to set up its plant in an area called Singur. It acquired 1,000 acres from farmers on the company’s behalf.</span><br /><span style="font-family: Verdana; font-style: italic; line-height: normal; ">As the project advanced, some farmers who had sold their land demanded it back. The main state-level opposition party, the Trinamool Congress, led protests demanding that the land be returned. Most people sympathetic to Tata accused the opposition of inducing the farmers to protest, while Tata’s critics said the farmers had legitimate grievances.</span></p></blockquote><blockquote class="webkit-indent-blockquote" style="margin: 0 0 0 40px; border: none; padding: 0px;"><p><span style="font-family: Verdana; font-style: italic; line-height: normal;"><br /></span><span style="font-family: Verdana; font-style: italic; line-height: normal; ">The issue simmered for months. But in recent days, protesters began surrounding the plant, blocking roads and preventing Tata workers from reaching the plant. “The existing environment of obstruction, intimidation and confrontation has begun to impact the ability of the company to convince several of its experienced managers to relocate and work in the plant,” Tata said in a statement on Tuesday.</span><br /><span style="font-family: Verdana; font-style: italic; line-height: normal; "><br /></span></p></blockquote><blockquote class="webkit-indent-blockquote" style="margin: 0 0 0 40px; border: none; padding: 0px;"><p><span style="font-family: Verdana; font-style: italic; line-height: normal; ">The halt to the plant has caused many Indian business people to warn of a chilling effect on investment in the country. It is also unclear how Tata will be able to keep the Nano’s cost so low, since part of the affordable price reflects the company’s savings on the land in Singur.</span></p></blockquote><p><span style="font-family: Verdana; font-style: italic; line-height: normal;"><br /><div><span style="font-style: normal; "><a href="http://voxeu.org/index.php?q=node/1585">Arvind Subramanian</a>&#160;compares China and India&#39;s trajectories:</span><br /></div><div><span style="font-style: normal;"><br /></span></div></span></p><blockquote class="webkit-indent-blockquote" style="margin: 0 0 0 40px; border: none; padding: 0px;"><p><span style="font-family: Verdana; font-style: italic; line-height: normal; ">There is a fundamental asymmetry between state and markets. It is easier to create markets than it is to create state capacity or to prevent its deterioration. Creating markets is a lot about letting go, establishing a reasonable policy framework, and allowing the natural hustling instinct to take over. In other words, hustling is the natural state. Building state capacity, on the other hand, is quite different. It involves overcoming collective action problems, mediating conflict, creating accountability mechanisms where outputs are multiple and fuzzy and links between inputs and outputs murky, and contending with the deep imprints of history. In Weber’s memorable words, building public institutions is like the “slow boring of hard boards”.</span></p></blockquote><blockquote class="webkit-indent-blockquote" style="margin: 0 0 0 40px; border: none; padding: 0px;"><p><span style="font-family: Verdana; font-style: italic; line-height: normal;"><br /></span><span style="font-family: Verdana; font-style: italic; line-height: normal; ">In that light, China’s task of improving its private sector seems easier to accomplish than India’s task of arresting institutional decline. So, while China and India can probably both count on more years of high growth, the odds still favour China pulling off that feat than India. That, and not just the meagre medal tally, should be what India mulls over after the Beijing Olympics.</span></p></blockquote><div><span style="font-family: Verdana; font-style: italic; line-height: normal;"><br /></span></div><div><span style="font-family: Verdana; line-height: normal; ">The Economist </span><a href="http://www.economist.com/blogs/freeexchange/2008/09/the_passion_of_the_tata.cfm">summarizes</a><span style="font-family: Verdana; line-height: normal; ">:</span></div><div><span style="font-family: Verdana; line-height: normal;"><br /></span></div><blockquote class="webkit-indent-blockquote" style="margin: 0 0 0 40px; border: none; padding: 0px;"><p><span style="font-family: Verdana; line-height: normal; ">It&#39;s easier to liberalise a functional state than it is to functionalise a dysfunctional one, of any ideological stripe.</span></p></blockquote><p><span style="font-family: Verdana; line-height: normal;"><br /></span></p><div><span style="font-family: Verdana; line-height: normal;">What does all this have to do with ostensibly the topic at hand - Information Security? Well Tata Motors had the innovation but they didn&#39;t have the deployment model, at least not yet. More to the point, a lot of software security gets driven by infosec groups but real change is only coming when its driven by the development group. Why? Development groups are functional, they ship code.&#160;A lot of the success in software security is predicated by who you choose to partner with, it is more effective and easier to add security into a functional development group that ships code.</span></div><div><span style="font-family: Verdana; line-height: normal;"><br /></span></div><div><span style="font-family: Verdana; line-height: normal;"><br /></span></div>]]></content:encoded>
      <pubDate>Wed, 03 Sep 2008 07:23:08 +0000</pubDate>
      <category domain="http://securityratty.com/tag/tata">tata</category>
      <category domain="http://securityratty.com/tag/tata workers">tata workers</category>
      <category domain="http://securityratty.com/tag/tata motors">tata motors</category>
      <category domain="http://securityratty.com/tag/security">security</category>
      <category domain="http://securityratty.com/tag/india">india</category>
      <category domain="http://securityratty.com/tag/india mulls">india mulls</category>
      <category domain="http://securityratty.com/tag/information security">information security</category>
      <category domain="http://securityratty.com/tag/functional development">functional development</category>
      <category domain="http://securityratty.com/tag/software security">software security</category>
      <source url="http://1raindrop.typepad.com/1_raindrop/2008/09/real-artists-ship.html">Real Artists Ship</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[Black Hat: DNS Flaw Much Worse Than Previously Reported]]></title>
      <link>http://securityratty.com/article/a4173761de3afe53f58200e13fef4472</link>
      <guid>http://securityratty.com/article/a4173761de3afe53f58200e13fef4472</guid>
      <description><![CDATA[There are a ton of different paths that lead to doom,&quot; says Dan Kaminsky, who finally revealed the full details of a security hole that's rattled the...]]></description>
      <content:encoded><![CDATA["There are a ton of different paths that lead to doom," says Dan Kaminsky, who finally revealed the full details of a security hole that's rattled the net.<br style="clear: both;"/>
  <img alt="" style="border: 0; height:1px; width:1px;" border="0" src="http://www.pheedo.com/img.phdo?i=e0653fc64ea8dc68f84d02253310158c" height="1" width="1"/>
<img src="http://www.pheedo.com/feeds/tracker.php?i=e0653fc64ea8dc68f84d02253310158c" style="display: none;" border="0" height="1" width="1" alt=""/><div class="feedflare">
<a href="http://feeds.feedburner.com/~f/wired/politics/privacy?a=znubSK"><img src="http://feeds.feedburner.com/~f/wired/politics/privacy?i=znubSK" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/wired/politics/privacy?a=oSOByk"><img src="http://feeds.feedburner.com/~f/wired/politics/privacy?i=oSOByk" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/wired/politics/privacy?a=XkXvlk"><img src="http://feeds.feedburner.com/~f/wired/politics/privacy?i=XkXvlk" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/wired/politics/privacy?a=zZi0cK"><img src="http://feeds.feedburner.com/~f/wired/politics/privacy?i=zZi0cK" border="0"></img></a>
 <a href="http://feeds.wired.com/~f/wired/politics/security?a=oQFV9K"><img src="http://feeds.wired.com/~f/wired/politics/security?i=oQFV9K" border="0"></img></a> <a href="http://feeds.wired.com/~f/wired/politics/security?a=Lgwkxk"><img src="http://feeds.wired.com/~f/wired/politics/security?i=Lgwkxk" border="0"></img></a> <a href="http://feeds.wired.com/~f/wired/politics/security?a=Pc4Afk"><img src="http://feeds.wired.com/~f/wired/politics/security?i=Pc4Afk" border="0"></img></a> <a href="http://feeds.wired.com/~f/wired/politics/security?a=oCHzFK"><img src="http://feeds.wired.com/~f/wired/politics/security?i=oCHzFK" border="0"></img></a> </div><img src="http://feeds.feedburner.com/~r/wired/politics/privacy/~4/358052519" height="1" width="1"/><img src="http://feeds.wired.com/~r/wired/politics/security/~4/358052521" height="1" width="1"/>]]></content:encoded>
      <pubDate>Wed, 06 Aug 2008 20:24:00 +0000</pubDate>
      <category domain="http://securityratty.com/tag/dan kaminsky">dan kaminsky</category>
      <category domain="http://securityratty.com/tag/security hole">security hole</category>
      <category domain="http://securityratty.com/tag/lead">lead</category>
      <category domain="http://securityratty.com/tag/ton">ton</category>
      <category domain="http://securityratty.com/tag/net">net</category>
      <category domain="http://securityratty.com/tag/details">details</category>
      <category domain="http://securityratty.com/tag/paths">paths</category>
      <category domain="http://securityratty.com/tag/doom">doom</category>
      <source url="http://feeds.wired.com/~r/wired/politics/security/~3/358052521/dns-flaw-much-w.html">Black Hat: DNS Flaw Much Worse Than Previously Reported</source>
    </item>
    <item>
      <title><![CDATA[Poor security quality in software. Someone is watching over me.]]></title>
      <link>http://securityratty.com/article/5d5ac42e7f537f2a4fe1612773543dc3</link>
      <guid>http://securityratty.com/article/5d5ac42e7f537f2a4fe1612773543dc3</guid>
      <description><![CDATA[Last week, Ben Worthen of the Wall Street Journal had a conversation with Howard Schmidt about the vulnerabilities in purchased software while Howard was waiting on line to have his iPhone upgraded...]]></description>
      <content:encoded><![CDATA[<p>Last week, Ben Worthen of the Wall Street Journal had a <a href="http://blogs.wsj.com/biztech/2008/07/21/buggy-software-is-your-fault-too/?mod=djemTECH">conversation</a> with Howard Schmidt about the vulnerabilities in purchased software while Howard was waiting on line to have his iPhone upgraded.</p>
<p>Howard Schmidt, who was once the CSO of Microsoft, knows a thing or two about vendors shipping insecure software.  He offers this advice relating to his iPhone, &#8220;Just because a piece of software was distributed through Apple’s App Store, don’t assume that it is vulnerability free.&#8221;  I think that sums up the problem pretty well.  Customers assume the software they are getting is vulnerability free until it is proved otherwise.</p>
<p>If it&#8217;s distributed by the Apple Store it is coming from a trusted brand. &#8220;It must be secure&#8221;, many think.  The same thinking is used by people who install social networking applets and give them access to their personal data.  Someone, somewhere is taking care of the software security so I don&#8217;t have to.  It must be the platform provider, the store, some industry body, my antivirus provider, or maybe even the government.</p>
<p><a href="http://www.veracode.com/blog/wp-content/uploads/2008/07/mall-security.jpg"><img class="size-medium wp-image-147 alignright" title="Mall Security" src="http://www.veracode.com/blog/wp-content/uploads/2008/07/mall-security-300x184.jpg" alt="" width="300" height="184" /></a></p>
<p>You can see how this thinking pervades the consumer space because there are regulatory bodies governing all other aspects of safety and security in our personal lives.  I&#8217;m safe in a plane or car because the government is looking out for me with standards and testing requirements.  I am safe in the mall parking lot because the men in the white SUV are patrolling.</p>
<p>This thinking also pervaded the b2b space.  I talk to companies which are outsourcing critical applications to offshore development companies and they assume that security testing is taking place as part of the development process.  I ask them if they have made security quality part of the requirements of the project and they say no.  Then I ask them what evidence does the offshore developer provide to demonstrate they have a certain level of security quality in the software they are producing and they tell me they have never asked.</p>
<p>I can tell you what would happen if they did ask because I have also spoken with the offshore developers.  They have no evidence.  Their concern is getting the software functionality done on time and on budget. They consider fixing security vulnerabilities, once discovered, rework which the customer pays for.  So not only are they not looking for vulnerabilities and relying on the customer to find them, they are charging the customer to fix the problems.  The customer has to this date accepted this model.</p>
<p>The same goes for commercial off the shelf software and open source.  Surely the developers writing the software are trained in secure software engineering.  Surely commercial software companies are using 3rd parties to test their software just like the banks have the big 4 audit their accounting or auto manufacturers submit to testing by the <a href="http://www.nhtsa.dot.gov/">NHTSA</a>. And of course open source has &#8220;many eyes&#8221; reviewing the code for security defects and informing the developers.  The customer has accepted a model where this is almost never true.</p>
<p>But times are changing and it is partially due to the availability of software that can automate the process of looking for security vulnerabilities. David Rice, the author of <a href="http://www.geekonomicsbook.com/">&#8220;Geekanomics: The Real Cost of Insecure Software&#8221;</a> was <a href="http://beastorbuddha.com/2008/07/29/talking-with-david-rice-insecure-software-implications-regulation-vendors-making-change-and-other-things/">interviewed recently by Drazin Drazic his Beast or Buddha blog</a>.  He said the trend is toward a future of secure software and automated security analysis is one of the sparks:</p>
<blockquote><p><strong>BorB: I recently wrote in a post that little is changing. We are not learning from the lessons of the past. There are few, if any new technologies that exist today, that we have great faith and trust in as being secure now, and expecting them to continue to be secure in the future. Any solutions to even basic security issues need a starting point and a significant change to current thinking, and even then, it will takes years to see the impacts of this. What are your thoughts on this? Are we seeing anything at present to make us more confident of the future?</strong></p>
<p>DR: It is true that it takes years to see the positive impacts of a change of mindset. And we are in the unfortunate position of repeating many old lessons.</p>
<p>At base, human history is a collection of exhaustive, expensive, and protracted engagements; only the relentless survive and have a chance at succeeding (notice no guarantee here). Confronting some of our most complex problems like highway safety, nuclear proliferation, or insecure software is painful, difficult, complicated, and troublesome. Human endeavors of any significance are like this. But we must do it. The inertia of culture and status quo is difficult to overcome, but overcome it we can; otherwise, we would not have the better parts of the world we enjoy today.</p>
<p>I believe the technology space is no different. We are just a little dazed and bewildered by all the changes technology has introduced so quickly and on such a grand scale. For every change we react to, another two or three rapidly appear.</p>
<p>I do see sparks of hope emerging. In the United States some members of government are beginning to understand the problem and are willing to start discussing how to approach insecure software from a policy perspective. On the technology front, companies like Ounce, Fortify, and Veracode are beginning to give software buyers an automated method of evaluating assurance levels of software. While not complete in and of themselves, these solutions are, as I stated, “sparks” that can help us progress down paths that were once not easily open to us.</p>
<p>As for the larger issue of cyber security, which software assurance is only a part of, society has a lot of adjusting to do. The Internet is a new environment for many still, and many more to come. There is a learning curve that must be confronted. It took the United States almost 80 years to develop the highway system we know and enjoy today. Nearly $400 billion was spent on this endeavor with hundreds of thousands of lives lost. As this shows, learning how to govern and navigate a new environment is expensive. Failing to learn even more so.</p></blockquote>
<p>Independent, automated, and repeatable software security testing is an essential component of a safe and secure online environment.  Without it we are stuck with the assumption of vendors perfoming software security as our imaginary security blanket that allows us to operate in the current online world.</p>
]]></content:encoded>
      <pubDate>Wed, 30 Jul 2008 10:51:49 +0000</pubDate>
      <category domain="http://securityratty.com/tag/software">software</category>
      <category domain="http://securityratty.com/tag/approach insecure software">approach insecure software</category>
      <category domain="http://securityratty.com/tag/insecure software">insecure software</category>
      <category domain="http://securityratty.com/tag/repeatable software security">repeatable software security</category>
      <category domain="http://securityratty.com/tag/secure online environment">secure online environment</category>
      <category domain="http://securityratty.com/tag/environment">environment</category>
      <category domain="http://securityratty.com/tag/secure">secure</category>
      <category domain="http://securityratty.com/tag/secure software">secure software</category>
      <category domain="http://securityratty.com/tag/software assurance">software assurance</category>
      <source url="http://www.veracode.com/blog/?p=145">Poor security quality in software. Someone is watching over me.</source>
    </item>
    <item>
      <title><![CDATA[Poor Security Quality In Software; Someone Is Watching Over Me]]></title>
      <link>http://securityratty.com/article/aeb219e925a6f8176126d93b8eb2be49</link>
      <guid>http://securityratty.com/article/aeb219e925a6f8176126d93b8eb2be49</guid>
      <description><![CDATA[Last week, Ben Worthen of the Wall Street Journal had a conversation with Howard Schmidt about the vulnerabilities in purchased software while Howard was waiting on line to have his iPhone upgraded...]]></description>
      <content:encoded><![CDATA[<p>Last week, Ben Worthen of the Wall Street Journal had a <a href="http://blogs.wsj.com/biztech/2008/07/21/buggy-software-is-your-fault-too/?mod=djemTECH">conversation</a> with Howard Schmidt about the vulnerabilities in purchased software while Howard was waiting on line to have his iPhone upgraded.</p>
<p>Howard Schmidt, who was once the CSO of Microsoft, knows a thing or two about vendors shipping insecure software.  He offers this advice relating to his iPhone, &#8220;Just because a piece of software was distributed through Apple’s App Store, don’t assume that it is vulnerability free.&#8221;  I think that sums up the problem pretty well.  Customers assume the software they are getting is vulnerability free until it is proved otherwise.</p>
<p>If it&#8217;s distributed by the Apple Store it is coming from a trusted brand. &#8220;It must be secure&#8221;, many think.  The same thinking is used by people who install social networking applets and give them access to their personal data.  Someone, somewhere is taking care of the software security so I don&#8217;t have to.  It must be the platform provider, the store, some industry body, my antivirus provider, or maybe even the government.</p>
<p><a href="http://www.veracode.com/blog/wp-content/uploads/2008/07/mall-security.jpg"><center><img class="size-medium wp-image-147 alignright photoborder" title="Mall Security" src="http://www.veracode.com/blog/wp-content/uploads/2008/07/mall-security-300x184.jpg" alt="" width="300" height="184" /></center></a></p>
<p>You can see how this thinking pervades the consumer space because there are regulatory bodies governing all other aspects of safety and security in our personal lives.  I&#8217;m safe in a plane or car because the government is looking out for me with standards and testing requirements.  I am safe in the mall parking lot because the men in the white SUV are patrolling.</p>
<p>This thinking also pervaded the b2b space.  I talk to companies which are outsourcing critical applications to offshore development companies and they assume that security testing is taking place as part of the development process.  I ask them if they have made security quality part of the requirements of the project and they say no.  Then I ask them what evidence does the offshore developer provide to demonstrate they have a certain level of security quality in the software they are producing and they tell me they have never asked.</p>
<p>I can tell you what would happen if they did ask because I have also spoken with the offshore developers.  They have no evidence.  Their concern is getting the software functionality done on time and on budget. They consider fixing security vulnerabilities, once discovered, rework which the customer pays for.  So not only are they not looking for vulnerabilities and relying on the customer to find them, they are charging the customer to fix the problems.  The customer has to this date accepted this model.</p>
<p>The same goes for commercial off the shelf software and open source.  Surely the developers writing the software are trained in secure software engineering.  Surely commercial software companies are using 3rd parties to test their software just like the banks have the big 4 audit their accounting or auto manufacturers submit to testing by the <a href="http://www.nhtsa.dot.gov/">NHTSA</a>. And of course open source has &#8220;many eyes&#8221; reviewing the code for security defects and informing the developers.  The customer has accepted a model where this is almost never true.</p>
<p>But times are changing and it is partially due to the availability of software that can automate the process of looking for security vulnerabilities. David Rice, the author of <a href="http://www.geekonomicsbook.com/">&#8220;Geekanomics: The Real Cost of Insecure Software&#8221;</a> was <a href="http://beastorbuddha.com/2008/07/29/talking-with-david-rice-insecure-software-implications-regulation-vendors-making-change-and-other-things/">interviewed recently by Drazin Drazic his Beast or Buddha blog</a>.  He said the trend is toward a future of secure software and automated security analysis is one of the sparks:</p>
<blockquote><p><strong>BorB: I recently wrote in a post that little is changing. We are not learning from the lessons of the past. There are few, if any new technologies that exist today, that we have great faith and trust in as being secure now, and expecting them to continue to be secure in the future. Any solutions to even basic security issues need a starting point and a significant change to current thinking, and even then, it will takes years to see the impacts of this. What are your thoughts on this? Are we seeing anything at present to make us more confident of the future?</strong></p>
<p>DR: It is true that it takes years to see the positive impacts of a change of mindset. And we are in the unfortunate position of repeating many old lessons.</p>
<p>At base, human history is a collection of exhaustive, expensive, and protracted engagements; only the relentless survive and have a chance at succeeding (notice no guarantee here). Confronting some of our most complex problems like highway safety, nuclear proliferation, or insecure software is painful, difficult, complicated, and troublesome. Human endeavors of any significance are like this. But we must do it. The inertia of culture and status quo is difficult to overcome, but overcome it we can; otherwise, we would not have the better parts of the world we enjoy today.</p>
<p>I believe the technology space is no different. We are just a little dazed and bewildered by all the changes technology has introduced so quickly and on such a grand scale. For every change we react to, another two or three rapidly appear.</p>
<p>I do see sparks of hope emerging. In the United States some members of government are beginning to understand the problem and are willing to start discussing how to approach insecure software from a policy perspective. On the technology front, companies like Ounce, Fortify, and Veracode are beginning to give software buyers an automated method of evaluating assurance levels of software. While not complete in and of themselves, these solutions are, as I stated, “sparks” that can help us progress down paths that were once not easily open to us.</p>
<p>As for the larger issue of cyber security, which software assurance is only a part of, society has a lot of adjusting to do. The Internet is a new environment for many still, and many more to come. There is a learning curve that must be confronted. It took the United States almost 80 years to develop the highway system we know and enjoy today. Nearly $400 billion was spent on this endeavor with hundreds of thousands of lives lost. As this shows, learning how to govern and navigate a new environment is expensive. Failing to learn even more so.</p></blockquote>
<p>Independent, automated, and repeatable software security testing is an essential component of a safe and secure online environment.  Without it we are stuck with the assumption of vendors perfoming software security as our imaginary security blanket that allows us to operate in the current online world.</p>
]]></content:encoded>
      <pubDate>Wed, 30 Jul 2008 10:51:49 +0000</pubDate>
      <category domain="http://securityratty.com/tag/software">software</category>
      <category domain="http://securityratty.com/tag/approach insecure software">approach insecure software</category>
      <category domain="http://securityratty.com/tag/insecure software">insecure software</category>
      <category domain="http://securityratty.com/tag/repeatable software security">repeatable software security</category>
      <category domain="http://securityratty.com/tag/secure online environment">secure online environment</category>
      <category domain="http://securityratty.com/tag/environment">environment</category>
      <category domain="http://securityratty.com/tag/secure">secure</category>
      <category domain="http://securityratty.com/tag/secure software">secure software</category>
      <category domain="http://securityratty.com/tag/software assurance">software assurance</category>
      <source url="http://www.veracode.com/blog/2008/07/poor-security-quality-in-software-someone-is-watching-over-me/">Poor Security Quality In Software; Someone Is Watching Over Me</source>
    </item>
    <item>
      <title><![CDATA[Minimizing the Attack Surface, Part 2]]></title>
      <link>http://securityratty.com/article/acfca889e523dfb012c5b7b6ad84ac5f</link>
      <guid>http://securityratty.com/article/acfca889e523dfb012c5b7b6ad84ac5f</guid>
      <description><![CDATA[Im finally getting around to finishing my post on minimizing attack surfaces. Heres Part 1 , in case you missed it
First, a quick clarification. I noticed that some of the readers who commented on...]]></description>
      <content:encoded><![CDATA[<p>I&#8217;m finally getting around to finishing my post on minimizing attack surfaces.  Here&#8217;s <a href="http://www.veracode.com/blog/?p=111">Part 1</a>, in case you missed it.</p>
<p>First, a quick clarification.  I noticed that some of the readers who commented on that first post wanted to talk about improving security through the use of various development methodologies or coding frameworks.  Those are interesting tangents (and ones that I may write about in the future), but my intention with this post is to discuss a very specific problem related to how people integrate third-party code &#8212; that is, the stuff you import or link in but didn&#8217;t write yourself.  </p>
<p>As I mentioned previously, developers have a tendency to &#8220;bolt on&#8221; third-party components to applications without understanding the security implications.  Often, these components are glossed over or ignored completely during threat modeling discussions.  I attempted to illustrate this with my fictitious WhizBang library example in Part 1.</p>
<p>When integrating a third-party component, developers familiarize themselves with the API but generally don&#8217;t care how it&#8217;s implemented.  Granted, that&#8217;s how an API is supposed to work; you don&#8217;t have to futz around with code beyond the API boundary, and you can blissfully ignore parts of the library that you don&#8217;t need.  In past consulting gigs, I&#8217;ve sat in threat modeling discussions where nobody knew whether a particular library generated network traffic.  &#8220;We just use the API,&#8221; they say.  The fact that it works is good enough; nobody seems to care <i>how</i> it works.</p>
<p>That mindset is ideal for rapid development but problematic for security.  Failing to understand the complete application, as opposed to just the part you wrote, prevents you from accurately assessing its security posture.</p>
<p>It&#8217;s also no coincidence that web app pen testers love third-party components &#8212; we get excited when we see &#8220;bolted on&#8221; interfaces, because we know that developers tend to leave extraneous functionality exposed.  The resulting findings usually generate reactions such as &#8220;I didn&#8217;t even know that servlet had an upload function.&#8221;</p>
<p><b>An Example</b></p>
<p>Here&#8217;s a close-to-home example related to my post about <a href="http://www.veracode.com/blog/?p=115">DWR 2.0.5</a> from the other day.  DWR is an Ajax framework that has a variety of operating modes.  In-house, we use a subset of DWR&#8217;s full functionality &#8212; specifically, we interact with it using the &#8220;plaincall&#8221; method only, so we made sure that the features we didn&#8217;t need were disabled via the configuration file.  As it turned out, there were vulnerable code paths prior to the &#8220;do you have this thing disabled&#8221; check.  In hindsight, if we had taken more time to understand the exposed interfaces, we could have reduced the attack surface by filtering out unneeded request patterns before they even touched the third-party code.</p>
<p>But wait, you say.  What about maintainability?  If I whitelist using a point-in-time application profile, doesn&#8217;t this create the same maintenance headache as the reviled WAF?  It doesn&#8217;t have to.  Certainly, one option would be to whitelist each and every unique URL that references the DWR framework, e.g.</p>
<pre>
/dwr/call/plaincall/myMethod1
/dwr/call/plaincall/myMethod2
/dwr/call/plaincall/myMethod3
</pre>
<p>But then you&#8217;d have to update the whitelist every time you added or removed functionality from your application.  Also, don&#8217;t lose sight of the security goal, which is to minimize the amount of exposed third-party code.  If I add or remove URLs that list, provided they are still using the &#8220;plaincall&#8221; method, I&#8217;m hitting the same DWR dispatcher every time.  So I&#8217;ve increased maintenance cost without any security benefit.  </p>
<p>A better option is to simply tighten the URL pattern a bit in the J2EE container.  Here&#8217;s the default configuration:</p>
<pre>
&lt;servlet-mapping&gt;
  &lt;servlet-name&gt;dwr-invoker&lt;/servlet-name&gt;
  &lt;url-pattern&gt;/dwr/*&lt;/url-pattern&gt;
&lt;/servlet-mapping&gt;
</pre>
<p>Now, instead of allowing every URL starting with <code>/dwr/</code> to be processed by the DWR library, you could be a little more restrictive:</p>
<pre>
&lt;servlet-mapping&gt;
  &lt;servlet-name&gt;dwr-invoker&lt;/servlet-name&gt;
  &lt;url-pattern&gt;/dwr/call/plaincall/*&lt;/url-pattern&gt;
&lt;/servlet-mapping&gt;
</pre>
<p>In this configuration, you don&#8217;t have to worry about <code>/dwr/call/someothercodepath</code> any more.  There is less third-party code exposed, thereby reducing the overall attack surface of the application.  (NB: DWR also serves up a couple of Javascript files, so those URL patterns will have to be whitelisted too)</p>
<p><b>A Logical Extension</b></p>
<p>Even if you&#8217;re not a developer, you should still be thinking about attack surfaces.  People download and install blogging platforms such as WordPress, Movable Type, etc. all the time, but how many take <a href="http://blogsecurity.net/wordpress/wordpress-security-whitepaper/">additional steps</a> to harden their installations?  The concept is the same as the OS hardening analogy I brought up at the very beginning of this discussion.</p>
<p>Similarly, people install third-party <a href="http://milw0rm.com/search.php?dong=wordpress+plugin">WordPress plugins</a> or <a href="http://milw0rm.com/search.php?dong=joomla+component">Joomla components</a> without considering that most of them are written by some random programmer who is a whiz with the plugin API but knows nothing about security?  </p>
<p>At the risk of sounding trite, always remember that security is <a href="http://www.schneier.com/blog/archives/2005/12/weakest_link_se.html">only as strong as the weakest link</a>.</p>
]]></content:encoded>
      <pubDate>Mon, 07 Jul 2008 17:10:25 +0000</pubDate>
      <category domain="http://securityratty.com/tag/dwr-invoker dwr">dwr-invoker dwr</category>
      <category domain="http://securityratty.com/tag/dwr-invoker">dwr-invoker</category>
      <category domain="http://securityratty.com/tag/dwr library">dwr library</category>
      <category domain="http://securityratty.com/tag/dwr">dwr</category>
      <category domain="http://securityratty.com/tag/library">library</category>
      <category domain="http://securityratty.com/tag/security">security</category>
      <category domain="http://securityratty.com/tag/dwr dispatcher">dwr dispatcher</category>
      <category domain="http://securityratty.com/tag/security posture">security posture</category>
      <category domain="http://securityratty.com/tag/point-in-time application profile">point-in-time application profile</category>
      <source url="http://www.veracode.com/blog/?p=113">Minimizing the Attack Surface, Part 2</source>
    </item>
    <item>
      <title><![CDATA[Mashup of the Titans]]></title>
      <link>http://securityratty.com/article/6289294023616c0d4219941919c976a5</link>
      <guid>http://securityratty.com/article/6289294023616c0d4219941919c976a5</guid>
      <description><![CDATA[Information Security - an Oxymoron for the information age

Always the beautiful answer who asks a more beautiful question. e. e. cummings
or why i am with Gelernter

This is a mashup of Saltzer &amp;...]]></description>
      <content:encoded><![CDATA[<div>Information Security - an Oxymoron for the information age</div><br /><div>“Always the beautiful answer who asks a more beautiful question.” e. e. cummings</div><div>...or why i am with Gelernter</div><br /><div>This is a mashup of Saltzer &amp; Schroeder&#39;s famous <a href="http://www.cs.virginia.edu/~evans/cs551/saltzer/">information security principles</a> with David Gelernter&#39;s <a href="http://www.edge.org/documents/archive/edge70.html">Manifesto</a>.</div><br /><div>The premise of this mashup is to examine the paper by Saltzer and Schroeder which was written in 1975 and serves as the basis for most information security programs against the Gelernter&#39;s manifesto as to where computing is actually going. Each of the eight principles in Saltzer and Schroeder&#39;s paper is listed in order, and followed by select excerpts of Gelernter&#39;s manifesto. This comparison is to examine theoretical information security principles vis a vis the actual utility of modern information systems. I will not make an attempt to reconcile theory and practice, but will point out where the two schools of thought agree. In fairness, Saltzer and Schroeder&#39;s paper was written 25 years before Gelernter&#39;s, however Saltzer and Schroeder&#39;s principles dominate the thinking about information security to this day and so its important to view them side by side with Gelernter&#39;s thinking on the direction of computing.</div><br /><div style="color: #bf5f00; ">Saltzer and Schroeder:</div><div>&quot;a) Economy of mechanism: Keep the design as simple and small as possible. This well-known principle applies to any aspect of a system, but it deserves emphasis for protection mechanisms for this reason: design and implementation errors that result in unwanted access paths will not be noticed during normal use (since normal use usually does not include attempts to exercise improper access paths). As a result, techniques such as line-by-line inspection of software and physical examination of hardware that implements protection mechanisms are necessary. For such techniques to be successful, a small and simple design is essential.&quot;</div><br /><div style="color: #0060bf; ">Gelernter:</div><div>&quot;9. The computing future is based on &quot;cyberbodies&quot; — self-contained, neatly-ordered, beautifully-laid-out collections of information, like immaculate giant gardens.&quot;</div><br /><div><span style="color: #00bf00; ">Conclusion(gp):</span>&#0160;So far, so good</div><br /><div>**</div><br /><div><span style="color: #bf5f00; ">Saltzer and Schroeder:</span><br /></div><div>&quot;b) Fail-safe defaults: Base access decisions on permission rather than exclusion. This principle, suggested by E. Glaser in 1965,8 means that the default situation is lack of access, and the protection scheme identifies conditions under which access is permitted. The alternative, in which mechanisms attempt to identify conditions under which access should be refused, presents the wrong psychological base for secure system design. A conservative design must be based on arguments why objects should be accessible, rather than why they should not. In a large system some objects will be inadequately considered, so a default of lack of permission is safer. A design or implementation mistake in a mechanism that gives explicit permission tends to fail by refusing permission, a safe situation, since it will be quickly detected. On the other hand, a design or implementation mistake in a mechanism that explicitly excludes access tends to fail by allowing access, a failure which may go unnoticed in normal use. This principle applies both to the outward appearance of the protection mechanism and to its underlying implementation.&quot;</div><br /><div><span style="color: #00bf00; ">Conclusion(gp):</span>&#0160;A conservative design principle that puts the object&#39;s owner in control of permissions. This makes a lot of sense from the object point of view, but does little to address the use case in which it executes.</div><br /><div>**</div><br /><div><span style="color: #bf5f00; ">Saltzer and Schroeder:</span><br /></div><div>&quot;c) Complete mediation: Every access to every object must be checked for authority. This principle, when systematically applied, is the primary underpinning of the protection system. It forces a system-wide view of access control, which in addition to normal operation includes initialization, recovery, shutdown, and maintenance. It implies that a foolproof method of identifying the source of every request must be devised. It also requires that proposals to gain performance by remembering the result of an authority check be examined skeptically. If a change in authority occurs, such remembered results must be systematically updated.&quot;</div><br /><div><span style="color: #0060bf; ">Gelernter:</span><br /></div><div>&quot;8. The software systems we depend on most today are operating systems (Unix, the Macintosh OS, Windows et. al.) and browsers (Internet Explorer, Netscape Communicator...). Operating systems are connectors that fasten users to computers; they attach to the computer at one end, the user at the other. Browsers fasten users to remote computers, to &quot;servers&quot; on the internet.</div><br /><div>Today&#39;s operating systems and browsers are obsolete because people no longer want to be connected to computers — near ones OR remote ones. (They probably never did). They want to be connected to information. In the future, people are connected to cyberbodies; cyberbodies drift in the computational cosmos — also known as the Swarm, the Cybersphere.</div><br /><div>13. Any well-designed next-generation electronic gadget will come with a ``Disable Omniscience&#39;&#39; button.</div><br /><div>17. A cyberbody can be replicated or distributed over many computers; can inhabit many computers at the same time. If the Cybersphere&#39;s computers are tiles in a paved courtyard, a cyberbody is a cloud&#39;s drifting shadow covering many tiles simultaneously.</div><br /><div>20. If a million people use a Web site simultaneously, doesn&#39;t that mean that we must have a heavy-duty remote server to keep them all happy? No; we could move the site onto a million desktops and use the internet for coordination. The &quot;site&quot; is like a military unit in the field, the general moving with his troops (or like a hockey team in constant swarming motion). (We used essentially this technique to build the first tuple space implementations. They seemed to depend on a shared server, but the server was an illusion; there was no server, just a swarm of clients.) Could Amazon.com be an itinerant horde instead of a fixed Central Command Post? Yes.&quot;</div><br /><div><span style="color: #00bf00; ">Conclusion(gp):</span>&#0160;Complete mediation provides the underpinning for Saltzer and Schroeder&#39;s system, but does not appear to scale to the desired itinerant horde at least in common interpretation.</div><br /><div>**</div><br /><div><span style="color: #bf5f00; ">Saltzer and Schroeder:</span><br /></div><div>&quot;d) Open design: The design should not be secret. The mechanisms should not depend on the ignorance of potential attackers, but rather on the possession of specific, more easily protected, keys or passwords. This decoupling of protection mechanisms from protection keys permits the mechanisms to be examined by many reviewers without concern that the review may itself compromise the safeguards. In addition, any skeptical user may be allowed to convince himself that the system he is about to use is adequate for his purpose. Finally, it is simply not realistic to attempt to maintain secrecy for any system which receives wide distribution.&quot;</div><br /><div><span style="color: #00bf00; ">Conclusion(gp):</span>&#0160;both seem to agree, hard to get the itinerant horde moving in a swarm without open standards.</div><br /><div>**</div><br /><div><span style="color: #bf5f00; ">Saltzer and Schroeder:</span><br /></div><div>&quot;e) Separation of privilege: Where feasible, a protection mechanism that requires two keys to unlock it is more robust and flexible than one that allows access to the presenter of only a single key. The relevance of this observation to computer systems was pointed out by R. Needham in 1973. The reason is that, once the mechanism is locked, the two keys can be physically separated and distinct programs, organizations, or individuals made responsible for them. From then on, no single accident, deception, or breach of trust is sufficient to compromise the protected information. This principle is often used in bank safe-deposit boxes. It is also at work in the defense system that fires a nuclear weapon only if two different people both give the correct command. In a computer system, separated keys apply to any situation in which two or more conditions must be met before access should be permitted. For example, systems providing user-extendible protected data types usually depend on separation of privilege for their implementation.&quot;</div><br /><div><span style="color: #0060bf; ">Gelernter:</span><br /></div><div>&quot;37. Elements stored in a mind do not have names and are not organized into folders; are retrieved not by name or folder but by contents. (Hear a voice, think of a face: you&#39;ve retrieved a memory that contains the voice as one component.) You can see everything in your memory from the standpoint of past, present and future. Using a file cabinet, you classify information when you put it in; minds classify information when it is taken out. (Yesterday afternoon at four you stood with Natasha on Fifth Avenue in the rain — as you might recall when you are thinking about &quot;Fifth Avenue,&quot; &quot;rain,&quot; &quot;Natasha&quot; or many other things. But you attached no such labels to the memory when you acquired it. The classification happened retrospectively.)&quot;</div><br /><div><span style="color: #00bf00; ">Conclusion(gp):</span>&#0160;Information Security models tend to look at things statically through information classification lenses, but its how information is used that makes it valuable. In practice this is how information security theory breaks down in the face of reality - what does an access control matrix look like for a mashup? What does it look like for a data mining app?</div><br /><div>**</div><br /><div><span style="color: #bf5f00; ">Saltzer and Schroeder:</span><br /></div><div>&quot;f) Least privilege: Every program and every user of the system should operate using the least set of privileges necessary to complete the job. Primarily, this principle limits the damage that can result from an accident or error. It also reduces the number of potential interactions among privileged programs to the minimum for correct operation, so that unintentional, unwanted, or improper uses of privilege are less likely to occur. Thus, if a question arises related to misuse of a privilege, the number of programs that must be audited is minimized. Put another way, if a mechanism can provide &quot;firewalls,&quot; the principle of least privilege provides a rationale for where to install the firewalls. The military security rule of &quot;need-to-know&quot; is an example of this principle.&quot;</div><br /><div><span style="color: #0060bf; ">Gelernter:</span><br /></div><div>&quot;28. Metaphors have a profound effect on computing: the file-cabinet metaphor traps us in a &quot;passive&quot; instead of &quot;active&quot; view of information management that is fundamentally wrong for computers.</div><br /><div>29. The rigid file and directory system you are stuck with on your Mac or PC was designed by programmers for programmers — and is still a good system for programmers. It is no good for non-programmers. It never was, and was never intended to be.</div><br /><div>30. If you have three pet dogs, give them names. If you have 10,000 head of cattle, don&#39;t bother. Nowadays the idea of giving a name to every file on your computer is ridiculous.&quot;</div><br /><div><span style="color: #00bf00; ">Conclusion(gp):</span>&#0160;Least Privilege is the point where the practical matter of applying Saltzer and Schroeder&#39;s principles breaks down in modern systems. Its a deployment issue, and a matter of insufficient models and modes.</div><br /><div>**</div><br /><div><span style="color: #bf5f00; ">Saltzer and Schroeder:</span><br /></div><div>&quot;g) Least common mechanism: Minimize the amount of mechanism common to more than one user and depended on by all users [28]. Every shared mechanism (especially one involving shared variables) represents a potential information path between users and must be designed with great care to be sure it does not unintentionally compromise security. Further, any mechanism serving all users must be certified to the satisfaction of every user, a job presumably harder than satisfying only one or a few users. For example, given the choice of implementing a new function as a supervisor procedure shared by all users or as a library procedure that can be handled as though it were the user&#39;s own, choose the latter course. Then, if one or a few users are not satisfied with the level of certification of the function, they can provide a substitute or not use it at all. Either way, they can avoid being harmed by a mistake in it.&quot;</div><br /><div><span style="color: #0060bf; ">Gelernter:</span><br /></div><div>&quot;6. Miniaturization was the big theme in the first age of computers: rising power, falling prices, computers for everybody. Theme of the Second Age now approaching: computing transcends computers. Information travels through a sea of anonymous, interchangeable computers like a breeze through tall grass. A dekstop computer is a scooped-out hole in the beach where information from the Cybersphere wells up like seawater.</div><br /><div>16. The future is dense with computers. They will hang around everywhere in lush growths like Spanish moss. They will swarm like locusts. But a swarm is not merely a big crowd. The individuals in the swarm lose their identities. The computers that make up this global swarm will blend together into the seamless substance of the Cybersphere. Within the swarm, individual computers will be as anonymous as molecules of air.</div><br /><div>55. Software can solve hard problems in two ways: by algorithm or by making connections — by delivering the problem to exactly the right human problem-solver. The second technique is just as powerful as the first, but so far we have ignored it.</div><br /><div>56. Lifestreams and microcosms are the two most important cyberbody types; they relate to each other as a single musical line relates to a single chord. The stream is a &quot;moment in space,&quot; the microcosm a moment in time.&quot;</div><br /><div>**</div><br /><div><span style="color: #bf5f00; ">Saltzer and Schroeder:</span><br /></div><div>&quot;h) Psychological acceptability: It is essential that the human interface be designed for ease of use, so that users routinely and automatically apply the protection mechanisms correctly. Also, to the extent that the user&#39;s mental image of his protection goals matches the mechanisms he must use, mistakes will be minimized. If he must translate his image of his protection needs into a radically different specification language, he will make errors.&quot;</div><br /><div><span style="color: #0060bf; ">Gelernter:</span><br /></div><div>&quot;7. &quot;The network is the computer&quot; — yes; but we&#39;re less interested in computers all the time. The real topic in astronomy is the cosmos, not telescopes. The real topic in computing is the Cybersphere and the cyberstructures in it, not the computers we use as telescopes and tuners.</div><br /><div>27. Modern computing is based on an analogy between computers and file cabinets that is fundamentally wrong and affects nearly every move we make. (We store &quot;files&quot; on disks, write &quot;records,&quot; organize files into &quot;folders&quot; — file-cabinet language.) Computers are fundamentally unlike file cabinets because they can take action.</div><br /><div>31. Our standard policy on file names has far-reaching consequences: doesn&#39;t merely force us to make up names where no name is called for; also imposes strong limits on our handling of an important class of documents — ones that arrive from the outside world. A newly-arrived email message (for example) can&#39;t stand on its own as a separate document — can&#39;t show up alongside other files in searches, sit by itself on the desktop, be opened or printed independently; it has no name, so it must be buried on arrival inside some existing file (the mail file) that does have a name. The same holds for incoming photos and faxes, Web bookmarks, scanned images...</div><br /><div>32. You shouldn&#39;t have to put files in directories. The directories should reach out and take them. If a file belongs in six directories, all six should reach out and grab it automatically, simultaneously.</div><br /><div>33. A file should be allowed to have no name, one name or many names. Many files should be allowed to share one name. A file should be allowed to be in no directory, one directory, or many directories. Many files should be allowed to share one directory. Of these eight possibilities, only three are legal and the other five are banned — for no good reason.</div><br /><div>53. Your car, your school, your company and yourself are all one-track vehicles moving forward through time, and they will each leave a stream-shaped cyberbody (like an aircraft&#39;s contrail) behind them as they go. These vapor-trails of crystallized experience will represent our first concrete answer to a hard question: what is a company, a university, any sort of ongoing organization or institution, if its staff and customers and owners can all change, its buildings be bulldozed, its site relocated — what&#39;s left? What is it? The answer: a lifestream in cyberspace.&quot;</div><br /><br /><div>**</div><div style="color: #00bf00; ">Conclusion(gp):</div><br /><div>The Saltzer and Schroeder principles of Open Design and Economy of Mechanism hold up well in the face of modern computing realities, and to a certain extent Fail Safe Defaults does as well; however if we information security people are to be effective we need to re-think the other principles.</div><br /><div>**</div><br /><div>Last word:&#0160;<span style="color: #0060bf; ">Gelernter:</span></div><div>We&#39;ll know the system is working when a butterfly wanders into the in-box and (a few wingbeats later) flutters out — and in that brief interval the system has transcribed the creature&#39;s appearance and analyzed its way of moving, and the real butterfly leaves a shadow-butterfly behind. Some time soon afterward you&#39;ll be examining some tedious electronic document and a cyber-butterfly will appear at the bottom left corner of your screen (maybe a Hamearis lucina) and pause there, briefly hiding the text (and showing its neatly-folded rusty-chocolate wings like Victorian paisley, with orange eyespots) — and moments later will have crossed the screen and be gone.</div>]]></content:encoded>
      <pubDate>Wed, 25 Jun 2008 13:29:25 +0000</pubDate>
      <category domain="http://securityratty.com/tag/protection mechanisms">protection mechanisms</category>
      <category domain="http://securityratty.com/tag/protection mechanisms correctly">protection mechanisms correctly</category>
      <category domain="http://securityratty.com/tag/information security">information security</category>
      <category domain="http://securityratty.com/tag/information">information</category>
      <category domain="http://securityratty.com/tag/implements protection mechanisms">implements protection mechanisms</category>
      <category domain="http://securityratty.com/tag/information travels">information travels</category>
      <category domain="http://securityratty.com/tag/information security people">information security people</category>
      <category domain="http://securityratty.com/tag/protection">protection</category>
      <category domain="http://securityratty.com/tag/potential information path">potential information path</category>
      <source url="http://1raindrop.typepad.com/1_raindrop/2008/06/mashup-of-the-titans.html">Mashup of the Titans</source>
    </item>
  </channel>
</rss>
