<?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: api-logger]]></title>
    <link>http://securityratty.com/tag/api-logger</link>
    <description></description>
    <pubDate>Thu, 17 Jul 2008 11:51:24 +0000</pubDate>
    <generator>iRatty Engine</generator>
    <docs>http://blogs.law.harvard.edu/tech/rss</docs>
    <item>
      <title><![CDATA[Podcast: Cloud Computing, Software Development, Testing and Security]]></title>
      <link>http://securityratty.com/article/17d0b9aafe426c2e469aa3ccc41622d5</link>
      <guid>http://securityratty.com/article/17d0b9aafe426c2e469aa3ccc41622d5</guid>
      <description><![CDATA[Last month I was interviewed for a podcast with SearchSoftwareQuality.com
We talked about some of the advantages Cloud Computing could bring to software development and testing. Notice I say could - I...]]></description>
      <content:encoded><![CDATA[<p><img class="alignleft" src="http://media.techtarget.com/searchSoftwareQuality/images/header_logo2.gif" alt="SearchSoftwareQuality Logo" /></p>
<p>Last month I was interviewed for a podcast with <a href="http://SearchSoftwareQuality.com">SearchSoftwareQuality.com</a>.</p>
<p>We talked about some of the advantages Cloud Computing could bring to software development and testing.  Notice I say &#8216;could&#8217; - I continue to see <a href="http://cloudsecurity.org/2008/07/21/assessing-the-security-benefits-of-cloud-computing/">great potential benefits</a> but some of these require us to rethink how we do things as &#8216;end-users&#8217; and depend on the Cloud Computing ecosystem maturing enough to deliver them (e.g. security monitoring of Cloud API calls).</p>
<p>This was recorded prior to the Microsoft Azure announcement hence the &#8220;software + services&#8221; model wasn&#8217;t covered.</p>
<p>Anyway, the podcast is broken into 3 x 8 minute segments (I think I broke the spoken word count ;-):</p>
<ul>
<li><span class="a3"> General benefits of cloud computing for software development</span></li>
<li><span class="a3"> Cloud computing&#8217;s impact on agile development practices, software testing, and e-commerce</span></li>
<li><span class="a3">Security elements surrounding cloud computing, such as software monitoring, implementing security patches, and the reduction of data leakage.</span></li>
</ul>
<p>You can access the podcast segments <a href="http://searchsoftwarequality.techtarget.com/generic/0,295582,sid92_gci1338164,00.html">here</a>.</p>
<p>My thanks to Michelle and Erick over at TechTarget for the opportunity.</p>
<h4>What About You?</h4>
<p>Apart from general feedback on whether the podcast was helpful or not, I&#8217;m interested to hear if you&#8217;ve started any Cloud based development projects - please share in the comments.</p>
<img src="http://feeds.feedburner.com/~r/CloudSecurity/~4/447347585" height="1" width="1"/>]]></content:encoded>
      <pubDate>Sun, 09 Nov 2008 08:57:10 +0000</pubDate>
      <category domain="http://securityratty.com/tag/cloud">cloud</category>
      <category domain="http://securityratty.com/tag/software development">software development</category>
      <category domain="http://securityratty.com/tag/software">software</category>
      <category domain="http://securityratty.com/tag/cloud computings impact">cloud computings impact</category>
      <category domain="http://securityratty.com/tag/security">security</category>
      <category domain="http://securityratty.com/tag/podcast">podcast</category>
      <category domain="http://securityratty.com/tag/cloud api calls">cloud api calls</category>
      <category domain="http://securityratty.com/tag/advantages cloud">advantages cloud</category>
      <category domain="http://securityratty.com/tag/podcast segments">podcast segments</category>
      <source url="http://feeds.feedburner.com/~r/CloudSecurity/~3/447347585/">Podcast: Cloud Computing, Software Development, Testing and Security</source>
    </item>
    <item>
      <title><![CDATA[OWASP European Summit - Portugal]]></title>
      <link>http://securityratty.com/article/ea11601c79d7b13866fce47288b63fbd</link>
      <guid>http://securityratty.com/article/ea11601c79d7b13866fce47288b63fbd</guid>
      <description><![CDATA[Portugal/Algarve - 4th - 7th November 2008
Setting the Web Application Security Agenda for 2009: OWASP Invites You to Join Our Summit in Portugal
http://www.owasp.org/index.php/OWASP EU Summit 2008...]]></description>
      <content:encoded><![CDATA[<p style="margin: 0.4em 0px 0.5em; line-height: 1.5em;"><em><span style="font-size: small;">Portugal/Algarve - 4th - 7th November 2008</span></em></p>
<p style="margin: 0.4em 0px 0.5em; line-height: 1.5em;"><span style="font-weight: bold;">Setting the Web Application Security Agenda for 2009: OWASP Invites You to Join Our Summit in Portugal</span></p>
<p style="margin: 0.4em 0px 0.5em; line-height: 1.5em;"><a style="text-decoration: none; color: #3366bb;" title="http://www.owasp.org/index.php/OWASP_EU_Summit_2008" rel="nofollow" href="http://www.owasp.org/index.php/OWASP_EU_Summit_2008" target="_blank"><span style="font-weight: bold;">http://www.owasp.org/index.php/OWASP_EU_Summit_2008</span></a></p>
<p style="margin: 0.4em 0px 0.5em; line-height: 1.5em;">With the theme <span style="font-style: italic;">&#8216;Setting the AppSec agenda for 2009&#8242;</span>, the OWASP Summit will be a worldwide gathering of OWASP leaders and key industry players to present and discuss the latest OWASP tools, documentation projects, and web application security trends. Join us in Portugal in just a few short weeks! This venue hosts a diverse selection of training courses along with technical and business tracks, making it THE place to learn about web application security and the resources OWASP has available for use today.</p>
<p style="margin: 0.4em 0px 0.5em; line-height: 1.5em;">OWASP is a not-for-profit organization with the purpose of supporting the Web Application Security community around the world, and has granted $250,000 USD for web application security research. In addition to over 40 presentations from the OWASP Leaders and grant recipients, the OWASP Summit will host multiple Working Sessions designed to improve collaboration, achieve specific objectives and identify roadmaps for OWASP projects, chapters, and the OWASP community itself.</p>
<p style="margin: 0.4em 0px 0.5em; line-height: 1.5em;">To facilitate this event, OWASP is investing $150,000 USD which will be used to cover air travel and accommodation expenses for OWASP leaders, active contributors, and select key industry leaders. With their confirmed presence, the OWASP Summit will provide a relaxed but professional environment to meet, discuss, influence and contribute to OWASP projects.</p>
<p style="margin: 0.4em 0px 0.5em; line-height: 1.5em;">There are still funds available! If you are interested in attending and you meet the profile of the current OWASP supported attendees (see list here: <a style="text-decoration: none; color: #3366bb;" title="http://spreadsheets.google.com/pub?key=pAX6n7m2zaTVLrPtR07riBA" rel="nofollow" href="http://spreadsheets.google.com/pub?key=pAX6n7m2zaTVLrPtR07riBA" target="_blank">http://spreadsheets.google.com/pub?key=pAX6n7m2zaTVLrPtR07riBA</a>) contact Paulo Coimbra (<a href="mailto:paulo.coimbra@owasp.org" target="_blank">paulo.coimbra@owasp.org</a>). Please note that you should do so only if you meet the paid attendance criteria (see here<a style="text-decoration: none; color: #3366bb;" title="https://www.owasp.org/index.php/OWASP_EU_Summit_2008_paid_participation_rules" rel="nofollow" href="https://www.owasp.org/index.php/OWASP_EU_Summit_2008_paid_participation_rules" target="_blank">https://www.owasp.org/index.php/OWASP_EU_Summit_2008_paid_participation_rules</a>) and are unable to get corporate support to attend this event (for other corporate sponsorship opportunities see <a style="text-decoration: none; color: #3366bb;" title="http://www.owasp.org/index.php/OWASP_EU_Summit_2008_Sponsors" rel="nofollow" href="http://www.owasp.org/index.php/OWASP_EU_Summit_2008_Sponsors" target="_blank">http://www.owasp.org/index.php/OWASP_EU_Summit_2008_Sponsors</a>).</p>
<p style="margin: 0.4em 0px 0.5em; line-height: 1.5em;">The OWASP Summit will also host a large and diverse selection of training courses, covering multiple OWASP specific and Web Application Security Topics.</p>
<p style="margin: 0.4em 0px 0.5em; line-height: 1.5em;">The remarkable impact of OWASP is made possible only by the collaboration of many dedicated people and organizations worldwide. In that spirit of cooperation, OWASP invites all its members (who have 20% discount + 1 VIP Ticket) and interested individuals and companies to attend this thrilling event. Please join us and help to set the Web Application Security Agenda for 2009!</p>
<p style="margin: 0.4em 0px 0.5em; line-height: 1.5em;">Please see below for additional details about the OWASP Summit or visit the OWASP Summit website: <a style="text-decoration: none; color: #3366bb;" title="http://www.owasp.org/index.php/OWASP_EU_Summit_2008" rel="nofollow" href="http://www.owasp.org/index.php/OWASP_EU_Summit_2008" target="_blank">http://www.owasp.org/index.php/OWASP_EU_Summit_2008</a>.</p>
<p style="margin: 0.4em 0px 0.5em; line-height: 1.5em;"><strong>Projects</strong></p>
<p style="margin: 0.4em 0px 0.5em; line-height: 1.5em;">OWASP projects selected for Summit presentation include new documentation and innovative tools to help developers, architects, and security specialists ensure that applications are secure:</p>
<ul style="margin: 0.3em 0px 0px 1.5em; padding: 0px; line-height: 1.5em; list-style-type: square;">
<li style="margin-bottom: 0.1em;">Application Security Verification Standard,</li>
<li style="margin-bottom: 0.1em;">Code review guide, V1.1,</li>
<li style="margin-bottom: 0.1em;">Ruby on Rails Security Guide v2,</li>
<li style="margin-bottom: 0.1em;"> Securing WebGoat using ModSecurity,</li>
<li style="margin-bottom: 0.1em;">Testing Guide v3,</li>
<li style="margin-bottom: 0.1em;">GTK+ GUI for w3af project,</li>
<li style="margin-bottom: 0.1em;">Access Control Rules Tester,</li>
<li style="margin-bottom: 0.1em;">AntiSamy .NET,</li>
<li style="margin-bottom: 0.1em;">Live CD &amp; DVD Project,</li>
<li style="margin-bottom: 0.1em;">OpenPGP Extensions for HTTP,</li>
<li style="margin-bottom: 0.1em;"> Orizon Project,</li>
<li style="margin-bottom: 0.1em;">Python Static Analysis,</li>
<li style="margin-bottom: 0.1em;">WebScarab-NG,</li>
<li style="margin-bottom: 0.1em;">And many, many others.</li>
</ul>
<p style="margin: 0.4em 0px 0.5em; line-height: 1.5em;"><strong>Working Sessions</strong></p>
<p style="margin: 0.4em 0px 0.5em; line-height: 1.5em;">Expecting the presence of the application security industry key players, the Working Sessions will cover a wide range of issues such as:</p>
<ul style="margin: 0.3em 0px 0px 1.5em; padding: 0px; line-height: 1.5em; list-style-type: square;">
<li style="margin-bottom: 0.1em;">OWASP Top 10 2009,</li>
<li style="margin-bottom: 0.1em;">Browser Security,</li>
<li style="margin-bottom: 0.1em;">Web Application Framework Security,</li>
<li style="margin-bottom: 0.1em;"> Enterprise Security API Project,</li>
<li style="margin-bottom: 0.1em;">Best Practices for OWASP Chapter Leaders,</li>
<li style="margin-bottom: 0.1em;">OWASP Documentation Projects,</li>
<li style="margin-bottom: 0.1em;"> OWASP Tools Projects,</li>
<li style="margin-bottom: 0.1em;">OWASP Education Project,</li>
<li style="margin-bottom: 0.1em;">OWASP Strategic Planning for 2009,</li>
<li style="margin-bottom: 0.1em;">OWASP Certification,</li>
<li style="margin-bottom: 0.1em;">OWASP Winter of Code 2009</li>
<li style="margin-bottom: 0.1em;">Two-way Internationalization of OWASP Content</li>
<li style="margin-bottom: 0.1em;">And many more.</li>
</ul>
<p style="margin: 0.4em 0px 0.5em; line-height: 1.5em;"><strong>Training</strong></p>
<p style="margin: 0.4em 0px 0.5em; line-height: 1.5em;">These 2-day, 1-day or 1/2-day training courses cover a wide range of OWASP specific and Web Application Security Topics:</p>
<ul style="margin: 0.3em 0px 0px 1.5em; padding: 0px; line-height: 1.5em; list-style-type: square;">
<li style="margin-bottom: 0.1em;">OWASP Top 10 - What Developers Should Know on Web Application Security</li>
<li style="margin-bottom: 0.1em;">Uncovering WebScarab&#8217;s Secret Treasures</li>
<li style="margin-bottom: 0.1em;"> Securing WebGoat with ModSecurity</li>
<li style="margin-bottom: 0.1em;">Secure Programming with Java</li>
<li style="margin-bottom: 0.1em;">Advanced Web Application Security Testing</li>
<li style="margin-bottom: 0.1em;"> Building Secure Web 2.0 Applications</li>
<li style="margin-bottom: 0.1em;">Building Secure Web Services</li>
<li style="margin-bottom: 0.1em;">Building Secure Web Applications with OWASP&#8217;s Enterprise Security API (ESAPI)</li>
<li style="margin-bottom: 0.1em;">Classic ASP Security using OWASP tools</li>
<li style="margin-bottom: 0.1em;">Web Application Assessments</li>
<li style="margin-bottom: 0.1em;">Hacking Owasp Orizon Project v1.0</li>
<li style="margin-bottom: 0.1em;"> Ajax Security</li>
<li style="margin-bottom: 0.1em;">Practical Penetration Testing: Think Like an Attacker to Stop Attacks</li>
<li style="margin-bottom: 0.1em;">Linux Software Exploitation</li>
<li style="margin-bottom: 0.1em;"> Web server/services hardening using SELinux</li>
</ul>
<p style="margin: 0.4em 0px 0.5em; line-height: 1.5em;">
Main Contact:</p>
<p style="margin: 0.4em 0px 0.5em; line-height: 1.5em;">Kate Hartmann<br />
OWASP Operations Director<br />
9175 Guilford Road, Suite 300<br />
Columbia, MD 21046, USA<br />
Phone: +1-301-575-0189<br />
Facsimile: +1-301-604-8033<br />
Email: <a href="mailto:kate.hartmann@owasp.org" target="_blank">kate.hartmann@owasp.org</a></p>
]]></content:encoded>
      <pubDate>Wed, 15 Oct 2008 14:27:22 +0000</pubDate>
      <category domain="http://securityratty.com/tag/summit">summit</category>
      <category domain="http://securityratty.com/tag/documentation">documentation</category>
      <category domain="http://securityratty.com/tag/owasp documentation projects">owasp documentation projects</category>
      <category domain="http://securityratty.com/tag/projects">projects</category>
      <category domain="http://securityratty.com/tag/owasp">owasp</category>
      <category domain="http://securityratty.com/tag/owasp tools projects">owasp tools projects</category>
      <category domain="http://securityratty.com/tag/owasp tools">owasp tools</category>
      <category domain="http://securityratty.com/tag/owasp summit website">owasp summit website</category>
      <category domain="http://securityratty.com/tag/owasp projects">owasp projects</category>
      <source url="http://www.thecepblog.com/2008/10/15/owasp-european-summit-portugal/">OWASP European Summit - Portugal</source>
    </item>
    <item>
      <title><![CDATA[Interop NY: Cloud Language: The Taxonomy of On-Demand Computing]]></title>
      <link>http://securityratty.com/article/69fa97ea284dec188b278c522ed18fd8</link>
      <guid>http://securityratty.com/article/69fa97ea284dec188b278c522ed18fd8</guid>
      <description><![CDATA[This session on cloud computing was presented by Peter Laird of Oracle Corporation. Peter is a lead architect for the WebCenter product family. He previously worked with BEA as an architect for SaaS...]]></description>
      <content:encoded><![CDATA[<p>This <a href="http://www.interop.com/newyork/conference/all-by-day.php?tag=Cloud+Computing" target="_blank">session on cloud computing</a> was presented by Peter Laird of Oracle Corporation. Peter is a lead architect for the WebCenter product family. He previously worked with BEA as an architect for SaaS efforts. He also blogs at <a href="http://peterlaird.blogspot.com/" target="_blank">Laird On Demand</a>.</p>
<p><strong>Defining Cloud Computing</strong></p>
<p>Cloud computing is a very active community. The <a href="http://groups.google.com/group/cloud-computing" target="_blank">Google Group</a> gets 600 posts per month and many bloggers are covering the space. However, &#8220;cloud computing&#8221; is impossible to define in a way that satisfies everyone (or even most). Cloud computing is not alone in this controversy, consider the definition and meaning of &#8220;Web 2.0&#8243;, &#8220;mashups&#8221; or &#8220;RESTful architecture&#8221;. All of these terms are relatively recent. According to Google Trends, these terms became popular to the general public sometime between 2005 and 2007:</p>
<ul>
<li>Web 2.0 - often confused with RIA, AKA Social Computing, Long-Tail Apps, Crowdware (2005 by O&#8217;Reilly Media)</li>
<li>Mashup - made popular by Google Maps, AKA Composite/Situational Apps. (2005)</li>
<li>REST - Has a strict definition, but many don&#8217;t understand it and abuse the term. (2006 by R. Fielding)</li>
<li>Cloud computing - collides with many other terms, such as SaaS, Grid, Utility, PaaS, etc. (2007)</li>
</ul>
<p>The definition of cloud computing is in progress:</p>
<blockquote><p>There&#8217;s a Darwinian evolution of the exact definition of cloud computing running around. We&#8217;re about a country mile away from &#8220;knowing when I see it&#8221;, which is excellent progress. The cloud to everyone&#8217;s silver-lining has enough material to write a 3 volume desktop reference at this point. - Michael Cote, June 2008</p></blockquote>
<p><strong>Definition #1</strong> - &#8220;Cloud computing is the realisation of Internet (&#8221;Cloud&#8221;) based development and use of computer technology (&#8221;Computing&#8221;) delivered by an ecosystem of providers. - Sam Johnston, July 2008</p>
<p><strong>Definition #2</strong> - &#8220;Cloud computing = network computing. I love the idea of cloud computing, the next evolution of the most network intensive architecture possible, but one that if it works well, is transparent. It&#8217;s all about the transparency.&#8221; - Douglas Gourlay, Cisco, May 2008</p>
<p><strong>Definition #3</strong> - &#8220;There seems to be a group myopia around so-called &#8220;cloud computing&#8221; and its definitions. What we&#8217;re really talking about are &#8220;cloud services&#8221; of which, &#8220;computing&#8221; is only a subset&#8230;Cloud services are not SaaS. They are far more akin to web services&#8230;&#8221; - Randy Bias, neoTactics, May 2008</p>
<p><strong>(Anti-)Definition #4</strong> - &#8220;Note that I refer to cloud services, not to the could. I am not interested in defining cloud as a term, because I don&#8217;t think it&#8217;s very useful. For those of us in the distributed computing&#8217;s pace</p>
<p><strong>The Working Definition (Winner!):</strong></p>
<p>&#8220;&#8230;the notion of providing easily accessible compute and storage resources on a pay-as-you-go, on-demand basis, from a virtually infinite infrastructure managed by someone else. As a customer, you don&#8217;t know where the resources are, and for the most part, you don&#8217;t care. What&#8217;s really important is the capability to access your application anywhere, move it freely and easily, and inexpensively add resources for instant scalability.&#8221; - Mitchell Crandell, Rightscale, June 2008</p>
<p><strong>Taxonomies of the Cloud Space</strong></p>
<p>Taxonomies are useful to provide insight into a market. It classifies a multitude of players into a smaller bucket.</p>
<p><em>Andreessen&#8217;s Platforms - September 2007</em></p>
<p>Provided an early taxonomy model for emerging cloud platforms</p>
<p>Platform being a system that can be programmed</p>
<ul>
<li>Access API - platform that provides web service endpoints</li>
<li>Plug-In API - platform invokes your code, that you have deployed remotely</li>
<li>Runtime Environment - your code runs inside the platform&#8217;s process space.</li>
</ul>
<p><em>Mehta 11 Layer Stack, April 2008</em></p>
<ol>
<li>Facilities (space, power, cooling)</li>
<li>Network</li>
<li>Hardware (e.g. servers Amazon EC2 runs)</li>
<li>Hardware virtualization (e.g. Xen for EC2) - optional</li>
<li>O/S (e.g. Linux)</li>
<li>Systems Management (e.g., tools to manage EC2 instances)</li>
<li>Application Middleware (e.g., MySQL on EC2)</li>
<li>Application Code</li>
<li>Application APIs / Web Services</li>
<li>GUI for Application</li>
<li>GUI for Application Development / Customization</li>
</ol>
<p><em>Croll Cloud Stack, June 2008</em></p>
<p>7 layer stack within Turnkey app and Generic Platform.</p>
<p><em>Turnkey app</em></p>
<ul>
<li>SaaS</li>
<li>Extensible app</li>
<li>Generic IDE</li>
<li>Constrained APIs</li>
<li>App Cluster</li>
<li>Virtual Data Center</li>
<li>Virtual Servers</li>
</ul>
<p><em>Generic Platform</em></p>
<p>The bottom of Alistair&#8217;s stack includes &#8220;root access &#8220;style compute clouds.</p>
<p><em>Robert Anderson, July 2008</em></p>
<p>3 layer stack</p>
<ul>
<li>Software (SaaS)</li>
<li>Platform (PaaS)</li>
<li>Infrastructure (IaaS)</li>
</ul>
<p>This is the model taxonomy for this session.</p>
<p><strong>Related Concepts and Terms</strong></p>
<ul>
<li>Infrastructure as a Service (IaaS), Hardware as a Service (HaaS) are synonyms to cloud infrastructure.</li>
<li>Virtualization</li>
<li>Hosting</li>
<li>Autonomic computing</li>
<li>Distributed computing</li>
<li>Grid computing</li>
</ul>
<p>Cloud Applications</p>
<ul>
<li>SaaS</li>
<li>S+S (Software+Services)</li>
<li>Managed Service Provider (MSP)</li>
</ul>
]]></content:encoded>
      <pubDate>Wed, 17 Sep 2008 14:25:32 +0000</pubDate>
      <category domain="http://securityratty.com/tag/cloud">cloud</category>
      <category domain="http://securityratty.com/tag/cloud applications">cloud applications</category>
      <category domain="http://securityratty.com/tag/croll cloud stack">croll cloud stack</category>
      <category domain="http://securityratty.com/tag/cloud infrastructure">cloud infrastructure</category>
      <category domain="http://securityratty.com/tag/platforms process space">platforms process space</category>
      <category domain="http://securityratty.com/tag/space">space</category>
      <category domain="http://securityratty.com/tag/cloud space">cloud space</category>
      <category domain="http://securityratty.com/tag/cloud platforms">cloud platforms</category>
      <category domain="http://securityratty.com/tag/cloud services">cloud services</category>
      <source url="http://blog.sciencelogic.com/interop-ny-cloud-language-the-taxonomy-of-on-demand-computing/09/2008">Interop NY: Cloud Language: The Taxonomy of On-Demand Computing</source>
    </item>
    <item>
      <title><![CDATA[Wee-Fi: Routing Out an Address; Badger-Fi]]></title>
      <link>http://securityratty.com/article/47e82ddcf180a1e8e117a5087166b7f3</link>
      <guid>http://securityratty.com/article/47e82ddcf180a1e8e117a5087166b7f3</guid>
      <description><![CDATA[Slashdot breathlessly posts an item by coderrr that Skyhook Wireless is exposing people's addresses: Yeah, whatever. Skyhook has accidentally offered an API that lets you query their Wi-Fi positioning...]]></description>
      <content:encoded><![CDATA[<p><img src="http://wifinetnews.com/images/weefi.jpg" align="right" border="0" hspace="5" /><a href="http://hardware.slashdot.org/article.pl?sid=08/09/12/1255218"><strong>Slashdot breathlessly posts an item by coderrr that Skyhook Wireless is exposing people's addresses:</strong></a> Yeah, whatever. Skyhook has accidentally offered an API that lets you query their Wi-Fi positioning system for latitude and longitude using a MAC address. Skyhook constantly drives major cities around the world and integrates scans created by users of their systems as well. The poster defines a non-existent problem: first, a scammer needs to get someone's MAC address; then you need to pair a rough lat/long with their street address; then, coderrr says, you'd get a phishing email with your home address. Whatever. If my machine is compromised enough that you can obtain my MAC address and then launch a phishing attack, I have worse problems already than my street address being in the email--which is unlikely given that most Wi-Fi scans will be in urban areas. It's likely Skyhook will modify their systems to prevent submission of such queries, or perhaps open their API further.</p>

<p><a href="http://badgerherald.com/news/2008/09/12/atlanta_firm_buys_ci.php"><strong>Madison Wi-Fi network sold to Atlanta firm:</strong></a> Xiocom purchases Mad City Broadband, a firm that has suffered significant criticism over the performance of its Wi-Fi network in Madison, Wisc. The press release from Xiocom (some quoted in the Badger Herald article) are a bit over the top about a network that reportedly has few users, inconsistent performance, and covers only a fraction of the city.</p>]]></content:encoded>
      <pubDate>Fri, 12 Sep 2008 07:34:26 +0000</pubDate>
      <category domain="http://securityratty.com/tag/wi-fi network">wi-fi network</category>
      <category domain="http://securityratty.com/tag/madison wi-fi network">madison wi-fi network</category>
      <category domain="http://securityratty.com/tag/madison">madison</category>
      <category domain="http://securityratty.com/tag/wi-fi">wi-fi</category>
      <category domain="http://securityratty.com/tag/network">network</category>
      <category domain="http://securityratty.com/tag/mac address">mac address</category>
      <category domain="http://securityratty.com/tag/skyhook">skyhook</category>
      <category domain="http://securityratty.com/tag/skyhook wireless">skyhook wireless</category>
      <category domain="http://securityratty.com/tag/skyhook constantly">skyhook constantly</category>
      <source url="http://wifinetnews.com/archives/008437.html">Wee-Fi: Routing Out an Address; Badger-Fi</source>
    </item>
    <item>
      <title><![CDATA[It Was Sposed to Be So Eaaasy]]></title>
      <link>http://securityratty.com/article/5714e6ea5723d4a1d18b692711ca3452</link>
      <guid>http://securityratty.com/article/5714e6ea5723d4a1d18b692711ca3452</guid>
      <description><![CDATA[Earlier this year, I gave a talk with on Breaking Web Services with Brian Chess at RSA. We pointed out that adding security into Web services is an exercise left to the implementer, the standards...]]></description>
      <content:encoded><![CDATA[<p>Earlier this year, I gave a <a href="http://1raindrop.typepad.com/1_raindrop/2008/04/rsa-debrief-p-1.html">talk</a> with on Breaking Web Services with Brian Chess at RSA. We pointed out that adding security into Web services is an exercise left to the implementer, the standards bodies and vendors give you some primitives, but it is still up to you to figure out all of the items on the <a href="http://arctecgroup.net/pdf/WebServicesSecurityChecklist.pdf">Web services security checklist</a>&#160;should work together in a cohesive system. Needless to say, there are many ways to shoot yourself in the foot.</p><br /><div>So during our talk, someone from Oracle stands up and says, &quot;hey, you guys are making this stuff sound hard. Its not hard we support WS-Security...&quot; etc. Again, the whole point of our presentation was *not* that there are not very interesting general purpose security capabilities in Web services, our point was that you need to figure out the architecture yourself, and then bend the tools to your will. Oh, and deliver on time.</div><br /><div>So imagine my surprise, when I read this article <a href="http://www.ddj.com/database/209400693">&quot;Digitally Signing and Verifying Messages in Web Services&quot;&#160;</a>which talks about using Oracle&#39;s WSM tools to sign Web service messages and verify signatures in Web service messages, but only addresses integrity - absolutely nowt on authenticity! Integrity is important, but there are lots of times when it is not enough. Many times your service needs to be concerned with replay attacks, authentication policies and so on. To deal with those things, we would typically add policies and capabilities for timestamps, nonces and other primitives into the signature block, but the article is silent on those things. (Rad Mark O&#39;Neill&#39;s <a href="http://xmlnetworking.blogspot.com/2008/08/digitally-signing-and-verifying.html">post</a> on this as well)</div><br /><div>Its not about _can_ the standards do something or other, I mean given the right resources the standards can put a monkey on the moon, its about what use cases have they engineered in and what is supported in the tools today. I firmly believe SAML has such great adoption across the industry because they have a use case centric view and so gave the vendors something to engineer and optimize for. I think we&#39;ll still get there in WS-Security and other areas as well, but the use cases are not built into the spec (as with SAML) and so its taking longer.</div><br /><div>One of our points in the talk was - we want you vendors to do your job better and instead of shipping a box Legos, ship a Lego gas station, a Lego airport, and so on. Connect some dots for your customers.&#160;</div><br /><div>What I see in <a href="http://arctecgroup.net/training.htm">training</a> on this topic, is sort of the following - 1) Do I need Web service security? 2) Oh ok, well can I get by with SSL? 3) Oh wait that doesn&#39;t actually protect my assets, can I just use WS-Security? 4) Oh wait, WS-Security isn&#39;t just a checkbox for security, I need to figure out timestamps, nonces, signatures, encryption policies and so on.&#160;And finally 5) How do I accomplish this?</div><br /><div>Once we get to step 5 then the real work can begin. Its not easy to get a lot of developers through all of this, and again this is before the real work begins. Even once the lead developers and architects figure this out, there is still the little matter of transitioning it to the rest of the team.</div><br /><div>I remember I was working with an enterprise architect several years ago, and he bought a Web service XML gateway like <a href="http://www.vordel.com/">Vordel</a> to add WS-Security support into his Web services apps, but he didn&#39;t even buy it as a runtime tool, he bought it as Security API, the runtime enforcement in his opinion was a bonus! He said in effect, well I know I need to do this, but I can&#39;t expose all these security primitives directly to my developers.</div><br /><div>So yeah, I wish it was easier, but in my experience its not right now. Its not about raw capabilities its about use case realization. I think learning from what has worked well is the way to go. SAML&#39;s use case centric approach is one that has.</div><br />]]></content:encoded>
      <pubDate>Wed, 10 Sep 2008 03:12:42 +0000</pubDate>
      <category domain="http://securityratty.com/tag/ws-security">ws-security</category>
      <category domain="http://securityratty.com/tag/support ws-security">support ws-security</category>
      <category domain="http://securityratty.com/tag/web service security">web service security</category>
      <category domain="http://securityratty.com/tag/service">service</category>
      <category domain="http://securityratty.com/tag/security">security</category>
      <category domain="http://securityratty.com/tag/primitives">primitives</category>
      <category domain="http://securityratty.com/tag/security primitives directly">security primitives directly</category>
      <category domain="http://securityratty.com/tag/ws-security support">ws-security support</category>
      <category domain="http://securityratty.com/tag/security api">security api</category>
      <source url="http://1raindrop.typepad.com/1_raindrop/2008/09/it-was-sposed-to-be-so-eaaasy.html">It Was Sposed to Be So Eaaasy</source>
    </item>
    <item>
      <title><![CDATA[Exposing Indias CAPTCHA Solving Economy]]></title>
      <link>http://securityratty.com/article/ad0c8efa28ec8caf66f9be4e96ae79f0</link>
      <guid>http://securityratty.com/article/ad0c8efa28ec8caf66f9be4e96ae79f0</guid>
      <description><![CDATA[Are you a Human?&quot; - once asked the CAPTCHA, and the question got answered by, well, a human, thousands of them to be precise. Speculations around one of the main weaknesses of CAPTCHA based...]]></description>
      <content:encoded><![CDATA[<div style="text-align: left;"></div><div class="separator" style="clear: both; text-align: center;"></div><a href="http://4.bp.blogspot.com/_wICHhTiQmrA/SLhSbUhErdI/AAAAAAAACI0/6poURrjAkGI/s1600-h/india_captcha_breakers9.JPG" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" src="http://4.bp.blogspot.com/_wICHhTiQmrA/SLhSbUhErdI/AAAAAAAACI0/HZ5BF3hc6nY/s200-R/india_captcha_breakers9.JPG" /></a>"Are you a Human?" - once asked the CAPTCHA, and the question got answered by, well, a human, thousands of them to be precise. Speculations around one of the main weaknesses of CAPTCHA based authentication in the face of human CAPTCHA solvers, seems to have evolved into a booming economy in India during the past 12 months, with thousands of people involved.<br />
<br />
The following article - "<a href="http://blogs.zdnet.com/security/?p=1835">Inside India’s CAPTCHA solving economy</a>" aims to expose legitimate data entry workers, whose business models and techniques are in fact used by Russian cybercriminals not only for personal phishing, spamming and malware spreading purposes, but also, to resell the bogus accounts and earn a premium in the process :<br />
<br />
"<i>No CAPTCHA can survive a human that’s receiving financial incentives for solving it, and with an army of low-wagedIndia CAPTCHA breakers human CAPTCHA solvers officially in the business of “data processing” while earning a mere $2 for solving a thousand CAPTCHA’s, I’m already starting to see evidence of consolidation between India’s major CAPTCHA solving companies. The consolidation logically leading to increased bargaining power, is resulting in an international franchising model recruiting data processing workers empowered with do-it-yourself CAPTCHA syndication web based kits, API keys, and thousands of proxies to make their work easier, and the process more efficient.</i>"<br />
<br />
Cybercrime is just as outsourceable as CAPTCHA breaking is these days.<br />
<br />
<b>Related posts:</b><br />
<a href="http://ddanchev.blogspot.com/2008/07/unbreakable-captcha.html">The Unbreakable CAPTCHA</a><br />
<a href="http://blogs.zdnet.com/security/?p=1514">Spam coming from free email providers increasing </a><br />
<a href="http://blogs.zdnet.com/security/?p=1418">Gmail, Yahoo and Hotmail’s CAPTCHA broken by spammers</a><br />
<a href="http://blogs.zdnet.com/security/?p=1232">Microsoft’s CAPTCHA successfully broken</a><br />
<a href="http://ddanchev.blogspot.com/2007/03/vladuzs-ebay-captcha-populator.html">Vladuz's Ebay CAPTCHA Populator</a><br />
<a href="http://ddanchev.blogspot.com/2007/09/spammers-and-phishers-breaking-captchas.html">Spammers and Phishers Breaking CAPTCHAs</a><br />
<a href="http://ddanchev.blogspot.com/2007/10/diy-captcha-breaking-service.html">DIY CAPTCHA Breaking Service</a><br />
<a href="http://ddanchev.blogspot.com/2007/11/which-captcha-do-you-want-to-decode.html">Which CAPTCHA Do You Want to Decode Today?</a><div class="feedflare">
<a href="http://feeds.feedburner.com/~f/DanchoDanchevOnSecurityAndNewMedia?a=HJ3QtK"><img src="http://feeds.feedburner.com/~f/DanchoDanchevOnSecurityAndNewMedia?i=HJ3QtK" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/DanchoDanchevOnSecurityAndNewMedia?a=m6hgDK"><img src="http://feeds.feedburner.com/~f/DanchoDanchevOnSecurityAndNewMedia?i=m6hgDK" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/DanchoDanchevOnSecurityAndNewMedia?a=0TXeOk"><img src="http://feeds.feedburner.com/~f/DanchoDanchevOnSecurityAndNewMedia?i=0TXeOk" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/DanchoDanchevOnSecurityAndNewMedia?a=4jwe6k"><img src="http://feeds.feedburner.com/~f/DanchoDanchevOnSecurityAndNewMedia?i=4jwe6k" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/DanchoDanchevOnSecurityAndNewMedia?a=9clPFK"><img src="http://feeds.feedburner.com/~f/DanchoDanchevOnSecurityAndNewMedia?i=9clPFK" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/DanchoDanchevOnSecurityAndNewMedia?a=JCXayK"><img src="http://feeds.feedburner.com/~f/DanchoDanchevOnSecurityAndNewMedia?i=JCXayK" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/DanchoDanchevOnSecurityAndNewMedia?a=5ic3Pk"><img src="http://feeds.feedburner.com/~f/DanchoDanchevOnSecurityAndNewMedia?i=5ic3Pk" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/DanchoDanchevOnSecurityAndNewMedia/~4/378395296" height="1" width="1"/>]]></content:encoded>
      <pubDate>Fri, 29 Aug 2008 13:03:37 +0000</pubDate>
      <category domain="http://securityratty.com/tag/captcha">captcha</category>
      <category domain="http://securityratty.com/tag/microsofts captcha">microsofts captcha</category>
      <category domain="http://securityratty.com/tag/indias major captcha">indias major captcha</category>
      <category domain="http://securityratty.com/tag/hotmails captcha">hotmails captcha</category>
      <category domain="http://securityratty.com/tag/unbreakable captcha">unbreakable captcha</category>
      <category domain="http://securityratty.com/tag/human captcha solvers">human captcha solvers</category>
      <category domain="http://securityratty.com/tag/human">human</category>
      <category domain="http://securityratty.com/tag/inside indias captcha">inside indias captcha</category>
      <category domain="http://securityratty.com/tag/captcha based authentication">captcha based authentication</category>
      <source url="http://feeds.feedburner.com/~r/DanchoDanchevOnSecurityAndNewMedia/~3/378395296/exposing-indias-captcha-solving-economy.html">Exposing Indias CAPTCHA Solving Economy</source>
    </item>
    <item>
      <title><![CDATA[Kernel space: Virus scanning API spawns security debate]]></title>
      <link>http://securityratty.com/article/6f6c82bd9fdd476fd0679ee2964e42af</link>
      <guid>http://securityratty.com/article/6f6c82bd9fdd476fd0679ee2964e42af</guid>
      <description><![CDATA[Should Linux include a virus scanning layer? Kernel developers debate the best way to protect virus-vulnerable OSs from malware stored on a Linux...]]></description>
      <content:encoded><![CDATA[
Should Linux include a virus scanning layer?
Kernel developers debate the best way to protect
virus-vulnerable OSs from malware stored on a Linux
server.]]></content:encoded>
      <pubDate>Mon, 11 Aug 2008 20:00:00 +0000</pubDate>
      <category domain="http://securityratty.com/tag/kernel developers">kernel developers</category>
      <category domain="http://securityratty.com/tag/virus">virus</category>
      <category domain="http://securityratty.com/tag/linux include">linux include</category>
      <category domain="http://securityratty.com/tag/linux server">linux server</category>
      <category domain="http://securityratty.com/tag/layer">layer</category>
      <category domain="http://securityratty.com/tag/malware">malware</category>
      <category domain="http://securityratty.com/tag/protect">protect</category>
      <category domain="http://securityratty.com/tag/oss">oss</category>
      <source url="http://www.networkworld.com/news/2008/081208-kernel.html?fsrc=rss-security">Kernel space: Virus scanning API spawns security debate</source>
    </item>
    <item>
      <title><![CDATA[SANS Webcast: Security for Web Services and SOA ]]></title>
      <link>http://securityratty.com/article/7d633c7f6436def5b58166479fa3a99c</link>
      <guid>http://securityratty.com/article/7d633c7f6436def5b58166479fa3a99c</guid>
      <description><![CDATA[Last week I did a SANS webcast with Jacob West from Fortify on Web Services and SOA Security issues. I also did another SANS Webcast on Web services security way back in 2005. I went back and looked...]]></description>
      <content:encoded><![CDATA[<p>Last week I did a <a href="https://www.sans.org/webcasts/show.php?webcastid=91958">SANS webcast</a> with Jacob West from Fortify on Web Services and SOA Security issues. I also did another SANS Webcast on Web services security way back in 2005. I went back and looked at the 2005 slides and its really scary how the issues are still there. Again we see developers making hellacious progress and security treading water (in a moving stream). From 2005:</p><div><blockquote>
	<div>Many (most?) classic Information Security mechanisms are not as relevant in securing Web Services:</div><br><div><ul>
	<li>Firewalls:SSL</li>
	<li><span>SSL </span> </li>
	<li>Session based access control</li>
	<li>Policies &amp; mechanism domains are blurred by integration and decoupling</li>
	<li>Lack of end to end visibility </li>
	</ul>
	</div>
</blockquote></div><p>

I realize that security is a system level issue and it takes a long time to change things at that level, but what's more concerning to me is that the typical infosec mindset remains the same. Should we be surprised by rampant phishing and fraud? I am frankly surprised the numbers are so low given the opportunities that the attackers have via the glacial pace of security improvements. Its been three years since that list and I could write the same exact one today for SOAP, REST, SOA, Web 2.0 whatever.

Maybe the main reason, beyond failure of imagination, why infosec is so far behind developers is that infosec lacks tools. Developers automate everything possible. Security doesn't. The most promising thing about static analysis is not the ability to find everything, its the ability to find many important things in an automated way. Infosec needs to stop giving people fish and teaching people to fish.

Look at Fortify's vulncat site which has a <a href="http://www.fortify.com/vulncat/en/vulncat/index.html">Taxonomy of Coding Errors</a>. Fortify's Seven (plus one) pernicious kingdoms are:</p><div><ul>
<li>Input Validation and Representation
</li>
<li>API Abuse
</li>
<li>Security Features
</li>
<li>Time and State
</li>
<li>Errors
</li>
<li>Code Quality
</li>
<li>Encapsulation
</li>
<li>*. Environment

</li>
</ul>

These vulns are then integrated to find security bugs in a variety of frameworks - Axis, Axis2, Websphere and .Net. The tools give security people a richer understanding about the actual state of security in their web services, the ability to communicate and debate design improvement tradeoffs with developers, and cogent advice on how to address the issues. </div><br><div>It would be fantastic if the list of security issues in 2011 is different from the one 2005 that we are still stuck with.</div>]]></content:encoded>
      <pubDate>Mon, 04 Aug 2008 07:29:54 +0000</pubDate>
      <category domain="http://securityratty.com/tag/web services">web services</category>
      <category domain="http://securityratty.com/tag/web">web</category>
      <category domain="http://securityratty.com/tag/security issues">security issues</category>
      <category domain="http://securityratty.com/tag/issues">issues</category>
      <category domain="http://securityratty.com/tag/security">security</category>
      <category domain="http://securityratty.com/tag/web services security">web services security</category>
      <category domain="http://securityratty.com/tag/soa security issues">soa security issues</category>
      <category domain="http://securityratty.com/tag/soa">soa</category>
      <category domain="http://securityratty.com/tag/security improvements">security improvements</category>
      <source url="http://1raindrop.typepad.com/1_raindrop/2008/08/sans-webcast-security-for-web-services-and-soa.html">SANS Webcast: Security for Web Services and SOA </source>
    </item>
    <item>
      <title><![CDATA[Improve Security with "A Layer of Hurt"]]></title>
      <link>http://securityratty.com/article/8863df5f439aabcb64e3fc7d0777f2bf</link>
      <guid>http://securityratty.com/article/8863df5f439aabcb64e3fc7d0777f2bf</guid>
      <description><![CDATA[Hello, Michael here
I got a lot of interesting comments from my TechEd 2008 presentation entitled, &quot;How To Review Your Code And Test For Security Bugs,&quot; but the most comments and questions were...]]></description>
      <content:encoded><![CDATA[Hello, Michael here. 
<P>I got a lot of interesting comments from my <A href="http://blogs.msdn.com/sdl/archive/2008/06/26/security-thoughts-from-teched-2008.aspx" mce_href="http://blogs.msdn.com/sdl/archive/2008/06/26/security-thoughts-from-teched-2008.aspx">TechEd 2008 presentation</A> entitled, "How To Review Your Code And Test For Security Bugs," but the most comments and questions were reserved for fuzz testing; I was blown away by the number of people who thought fuzz testing was hard, or that you only left fuzz testing to ‘leet hackers.</P>
<P>During the presentation I mentioned in some depth how to perform fuzz testing, and what parts of an application should be fuzz testing targets. I also introduced an idea (that's not new) to help people who have never performed fuzz testing begin fuzz testing with very little cost and friction. The idea is to add a small layer of code to an application to automatically mutate untrusted data as it comes into an application; I called that code layer "a layer of hurt."</P>
<P>Before I continue, I want to point out that fuzzing is an SDL requirement, but the idea in this blog post is not an SDL requirement, it's just another way to help meet SDL fuzzing requirements.</P>
<P>Adding a layer of hurt, as shown in the picture below, is pretty simple as it involves adding code to an application to tweak data as it comes into an application. You can work out where to place the fuzzing code by looking at your threat models to see where data crosses trust boundaries. You could also simply grep the code looking for APIs that read data, for example:</P>
<UL>
<LI>Read from files: fread, ReadFile</LI>
<LI>Reading from sockets: recv, recvfrom</LI>
<LI>For .NET code, any stream.Read</LI></UL>
<P>You get the picture.</P>
<P>The fuzzing code should appear right after the API that reads that data.</P>
<P mce_keep="true">For example, C or C++ code that reads from a UDP socket and then fuzzes the data before it's consumed by the rest of the application might look like this:</P><FONT size=1 face=Courier>
<P>char RecvBuf[1024];<BR>int&nbsp; BufLen = sizeof(RecvBuf);</P>
<P mce_keep="true">int result = recvfrom(<BR>&nbsp;&nbsp; RecvSocket, <BR>&nbsp;&nbsp; RecvBuf, <BR>&nbsp;&nbsp; BufLen, <BR>&nbsp;&nbsp; 0, <BR>&nbsp;&nbsp; (SOCKADDR *)&amp;SenderAddr, <BR>&nbsp;&nbsp; &amp;SenderAddrSize);</P></FONT><FONT size=1 face=Courier>
<P>#ifdef _FUZZ<BR>&nbsp;&nbsp; Fuzz(RecvBuf,&amp;BufLen);<BR>#endif</P></FONT>
<P>Or, in C#, code that reads from an untrusted file:</P><FONT size=1 face=Courier>
<P>FileStream fileStream = new FileStream(filename, FileMode.Open, FileAccess.Read);<BR>uint len = (uint)(fileStream.Length);<BR>byte[] fileData = new byte[fileStream.Length];<BR>fileStream.Read(fileData, 0, (int)len);<BR>fileStream.Close();</P></FONT><FONT size=1 face=Courier>
<P mce_keep="true">#if _FUZZ_<BR>&nbsp; Malform pain = new Malform();<BR>&nbsp; fileData = pain.Fuzz(fileData);<BR>#endif</P></FONT>
<P>In both code examples, Fuzz() mutates the incoming data. In the C++ case, the fuzzing code looks like this:</P><FONT size=1 face=Courier>
<P>void Fuzz(_Inout_bytecap_(*pcbBuf) char *pBuf, <BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; _Inout_ size_t *pcbBuf) {<BR><BR>&nbsp; if (!pcbBuf || !pBuf || !*pcbBuff || *pBuf) return;<BR>&nbsp; if ((rand() % 100) &gt; 5) return; // fuzz about 5% of Buffers</P>
<P>&nbsp; size_t cLoop = 1 + (rand() % 4);</P>
<P>&nbsp; for (size_t j = 0; j &lt; cLoop; j++) {</P>
<P>&nbsp;&nbsp;&nbsp; size_t i=0,&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; iLow = rand() % *pcbBuf,&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; iHigh = 1+rand() % *pcbBuf,<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; iIter = 1+rand() % 8;<BR><BR>&nbsp;&nbsp;&nbsp; if (iLow &gt; iHigh)&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {size_t t=iHigh; iHigh=iLow; iLow=t;}</P>
<P>&nbsp;&nbsp;&nbsp; char ch=0;<BR>&nbsp;&nbsp;&nbsp; switch(rand() % 9) {</P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; case 0 : // reset upper bits<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; for (i=iLow; i &lt; iHigh; i++)&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; pBuf[i] &amp;= 0x7F;&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; break;</P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;case 1 : // set upper bits<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; for (i=iLow; i &lt; iHigh; i++)&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; pBuf[i] |= 0x80;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; break;</P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; case 2 : // toggle all bits<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; for (i=iLow; i &lt; iHigh; i++)&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; pBuf[i] ^= 0xFF;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; break;</P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;case 3 : // set to random chars<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; for (i=iLow; i &lt; iHigh; i++)&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; pBuf[i] = (char)(rand() % 256);&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; break;</P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; case 4 : // set NULL chars to (possibly) non-NULL<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; for (i=iLow; i &lt; iHigh; i++)&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if (!pBuf[i])&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; pBuf[i] = (char)(rand() % 256);<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;break;</P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;case 5 : // swap adjacent bytes<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; for (i=iLow; i &lt; __max(iHigh-1,iLow); i+= iIter)&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {char t=pBuf[i]; pBuf[i] = pBuf[i+1]; pBuf[i+1]=t;}&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; break;<BR><BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; case 6 : // set to random chars every n-bytes<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; for (i=iLow; i &lt; __max(iHigh-1,iLow); i+= iIter)&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; pBuf[i] = (char)(rand()%256);<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; break;</P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; case 7 : // set bytes to one random char<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ch=(char)(rand() % 256);&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; for (i=iLow; i &lt; iHigh; i++)&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; pBuf[i] = ch;&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; break;</P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; default: // truncate stream<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; *pcbBuf = iHigh;&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; break;<BR>&nbsp;&nbsp;&nbsp;&nbsp; }<BR>&nbsp;&nbsp; }<BR>}&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </P></FONT>
<P>The sample C# and C++ fuzzing code is available as a ZIP file at the end of this post.</P>
<P>This code is an example of dumb-fuzzing, which is fuzzing with little or no regard for the data structure being manipulated. If you've never performed any kind of fuzz testing in the past, then you will probably find bugs with this simple fuzzing technique. Once you have weeded out the low-hanging bugs, you may need to turn your attention to smarter fuzzers. For example, in theory, this code would find few if any bugs in a PNG parser, because PNG files have a built in check-sum, so if you fuzz a PNG file, you'd have to recalculate the checksum to get decent code coverage.</P>
<P>When I showed this code during my presentation, I urged people to add it to their applications today if they currently don't do fuzz testing, and simply run their applications through their normal testing processes. Within three days of my presentation I received emails from people saying they had found bugs. I have no doubt others did too.</P>
<P>One of the comments I made during the session was,"If you can't spend the time on great fuzzing, fuzz anyway" and adding a "layer of hurt" is a reasonable start.</P>
<P>Please feel free to sound off if you have ideas to help improve the code and let us know what you think, either through email or comments to this post.</P><img src="http://blogs.msdn.com/aggbug.aspx?PostID=8794487" width="1" height="1">]]></content:encoded>
      <pubDate>Thu, 31 Jul 2008 15:13:00 +0000</pubDate>
      <category domain="http://securityratty.com/tag/layer">layer</category>
      <category domain="http://securityratty.com/tag/code layer">code layer</category>
      <category domain="http://securityratty.com/tag/code">code</category>
      <category domain="http://securityratty.com/tag/decent code coverage">decent code coverage</category>
      <category domain="http://securityratty.com/tag/fuzz">fuzz</category>
      <category domain="http://securityratty.com/tag/void fuzz">void fuzz</category>
      <category domain="http://securityratty.com/tag/ifdef fuzz">ifdef fuzz</category>
      <category domain="http://securityratty.com/tag/code examples">code examples</category>
      <category domain="http://securityratty.com/tag/perform fuzz">perform fuzz</category>
      <source url="http://blogs.msdn.com/sdl/archive/2008/07/31/improve-security-with-a-layer-of-hurt.aspx">Improve Security with "A Layer of Hurt"</source>
    </item>
    <item>
      <title><![CDATA[Collaboration in the Cloud, Virtual Worlds and the Hacker Mindset]]></title>
      <link>http://securityratty.com/article/451246868f8b52e293c9ac433dce53dd</link>
      <guid>http://securityratty.com/article/451246868f8b52e293c9ac433dce53dd</guid>
      <description><![CDATA[Collaboration in the Cloud
Forward thinking companies use collaboration technologies to melt away the physical distance between disparate offices, remote workers and suppliers. Investments in R&amp;D...]]></description>
      <content:encoded><![CDATA[<h4><img src="http://blogs.cisco.com/images/uploads/johnchamberspost.jpg" alt="" width="450" height="246" /></h4>
<h4>Collaboration in the Cloud</h4>
<p>Forward thinking companies use collaboration technologies to melt away the physical distance between disparate offices, remote workers and suppliers.  Investments in R&amp;D projects to create the next generation of business collaboration technologies and starting to bear early fruits and are worth paying attention to - especially if you get paid to &#8220;do security&#8221;.  One major focus area is Virtual Worlds.</p>
<h4>Teleporting Virgins</h4>
<p>The <a href="http://blog.secondlife.com/2008/07/08/ibm-linden-lab-interoperability-announcement/">big news</a> in the <a href="http://www.secondlife.com/">Second Life</a> research community is that avatars (&#8221;virtual people&#8221;) have successfully teleported between <em><strong>distinct </strong></em>virtual worlds.  The virgin teleporters went from a Second Life Preview Grid - an experimental grid completely disconnected from the Main Grid - to a virtual world running IBM OpenSIM.</p>
<p>At this stage there is intentionally no asset transfer going on at all - in other words, you can&#8217;t take your &#8220;stuff&#8221; from one world to another - but that will come in time as the <a href="http://secondlifegrid.net.s3.amazonaws.com/docs/specs/SLGOGP-draft-1.html">Open Grid Protocol</a> is extended.  Today just login and teleport are supported.  No stealing those trade secret &#8220;assets&#8221; yet ;-).</p>
<p>Linden Labs speaks to this issue:</p>
<blockquote><p>Q: How will Linden Lab prevent property from being copied into other virtual worlds?<br />
We’re paying extremely close attention to that question. We will be designing this with the Second Life community to ensure their needs are met. We want to stress that when it does become possible to move avatars between worlds, we will take the utmost care to protect the rights of Second Life property owners and creators. Linden Lab will not design a system that lets people openly violate the permissions of SL goods and take them to other worlds. We recognize that intellectual property is the engine that drives Second Life, and we are completely committed to preserving the qualities that make Second Life the unique, innovative and dynamic place that it is today.</p></blockquote>
<p>With my &#8220;hacker-vision&#8221; &#8482; enabled I see *all kinds* of opportunities for mischief here.  I&#8217;m betting we&#8217;ll see imaginative attacks as the usual cat and mouse game of vulnerability research and vendor response plays out.  &#8220;Sorry boss, someone hijacked my avatar and now I&#8217;m stuck on this desert island for who knows how long!&#8221;.</p>
<h4>Threat Profiling Second Life</h4>
<p>Getting back to reality, people are already exploring Virtual World security.  <a href="http://www.ernw.de/">Michael Thumann of ERNW</a> in Germany is a pen-tester and security researcher and in this 10 minute video, Michael shares the result of his security research on Second Life.</p>
<p>He covers:</p>
<ul>
<li> In-game cheating</li>
<li> Identity theft</li>
<li> Attacking 3rd party servers using Linden Scripting Language (think about the liability issues and the providers ability to track abusers)</li>
</ul>
<p><object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="425" height="344" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="allowFullScreen" value="true" /><param name="src" value="http://www.youtube.com/v/6MoptnBsNGc&amp;hl=en&amp;fs=1" /><embed type="application/x-shockwave-flash" width="425" height="344" src="http://www.youtube.com/v/6MoptnBsNGc&amp;hl=en&amp;fs=1" allowfullscreen="true"></embed></object></p>
<p>For those interested in more detail, the full presentation he gave at BlackHat Europe 2008 in Amsterdam is <a href="https://www.blackhat.com/presentations/bh-europe-08/Thumann/Whitepaper/bh-eu-08-thumann-WP.pdf">here </a>(pdf).</p>
<p>Of particular note, Michael applied a formal threat model approach to the research - <a href="http://msdn.microsoft.com/en-us/library/ms954176.aspx">STRIDE </a>from Microsoft.</p>
<p>In a future post I&#8217;ll talk more about threat profiling in the context of Cloud Computing vulnerability research and specific API security vulnerability classes we can expect to see exploited.</p>
<img src="http://feeds.feedburner.com/~r/CloudSecurity/~4/338174255" height="1" width="1"/>]]></content:encoded>
      <pubDate>Thu, 17 Jul 2008 11:51:24 +0000</pubDate>
      <category domain="http://securityratty.com/tag/virtual worlds">virtual worlds</category>
      <category domain="http://securityratty.com/tag/worlds">worlds</category>
      <category domain="http://securityratty.com/tag/research">research</category>
      <category domain="http://securityratty.com/tag/vulnerability research">vulnerability research</category>
      <category domain="http://securityratty.com/tag/security research">security research</category>
      <category domain="http://securityratty.com/tag/life">life</category>
      <category domain="http://securityratty.com/tag/life property owners">life property owners</category>
      <category domain="http://securityratty.com/tag/life research community">life research community</category>
      <category domain="http://securityratty.com/tag/collaboration">collaboration</category>
      <source url="http://feeds.feedburner.com/~r/CloudSecurity/~3/338174255/">Collaboration in the Cloud, Virtual Worlds and the Hacker Mindset</source>
    </item>
  </channel>
</rss>
