<?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: load]]></title>
    <link>http://securityratty.com/tag/load</link>
    <description></description>
    <pubDate>Tue, 22 Jul 2008 18:45:08 +0000</pubDate>
    <generator>iRatty Engine</generator>
    <docs>http://blogs.law.harvard.edu/tech/rss</docs>
    <item>
      <title><![CDATA[A Great Article on Open Source HTTP Load Testing]]></title>
      <link>http://securityratty.com/article/af9642bc72da5e13504896451ff23e4e</link>
      <guid>http://securityratty.com/article/af9642bc72da5e13504896451ff23e4e</guid>
      <description><![CDATA[Using free software for HTTP load testing T(c(r))rusty old Curl. Whatever happened to...]]></description>
      <content:encoded><![CDATA[Using free software for HTTP load testing
T(c(r))rusty old Curl. Whatever happened to Elza? 
       ]]></content:encoded>
      <pubDate>Sun, 24 Aug 2008 18:07:21 +0000</pubDate>
      <category domain="http://securityratty.com/tag/free software">free software</category>
      <category domain="http://securityratty.com/tag/load">load</category>
      <category domain="http://securityratty.com/tag/curl">curl</category>
      <category domain="http://securityratty.com/tag/rusty">rusty</category>
      <category domain="http://securityratty.com/tag/elza">elza</category>
      <source url="http://securitybuddha.com/2008/08/24/a-great-article-on-open-source-http-load-testing/">A Great Article on Open Source HTTP Load Testing</source>
    </item>
    <item>
      <title><![CDATA[Serializable XmlDocument]]></title>
      <link>http://securityratty.com/article/94c84cd2ea7a6ea71c9712991d27722d</link>
      <guid>http://securityratty.com/article/94c84cd2ea7a6ea71c9712991d27722d</guid>
      <description><![CDATA[It's surprising that XmlDocument isn't marked [Serializable], because it's very natural to serialize one into a stream. I wanted to put an object into ASP.NET ViewState the other day, and quickly ran...]]></description>
      <content:encoded><![CDATA[<p>It&#39;s surprising that XmlDocument isn&#39;t marked [Serializable], because it&#39;s very natural to serialize one into a stream. I wanted to put an object into ASP.NET ViewState the other day, and quickly ran into this roadblock, because part of the object included an XmlDocument, which is not serializable. A quick search revealed that most people deal with this problem by storing a string instead. Indeed, that was where I started, but I quickly realized that there are multiple places in my code where I want to do this sort of thing, and I don&#39;t want to have to mess with it in each data structure that contains an XmlDocument.</p>
<p>So I put together a simple class that holds an XmlDocument and implements ISerializable and called it SerializableXmlDocument. I&#39;m sharing the source code here in the hopes that</p>
<blockquote>
<p>a) somebody will find it useful, and</p>
<p>b) somebody smarter than I am will point out how I screwed it up and help me make it better.</p>
</blockquote>
<p>SerializableXmlDocument includes implicit conversion operators to make it easy to convert to/from an XmlDocument. It holds the actual document in a property called Value. This &quot;isomorph&quot; pattern is one that I picked up from <a href="http://www.pluralsight.com/community/blogs/craig/default.aspx" target="_blank">Craig</a>.</p>
<p>While writing this code, I also wrote a helpful extension method for getting a byte array out of a MemoryStream that is exactly the length of the data written to the stream so far (CopyUpToSeekPointer). So don&#39;t go looking in the docs for MemoryStream for this method :) This is obviously not the most efficient way to consume bytes written to a MemoryStream since it copies the data into a new byte array, but it&#39;s very convenient in many scenarios.</p>
<p>Here is SerializableXmlDocument.cs:</p>
<pre class="csharpcode"><span class="kwrd">using</span> System;<br /><span class="kwrd">using</span> System.Runtime.Serialization;<br /><span class="kwrd">using</span> System.Xml;<br /><span class="kwrd">using</span> System.IO;<br /><br /><span class="kwrd">namespace</span> Pluralsight.Samples<br />{<br />    [Serializable]<br />    <span class="kwrd">public</span> <span class="kwrd">class</span> SerializableXmlDocument : ISerializable<br />    {<br />        <span class="kwrd">public</span> SerializableXmlDocument() { }<br />        <span class="kwrd">public</span> SerializableXmlDocument(XmlDocument <span class="kwrd">value</span>)<br />        {<br />            <span class="kwrd">this</span>.Value = <span class="kwrd">value</span>;<br />        }<br /><br />        <span class="kwrd">public</span> XmlDocument Value { get; set; }<br /><br />        <span class="preproc">#region</span> ISerializable implementation<br />        <span class="kwrd">public</span> SerializableXmlDocument(SerializationInfo info,<br />                                       StreamingContext context)<br />        {<br />            <span class="kwrd">byte</span>[] serializedData = (<span class="kwrd">byte</span>[])info.GetValue(<span class="str">&quot;doc&quot;</span>,<br />                <span class="kwrd">typeof</span>(<span class="kwrd">byte</span>[]));<br />            <span class="kwrd">if</span> (<span class="kwrd">null</span> != serializedData)<br />                <span class="kwrd">this</span>.Value = Deserialize(serializedData);<br />        }<br /><br />        <span class="kwrd">public</span> <span class="kwrd">void</span> GetObjectData(SerializationInfo info,<br />                                  StreamingContext context)<br />        {<br />            <span class="kwrd">byte</span>[] serializedData = <span class="kwrd">null</span>;<br />            <span class="kwrd">if</span> (<span class="kwrd">null</span> != Value)<br />                serializedData = Serialize(Value);<br />            info.AddValue(<span class="str">&quot;doc&quot;</span>, serializedData);<br />        }<br />        <span class="preproc">#endregion</span><br /><br />        <span class="preproc">#region</span> <span class="kwrd">implicit</span> conversion to/from XmlDocument<br />        <span class="kwrd">public</span> <span class="kwrd">static</span> <span class="kwrd">implicit</span> <span class="kwrd">operator</span> SerializableXmlDocument(<br />            XmlDocument doc)<br />        {<br />            <span class="kwrd">return</span> <span class="kwrd">new</span> SerializableXmlDocument(doc);<br />        }<br />        <span class="kwrd">public</span> <span class="kwrd">static</span> <span class="kwrd">implicit</span> <span class="kwrd">operator</span> XmlDocument(<br />            SerializableXmlDocument sdoc)<br />        {<br />            <span class="kwrd">return</span> sdoc.Value;<br />        }<br />        <span class="preproc">#endregion</span><br /><br />        <span class="preproc">#region</span> Xml serialization helper methods<br />        <span class="kwrd">private</span> <span class="kwrd">static</span> <span class="kwrd">byte</span>[] Serialize(XmlDocument doc)<br />        {<br />            MemoryStream stream = <span class="kwrd">new</span> MemoryStream();<br />            doc.Save(stream);<br />            <span class="kwrd">return</span> stream.CopyUpToSeekPointer();<br />        }<br />        <span class="kwrd">private</span> <span class="kwrd">static</span> XmlDocument Deserialize(<span class="kwrd">byte</span>[] serializedData)<br />        {<br />            XmlDocument doc = <span class="kwrd">new</span> XmlDocument();<br />            doc.Load(<span class="kwrd">new</span> MemoryStream(serializedData, <span class="kwrd">false</span>));<br />            <span class="kwrd">return</span> doc;<br />        }<br />        <span class="preproc">#endregion</span><br />    }<br />}</pre>
<p>...and here&#39;s the CopyUpToSeekPointer extension method for MemoryStream:</p>
<pre class="csharpcode"><span class="kwrd">using</span> System;<br /><span class="kwrd">using</span> System.IO;<br /><br /><span class="kwrd">namespace</span> Pluralsight.Samples<br />{<br />    <span class="kwrd">public</span> <span class="kwrd">static</span> <span class="kwrd">class</span> MemoryStreamExtensionMethods<br />    {<br />        <span class="kwrd">public</span> <span class="kwrd">static</span> <span class="kwrd">byte</span>[] CopyUpToSeekPointer(<br />            <span class="kwrd">this</span> MemoryStream stream)<br />        {<br />            <span class="rem">// copy only the part of the buffer</span><br />            <span class="rem">// that contains the serialized document</span><br />            <span class="kwrd">long</span> length = stream.Position;<br />            <span class="kwrd">byte</span>[] buffer = stream.GetBuffer();<br />            <span class="kwrd">byte</span>[] result = <span class="kwrd">new</span> <span class="kwrd">byte</span>[length];<br />            <span class="kwrd">for</span> (<span class="kwrd">int</span> i = 0; i &lt; length; ++i)<br />                result[i] = buffer[i];<br />            <span class="kwrd">return</span> result;<br />        }<br />    }<br />}</pre>
<p>...and here&#39;s a sample object that uses SerializableXmlDocument:</p>
<pre class="csharpcode"><span class="kwrd">using</span> System;<br /><br /><span class="kwrd">namespace</span> Pluralsight.Samples<br />{<br />    [Serializable]<br />    <span class="kwrd">public</span> <span class="kwrd">class</span> Item<br />    {<br />        <span class="kwrd">public</span> <span class="kwrd">string</span> Name { get; set; }<br />        <span class="kwrd">public</span> SerializableXmlDocument Data { get; set; }<br /><br />        <span class="kwrd">public</span> <span class="kwrd">void</span> Print()<br />        {<br />            Console.WriteLine(<span class="str">&quot;Name: {0}&quot;</span>, Name);<br />            Console.WriteLine(Data.Value.OuterXml);<br />        }<br />    }<br />}</pre>
<p>...and here&#39;s a sample program that creates an instance of Item, serializes it, then deserializes it, printing diagnostics along the way to show that it&#39;s working properly.</p>
<pre class="csharpcode"><span class="kwrd">using</span> System;<br /><span class="kwrd">using</span> System.Xml;<br /><span class="kwrd">using</span> System.Runtime.Serialization.Formatters.Binary;<br /><span class="kwrd">using</span> System.IO;<br /><span class="kwrd">using</span> Pluralsight.Samples;<br /><br /><span class="kwrd">class</span> DemoProgram<br />{<br />    <span class="kwrd">static</span> <span class="kwrd">void</span> Main(<span class="kwrd">string</span>[] args)<br />    {<br />        XmlDocument doc = <span class="kwrd">new</span> XmlDocument();<br />        doc.LoadXml(<span class="str">&quot;&lt;root&gt;&lt;child&gt;text&lt;/child&gt;&lt;/root&gt;&quot;</span>);<br /><br />        Item item = <span class="kwrd">new</span> Item<br />        {<br />            Name = <span class="str">&quot;Testing 123&quot;</span>,<br />            Data = doc,<br />        };<br /><br />        <span class="rem">// print object before serialization</span><br />        item.Print();<br /><br />        BinaryFormatter formatter = <span class="kwrd">new</span> BinaryFormatter();<br />        MemoryStream stream = <span class="kwrd">new</span> MemoryStream();<br />        formatter.Serialize(stream, item);<br /><br />        <span class="kwrd">byte</span>[] serializedItem = stream.CopyUpToSeekPointer();<br /><br />        Console.WriteLine(<span class="str">&quot;Serialized data (base64): {0}&quot;</span>,<br />            Convert.ToBase64String(serializedItem));<br /><br />        item = (Item)formatter.Deserialize(<br />            <span class="kwrd">new</span> MemoryStream(serializedItem, <span class="kwrd">false</span>));<br /><br />        <span class="rem">// print object after deserialization</span><br />        item.Print();<br />    }<br />}</pre>
<p>Here&#39;s the output of the previous sample program:</p>
<p><a href="http://www.pluralsight.com/community/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/keith/sample_2D00_output_5F00_2.jpg"><img style="border-top-width:0px;border-left-width:0px;border-bottom-width:0px;border-right-width:0px;" alt="sample-output" src="http://www.pluralsight.com/community/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/keith/sample_2D00_output_5F00_thumb.jpg" width="422" border="0" height="214" /></a>&nbsp;</p>
<p>Flame away!</p><div style="clear:both;"></div><img src="http://www.pluralsight.com/community/aggbug.aspx?PostID=52538" width="1" height="1">]]></content:encoded>
      <pubDate>Mon, 18 Aug 2008 22:58:00 +0000</pubDate>
      <category domain="http://securityratty.com/tag/public class item">public class item</category>
      <category domain="http://securityratty.com/tag/public">public</category>
      <category domain="http://securityratty.com/tag/public void getobjectdata">public void getobjectdata</category>
      <category domain="http://securityratty.com/tag/public static byte">public static byte</category>
      <category domain="http://securityratty.com/tag/xmldocument">xmldocument</category>
      <category domain="http://securityratty.com/tag/return doc">return doc</category>
      <category domain="http://securityratty.com/tag/return">return</category>
      <category domain="http://securityratty.com/tag/static byte">static byte</category>
      <category domain="http://securityratty.com/tag/public class">public class</category>
      <source url="http://www.pluralsight.com/community/blogs/keith/archive/2008/08/18/serializable-xmldocument.aspx">Serializable XmlDocument</source>
    </item>
    <item>
      <title><![CDATA[Popular BitTorrent Client Quietly Patched An Old Zero-Day Vulnerability]]></title>
      <link>http://securityratty.com/article/63329269a86189e9e4de7d732f3c6424</link>
      <guid>http://securityratty.com/article/63329269a86189e9e4de7d732f3c6424</guid>
      <description><![CDATA[Popular BitTorrent client µTorrent has silently patched a vulnerability that created a means for hackers to load malware onto PCs of file sharing users by persuading them to open a poisoned Torrent...]]></description>
      <content:encoded><![CDATA[Popular BitTorrent client µTorrent has silently patched a vulnerability that created a means for hackers to load malware onto PCs of file sharing users by persuading them to open a poisoned Torrent file. The vulnerability has been confirmed in version 1.7.7 of µTorrent. Earlier versions may also be vulnerable.
News of the bug emerged in a [...]]]></content:encoded>
      <pubDate>Thu, 14 Aug 2008 13:29:00 +0000</pubDate>
      <category domain="http://securityratty.com/tag/file">file</category>
      <category domain="http://securityratty.com/tag/vulnerability">vulnerability</category>
      <category domain="http://securityratty.com/tag/torrent file">torrent file</category>
      <category domain="http://securityratty.com/tag/torrent">torrent</category>
      <category domain="http://securityratty.com/tag/load malware">load malware</category>
      <category domain="http://securityratty.com/tag/version">version</category>
      <category domain="http://securityratty.com/tag/users">users</category>
      <category domain="http://securityratty.com/tag/bug">bug</category>
      <category domain="http://securityratty.com/tag/versions">versions</category>
      <source url="http://cyberinsecure.com/torrent-quietly-patched-an-old-zero-day-vulnerability/">Popular BitTorrent Client Quietly Patched An Old Zero-Day Vulnerability</source>
    </item>
    <item>
      <title><![CDATA[BlackHat Recap]]></title>
      <link>http://securityratty.com/article/bec2ea65daab94e0e7001ef1ba7b1b9a</link>
      <guid>http://securityratty.com/article/bec2ea65daab94e0e7001ef1ba7b1b9a</guid>
      <description><![CDATA[Another BlackHat has come and gone. As usual, it was a very busy week juggling customer meetings, recruiting, conference planning, vendor parties, and, oh yes, the actual BlackHat presentations. I had...]]></description>
      <content:encoded><![CDATA[<p>Another BlackHat has come and gone.  As usual, it was a very busy week juggling customer meetings, recruiting, conference planning, vendor parties, and, oh yes, the actual BlackHat presentations.  I had a fantastic time catching up with old friends and finally getting the opportunity to meet more of the <a href="http://n0where.org/security-twits/">Security Twits</a> and others in the security community.  I didn&#8217;t submit a talk this year, but nevertheless, fake Dan Kaminsky was still excited to see me.</p>
<p><a href="http://www.veracode.com/blog/wp-content/uploads/2008/08/chris_2742966251_1b47297b33_b.jpg"><center><img src="http://www.veracode.com/blog/wp-content/uploads/2008/08/chris_2742966251_1b47297b33_b-300x225.jpg" alt="" title="chris_2742966251_1b47297b33_b" width="300" height="225" class="aligncenter size-medium wp-image-215 photoborder" /></center></a></p>
<p>My favorite talk, as expected, was the Sotirov/Dowd talk on <a href="http://taossa.com/archive/bh08sotirovdowd.pdf">How To Impress Girls With Browser Memory Protection Bypasses</a>.  The attack is a conceptually simple, yet completely reliable technique for exploiting vulnerabilities in web browsers.  Of course, the media has <a href="http://searchsecurity.techtarget.com/news/article/0,289142,sid14_gci1324395,00.html">sensationalized </a> the impact of their findings, but ultimately, this is still significant as far as browser-based exploits are concerned.  It&#8217;s worth mentioning that part of the technique allowing them to load a .NET DLL at an arbitrary location under Vista was reliant on an implementation bug wherein the OS disables ASLR if the version in the .NET COR header was below a certain value.  However, the address space spraying and stack spraying techniques are likely to be extended to other platforms utilizing similar memory protection mechanisms.  </p>
<p>As for the girls?  I can report first-hand that the ladies at TAO on Wednesday night were hanging on <a href="http://twitter.com/alexsotirov">Alex</a>&#8217;s every word.  They were particularly impressed when he whipped out the laptop for a live demo.  Unfortunately, none of the dozen iPhone owners in the immediate vicinity thought to snap a picture (too busy Twittering).  Oh well.  </p>
<p>I also enjoyed Hovav Shacham&#8217;s talk on return-oriented programming.  Simply put, he described a generalization of the return-to-libc shellcode approach with the intent to demonstrate that one could achieve Turing-complete computation using &#8220;found code&#8221; in process images.  By chaining together series of mini-computations ending in return (RET) instructions, it was possible to build higher-level programming constructs such as branches and loops.  The nature of the x86 instruction set provides some flexibility because instructions are interpreted differently depending on how you align the instruction pointer (i.e. the old shellcode trick of searching the process image for any JMP EBX instruction and using that as your EIP).  In RISC architectures such as SPARC, however, you don&#8217;t have that luxury; if your %pc isn&#8217;t aligned properly you get a bus error.  So it was quite interesting to see that they were able to extend the concept to RISC.  The practicality of the attack technique is limited by the fact that the shellcode is tuned to a particular binary image &#8212; if the shellcode was built using instructions extrapolated from glibc 2.3.5, it won&#8217;t work for a system running glibc 2.4.  </p>
<p>I thought Scott Stender&#8217;s talk on <a href="http://isecpartners.com/files/iSEC%20Partners%20-%20Concurrency%20Attacks%20in%20Web%20Applications.pdf">Concurrency Attacks in Web Applications</a> was interesting as well.  In a nutshell, spewing thousands of simultaneous requests at web application transactions that are not thread-safe can create interesting problems.  In the presentation, Scott ran his demo against a VM running on the attack machine.  I found myself wondering how effective the same attack would be over the Internet &#8212; would it be significantly less reliable (or not at all)?  Race conditions are generally easier to exploit locally than remotely due to more predictable execution conditions.  Certainly this is an under-tested vulnerability class though.</p>
<p>One presentation I wasn&#8217;t able to attend but want to follow up on is <a href="http://twitter.com/nate_mcfeters">Nate McFeters</a>, John Heasman, and Rob Carter&#8217;s talk which discussed the GIFAR attack I&#8217;ve been hearing so much about lately.  The gist is that you can create a file that is both a valid GIF and a valid JAR, then use some Java applet tricks to initiate HTTP requests on behalf of the victim.  </p>
<p>Finally, the <a href="http://pwnie-awards.org/2008/">Pwnie Awards</a> didn&#8217;t fail to disappoint.  Drama ensued over the Most Overhyped award, but at least this year some of the winners showed up to claim their awards!  <a href="http://twitter.com/halvarflake">Halvar</a> rapping Symantec lyrics was also quite memorable.</p>
<p>All in all, a fun and informative week, but as usual, I was relieved to get the hell out of Vegas and head home on Friday morning. </p>
<p>P.S. For a much more entertaining BlackHat/Defcon Recap, read <a href="http://securityuncorked.net/2008/08/anecdotes-blackhat-defcon/">Jennifer Jabbusch&#8217;s account</a> of the week&#8217;s events.  It&#8217;s my favorite one so far!</p>
]]></content:encoded>
      <pubDate>Tue, 12 Aug 2008 18:43:18 +0000</pubDate>
      <category domain="http://securityratty.com/tag/favorite">favorite</category>
      <category domain="http://securityratty.com/tag/favorite talk">favorite talk</category>
      <category domain="http://securityratty.com/tag/talk">talk</category>
      <category domain="http://securityratty.com/tag/sotirovdowd talk">sotirovdowd talk</category>
      <category domain="http://securityratty.com/tag/scott stenders talk">scott stenders talk</category>
      <category domain="http://securityratty.com/tag/completely reliable technique">completely reliable technique</category>
      <category domain="http://securityratty.com/tag/reliable">reliable</category>
      <category domain="http://securityratty.com/tag/attack">attack</category>
      <category domain="http://securityratty.com/tag/technique">technique</category>
      <source url="http://www.veracode.com/blog/?p=202">BlackHat Recap</source>
    </item>
    <item>
      <title><![CDATA[BlackHat Recap]]></title>
      <link>http://securityratty.com/article/6b779e65a6ad790dd8e631057208ff77</link>
      <guid>http://securityratty.com/article/6b779e65a6ad790dd8e631057208ff77</guid>
      <description><![CDATA[Another BlackHat has come and gone. As usual, it was a very busy week juggling customer meetings, recruiting, conference planning, vendor parties, and, oh yes, the actual BlackHat presentations. I had...]]></description>
      <content:encoded><![CDATA[<p>Another BlackHat has come and gone.  As usual, it was a very busy week juggling customer meetings, recruiting, conference planning, vendor parties, and, oh yes, the actual BlackHat presentations.  I had a fantastic time catching up with old friends and finally getting the opportunity to meet more of the <a href="http://n0where.org/security-twits/">Security Twits</a> and others in the security community.  I didn&#8217;t submit a talk this year, but nevertheless, <a href="http://flickr.com/photos/fakedankaminsky/">fake Dan Kaminsky</a> was still excited to see me.</p>
<p><a href="http://www.veracode.com/blog/wp-content/uploads/2008/08/chris_2742966251_1b47297b33_b.jpg"><center><img src="http://www.veracode.com/blog/wp-content/uploads/2008/08/chris_2742966251_1b47297b33_b-300x225.jpg" alt="" title="chris_2742966251_1b47297b33_b" width="300" height="225" class="aligncenter size-medium wp-image-215 photoborder" /></center></a></p>
<p>My favorite talk, as expected, was the Sotirov/Dowd talk on <a href="http://taossa.com/archive/bh08sotirovdowd.pdf">How To Impress Girls With Browser Memory Protection Bypasses</a>.  The attack is a conceptually simple, yet completely reliable technique for exploiting vulnerabilities in web browsers.  Of course, the media has <a href="http://searchsecurity.techtarget.com/news/article/0,289142,sid14_gci1324395,00.html">sensationalized</a> the impact of their findings, but ultimately, this is still significant as far as browser-based exploits are concerned (here is a <a href="http://blogs.zdnet.com/Bott/?p=513">more accurate report</a>).  It&#8217;s worth mentioning that part of the technique allowing them to load a .NET DLL at an arbitrary location under Vista was reliant on an implementation bug wherein the OS disables ASLR if the version in the .NET COR header was below a certain value.  However, the address space spraying and stack spraying techniques are likely to be extended to other platforms utilizing similar memory protection mechanisms.  </p>
<p>As for the girls?  I can report first-hand that the ladies at TAO on Wednesday night were hanging on <a href="http://twitter.com/alexsotirov">Alex</a>&#8217;s every word.  They were particularly impressed when he whipped out the laptop for a live demo.  Unfortunately, none of the dozen iPhone owners in the immediate vicinity thought to snap a picture (too busy Twittering).  Oh well.  </p>
<p>I also enjoyed Hovav Shacham&#8217;s talk on return-oriented programming.  Simply put, he described a generalization of the return-to-libc shellcode approach with the intent to demonstrate that one could achieve Turing-complete computation using &#8220;found code&#8221; in process images.  By chaining together series of mini-computations ending in return (RET) instructions, it was possible to build higher-level programming constructs such as branches and loops.  The nature of the x86 instruction set provides some flexibility because instructions are interpreted differently depending on how you align the instruction pointer (i.e. the old shellcode trick of searching the process image for any JMP EBX instruction and using that as your EIP).  In RISC architectures such as SPARC, however, you don&#8217;t have that luxury; if your %pc isn&#8217;t aligned properly you get a bus error.  So it was quite interesting to see that they were able to extend the concept to RISC.  The practicality of the attack technique is limited by the fact that the shellcode is tuned to a particular binary image &#8212; if the shellcode was built using instructions extrapolated from glibc 2.3.5, it won&#8217;t work for a system running glibc 2.4.  </p>
<p>I thought Scott Stender&#8217;s talk on <a href="http://isecpartners.com/files/iSEC%20Partners%20-%20Concurrency%20Attacks%20in%20Web%20Applications.pdf">Concurrency Attacks in Web Applications</a> was interesting as well.  In a nutshell, spewing thousands of simultaneous requests at web application transactions that are not thread-safe can create interesting problems.  In the presentation, Scott ran his demo against a VM running on the attack machine.  I found myself wondering how effective the same attack would be over the Internet &#8212; would it be significantly less reliable (or not at all)?  Race conditions are generally easier to exploit locally than remotely due to more predictable execution conditions.  Certainly this is an under-tested vulnerability class though.</p>
<p>One presentation I wasn&#8217;t able to attend but want to follow up on is <a href="http://twitter.com/nate_mcfeters">Nate McFeters</a>, John Heasman, and Rob Carter&#8217;s talk which discussed the GIFAR attack I&#8217;ve been hearing so much about lately.  The gist is that you can create a file that is both a valid GIF and a valid JAR, then use some Java applet tricks to initiate HTTP requests on behalf of the victim.  </p>
<p>Finally, the <a href="http://pwnie-awards.org/2008/">Pwnie Awards</a> didn&#8217;t fail to disappoint.  Drama ensued over the Most Overhyped award, but at least this year some of the winners showed up to claim their awards!  <a href="http://twitter.com/halvarflake">Halvar</a> rapping Symantec lyrics was also quite memorable.</p>
<p>All in all, a fun and informative week, but as usual, I was relieved to get the hell out of Vegas and head home on Friday morning. </p>
<p>P.S. For a much more entertaining BlackHat/Defcon Recap, read <a href="http://securityuncorked.net/2008/08/anecdotes-blackhat-defcon/">Jennifer Jabbusch&#8217;s account</a> of the week&#8217;s events.  It&#8217;s my favorite one so far!</p>
]]></content:encoded>
      <pubDate>Tue, 12 Aug 2008 18:43:18 +0000</pubDate>
      <category domain="http://securityratty.com/tag/favorite">favorite</category>
      <category domain="http://securityratty.com/tag/favorite talk">favorite talk</category>
      <category domain="http://securityratty.com/tag/talk">talk</category>
      <category domain="http://securityratty.com/tag/sotirovdowd talk">sotirovdowd talk</category>
      <category domain="http://securityratty.com/tag/scott stenders talk">scott stenders talk</category>
      <category domain="http://securityratty.com/tag/completely reliable technique">completely reliable technique</category>
      <category domain="http://securityratty.com/tag/reliable">reliable</category>
      <category domain="http://securityratty.com/tag/attack">attack</category>
      <category domain="http://securityratty.com/tag/technique">technique</category>
      <source url="http://www.veracode.com/blog/2008/08/blackhat-recap/">BlackHat Recap</source>
    </item>
    <item>
      <title><![CDATA[Bypassing Microsoft Vista's Memory Protection]]></title>
      <link>http://securityratty.com/article/217d89845b1fa03c96297819ebb76520</link>
      <guid>http://securityratty.com/article/217d89845b1fa03c96297819ebb76520</guid>
      <description><![CDATA[This is huge: Two security researchers have developed a new technique that essentially bypasses all of the memory protection safeguards in the Windows Vista operating system, an advance that many in...]]></description>
      <content:encoded><![CDATA[<p><a href="http://searchsecurity.techtarget.com/news/article/0,289142,sid14_gci1324395,00.html">This</a> is huge:</p>

<blockquote>Two security researchers have developed a new technique that essentially bypasses all of the memory protection safeguards in the Windows Vista operating system, an advance that many in the security community say will have far-reaching implications not only for Microsoft, but also on how the entire technology industry thinks about attacks.

<p>In a presentation at the Black Hat briefings, Mark Dowd of IBM Internet Security Systems (ISS) and Alexander Sotirov, of VMware Inc. will discuss the new methods they've found to get around Vista protections such as Address Space Layout Randomization(ASLR), Data Execution Prevention (DEP) and others by using Java, ActiveX controls and .NET objects to load arbitrary content into Web browsers.</p>

<p>By taking advantage of the way that browsers, specifically Internet Explorer, handle active scripting and .NET objects, the pair have been able to load essentially whatever content they want into a location of their choice on a user's machine.</blockquote></p>

<p>Paper <a href="http://taossa.com/archive/bh08sotirovdowd.pdf">here</a>.</p><div class="feedflare">
<a href="http://feeds.feedburner.com/~f/schneier/fulltext?a=FyAOXK"><img src="http://feeds.feedburner.com/~f/schneier/fulltext?i=FyAOXK" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/schneier/fulltext?a=IdCKPK"><img src="http://feeds.feedburner.com/~f/schneier/fulltext?i=IdCKPK" border="0"></img></a>
</div>]]></content:encoded>
      <pubDate>Mon, 11 Aug 2008 12:26:11 +0000</pubDate>
      <category domain="http://securityratty.com/tag/load">load</category>
      <category domain="http://securityratty.com/tag/load arbitrary content">load arbitrary content</category>
      <category domain="http://securityratty.com/tag/content">content</category>
      <category domain="http://securityratty.com/tag/net objects">net objects</category>
      <category domain="http://securityratty.com/tag/black hat briefings">black hat briefings</category>
      <category domain="http://securityratty.com/tag/browsers">browsers</category>
      <category domain="http://securityratty.com/tag/memory protection safeguards">memory protection safeguards</category>
      <category domain="http://securityratty.com/tag/data execution prevention">data execution prevention</category>
      <category domain="http://securityratty.com/tag/entire technology industry">entire technology industry</category>
      <source url="http://www.schneier.com/blog/archives/2008/08/bypassing_micro.html">Bypassing Microsoft Vista's Memory Protection</source>
    </item>
    <item>
      <title><![CDATA[Q&A with Sergey Katsev of Coyote Point Systems]]></title>
      <link>http://securityratty.com/article/e57e1ace426f0aef838f8f362c558571</link>
      <guid>http://securityratty.com/article/e57e1ace426f0aef838f8f362c558571</guid>
      <description><![CDATA[I recently had the opportunity to sit down with Sergey Katsev , an Engineering Project Manager at Coyote Point Systems and discuss his experiences with InteropNet and talk about the Coyote Point...]]></description>
      <content:encoded><![CDATA[<p>I recently had the opportunity to sit down with <a href="http://www.facebook.com/profile.php?id=24405331" target="_blank">Sergey Katsev</a>, an Engineering Project Manager at <a href="http://coyotepoint.com/" target="_blank">Coyote Point Systems</a> and discuss his experiences with InteropNet and talk about the Coyote Point products.  With a couple of years of experience as a vendor for Interop, he had some interesting insights in to how participating in the InteropNet can help a vendor.</p>
<p><strong>ScienceLogic:</strong> How long have you been involved in InteropNet?</p>
<p><strong>Katsev: </strong>I started at Coyote Point 3 years ago and <a href="http://blog.interop.com/2006" target="_blank">InteropNet 2006</a> was my first &#8220;big&#8221; assignment.  This was the first time Coyote Point had put in a proposal to participate, so we were very excited when we were selected.</p>
<p><strong></strong></p>
<p><strong>ScienceLogic: </strong>How long has Coyote Point been involved in Interop overall?</p>
<p><strong>Katsev: </strong>We&#8217;ve been exhibiting at Interop for a number of years, and after seeing the InteropNet in action, we decided to submit a proposal in &#8216;06.  We were actually one of the first companies in the load balancing/traffic management space (we&#8217;ve been doing this for almost 10 years), so we have a lot of experience to share with InteropNet.</p>
<p><strong>ScienceLogic:</strong> What is your role at Coyote Point?</p>
<p>My official title is &#8220;Engineering Project Manager&#8221;.  Basically, that means that I&#8217;m in charge of product releases and maintenance.  It sounds like a weird title for someone participating in InteropNet, but I&#8217;ve actually found it extremely useful since my position means that I don&#8217;t get to see our systems out in the field a lot.  We&#8217;ve added several features and have ideas for others just from my experiences at InteropNet.</p>
<p><strong></strong></p>
<p><strong>ScienceLogic:</strong> What do the Coyote Point products do?</p>
<p><strong>Katsev: </strong>Coyote Point makes a Traffic Management appliance called <a href="http://coyotepoint.com/products/e650.php" target="_blank">Equalizer</a>.  What this means is that any traffic destined for a datacenter&#8217;s servers goes through our appliances and we make sure that the server which is best equipped to handle it, does.  Our systems sit between the clients and the servers and monitor the client traffic and the state of the servers.  If the clients start sending more traffic, we&#8217;ll balance it out so that no server is overloaded.  If one of the servers stops responding or starts responding very slowly, we&#8217;ll steer traffic away from that server.</p>
<p><strong>ScienceLogic: </strong>In what way are your products being used as part of InteropNet?</p>
<p><strong>Katsev: </strong>In the InteropNet, we&#8217;re utilizing a lot of our expertise:  We&#8217;re making sure that traffic is balanced and servers are redundant for show services such as DNS and SMTP.  We&#8217;re also using our geographic load balancing technology to ensure that the ScienceLogic EM7 appliances and some other internal NOC services are available from anywhere, with the lowest latency, with our <a href="http://www.coyotepoint.com/products/xcel.php" target="_blank">SSL acceleration </a>and <a href="http://www.coyotepoint.com/products/express.php" target="_blank">GZIP compression technology</a>.  Finally, we&#8217;re helping logistics in the NOC by allowing a physical separation between systems <a href="http://blog.interop.com/interopnet/2008/04/what-are-these-peds-you-speak-of" target="_blank">located in the NOC</a> and those in an emergency rack outside of the NOC.  If either of these two locations were to fail, the network will continue operating without a glitch.</p>
<p><strong>ScienceLogic:</strong> Are there any special considerations for Interop that cause you to deploy your systems there differently that any other place?</p>
<p><strong>Katsev: </strong>Interop is definitely different than most of our customer installations.   One difference from a standard environment is that the network (at least this year) is one large flat network, with pieces carved out where extra security is needed.  Because of this, we can actually run our failover pairs of Equalizer systems in a non-standard configuration where the two peers are in different racks, or even on different floors.  That&#8217;s one of the things that I really like about InteropNet &#8212; it definitely brings new ideas to mind, which end up becoming &#8217;special configuration&#8217; white papers after the show.</p>
<p><strong>ScienceLogic:</strong> Has InteropNet taught you anything that caused you to actually change your product?</p>
<p><strong>Katsev: </strong>In addition to the failover configuration differences I mentioned above, participating in InteropNet has actually caused us to add several new features and allowed configurations.  One example is the &#8220;no-spoof&#8221; option for <a href="http://www.springerlink.com/content/dcmmpmb53rjp5hr8/" target="_blank">Layer 4 clusters</a>.  Prior to the 2006 shows, we always &#8217;spoofed&#8217; the client&#8217;s IP address when talking to a server so that the server would see the client&#8217;s IP address instead of our own.  At Interop, we ran into a special configuration which would&#8217;ve been very difficult to set up in this manner, so our engineers added this feature, and it&#8217;s been very a very popular configuration with our customers ever since.</p>
<p>We have also had a couple of business relationships that extended outside of the show.  In 2006, we had a good experience using <a href="http://www.spirent.com/analysis/index.cfm?media=3&amp;ws=2" target="_blank">Spirent Communications</a> gear to benchmark the network, so we ended up purchasing a couple of these systems to test our products.  More recently, we have found a way to bundle our Equalizer e350si load balancers with the ScienceLogic <a href="http://www.sciencelogic.com/techdiagram.htm" target="_blank">EM7 collector appliances</a> to help ScienceLogic get the best performance in load balancing large quantities of syslog messages to be processed.  If it wasn&#8217;t for our participation in InteropNet, neither of these relationships would&#8217;ve happened.</p>
<p><strong>ScienceLogic: </strong>What’s the best part of being involved with InteropNet?  What do you most look forward to?</p>
<p><strong>Katsev: </strong>InteropNet is an amazing networking opportunity (no pun intended).  The group of engineers that put the network together every year is, well, amazing.  There is so much combined experience that any question instantly has several possible answers, and the best answer is chosen very quickly.  One of the &#8217;sayings&#8217; at Interop is &#8220;if you run into a problem, ask someone&#8230; we&#8217;ve probably seen that problem before&#8230; five times.&#8221;  One would think that being part of InteropNet is the same thing, year after year.  However, in the two years that I&#8217;ve been part of this (for four shows), there have been huge differences in the way that the network is designed and put together.  These are both because the vendors selected every year are different, and because the engineers who design the network change from year to year.  Somehow, though, when all is said and done, we have a <a href="http://blog.sciencelogic.com/interop-las-vegas-2008-some-interesting-stats/06/2008" target="_blank">network that works</a>.</p>
<p><strong>ScienceLogic:</strong> You don’t have to answer this one if you’re not comfortable… What would you like to see changed with the way things are done at InteropNet?</p>
<p><strong>Katsev: </strong>This isn&#8217;t a cop-out&#8230; I really can&#8217;t think of anything I would do differently.  Sure, there are small problems that pop up sometimes, but every project has those, and the people at InteropNet are more than capable of figuring them all out.  In fact, I know that Interop started out as a show to test the interoperability of devices&#8230; but I&#8217;m still amazed that all of these devices actually talk to each other and <a href="http://blog.sciencelogic.com/qa-with-geoff-horne-of-interopnet/06/2008" target="_blank">&#8220;play nice&#8221; together</a>.</p>
<p><a href="http://sharethis.com/item?&wp=abc&amp;publisher=ea11358c-69de-4e80-9804-e964a8930b70&amp;title=Q%26%23038%3BA+with+Sergey+Katsev+of+Coyote+Point+Systems&amp;url=http%3A%2F%2Fblog.sciencelogic.com%2Fqa-with-sergey-katsev-of-coyote-point-systems%2F08%2F2008">ShareThis</a></p>]]></content:encoded>
      <pubDate>Tue, 05 Aug 2008 12:34:35 +0000</pubDate>
      <category domain="http://securityratty.com/tag/katsev">katsev</category>
      <category domain="http://securityratty.com/tag/sergey katsev">sergey katsev</category>
      <category domain="http://securityratty.com/tag/interopnet">interopnet</category>
      <category domain="http://securityratty.com/tag/coyote">coyote</category>
      <category domain="http://securityratty.com/tag/systems">systems</category>
      <category domain="http://securityratty.com/tag/sciencelogic">sciencelogic</category>
      <category domain="http://securityratty.com/tag/sciencelogic em7 appliances">sciencelogic em7 appliances</category>
      <category domain="http://securityratty.com/tag/network">network</category>
      <category domain="http://securityratty.com/tag/client traffic">client traffic</category>
      <source url="http://blog.sciencelogic.com/qa-with-sergey-katsev-of-coyote-point-systems/08/2008">Q&amp;A with Sergey Katsev of Coyote Point Systems</source>
    </item>
    <item>
      <title><![CDATA[The Attack of the Spiders from the Clouds]]></title>
      <link>http://securityratty.com/article/c3042dae931bd669c4d7b1dca6ecf7f8</link>
      <guid>http://securityratty.com/article/c3042dae931bd669c4d7b1dca6ecf7f8</guid>
      <description><![CDATA[We have seen a lot of discussions of cloud computing in the news recently, as a technology to permit users to access technology-enabled services without knowledge of, expertise with, nor control over...]]></description>
      <content:encoded><![CDATA[<p>We have seen a lot of discussions of <a href="http://en.wikipedia.org/wiki/Cloud_computing">cloud computing</a> in the news recently, as a technology to permit <em>&#8220;users to access technology-enabled services<sup> </sup>without knowledge of, expertise with, nor control over the technology infrastructure that supports them.&#8221;   </em>This sound great doesn&#8217;t it?!   Users with little to no IT expertise can log into the cloud and launch 8 instances of a server with the equivalence of 16 high performance CPU cores.   However, as we all know, all things, including cool technologies have the potential for both good and evil, opportunity or threat; and cloud computing is no different.</p>
<p>It just so happens that I have been experimenting with <a href="http://en.wikipedia.org/wiki/Amazon_Elastic_Compute_Cloud">Amazon Elastic Computing Services (EC2),</a> documented in <a title="Computing in the Clouds with AWS" rel="bookmark" href="http://www.thecepblog.com/2008/07/25/computing-in-the-clouds-with-aws/">Computing in the Clouds with AWS</a> over at <a href="http://www.thecepblog.com/">The CEP Blog</a>.  The server over at <a href="http://www.unix.com/">The UNIX and Linux Forums</a> has been experiencing some very hardware-limited, high load averages recently. We thought we should take a look at moving the forum server up to the clouds.   </p>
<p>Then, a fellow system admin over at the forums suggested that maybe some rogue bots were causing high server loads; so I wrote a one-line command to do a bit of real-time spider hunting in the Apache2 logfiles.  Surprise!  I found there were a number of rogue, hungry spiders that would not follow our <a href="http://www.robotstxt.org/">robots.txt</a> directive not to crawl the site.   One of the bots was from Russia, one was from China, and another one was from Korea.  There were spiders from places I never heard of, all consuming precious  resources and denying our users!</p>
<p>So, I did what any Linux admin would do. I used <strong>iptables</strong> to block the networks of these rogue, hungry, spiders (sorry I was not very kind to these cyber creatures).  It probally comes to no surprise at this point in the story that four of the spiders were from the Amazon EC2 cloud.  Here is a sample of the output from <strong>iptables -L</strong>:</p>
<blockquote dir="ltr"><p>root@www:~# iptables -L<br />
Chain INPUT (policy ACCEPT)<br />
target prot opt source destination<br />
DROP all &#8212; ec2-67-202-45-0.compute-1.amazonaws.com/24<br />
DROP all &#8212; ec2-75-101-243-0.compute-1.amazonaws.com/24<br />
DROP all &#8212; ec2-75-101-197-0.compute-1.amazonaws.com/24<br />
DROP all &#8212; ec2-75-101-213-0.compute-1.amazonaws.com/24</p></blockquote>
<p dir="ltr">Well, imagine a not-so-distant future dystopian world where criminals or terrorists want to launch a massive denial-of-service attack against some critical infrastructure, like the root DNS servers, or an attack against major financial institutions, military or e-commerce sites.   </p>
<p dir="ltr">First, the bad guys create an instance of powerful operating system with a malicious network application, they test it, and they place it the cloud (without invoking the instance, paying a very small storage fee, no computing time fee) and they wait.   Then, at the precise moment of their planned attack, they launch 128 instances each with the equivalence of whatever is the mega-platform at the time, and just blast away at their attack target(s).    Even more damaging, they do this from many cloud computing infrastructures.  (Note: The cost of the attack is minimal because the criminals are only charged a few pennies an hour for each running instance and the attack runs an hour or two.)</p>
<p dir="ltr">My experience with cloud computing, which is still maturing, is that cloud computing has great promise for both good and evil.  The very real example of the &#8220;spiders from the clouds&#8221; is a harmless enough story of folks using a cloud computing infrastructure for web crawling, perhaps hoping to be the next Google billionaires. </p>
<p dir="ltr">One the other hand, cloud computing brings with it an emerging and growing danger for the misuse of the power of cloud computing infrastructures.   The misuse could be malicious, or accidental, but never-the-less, the danger is real.</p>
<p>What an interesting world we have created!  Would would have ever dreamed 10 years ago that we could be attacked by &#8230;&#8230;</p>
<p>#include &lt;horror_movie_sounds.mp3&gt;</p>
<p>&#8230;. Spiders from the Clouds.</p>
<p dir="ltr">Reprinted by permission from <a href="http://blog.isc2.org/isc2_blog/2008/07/the-attack-of-t.html" target="_blank">The Attack of the Spiders from the Clouds</a> by Tim Bass, CISSP</p>
]]></content:encoded>
      <pubDate>Thu, 31 Jul 2008 11:09:19 +0000</pubDate>
      <category domain="http://securityratty.com/tag/attack">attack</category>
      <category domain="http://securityratty.com/tag/spiders">spiders</category>
      <category domain="http://securityratty.com/tag/ec2-67-202-45-0">ec2-67-202-45-0</category>
      <category domain="http://securityratty.com/tag/ec2">ec2</category>
      <category domain="http://securityratty.com/tag/amazon ec2 cloud">amazon ec2 cloud</category>
      <category domain="http://securityratty.com/tag/cloud">cloud</category>
      <category domain="http://securityratty.com/tag/clouds">clouds</category>
      <category domain="http://securityratty.com/tag/attack runs">attack runs</category>
      <category domain="http://securityratty.com/tag/hungry spiders">hungry spiders</category>
      <source url="http://www.thecepblog.com/2008/07/31/the-attack-of-the-spiders-from-the-clouds/">The Attack of the Spiders from the Clouds</source>
    </item>
    <item>
      <title><![CDATA[When your hotel does funerals]]></title>
      <link>http://securityratty.com/article/7a31420cf206dd2cfc4b681fe0a369fc</link>
      <guid>http://securityratty.com/article/7a31420cf206dd2cfc4b681fe0a369fc</guid>
      <description><![CDATA[So another week, another travel nightmare. This week I am in the DC area for a few days, than flying over to Ohio and then back home. Staying in the DC/Northern Va area I made hotel reservations...]]></description>
      <content:encoded><![CDATA[
<div xmlns="http://www.w3.org/1999/xhtml"><p>So another week, another travel nightmare.&nbsp; This week I am in the DC area for a few days, than flying over to Ohio and then back home.&nbsp; Staying in the DC/Northern Va area I made hotel reservations through our corporate Expedia account (which is now called Egencia BTW). Though it is fine for airline reservations, I regret it every time I make a hotel reservation on Expedia.&nbsp; This time I reserved a room at the <a href="http://www.google.com/aclk?sa=L&amp;ai=B953Ve6WGSLmnCIHceNvFuMMG-O_QGNDqiswB_LTwvwfgpxIIABABGAEoAjgBUOK2vZn8_____wFgyaaZjeykgBDIAQHIAtiqsgHZA9i4qLGuQL7D&amp;sig=AGiWqtw77p9SVu7mO_lOJ0ulJrBj4rf-rg&amp;q=http://www.virginiansuites.com/%3Fsrc%3Dppc_google_brand">Virginian Suites</a>. I had never heard of it, but it was only $158, which is really cheap for around here.&nbsp; It had 3 stars and sounded good, so I booked it.</p>

<p>I arrived tonight and as I pulled up I have to say that I thought I made a good choice. It is a converted apartment building and every room is actually a studio type of apartment. It has free parking and is located near where I have meetings in Arlington. I gave my name at the desk and they had my reservation, looking good!&nbsp; I was given keys to room 707 and headed on up.&nbsp; I got to room 707 and tried to open the door.&nbsp; No luck, the keys didn???t work. After a moment or two of trying to make the keys work, the door opens and the guy who is staying in the room wants to know what I am doing trying to get in. Well I was reminded of an old Robert Schimmel comedy routine and ran away from there as fast as I could.&nbsp; </p>

<p>I went back down to the desk and told them what happened.&nbsp; The woman at the desk apologized, she meant to write room 700, not 707.&nbsp; While I am waiting for her to correct this and issue new keys, I am looking at the schedule of events at the hotel today.&nbsp; That is when I notice that one of the main events of the day was a someone???s funeral!&nbsp; Thats right, it seems the hotel is used for funerals in the area.&nbsp; That just freaked me out.&nbsp; Now I am getting Six Feet Under deja vu here.&nbsp; I don???t know, call me squeamish, but I just don???t feel good about staying at a hotel that doubles as a funeral home. To top it off, the Internet access here sucks. It is so slow that I am watching the paint dry.&nbsp; Maybe I should go down and catch a funeral or two while I wait for a page to load.&nbsp; In any event, I think this will be the last time I stay here.&nbsp; I just can???t wait for what the rest of this week brings!</p></div>
]]></content:encoded>
      <pubDate>Tue, 22 Jul 2008 19:41:36 +0000</pubDate>
      <category domain="http://securityratty.com/tag/hotel">hotel</category>
      <category domain="http://securityratty.com/tag/hotel reservations">hotel reservations</category>
      <category domain="http://securityratty.com/tag/hotel reservation">hotel reservation</category>
      <category domain="http://securityratty.com/tag/home">home</category>
      <category domain="http://securityratty.com/tag/funeral home">funeral home</category>
      <category domain="http://securityratty.com/tag/week brings">week brings</category>
      <category domain="http://securityratty.com/tag/funeral">funeral</category>
      <category domain="http://securityratty.com/tag/keys">keys</category>
      <category domain="http://securityratty.com/tag/week">week</category>
      <source url="http://www.stillsecureafteralltheseyears.com/ashimmy/2008/07/when-your-hotel.html">When your hotel does funerals</source>
    </item>
    <item>
      <title><![CDATA[When your hotel does funerals]]></title>
      <link>http://securityratty.com/article/cb3246b5c2e5a9f8d7ce414decd6efd3</link>
      <guid>http://securityratty.com/article/cb3246b5c2e5a9f8d7ce414decd6efd3</guid>
      <description><![CDATA[So another week, another travel nightmare. This week I am in the DC area for a few days, than flying over to Ohio and then back home. Staying in the DC/Northern Va area I made hotel reservations...]]></description>
      <content:encoded><![CDATA[
<div xmlns="http://www.w3.org/1999/xhtml"><p>So another week, another travel nightmare.&nbsp; This week I am in the DC area for a few days, than flying over to Ohio and then back home.&nbsp; Staying in the DC/Northern Va area I made hotel reservations through our corporate Expedia account (which is now called Egencia BTW). Though it is fine for airline reservations, I regret it every time I make a hotel reservation on Expedia.&nbsp; This time I reserved a room at the <a href="http://www.google.com/aclk?sa=L&amp;ai=B953Ve6WGSLmnCIHceNvFuMMG-O_QGNDqiswB_LTwvwfgpxIIABABGAEoAjgBUOK2vZn8_____wFgyaaZjeykgBDIAQHIAtiqsgHZA9i4qLGuQL7D&amp;sig=AGiWqtw77p9SVu7mO_lOJ0ulJrBj4rf-rg&amp;q=http://www.virginiansuites.com/%3Fsrc%3Dppc_google_brand">Virginian Suites</a>. I had never heard of it, but it was only $158, which is really cheap for around here.&nbsp; It had 3 stars and sounded good, so I booked it.</p>

<p>I arrived tonight and as I pulled up I have to say that I thought I made a good choice. It is a converted apartment building and every room is actually a studio type of apartment. It has free parking and is located near where I have meetings in Arlington. I gave my name at the desk and they had my reservation, looking good!&nbsp; I was given keys to room 707 and headed on up.&nbsp; I got to room 707 and tried to open the door.&nbsp; No luck, the keys didn’t work. After a moment or two of trying to make the keys work, the door opens and the guy who is staying in the room wants to know what I am doing trying to get in. Well I was reminded of an old Robert Schimmel comedy routine and ran away from there as fast as I could.&nbsp; </p>

<p>I went back down to the desk and told them what happened.&nbsp; The woman at the desk apologized, she meant to write room 700, not 707.&nbsp; While I am waiting for her to correct this and issue new keys, I am looking at the schedule of events at the hotel today.&nbsp; That is when I notice that one of the main events of the day was a someone’s funeral!&nbsp; Thats right, it seems the hotel is used for funerals in the area.&nbsp; That just freaked me out.&nbsp; Now I am getting Six Feet Under deja vu here.&nbsp; I don’t know, call me squeamish, but I just don’t feel good about staying at a hotel that doubles as a funeral home. To top it off, the Internet access here sucks. It is so slow that I am watching the paint dry.&nbsp; Maybe I should go down and catch a funeral or two while I wait for a page to load.&nbsp; In any event, I think this will be the last time I stay here.&nbsp; I just can’t wait for what the rest of this week brings!</p></div>

<p><a href="http://feeds.feedburner.com/~a/StillsecureAfterAllTheseYears?a=bAF3vT"><img src="http://feeds.feedburner.com/~a/StillsecureAfterAllTheseYears?i=bAF3vT" border="0"></img></a></p><div class="feedflare">
<a href="http://feeds.feedburner.com/~f/StillsecureAfterAllTheseYears?a=TtFnXJ"><img src="http://feeds.feedburner.com/~f/StillsecureAfterAllTheseYears?i=TtFnXJ" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/StillsecureAfterAllTheseYears?a=FF9XkJ"><img src="http://feeds.feedburner.com/~f/StillsecureAfterAllTheseYears?i=FF9XkJ" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/StillsecureAfterAllTheseYears?a=CgaObJ"><img src="http://feeds.feedburner.com/~f/StillsecureAfterAllTheseYears?i=CgaObJ" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/StillsecureAfterAllTheseYears?a=kuNdRJ"><img src="http://feeds.feedburner.com/~f/StillsecureAfterAllTheseYears?i=kuNdRJ" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/StillsecureAfterAllTheseYears?a=KCgbwj"><img src="http://feeds.feedburner.com/~f/StillsecureAfterAllTheseYears?i=KCgbwj" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/StillsecureAfterAllTheseYears?a=BQjQzj"><img src="http://feeds.feedburner.com/~f/StillsecureAfterAllTheseYears?i=BQjQzj" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/StillsecureAfterAllTheseYears/~4/343165828" height="1" width="1"/>]]></content:encoded>
      <pubDate>Tue, 22 Jul 2008 18:45:08 +0000</pubDate>
      <category domain="http://securityratty.com/tag/hotel">hotel</category>
      <category domain="http://securityratty.com/tag/hotel reservations">hotel reservations</category>
      <category domain="http://securityratty.com/tag/hotel reservation">hotel reservation</category>
      <category domain="http://securityratty.com/tag/home">home</category>
      <category domain="http://securityratty.com/tag/funeral home">funeral home</category>
      <category domain="http://securityratty.com/tag/funeral">funeral</category>
      <category domain="http://securityratty.com/tag/week brings">week brings</category>
      <category domain="http://securityratty.com/tag/keys">keys</category>
      <category domain="http://securityratty.com/tag/week">week</category>
      <source url="http://feeds.feedburner.com/~r/StillsecureAfterAllTheseYears/~3/343165828/when-your-hotel.html">When your hotel does funerals</source>
    </item>
  </channel>
</rss>
