<?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: console]]></title>
    <link>http://securityratty.com/tag/console</link>
    <description></description>
    <pubDate>Thu, 21 Feb 2008 19:10:54 +0000</pubDate>
    <generator>iRatty Engine</generator>
    <docs>http://blogs.law.harvard.edu/tech/rss</docs>
    <item>
      <title><![CDATA[Expanding Response: Deeper Analysis for Incident Handlers]]></title>
      <link>http://securityratty.com/article/3bd8455fedce6ac873ea3b9f63cd7b90</link>
      <guid>http://securityratty.com/article/3bd8455fedce6ac873ea3b9f63cd7b90</guid>
      <description><![CDATA[To achieve my GCIH Gold, I recently completed a paper called Expanding Response: Deeper Analysis for Incident Handlers , now available in the SANS Reading Room . The premise was to further expand on...]]></description>
      <content:encoded><![CDATA[To achieve my GCIH Gold, I recently completed a paper called <a href="http://www.sans.org/reading_room/whitepapers/incident/32904.php">Expanding Response: Deeper Analysis for Incident Handlers</a>, now available in the <a href="http://www.sans.org/reading_room/">SANS Reading Room</a>. The premise was to further expand on the topics discussed in my <a href="http://holisticinfosec.blogspot.com/2007/12/malware-analysis-tools.html">Malware analysis tools</a> post. This paper includes tools discussed at various times in my <a href="http://holisticinfosec.org/content/view/12/26/">toolsmith</a> column in the <a href="http://issa.org/Members/Journal.html">ISSA Journal</a>, and includes details on <a href="http://qosient.com/argus/">Argus</a>, <a href="http://www.rawpacket.org/projects/hex/hex-livecd/version-20-release">HeX</a>, <a href="http://writequit.org/projects/nsm-console/">NSM-Console</a>, and <a href="http://sourceforge.net/projects/networkminer/">NetworkMiner</a>.<br /><br />Abstract:<br />    <span style="font-style:italic;">"The perspective embraced for this discussion is that of an analyst who is working a process to determine the exact nature of malicious software on his network. He is in receipt of the above mentioned .exe and .pcap files and seeks to further his understanding with the use of less typical tools. She begins the process with the network capture, and then takes a closer look at the binary to see what can be learned and what the impacts of an outbreak on her network might be."</span><br /><br /><a href="http://del.icio.us/post?url=http://holisticinfosec.blogspot.com/2008/10/expanding-response-deeper-analysis-for.html&title=Expanding%20Response:%20Deeper%20Analysis%20for%20Incident%20Handlers " title="Expanding Response: Deeper Analysis for Incident Handlers ">del.icio.us</a> | <a href="http://digg.com/submit?phase=2&amp;url=http://holisticinfosec.blogspot.com/2008/10/expanding-response-deeper-analysis-for.html" title="Expanding Response: Deeper Analysis for Incident Handlers ">digg</a> | <a href="http://slashdot.org/submit.pl?url=http://holisticinfosec.blogspot.com/2008/10/expanding-response-deeper-analysis-for.html">Submit to Slashdot</a>]]></content:encoded>
      <pubDate>Fri, 10 Oct 2008 04:38:00 +0000</pubDate>
      <category domain="http://securityratty.com/tag/network">network</category>
      <category domain="http://securityratty.com/tag/paper includes tools">paper includes tools</category>
      <category domain="http://securityratty.com/tag/incident handlers">incident handlers</category>
      <category domain="http://securityratty.com/tag/network capture">network capture</category>
      <category domain="http://securityratty.com/tag/deeper analysis">deeper analysis</category>
      <category domain="http://securityratty.com/tag/paper">paper</category>
      <category domain="http://securityratty.com/tag/gcih gold">gcih gold</category>
      <category domain="http://securityratty.com/tag/includes details">includes details</category>
      <category domain="http://securityratty.com/tag/pcap files">pcap files</category>
      <source url="http://holisticinfosec.blogspot.com/2008/10/expanding-response-deeper-analysis-for.html">Expanding Response: Deeper Analysis for Incident Handlers</source>
    </item>
    <item>
      <title><![CDATA[Fake YouTube Pages Getting Popular, New Tool Released Allows Fake Pages Creation In Seconds]]></title>
      <link>http://securityratty.com/article/d448bcf7eb83e5283adf4f42f9e78631</link>
      <guid>http://securityratty.com/article/d448bcf7eb83e5283adf4f42f9e78631</guid>
      <description><![CDATA[TrendLabs report a new hacking tool that is circulating on the Internet and allows malicious users to create fake YouTube pages designed to deliver malware. The tool is detected by Trend Micro as HKTL...]]></description>
      <content:encoded><![CDATA[TrendLabs report a new hacking tool that is circulating on the Internet and allows malicious users to create fake YouTube pages designed to deliver malware. The tool is detected by Trend Micro as HKTL_FAKEYOUT, features a Spanish-language user-friendly console that a &#8220;hacker&#8221; could use to create a pair of Web pages that look eerily identical [...]]]></content:encoded>
      <pubDate>Thu, 09 Oct 2008 09:47:56 +0000</pubDate>
      <category domain="http://securityratty.com/tag/fake youtube pages">fake youtube pages</category>
      <category domain="http://securityratty.com/tag/tool">tool</category>
      <category domain="http://securityratty.com/tag/malicious users">malicious users</category>
      <category domain="http://securityratty.com/tag/user-friendly console">user-friendly console</category>
      <category domain="http://securityratty.com/tag/deliver malware">deliver malware</category>
      <category domain="http://securityratty.com/tag/trendlabs report">trendlabs report</category>
      <category domain="http://securityratty.com/tag/hktl fakeyout">hktl fakeyout</category>
      <category domain="http://securityratty.com/tag/eerily identical">eerily identical</category>
      <category domain="http://securityratty.com/tag/trend micro">trend micro</category>
      <source url="http://cyberinsecure.com/fake-youtube-pages-getting-popular-new-tool-released-allows-fake-pages-creation-in-seconds/">Fake YouTube Pages Getting Popular, New Tool Released Allows Fake Pages Creation In Seconds</source>
    </item>
    <item>
      <title><![CDATA[EstDomains & Intercage: A Perfect Couple in Crime]]></title>
      <link>http://securityratty.com/article/8490240982532919695d5c4c9231e15f</link>
      <guid>http://securityratty.com/article/8490240982532919695d5c4c9231e15f</guid>
      <description><![CDATA[If you track malware issues as readily as I do, you're likely aware of the failings of clownpacks like EstDomains and their hosting buddies Atrivo/Intercage. You need only follow Sunbelt's take on the...]]></description>
      <content:encoded><![CDATA[If you track malware issues as readily as I do, you're likely aware of the failings of clownpacks like EstDomains and their hosting buddies Atrivo/Intercage. You need only follow Sunbelt's <a href="http://www.google.com/search?hl=en&q=site%3Asunbeltblog.blogspot.com+estdomains+atrivo+intercage&btnG=Search" target="_blank">take</a> on the topic, or <a href="http://www.emergingthreats.net/index.php?searchword=intercage&option=com_search&Itemid=5" target="_blank">search</a> Emergingthreats to come up to speed.<br />Yesterday, EstDomains posted the most inept, ridiculous <a href="http://www.domainnews.com/en/general/estdomains-denies-links-to-malware-distribution.html" target="_blank">response</a> ever issued to the endless and worthy criticism, largely <a href="http://technewsreview.com.au/article.php?article=5882" target="_blank">leveled</a> by Brian Krebs at the Washington Post. <br />Not only can't these morons from EstDomains write, they're either so deeply clueless or flagrantly malicious (likely both), it's beyond laughable. This section sums it up best:<br /><span style="font-style:italic;">"The company also has a reliable ally in its battle against malware in a face of Intercage, Inc which provides company with the hosting services of the highest quality. But the outstanding performance of hosting services is not the sole reason why EstDomains, Inc appreciates this partnership so greatly. Intercage, Inc generously provides EstDomains, Inc specialists with reports regarding discovered malware vehicles. As the main database for additional domain name management services is located in Intercage Data Center, EstDomains, Inc has the perfect opportunity to get notifications of the slightest mark of malware presence in the shortest time and take measures in advance."</span><br /><span style="font-weight:bold;">What? Really?</span> <br />Again, aside from the absolute butchery of the language, did they just say <span style="font-style:italic;">"The company also has a reliable ally in its battle against malware in a face of Intercage, Inc which provides company with the hosting services of the highest quality."</span>? SIGH...yes, they did.<br /><br />Allow me to exemplify just how ridiculous a claim that is.<br />Following is content from a packet capture I took during a recent Storm worm analysis.<br /><br />Using the ip2asn module included in <a href="http://writequit.org/projects/nsm-console/" target="_blank">NSM-console</a> availabe in <a href="http://www.rawpacket.org/projects/hex" target="_blank">HeX</a>, we find:<br />27595   | 216.255.189.211  | INTERCAGE - InterCage, Inc.<br /><br />Using Etherape, also included in <a href="http://www.rawpacket.org/projects/hex" target="_blank">HeX</a>, we see:<br /><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_kVOWaY1TAF0/SM880rNW5JI/AAAAAAAAACs/dWY8MUgSMUU/s1600-h/etherape_intercage.png"><img style="cursor:pointer; cursor:hand;" src="http://2.bp.blogspot.com/_kVOWaY1TAF0/SM880rNW5JI/AAAAAAAAACs/dWY8MUgSMUU/s320/etherape_intercage.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5246478966559532178" /></a><br /><br />Using <a href="http://networkminer.wiki.sourceforge.net/NetworkMiner" target="_blank">Eric Hjelmvik's</a> <a href="http://holisticinfosec.org/toolsmith/docs/august2008.pdf" target="_blank">NetworkMiner</a>, we see:<br /><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_kVOWaY1TAF0/SM8-JQvlEKI/AAAAAAAAAC0/vjYvpHAoFDw/s1600-h/NetworMiner_intercage.png"><img style="cursor:pointer; cursor:hand;" src="http://4.bp.blogspot.com/_kVOWaY1TAF0/SM8-JQvlEKI/AAAAAAAAAC0/vjYvpHAoFDw/s320/NetworMiner_intercage.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5246480419744190626" /></a><br /><br />See the recurring theme? Intercage, EstDomain's <span style="font-style:italic;">"reliable ally in its battle against malware"</span>.<br />Nice work, guys...keep it up.<br /><br />I'm submitting this to <a href="http://thedailywtf.com/" target="blank">The Daily WTF</a> as we speak.<br /><br /><a href="http://del.icio.us/post?url=http://holisticinfosec.blogspot.com/2008/09/estdomains-intercage-perfect-couple-in.html&title=EstDomains%20&%20Intercage:%20A%20Perfect%20Couple%20in%20Crime " title="EstDomains & Intercage: A Perfect Couple in Crime ">del.icio.us</a> | <a href="http://digg.com/submit?phase=2&amp;url=http://holisticinfosec.blogspot.com/2008/09/estdomains-intercage-perfect-couple-in.html" title="EstDomains & Intercage: A Perfect Couple in Crime ">digg</a>]]></content:encoded>
      <pubDate>Mon, 15 Sep 2008 17:32:00 +0000</pubDate>
      <category domain="http://securityratty.com/tag/intercage">intercage</category>
      <category domain="http://securityratty.com/tag/estdomains">estdomains</category>
      <category domain="http://securityratty.com/tag/malware">malware</category>
      <category domain="http://securityratty.com/tag/malware presence">malware presence</category>
      <category domain="http://securityratty.com/tag/intercage data center">intercage data center</category>
      <category domain="http://securityratty.com/tag/track malware issues">track malware issues</category>
      <category domain="http://securityratty.com/tag/reliable ally">reliable ally</category>
      <category domain="http://securityratty.com/tag/management services">management services</category>
      <category domain="http://securityratty.com/tag/malware vehicles">malware vehicles</category>
      <source url="http://holisticinfosec.blogspot.com/2008/09/estdomains-intercage-perfect-couple-in.html">EstDomains &amp; Intercage: A Perfect Couple in Crime</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[Is Your Amazon Machine Image Vulnerable to SSH Spoofing Attacks?]]></title>
      <link>http://securityratty.com/article/5a589ef00d5d9b1682655f8eba7b1982</link>
      <guid>http://securityratty.com/article/5a589ef00d5d9b1682655f8eba7b1982</guid>
      <description><![CDATA[On the 23rd June, Amazon quietly rolled out a security fix for an issue originally discussed in the Amazon developer forums. Amazon documentation was revised to reflect the change as follows
Amazon...]]></description>
      <content:encoded><![CDATA[<p><img class="alignleft" style="float: left; border: 3px solid black; margin: 5px;" src="http://cloudsecurity.org/blog/wp-content/uploads/2008/07/ssh-clones-may-bite.jpg" alt="SSH - Clones may bites!" width="238" height="238" />On the 23rd June, Amazon quietly rolled out a <a href="http://docs.amazonwebservices.com/AWSEC2/2008-02-01/GettingStartedGuide/running-an-instance.html#connecting-to-an-instance">security fix</a> for an issue <a href="http://developer.amazonwebservices.com/connect/thread.jspa?threadID=21867&amp;start=0&amp;tstart=0">originally discussed</a> in the Amazon developer forums.  Amazon <a href="http://docs.amazonwebservices.com/AWSEC2/2008-02-01/GettingStartedGuide/index.html?WhatsNew.html">documentation</a> was revised to reflect the change as follows:</p>
<blockquote><p>&#8220;Amazon <acronym class="acronym">EC2</acronym> public <acronym class="acronym">AMI</acronym>s (<a href="http://www.amazon.com/gp/browse.html?node=201590011">Amazon Machine Image</a>) generate unique SSH (<a href="http://www.openssh.org">Secure Shell</a>) <strong>host </strong>keys each time you  						launch an instance. This enables you to get the host SSH keys from the  						console output and verify the host to which you are connecting.&#8221;</p></blockquote>
<blockquote><p>Important note: SSH <em>host </em>keys enable clients to verify the server identity (&#8221;are you really my server?&#8221;) and are separate from SSH <em>user </em>keys that allow the user to prove their identity to the server (&#8221;he really is Jeff&#8221;).</p></blockquote>
<h4>What does this mean?</h4>
<p>It means that EC2 instances created from a public AMI after June 23rd have unique SSH <strong>host </strong>keys and thus are not vulnerable to a man in the middle attack against the SSH protocol, but only *if* you manually verify the <strong>host</strong> SSH key during your <strong>initial </strong>SSH connection.</p>
<h4>OK, but I created my AMI before June 23rd - am I vulnerable?</h4>
<p>According to Amazon, yes.  Every EC2 instance copied from a public AMI will have the same SSH host keys as the original AMI.  The only exception to this is if the original AMI creator spotted this problem and used a hook to force SSH host key regeneration upon first boot.  This means that an attacker who say, uses a <a href="http://www.us-cert.gov/cas/techalerts/TA08-190B.html">DNS cache poisoning attack</a>, can intercept the communication between your SSH client and your AMI.</p>
<h4>How can I fix my pre-June 23rd AMIs?</h4>
<p>Regenerate the SSH host key.  The exact commands will depend on your operating system (hint: ssh-keygen).</p>
<h4>Who is to blame?</h4>
<p>Either the creators of the original AMI or Amazon - depends how you look at it.  If Amazon created the public AMI then it could be argued they are responsible.  However, anyone can submit a public AMI and Amazon makes no guarantee they are fit for use (Amazon do review the AMI listing according to their documentation).</p>
<p>Amazon can in fact make the argument they are acting in the interests of their users by implementing a shared solution to key regeneration (rather than requiring each user to manually regenerate the ssh host keys after booting an image).   That&#8217;s fine going forward but what of potential exposure to customers using the pre-June 23rd public AMI copies?</p>
<p>Just to be clear, its not the fault of SSH - &#8217;secure channels&#8217; require proper key management and the need for unique host keys is well documented.</p>
<h4>Are there any mitigating factors?</h4>
<p>Yes, if you have used security groups to limit SSH access to your AMI from IP ranges you trust (rather than the entire Internet).  You&#8217;ll still want to regenerate the ssh host keys sooner than later.</p>
<h4>Is the Amazon environment vulnerable to Man-in-the-middle attacks?</h4>
<p>I don&#8217;t know.  But that isn&#8217;t the real question - is the path between you and your AMI immune to MITM attacks and the answer is most definitely no.  If SSH on your AMI is only accessible from another AMI then its a fair question but its unlikely Amazon are going to show you their network diagrams ;-).  From experience performing MITM attacks, I would assume most networks are vulnerable (one of the reasons why we use SSH).</p>
<h4>Why Didn&#8217;t Amazon Tell Me I&#8217;m Vulnerable?  They know from their logs what AMIs I use!</h4>
<p>Didn&#8217;t they?  Whoops - naughty Amazon :P.</p>
<p>But seriously, Amazon are not responsible for the configuration of the public AMIs you use.  Its important not to confuse the AMI selection and cloning mechanism that Amazon provides, with the content of an AMI itself.</p>
<h4>Does Amazon have a mailing list for customers to learn about new security problems (even if its not Amazon&#8217;s fault).</h4>
<p>Not that I know of.   Right now you have to search forum posts and monitor documentation updates - which is time consuming and makes it easy to miss something.  I also can&#8217;t find an area on the AWS website where they collect security related items together (e.g. best practices, advisories, key management).   In my view, this is a shame as it probably undermines the effort that Amazon are putting into their security  (for some customers, if they don&#8217;t &#8220;see it&#8221;, it doesn&#8217;t &#8220;exist&#8221;).</p>
<p>A &#8216;Security&#8217; link on the main AWS homepage pointing to those resources would go a long way to improving the visibility of the AWS security related information.</p>
<img src="http://feeds.feedburner.com/~r/CloudSecurity/~4/335241255" height="1" width="1"/>]]></content:encoded>
      <pubDate>Mon, 14 Jul 2008 12:26:40 +0000</pubDate>
      <category domain="http://securityratty.com/tag/ssh">ssh</category>
      <category domain="http://securityratty.com/tag/limit ssh access">limit ssh access</category>
      <category domain="http://securityratty.com/tag/ssh host keys">ssh host keys</category>
      <category domain="http://securityratty.com/tag/host keys">host keys</category>
      <category domain="http://securityratty.com/tag/ssh user keys">ssh user keys</category>
      <category domain="http://securityratty.com/tag/amazon">amazon</category>
      <category domain="http://securityratty.com/tag/host ssh keys">host ssh keys</category>
      <category domain="http://securityratty.com/tag/amazon machine image">amazon machine image</category>
      <category domain="http://securityratty.com/tag/initial ssh connection">initial ssh connection</category>
      <source url="http://feeds.feedburner.com/~r/CloudSecurity/~3/335241255/">Is Your Amazon Machine Image Vulnerable to SSH Spoofing Attacks?</source>
    </item>
    <item>
      <title><![CDATA[Log Management: Insight From Ancient Times (The 80s, That Is :-))]]></title>
      <link>http://securityratty.com/article/3c2197288da7c9adfdd3ccea784b86c9</link>
      <guid>http://securityratty.com/article/3c2197288da7c9adfdd3ccea784b86c9</guid>
      <description><![CDATA[My boss has posted two of the very fun blurbs on log management to our blog ; do check them out, especially if you are the fan of the 80s

The Best of the 80s: Log Management for Operations
More 80s:...]]></description>
      <content:encoded><![CDATA[<a href="http://www.loglogic.com/on-us/meet-us/">My boss</a> has posted two of the very fun blurbs on <a href="http://www.loglogic.com">log management</a> to <a href="http://blog.loglogic.com">our blog</a>; do check them out, especially if you are the fan of the 80s :-)<br /><ul><li><a href="http://blog.loglogic.com/2008/05/the_best_of_the_80s_log_management_for_operations/">The Best of the 80s: Log Management for Operations</a></li><li><a href="http://blog.loglogic.com/2008/05/the_best_of_the_80s_log_management_for_operations/">More 80s: Rubik's Cube for Log Operations</a></li></ul>Fun blurbs from the above:<br /><br />"In surveys, 70%+ of organizations confess their primary budget for log management still comes from compliance. However, this same group admits for years now that 70% of their use of log data is driven by operational needs such as fault detection and problem isolation."<br /><br />"The requirement to collect 100% of all log messages of all log sources is even more important in operations than it is in security." (<a href="http://blog.loglogic.com/2008/05/more_80s_rubiks_cube_for_log_operations/">why?</a>)<br /><br />"Rather than replacing these systems with yet another console, most companies are going to look for the ability to integrate a new information source, log data in this case, into the existing fault management console. Web services likely will be the mechanism of choice."<div class="blogger-post-footer">About me: http://www.chuvakin.org</div><div class="feedflare">
<a href="http://feeds.feedburner.com/~f/AntonChuvakinPersonalBlog?a=KUa7uH"><img src="http://feeds.feedburner.com/~f/AntonChuvakinPersonalBlog?i=KUa7uH" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/AntonChuvakinPersonalBlog?a=5CSzBH"><img src="http://feeds.feedburner.com/~f/AntonChuvakinPersonalBlog?i=5CSzBH" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/AntonChuvakinPersonalBlog?a=wJm7WH"><img src="http://feeds.feedburner.com/~f/AntonChuvakinPersonalBlog?i=wJm7WH" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/AntonChuvakinPersonalBlog/~4/289063437" height="1" width="1"/>]]></content:encoded>
      <pubDate>Mon, 12 May 2008 13:35:00 +0000</pubDate>
      <category domain="http://securityratty.com/tag/log management">log management</category>
      <category domain="http://securityratty.com/tag/80s">80s</category>
      <category domain="http://securityratty.com/tag/log data">log data</category>
      <category domain="http://securityratty.com/tag/console">console</category>
      <category domain="http://securityratty.com/tag/fault management console">fault management console</category>
      <category domain="http://securityratty.com/tag/organizations confess">organizations confess</category>
      <category domain="http://securityratty.com/tag/primary budget">primary budget</category>
      <category domain="http://securityratty.com/tag/operations">operations</category>
      <category domain="http://securityratty.com/tag/log messages">log messages</category>
      <source url="http://feeds.feedburner.com/~r/AntonChuvakinPersonalBlog/~3/289063437/log-management-insight-from-ancient.html">Log Management: Insight From Ancient Times (The 80s, That Is :-))</source>
    </item>
    <item>
      <title><![CDATA[Microsoft releases public beta of security console]]></title>
      <link>http://securityratty.com/article/6aa0a25d8ad6b1c947ed60c4fc5c75d5</link>
      <guid>http://securityratty.com/article/6aa0a25d8ad6b1c947ed60c4fc5c75d5</guid>
      <description><![CDATA[Microsoft on Tuesday released the first public beta of a centralized management console that will pull together administrative tasks around its collection of Forefront security software for clients,...]]></description>
      <content:encoded><![CDATA[Microsoft on Tuesday released the first public beta of a centralized management console that will pull together administrative tasks around its collection of Forefront security software for clients, servers and the network edge.]]></content:encoded>
      <pubDate>Tue, 08 Apr 2008 20:00:00 +0000</pubDate>
      <category domain="http://securityratty.com/tag/public beta">public beta</category>
      <category domain="http://securityratty.com/tag/forefront security software">forefront security software</category>
      <category domain="http://securityratty.com/tag/management console">management console</category>
      <category domain="http://securityratty.com/tag/administrative tasks">administrative tasks</category>
      <category domain="http://securityratty.com/tag/microsoft">microsoft</category>
      <category domain="http://securityratty.com/tag/network edge">network edge</category>
      <category domain="http://securityratty.com/tag/collection">collection</category>
      <category domain="http://securityratty.com/tag/tuesday">tuesday</category>
      <category domain="http://securityratty.com/tag/pull">pull</category>
      <source url="http://www.networkworld.com/news/2008/040908-rsa-microsoft-security-console.html?fsrc=rss-security">Microsoft releases public beta of security console</source>
    </item>
    <item>
      <title><![CDATA[Can game console technology find roadside bombs?]]></title>
      <link>http://securityratty.com/article/870f02aa35ac59c97603377a991f8a3e</link>
      <guid>http://securityratty.com/article/870f02aa35ac59c97603377a991f8a3e</guid>
      <description><![CDATA[While it can already be found in some of the most popular handheld devices and video game consoles, Markham, Ont.-based Quanser Consulting hopes to take haptic technology -- which merges tactile...]]></description>
      <content:encoded><![CDATA[While it can already be found in some of the most popular handheld devices and video game consoles, Markham, Ont.-based Quanser Consulting hopes to take haptic technology -- which merges tactile sensation and control to interaction with computer applications -- to uncharted terrain with a tour of duty in the Canadian military.]]></content:encoded>
      <pubDate>Fri, 28 Mar 2008 21:00:00 +0000</pubDate>
      <category domain="http://securityratty.com/tag/popular handheld devices">popular handheld devices</category>
      <category domain="http://securityratty.com/tag/video game consoles">video game consoles</category>
      <category domain="http://securityratty.com/tag/merges tactile sensation">merges tactile sensation</category>
      <category domain="http://securityratty.com/tag/canadian military">canadian military</category>
      <category domain="http://securityratty.com/tag/haptic technology">haptic technology</category>
      <category domain="http://securityratty.com/tag/computer applications">computer applications</category>
      <category domain="http://securityratty.com/tag/interaction">interaction</category>
      <category domain="http://securityratty.com/tag/quanser">quanser</category>
      <category domain="http://securityratty.com/tag/duty">duty</category>
      <source url="http://www.networkworld.com/news/2008/032808-can-game-console-technology-find.html?fsrc=rss-security">Can game console technology find roadside bombs?</source>
    </item>
    <item>
      <title><![CDATA[Create an 802.11n network without ripping up your 802.11g net]]></title>
      <link>http://securityratty.com/article/706cdf7c244d7c084847ba31e5f70a1e</link>
      <guid>http://securityratty.com/article/706cdf7c244d7c084847ba31e5f70a1e</guid>
      <description><![CDATA[Netgear's HD/Gaming 5GHz Wireless-N Networking Kit lets you create a wireless bridge between a router and a client. In addition to creating a bridge for a game console or other Ethernet device, the...]]></description>
      <content:encoded><![CDATA[Netgear's HD/Gaming 5GHz Wireless-N Networking Kit lets you create a wireless bridge between a router and a client. In addition to creating a bridge for a game console or other Ethernet device, the system creates an additional 802.11n-based wireless network. ]]></content:encoded>
      <pubDate>Mon, 03 Mar 2008 21:00:00 +0000</pubDate>
      <category domain="http://securityratty.com/tag/wireless bridge">wireless bridge</category>
      <category domain="http://securityratty.com/tag/bridge">bridge</category>
      <category domain="http://securityratty.com/tag/ethernet device">ethernet device</category>
      <category domain="http://securityratty.com/tag/game console">game console</category>
      <category domain="http://securityratty.com/tag/5ghz wireless-n">5ghz wireless-n</category>
      <category domain="http://securityratty.com/tag/wireless network">wireless network</category>
      <category domain="http://securityratty.com/tag/system">system</category>
      <category domain="http://securityratty.com/tag/netgear">netgear</category>
      <category domain="http://securityratty.com/tag/addition">addition</category>
      <source url="http://www.networkworld.com/columnists/2008/030608-cool-tools.html?fsrc=rss-security">Create an 802.11n network without ripping up your 802.11g net</source>
    </item>
    <item>
      <title><![CDATA[If NAC is an Easter egg hunt, is Cisco the bunny?]]></title>
      <link>http://securityratty.com/article/d43a12a2ccc53d358a1dbec751ff85d9</link>
      <guid>http://securityratty.com/article/d43a12a2ccc53d358a1dbec751ff85d9</guid>
      <description><![CDATA[Good article by Neil Roiter from Information Security Magazine on NAC moving ahead as the hype subsides. For a change from other articles we have read recently, Neil gives a true to life, no holds...]]></description>
      <content:encoded><![CDATA[
<div xmlns="http://www.w3.org/1999/xhtml"><p><a onclick="window.open(this.href, '_blank', 'width=353,height=480,scrollbars=no,resizable=no,toolbar=no,directories=no,location=no,menubar=no,status=no,left=0,top=0'); return false" href="http://www.stillsecureafteralltheseyears.com/.shared/image.html?/photos/uncategorized/2008/02/21/easter_bunny.jpg"><img title="Easter_bunny" height="305" alt="Easter_bunny" src="http://www.stillsecureafteralltheseyears.com/ashimmy/images/2008/02/21/easter_bunny.jpg" width="225" border="0" style="FLOAT: right; MARGIN: 0px 0px 5px 5px" /></a><a href="http://searchsecurity.techtarget.com/news/article/0,289142,sid14_gci1301578,00.html?track=NL-358&amp;ad=621557&amp;asrc=EM_NLN_3115478&amp;uid=1367609">Good article</a> by Neil Roiter from Information Security Magazine on NAC moving ahead as the hype subsides. For a change from other articles we have read recently, Neil gives a true to life, no holds barred assessment of where NAC is in the market.&nbsp; I think some of the comments from Lawrence Orans over at Gartner are right on.&nbsp; However, one he misses is in talking about the Cisco-Microsoft NAC partnership. I think the TCG-Microsoft partnership has replaced that one and Cisco is going to join that party through the NEA.&nbsp; <br /><br />For me though the quote of the article was this one by Brendan O'Connell, Cisco's product line manager for NAC, &quot;NAC is an Easter egg hunt. Policy lives in a lot of different places ..&quot;&nbsp; So does that make Cisco the NAC Easter Bunny? Seriously, policy does live in a lot of different places.&nbsp; I think eventually the answer lies in marrying network based admission control policies with endpoint based configuration policies.&nbsp; This is an area that is ripe for interaction and integration.&nbsp; I also think that Symantec talking about customers want a NAC solution, but not another console or another agent was a bit ironic.&nbsp; Just because you lump your agents together doesn't mean you have not added yet more overhead to the equation.&nbsp; Anyone who has used Symantecs new Endpoint Security with all of the mods turned on can talk to you about overhead and resource use. Whether the agent is separate or not, it is what the overhead is that counts.<br /><br />In any event, though Neil did not mention StillSecure (tsk, tsk) I thought this article was right on, that despite the naysayers and the inflated hype, NAC is being adopted in the market. It is maturing and most of all it is providing value to customers.</p></div>
]]></content:encoded>
      <pubDate>Thu, 21 Feb 2008 19:10:54 +0000</pubDate>
      <category domain="http://securityratty.com/tag/nac">nac</category>
      <category domain="http://securityratty.com/tag/cisco">cisco</category>
      <category domain="http://securityratty.com/tag/nac solution">nac solution</category>
      <category domain="http://securityratty.com/tag/cisco-microsoft nac partnership">cisco-microsoft nac partnership</category>
      <category domain="http://securityratty.com/tag/nac easter bunny">nac easter bunny</category>
      <category domain="http://securityratty.com/tag/easter egg hunt">easter egg hunt</category>
      <category domain="http://securityratty.com/tag/neil">neil</category>
      <category domain="http://securityratty.com/tag/neil roiter">neil roiter</category>
      <category domain="http://securityratty.com/tag/policy lives">policy lives</category>
      <source url="http://www.stillsecureafteralltheseyears.com/ashimmy/2008/02/if-nac-is-an-ea.html">If NAC is an Easter egg hunt, is Cisco the bunny?</source>
    </item>
  </channel>
</rss>
