<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>VMware &#8211; Phocean.net</title>
	<atom:link href="/tag/vmware/feed" rel="self" type="application/rss+xml" />
	<link>/</link>
	<description>Computer Security Blog</description>
	<lastBuildDate>Fri, 24 Feb 2017 21:17:51 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>https://wordpress.org/?v=4.9.10</generator>
	<item>
		<title>Rootkit in my lab? (Part III)</title>
		<link>/2012/07/22/rootkit-in-my-lab-part-iii.html</link>
		<comments>/2012/07/22/rootkit-in-my-lab-part-iii.html#comments</comments>
		<pubDate>Sun, 22 Jul 2012 07:48:06 +0000</pubDate>
		<dc:creator><![CDATA[phocean]]></dc:creator>
				<category><![CDATA[Forensic]]></category>
		<category><![CDATA[Mac OS]]></category>
		<category><![CDATA[Reversing]]></category>
		<category><![CDATA[Security]]></category>
		<category><![CDATA[System]]></category>
		<category><![CDATA[Windows]]></category>
		<category><![CDATA[Assembly]]></category>
		<category><![CDATA[BSOD]]></category>
		<category><![CDATA[crashdump]]></category>
		<category><![CDATA[Mac OS X]]></category>
		<category><![CDATA[Regshot]]></category>
		<category><![CDATA[Rootkit]]></category>
		<category><![CDATA[VMware]]></category>
		<category><![CDATA[WinDBG]]></category>

		<guid isPermaLink="false">http://www.phocean.net/?p=1317</guid>
		<guid isPermaLink="false">http://www.phocean.net/?p=1317</guid>
		<description><![CDATA[First, thanks for all the comments in the previous articles (Part I and Part II). I decided to analyze one the crash I experienced during registry analysis. I could reproduce all the time a BSOD with Regshot. I thought it would be nice to see what I could get with WinDBG. I had my environment set up...<br><i class="icon-right-hand"></i> <span class="read-more"><a href="/2012/07/22/rootkit-in-my-lab-part-iii.html">Continue Reading</a></span>]]></description>
				<content:encoded><![CDATA[<p>First, thanks for all the comments in the previous articles (<a title="Rootkit in my lab ? (part I)" href="/2012/06/30/rootkit-in-my-lab.html">Part I</a> and <a title="Rootkit in my lab ? (part II)" href="/2012/07/11/rootkit-in-my-lab-part-ii.html">Part II</a>).</p>
<p>I decided to analyze one the crash I experienced during registry analysis.<br />
I could reproduce all the time a BSOD with Regshot. I thought it would be nice to see what I could get with WinDBG.</p>
<p>I had my environment set up with the suspicious VM configured to debug activated on the serial port, which is a simple pipe on Mac OS X.<br />
Another VM is configured with a serial port as the other end of this pipe, and WinDBG attached to it.<br />
Another method would be to just configure Windows to create a crashdump file with kernel symbols, that you can later load into WinDBG. Of course, the first method offers more opportunities to check and play with the live system.</p>
<p>Then, I just boot the target and trigger the crash, simply by starting a scan with Regshot:</p>
<p style="text-align: center;"><iframe src="http://player.vimeo.com/video/46157626" frameborder="0" width="500" height="281"></iframe></p>
<p>Windows then crashes, WinDBG catches the exception and stops.</p>
<p>So what do we have ?</p>
<p>First, the error type, <em><strong>PAGE_FAULT_IN_NONPAGED_AREA (50)</strong></em>, means that an instruction pointed to an invalid memory address. Let&#8217;s check this.</p>
<p>With <em><strong>!analyse -v</strong></em>, you get the <a href="/wp-content/uploads/2012/07/regshot-BSOD.txt">full error dump</a>.</p>
<div id="attachment_1331" style="width: 727px" class="wp-caption aligncenter"><a href="/wp-content/uploads/2012/07/WinXP-ReversingBox-2.png" rel="lightbox[1317]"><img class=" wp-image-1331 " title="Crashing Instruction" src="/wp-content/uploads/2012/07/WinXP-ReversingBox-2-1024x557.png" alt="" width="717" height="390" srcset="/wp-content/uploads/2012/07/WinXP-ReversingBox-2-1024x557.png 1024w, /wp-content/uploads/2012/07/WinXP-ReversingBox-2-300x163.png 300w, /wp-content/uploads/2012/07/WinXP-ReversingBox-2.png 1206w" sizes="(max-width: 717px) 100vw, 717px" /></a><p class="wp-caption-text">Crashing Instruction</p></div>
<p>It shows the function (nt!CmpGetValueKeyFromCache, offset 0x89) and the memory address where the crash was triggered.</p>
<p>The instruction at this address is:</p>
<pre>80637807 f3a5 rep movs dword ptr es:[edi],dword ptr [esi]</pre>
<p>This instruction is trying to copy 8 bytes at the address pointed by EDI.<br />
EDI has the value of <strong>0xe1285050</strong> at execution time.</p>
<p>And what do we have at this memory location ?</p>
<div id="attachment_1333" style="width: 727px" class="wp-caption aligncenter"><a href="/wp-content/uploads/2012/07/WinXP-ReversingBox-3.png" rel="lightbox[1317]"><img class=" wp-image-1333 " title="EDI pointing to invalid memory section" src="/wp-content/uploads/2012/07/WinXP-ReversingBox-3-1024x671.png" alt="" width="717" height="470" srcset="/wp-content/uploads/2012/07/WinXP-ReversingBox-3-1024x671.png 1024w, /wp-content/uploads/2012/07/WinXP-ReversingBox-3-300x196.png 300w, /wp-content/uploads/2012/07/WinXP-ReversingBox-3.png 1394w" sizes="(max-width: 717px) 100vw, 717px" /></a><p class="wp-caption-text">EDI pointing to invalid memory section</p></div>
<p>Nothing indeed. Note that this corruption persists at every boot.</p>
<p>So what can we conclude?<br />
We can certainly exclude hardware failure, because it is a virtual machine and because the corruption always occur at the same memory region, even after a reboot.<br />
At least, I can now be sure that something in the kernel is definitely corrupted.</p>
<p>Could it be a rootkit trick? Still the question remains, but to me it now looks very, very suspicious. Some rootkit code, poorly written, could have sat in this non-paged memory area and been paged out, causing the BSOD. I have not much knowledge about it at this time but I am going to search on this. At least, I now have good starting point to look at.</p>
<p>That&#8217;s all for today, folks. I wrote it while I am still working on it, so sorry if it looks rough and incomplete. It is sort of live, thoughts are still in process.</p>
<p>Again, I am looking forward to reading your comments and suggestions. (Hopefully) there will be a part IV!</p>
]]></content:encoded>
			<wfw:commentRss>/2012/07/22/rootkit-in-my-lab-part-iii.html/feed</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Rootkit in my lab? (part II)</title>
		<link>/2012/07/11/rootkit-in-my-lab-part-ii.html</link>
		<comments>/2012/07/11/rootkit-in-my-lab-part-ii.html#comments</comments>
		<pubDate>Wed, 11 Jul 2012 20:18:58 +0000</pubDate>
		<dc:creator><![CDATA[phocean]]></dc:creator>
				<category><![CDATA[Forensic]]></category>
		<category><![CDATA[Reversing]]></category>
		<category><![CDATA[Security]]></category>
		<category><![CDATA[Virtualization]]></category>
		<category><![CDATA[Windows]]></category>
		<category><![CDATA[Keylogger]]></category>
		<category><![CDATA[Rootkit]]></category>
		<category><![CDATA[Sysinternals]]></category>
		<category><![CDATA[VMware]]></category>
		<category><![CDATA[Volatility]]></category>

		<guid isPermaLink="false">http://www.phocean.net/?p=1294</guid>
		<guid isPermaLink="false">http://www.phocean.net/?p=1294</guid>
		<description><![CDATA[I finished checking the RAM with Volatility and&#8230; I found nothing. Nada. It&#8217;s a lot of fustration. There must be something just there, but my findings are certainly limited by my skills. I attach here some of the main outputs of Volatility. As far as I can tell: no evidence of injection or kernel hooking...<br><i class="icon-right-hand"></i> <span class="read-more"><a href="/2012/07/11/rootkit-in-my-lab-part-ii.html">Continue Reading</a></span>]]></description>
				<content:encoded><![CDATA[<p>I finished checking the RAM with Volatility and&#8230; I found nothing. Nada.</p>
<p>It&#8217;s a lot of fustration. There must be something just there, but my findings are certainly limited by my skills.</p>
<p>I attach here some of the main outputs of Volatility. As far as I can tell:</p>
<ul>
<li>no evidence of injection or kernel hooking</li>
<li>no suspicious process</li>
<li>no suspicious driver</li>
<li>no suspicious registry entry</li>
<li>etc.</li>
</ul>
<p>Based on <a title="Rootkit in my lab?" href="/2012/06/30/rootkit-in-my-lab.html">my observations</a>, I first tried to narrow my investigations (drivers and hooks) but as I could not find anything, I ended dumping most of Volatility outputs in hope to see something unusual. I also compared them with a fresh Windows XP SP3 install. I extracted keyboard related drivers (keyboard.sys, kbdclass.sys, i8042prt.sys), hashed them, scanned them: there were native. I am less sure on how to deal with the software certificate system, but I did checked all Microsoft and root certificates in the bank along with their signature with a clean system: nothing wrong.</p>
<p>Dear reader, any help or tip is welcomed! Am I missing something obvious? Could it be possibly not a rootkit but some kind of corruption? If so, how to detect it?</p>
<p>Just drop me an e-mail if you want to have a look on the dump itself.</p>
<p>Volatility outputs:</p>
<ul>
<li><a href="/wp-content/uploads/2012/07/apihooks.txt">apihooks</a></li>
<li><a href="/wp-content/uploads/2012/07/driverscan.txt">driverscan</a></li>
<li><a href="/wp-content/uploads/2012/07/handles.txt">handles</a></li>
<li><a href="/wp-content/uploads/2012/07/idt.txt">idt</a></li>
<li><a href="/wp-content/uploads/2012/07/ldrmodules.txt">ldrmodules</a></li>
<li><a href="/wp-content/uploads/2012/07/malfind-yara.txt">malfind-yara</a></li>
<li><a href="/wp-content/uploads/2012/07/malfind.txt">malfind</a></li>
<li><a href="/wp-content/uploads/2012/07/ssdt.txt">ssdt</a></li>
<li><a href="/wp-content/uploads/2012/07/svcscan.txt">svcscan</a></li>
<li><a href="/wp-content/uploads/2012/07/threads1.txt">threads</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>/2012/07/11/rootkit-in-my-lab-part-ii.html/feed</wfw:commentRss>
		<slash:comments>8</slash:comments>
		</item>
		<item>
		<title>Rootkit in my lab?</title>
		<link>/2012/06/30/rootkit-in-my-lab.html</link>
		<comments>/2012/06/30/rootkit-in-my-lab.html#comments</comments>
		<pubDate>Sat, 30 Jun 2012 17:49:49 +0000</pubDate>
		<dc:creator><![CDATA[phocean]]></dc:creator>
				<category><![CDATA[Forensic]]></category>
		<category><![CDATA[Reversing]]></category>
		<category><![CDATA[Security]]></category>
		<category><![CDATA[Virtualization]]></category>
		<category><![CDATA[Windows]]></category>
		<category><![CDATA[Keylogger]]></category>
		<category><![CDATA[Rootkit]]></category>
		<category><![CDATA[Sysinternals]]></category>
		<category><![CDATA[VMware]]></category>
		<category><![CDATA[Volatility]]></category>

		<guid isPermaLink="false">http://www.phocean.net/?p=1268</guid>
		<guid isPermaLink="false">http://www.phocean.net/?p=1268</guid>
		<description><![CDATA[Context For now, I can&#8217;t tell much about the context, mainly because it may &#8211; or may not &#8211; involve other people. The only thing I am interested in is to spot the issue and understand precisely what is going on. What makes the case really interesting though, is that it occurred on a fresh...<br><i class="icon-right-hand"></i> <span class="read-more"><a href="/2012/06/30/rootkit-in-my-lab.html">Continue Reading</a></span>]]></description>
				<content:encoded><![CDATA[<h2>Context</h2>
<p>For now, I can&#8217;t tell much about the context, mainly because it may &#8211; or may not &#8211; involve other people. The only thing I am interested in is to spot the issue and understand precisely what is going on.</p>
<p>What makes the case really interesting though, is that it occurred on a fresh install of a Windows XP virtual machine. I aimed it to be a clean malware reversing snapshot. I noticed the weired behavior minutes after finishing the system install and setting up a bunch of reversing and live analysis tools.</p>
<p>So I bet that if I got some malware, it probably comes from one of those. At this time, unfortunately, there are too many and I could not spot the exact time, so I can not start the analysis from this angle.</p>
<p>This article is almost written in live, so pardon my mistakes. I will update it as soon as I find something new. Of course, I am really expecting your feedback, suggestions and corrections. I see it as a great opportunity to learn, even though this one may not be the easiest&#8230;</p>
<h2>Symptoms</h2>
<p>Two things alerted me quickly.</p>
<p>The first one was, at a point, the permanent failure of going through the full windows update process. Believe me, I have tried all ways.</p>
<p>The second one was the weird dialog when trying to access to the keyboard layout settings. It says &#8220;<em><strong>Incompatible driver detected</strong></em>&#8220;. To me, this looks like there is a keylogger somewhere&#8230;</p>
<div id="attachment_1269" style="width: 648px" class="wp-caption aligncenter"><a href="/wp-content/uploads/2012/06/WinXP-Reversing.png" rel="lightbox[1268]"><img class=" wp-image-1269 " title="WinXP-Reversing" src="/wp-content/uploads/2012/06/WinXP-Reversing.png" alt="" width="638" height="577" srcset="/wp-content/uploads/2012/06/WinXP-Reversing.png 1064w, /wp-content/uploads/2012/06/WinXP-Reversing-300x270.png 300w, /wp-content/uploads/2012/06/WinXP-Reversing-1024x924.png 1024w" sizes="(max-width: 638px) 100vw, 638px" /></a><p class="wp-caption-text">Suspicious activities: the keyboard driver and windows update seem to be messed</p></div>
<p>Then, as I started to check around, more odd stuff came out.</p>
<p>I fired up Process Explorer, and soon realize that it was &#8220;unable to verify&#8221; the signatures of all the running Windows processes. I could not find anything else suspicious, though (no odd process, memory content looks normal, etc.).</p>
<div id="attachment_1275" style="width: 727px" class="wp-caption aligncenter"><a href="/wp-content/uploads/2012/06/VMware-Fusion.png" rel="lightbox[1268]"><img class=" wp-image-1275 " title="Process Explorer validating processes" src="/wp-content/uploads/2012/06/VMware-Fusion-1024x552.png" alt="" width="717" height="386" srcset="/wp-content/uploads/2012/06/VMware-Fusion-1024x552.png 1024w, /wp-content/uploads/2012/06/VMware-Fusion-300x162.png 300w" sizes="(max-width: 717px) 100vw, 717px" /></a><p class="wp-caption-text">On the left, Process Explorer fails to validate any Windows process.<br />On the right, expected behavior on a clean system.</p></div>
<p>Ok, while I am with the Sysinternal suite, why not scanning with Rootkit Revealer:</p>
<div id="attachment_1279" style="width: 379px" class="wp-caption aligncenter"><a href="/wp-content/uploads/2012/06/Windows-XP-Reversing.png" rel="lightbox[1268]"><img class=" wp-image-1279 " title="Rootkit Revealer" src="/wp-content/uploads/2012/06/Windows-XP-Reversing.png" alt="" width="369" height="257" srcset="/wp-content/uploads/2012/06/Windows-XP-Reversing.png 615w, /wp-content/uploads/2012/06/Windows-XP-Reversing-300x209.png 300w" sizes="(max-width: 369px) 100vw, 369px" /></a><p class="wp-caption-text">Rootkit Revealer cannot access to the SYSTEM hive of the registry</p></div>
<p>Interesting&#8230; and what about GMER:</p>
<div id="attachment_1282" style="width: 452px" class="wp-caption aligncenter"><a href="/wp-content/uploads/2012/06/Windows-XP-Reversing-2.png" rel="lightbox[1268]"><img class=" wp-image-1282 " title="GMER" src="/wp-content/uploads/2012/06/Windows-XP-Reversing-2.png" alt="" width="442" height="339" srcset="/wp-content/uploads/2012/06/Windows-XP-Reversing-2.png 736w, /wp-content/uploads/2012/06/Windows-XP-Reversing-2-300x230.png 300w" sizes="(max-width: 442px) 100vw, 442px" /></a><p class="wp-caption-text">GMER crashes when accessing the registry&#8230;</p></div>
<p>Oops! Now it crashes when it is accessing the registry&#8230;</p>
<p>For the fun, let&#8217;s see what happens if we try to set up an antivirus (Security Essentials):</p>
<div id="attachment_1283" style="width: 648px" class="wp-caption aligncenter"><a href="/wp-content/uploads/2012/06/Windows-XP-Reversing-3.png" rel="lightbox[1268]"><img class=" wp-image-1283 " title="Installation of Microsoft Security Essentials" src="/wp-content/uploads/2012/06/Windows-XP-Reversing-3.png" alt="" width="638" height="577" srcset="/wp-content/uploads/2012/06/Windows-XP-Reversing-3.png 1064w, /wp-content/uploads/2012/06/Windows-XP-Reversing-3-300x270.png 300w, /wp-content/uploads/2012/06/Windows-XP-Reversing-3-1024x924.png 1024w" sizes="(max-width: 638px) 100vw, 638px" /></a><p class="wp-caption-text">Windows certificate warning when installing&#8230; Microsoft Security Essentials!!!</p></div>
<p>Nice one! Very suspicious! Note that after a full scan, Security Essentials reports me that the system is clean and everything is fine. I am so relieved. :)</p>
<p>Curious to see how my certificates are, I run <em><strong>certmgr.msc. </strong></em><strong></strong>I compared all Microsoft root certificates with a clean machine and could not see anything different. But again something happened:</p>
<div id="attachment_1285" style="width: 360px" class="wp-caption aligncenter"><a href="/wp-content/uploads/2012/06/Windows-XP-Reversing-5.png" rel="lightbox[1268]"><img class=" wp-image-1285 " title="certmgr.msc" src="/wp-content/uploads/2012/06/Windows-XP-Reversing-5.png" alt="" width="350" height="193" srcset="/wp-content/uploads/2012/06/Windows-XP-Reversing-5.png 500w, /wp-content/uploads/2012/06/Windows-XP-Reversing-5-300x165.png 300w" sizes="(max-width: 350px) 100vw, 350px" /></a><p class="wp-caption-text">certmgr.msc crashes</p></div>
<p>Oh, just one of my last attempts to do live analysis (this the WinPcap setup included with Wireshark):</p>
<div id="attachment_1288" style="width: 391px" class="wp-caption aligncenter"><a href="/wp-content/uploads/2012/06/Windows-XP-Reversing-6.png" rel="lightbox[1268]"><img class=" wp-image-1288 " title="WinPCAP installation" src="/wp-content/uploads/2012/06/Windows-XP-Reversing-6.png" alt="" width="381" height="305" srcset="/wp-content/uploads/2012/06/Windows-XP-Reversing-6.png 544w, /wp-content/uploads/2012/06/Windows-XP-Reversing-6-300x239.png 300w" sizes="(max-width: 381px) 100vw, 381px" /></a><p class="wp-caption-text">WinPCAP installation also fails</p></div>
<p>Ok, so enough played. The thing seems to be nicely done, and live analysis is going to be way too hard and unreliable.</p>
<h2>Memory Analysis</h2>
<p>This is where I am now. I reverted to a snapshot prior to my live analysis attemps, confirmed the strange behaviors are still observable, and suspended the VM to get the vmem file.</p>
<p>So I have spent the last hours scanning the memory with, of course, <em><strong>Volatility</strong></em>.</p>
<p>So far, I have to confess that I found NOTHING. But analyzing the memory can be a harsh process when it comes to sophisticated threats, and I may have reached the limits of my skills.</p>
<p>But, anyway, I could not dream of a greater and more exciting opportunity to learn!</p>
<p>My discoveries, if there are, will be published in another article.</p>
<p><strong>UPDATE: I forgot to tell that it is a Windows XP SP3 machine, but not fully updated due to the issues.</strong></p>
]]></content:encoded>
			<wfw:commentRss>/2012/06/30/rootkit-in-my-lab.html/feed</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>Network virtualization and the DMZ paradigm</title>
		<link>/2011/04/30/network-virtualization-and-the-dmz-paradigm.html</link>
		<comments>/2011/04/30/network-virtualization-and-the-dmz-paradigm.html#comments</comments>
		<pubDate>Sat, 30 Apr 2011 19:15:53 +0000</pubDate>
		<dc:creator><![CDATA[phocean]]></dc:creator>
				<category><![CDATA[Defense]]></category>
		<category><![CDATA[Network]]></category>
		<category><![CDATA[Security]]></category>
		<category><![CDATA[Virtualization]]></category>
		<category><![CDATA[architecture]]></category>
		<category><![CDATA[Cisco]]></category>
		<category><![CDATA[DMZ]]></category>
		<category><![CDATA[nexus]]></category>
		<category><![CDATA[vdc]]></category>
		<category><![CDATA[VMware]]></category>
		<category><![CDATA[vswitch]]></category>

		<guid isPermaLink="false">http://www.phocean.net/?p=1016</guid>
		<guid isPermaLink="false">http://www.phocean.net/?p=1016</guid>
		<description><![CDATA[The virtualization buzz I have recently worked on network virtualization. Many people, especially the network guys, have been recently excited with the VMware Vswitch or Cisco Nexus stuff.  It is something that I understand because virtualization is cool. It brings many convenient features that truly make the life easier. But what about the security? Convenience...<br><i class="icon-right-hand"></i> <span class="read-more"><a href="/2011/04/30/network-virtualization-and-the-dmz-paradigm.html">Continue Reading</a></span>]]></description>
				<content:encoded><![CDATA[<h2>The virtualization buzz</h2>
<p>I have recently worked on network virtualization. Many people, especially the network guys, have been recently excited with the VMware Vswitch or Cisco Nexus stuff.  It is something that I understand because virtualization is cool. It brings many convenient features that truly make the life easier.</p>
<p>But what about the security? Convenience and security rarely come together, right? Oh, wait&#8230; we are in 2011, so lessons must have been learned. After all, Mr Salesman swear that it is more secure than ever. Convenience and security packed together, he says&#8230; it sounds promising. Let&#8217;s dig a little to find out what they won&#8217;t tell you&#8230;</p>
<p>I will focus on what really changes with virtualization : the architecture. One of the main goals of the technology is to reduce the number of physical devices to cut the costs, save space and energy. Of course, it goes with a simplification of the <strong>physical </strong>architecture. Therefore, some features previously handled by dedicated physical devices are now handled <strong>logically by a unique piece of hardware</strong>.</p>
<p>This obviously goes against the security best practices about designing network architectures with various degrees of exposure. But has the technology evolved so much that we should reconsider these recommendations?</p>
<h2>VMware Vswitches or Nexus 1000V</h2>
<p>These technologies are similar in the sense that they are designed to work directly inside the VMware platform. Vswitches are integrated with the solution of VMware, while Nexus benefits from the experience of Cisco and bring more layer 2 control (more settings, more protocols).</p>
<p>As well on the architecture documents of VMware as within the administration interface of Vcenter, it appears so easy to create segregated switches and build this way in a few clicks a DMZ architecture:</p>
<p style="text-align: center;"><img class="aligncenter size-full wp-image-1069" title="Vswitch" src="/wp-content/uploads/2011/04/Sélection_002.resized.png" alt="" width="318" height="240" /></p>
<p>But it is slightly different in reality, as <strong>Brad Hedlund</strong> from Cisco shows in an interesting article: <a title="the vswitch illusion and DMZ virtualization" href="http://bradhedlund.com/2010/02/10/vswitch-illusion-dmz-virtualization/" target="_blank">the vswitch illusion and DMZ virtualization</a>. In short, whether you are using VMware Vswitches or Nexus 1000V, a single threaded program runs all the configured virtual switches. In clear, all the virtual switches share the same memory space. So, any vulnerability in the code would compromise all the switches, in other words: the entire network. And, not a surprise here, there have been many vulnerabilities. Just browse a <a title="CVE database" href="http://cve.mitre.org/cve/" target="_blank">CVE database</a> if you want to check.</p>
<p>So you don&#8217;t want to rely on such a design for your datacenter, right?</p>
<h2>Nexus 7000</h2>
<p>In the case of the Nexus 7000, it is a little bit different because most   of the switching work is handled by specific hardware, which have a   much smaller attack surface than the vswitches stuff. But is it really   safe?</p>
<p>The Nexus family is quite new and from what I could witness, they are  quite pushy selling that. Because it is new, there is still neither much  info surrounding the technologies used, nor user feedback, nor security  research. Anyway, below is a quick sum-up of what I could find.</p>
<h3>A few words about the architecture</h3>
<p>In a layer 3 Nexus architecture, Nexus 2000, 5000 and 7000 are designed to work together. Nexus 2000 are basically top-of-the-rack port panels, with no intelligence. Nexus 5000 takes care of most of the layer 2 switching, while Nexus 7000 adds layer 2 functionalities and layer 3 support. Nexus 2000 and 5000 can work without the 7000, but in that case there is not so much difference with a classic layer 2 switch in terms of security (but it has the advantage to be more flexible to integrate in a datacenter). <a title="Difference between Nexus 7000 and Nexus 5000" href="http://www.netcraftsmen.net/resources/technical-articles/348.html" target="_blank">This</a> and <a title="Nexus 7000 architecture" href="http://www.scribd.com/doc/33217473/RST-3009-Cisco-Nexus-7000-Switch-Architecture" target="_blank">this</a> may help you to visualize the differences.</p>
<p><img class="aligncenter size-full wp-image-1070" title="Nexus Architecture" src="/wp-content/uploads/2011/04/nexus-architecture.resized.js" /></p>
<p>So we will focus on the Nexus 7000 architecture, which bring VDC as a way to handle DMZ architectures. VDC are somehow similar to VLANs. But whereas VLANs virtualized LANs on a switch, VDC virtualize switches. So, on the same Nexus 5000 device, VDC will add the capacity to have multiple virtual switches which are in theory properly isolated.</p>
<p>This is a very basic sum-up for what we are interested in, but if you want to learn more, I encourage you to read the <a title="Cisco VDC" href="http://www.cisco.com/en/US/prod/collateral/switches/ps9441/ps9402/ps9512/White_Paper_Tech_Overview_Virtual_Device_Contexts.html" target="_blank">Cisco whitepaper about VDCs</a>.</p>
<h3>The flaws</h3>
<p>Now that the presentations are made, the downside&#8230;</p>
<p><strong>George Hedfors</strong> is the only researcher that worked notably on this platform, as far as I am aware. He made some really great findings, that you can discover within <a title="NX OS Speech, George Hedfors" href="http://george.hedfors.com/content/slides-my-nx-os-speech-t2-helsinki" target="_blank">his slides</a>.<br />
At the time of his work &#8211; 2010, it appeared that the NX-OS consisted of a Linux Kernel 2.6.10 (released in 2004!). We can imagine that the OS has been signifiantly customized and hardened by Cisco. They may have include NX-bit support  (included since 2.6.8 and later improved). However, there is probably no ALSR support (2.6.12), no MAC system (SELinux or Tomoyo). Of course, I may be wrong but I haven&#8217;t found any documentation about that and my Cisco contact did not provide me with any consistent detail.</p>
<p>Anyway, he found a bunch of design flaws:</p>
<ul>
<li><strong>Poor CLI design</strong>: there are 686 hidden commands (system, debugging) that can be launched as root (sudo without password). One of these command is gdb, which can start a network daemon as root. The attacker can then connect to the socket to attach to any process on the system to elevate his privileges. Of course, it requires some shell access, so the exposure is limited. However, it is very instructive of how the system was designed!</li>
<li><strong>Insecure daemon configuration</strong>: Daemon are not chrooted and run with the root user.</li>
<li><strong>Embarassing CDP vulnerability</strong> : a vulnerability from 2001 was reintroduced in the code handling CDP. So it is possible to crash a daemon running as root. What if another vulnerability on a layer 2 daemon (vtp, hsrp, stp&#8230;) was discovered and allowed to rewrite the stack? Game over, the attacker is root.</li>
<li><strong>Strange hidden account</strong> : there is a ftpuser hidden account with a dumb password (nbv123). Secret backdoor? I don&#8217;t know, but anyway it is not serious at all and should have been revealed by any consistent audit.</li>
<li><strong>Shell design flaw</strong>: the VSH shell accepts a parameter (-a) that allow to spawn any command over the security roles normaly in place.</li>
<li>You can also get a root shell by simply spawning <strong><em>ssh `/bin/bash`</em></strong> from the CLI.</li>
</ul>
<p>To any serious security guy or unix administrator, these should look like amateurism. And what&#8217;s the hell are all the security audits for?</p>
<p>So concerning the Nexus 7000, it is obvious that at best it is not specifically designed to be secure, at worst it was simply as poorly designed (or released too quickly) as most stuff.</p>
<h2>Conclusion</h2>
<p>In conclusion, one thing we can tell for sure is that none of the virtualized networking solutions are designed to be secure. Of course, all these flaws are hopefully already or will be soon fixed. But, despite what Cisco may claim, the facts are here: there is no VDC miracle. The Nexus platform is certainly great, but not more bug-free, flaw-free than any other piece of code.<br />
No virtualized architecture can give the same degree of protection than physical segregation.</p>
<p>In the case of Vswitches or Nexus 1000, the attack surface is just too high to use it for DMZ segregation if you are serious about security. The vulnerabilities are already here and it will be feasible for a skillful and motivated attacker to own your datacenter.</p>
<p>Concerning the Nexus 7000 and its VDC, the attack surface is considerably reduced because there is less code and fewer protocols at layer 2. However, it is undoubtly less secure than physical segregation. Any zero-day vulnerability would potentially expose the datacenter (and we all know that some zero-day sometimes take years before coming to the public, which is a lot of time for the criminals or the government agencies to exploit it). You can&#8217;t take it lightly when it comes to the whole datacenter integrity and it doesn&#8217;t make sense if you have expensive (in cash or in labor hours) security at upper layers.</p>
<p>But, of course, it may depend on what you have to protect. If your datacenter hosts sensitive data for your company&#8217;s buisiness, then you should think twice on how you deploy virtualization or use the cloud.</p>
<p>Don&#8217;t get me wrong. These technologies are great and very useful. In many areas, there are an improvement. Simply, they must be used with as much care as always. Concerning the DMZ topic, as far as I am concerned, I will not rely on virtualization and keep physical segregation between zones, supported by different  devices from different makers.</p>
<p>One thing I keep an eye on, though, is the development of virtualized firewalls, IPS, etc. In a few years, if these technologies should became really mature (enforcing segregation on all OSI layers) and the hosting OS security should really improved, most of the concerns here would be addressed.</p>
]]></content:encoded>
			<wfw:commentRss>/2011/04/30/network-virtualization-and-the-dmz-paradigm.html/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Corrupted virtual disk with VMware</title>
		<link>/2011/01/16/corrupted-virtual-disk-with-vmware.html</link>
		<comments>/2011/01/16/corrupted-virtual-disk-with-vmware.html#comments</comments>
		<pubDate>Sun, 16 Jan 2011 17:02:50 +0000</pubDate>
		<dc:creator><![CDATA[phocean]]></dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[System]]></category>
		<category><![CDATA[Virtualization]]></category>
		<category><![CDATA[crash]]></category>
		<category><![CDATA[File system]]></category>
		<category><![CDATA[VMware]]></category>

		<guid isPermaLink="false">http://www.phocean.net/?p=961</guid>
		<guid isPermaLink="false">http://www.phocean.net/?p=961</guid>
		<description><![CDATA[Wow, this article and especially one of its comments saved my day. My computer crashed and one of the VMware machine hosted on it could not start anymore : “Cannot open the disk ‘path of vmdk’ or one of the snapshot disks it depends on. Reason: the specific virtual disk needs repair. Checking on the...<br><i class="icon-right-hand"></i> <span class="read-more"><a href="/2011/01/16/corrupted-virtual-disk-with-vmware.html">Continue Reading</a></span>]]></description>
				<content:encoded><![CDATA[<p>Wow, <a title="Repair vmware" href="http://www.smoothblog.co.uk/2010/07/15/how-to-fix-vmware-the-specific-virtual-disk-needs-repair/" target="_blank">this article</a> and especially <a title="virtual disk development" href="http://www.smoothblog.co.uk/2010/07/15/how-to-fix-vmware-the-specific-virtual-disk-needs-repair/?cid=3319" target="_blank">one of its comments</a> saved my day.</p>
<p>My computer crashed and one of the VMware machine hosted on it could not start anymore :</p>
<blockquote><p>“Cannot open the disk ‘path of vmdk’ or one of the snapshot disks it depends on.<br />
Reason: the specific virtual disk needs repair.</p></blockquote>
<p>Checking on the VMware forums, I quickly found the command that was supposed to help :</p>
<pre>$ vmware-vdiskmanager -R /path/to/disk.vmdk
The virtual disk, '/path/to/disk.vmdk', is corrupted but the repair process has failed.</pre>
<p>Damned ! I almost resigned restoring the last backup and loosing a week of work when, by chance, I found the article mentioned above.</p>
<p>As recommended, I downloaded the <strong>Virtual Disk Development Kit 1.2</strong> from VMware, untared it and still doubtfully launched :</p>
<pre>$ ./bin64/vmware-vdiskmanager -R /path/to/disk.vmdk
The virtual disk, '/path/to/disk.vmdk', was corrupted and has been  successfully repaired.</pre>
<p>Saved! Thanks so much to the guys. I would have never thought about trying it, I wonder how they could find it.</p>
<p>But how is it possible that the utility coming with vmware workstation 7.1 suck so much and is not on par with other versions ?</p>
]]></content:encoded>
			<wfw:commentRss>/2011/01/16/corrupted-virtual-disk-with-vmware.html/feed</wfw:commentRss>
		<slash:comments>18</slash:comments>
		</item>
		<item>
		<title>VMWare Workstation 6.5</title>
		<link>/2008/10/05/vmware-workstation-65.html</link>
		<comments>/2008/10/05/vmware-workstation-65.html#comments</comments>
		<pubDate>Sun, 05 Oct 2008 16:46:40 +0000</pubDate>
		<dc:creator><![CDATA[phocean]]></dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[System]]></category>
		<category><![CDATA[Virtualization]]></category>
		<category><![CDATA[Windows]]></category>
		<category><![CDATA[Debian]]></category>
		<category><![CDATA[Gnome]]></category>
		<category><![CDATA[kernel 2.6.26]]></category>
		<category><![CDATA[Unity]]></category>
		<category><![CDATA[VMware]]></category>
		<category><![CDATA[vmware-any-any]]></category>

		<guid isPermaLink="false">http://www.phocean.net/?p=249</guid>
		<guid isPermaLink="false">http://www.phocean.net/?p=249</guid>
		<description><![CDATA[I have just upgraded WMWare from version 6.04 to 6.5, and I have to say that it has very nice new features. The first surprising thing was the file I downloaded. It is now not anymore a tar.gz archive but a .bundle file. After downloading, as root, just make it executable or start it with...<br><i class="icon-right-hand"></i> <span class="read-more"><a href="/2008/10/05/vmware-workstation-65.html">Continue Reading</a></span>]]></description>
				<content:encoded><![CDATA[<p style="text-align: left;">I have just upgraded WMWare from version 6.04 to 6.5, and I have to say that it has very nice new features.</p>
<p style="text-align: left;">The first surprising thing was the file I downloaded. It is now not anymore a tar.gz archive but a .bundle file.</p>
<p style="text-align: left;">After downloading, as root, just make it executable or start it with sh :</p>
<pre>% sh VMware-Workstation-6.5.0-118166.x86_64.bundle</pre>
<p style="text-align: left;">It now starts a graphic installer, that takes care of everything. All the compilation process is now hidden to the user.</p>
<p style="text-align: left;">I was expecting the compilation to fail and that I would have to look for a patch to run on my edge Linux kernel. Indeed, I just compiled 2.6.26 kernel (64 bits) a few days ago.</p>
<p style="text-align: left;">But nothing like that. the process went smoothly.</p>
<p style="text-align: left;">However, I was still prudent. Even after a compiling, previous versions almost always required some patch to get full networking to work.</p>
<p style="text-align: left;">So I gave a try and launch one of my virtual machines. Surprise : all worked out of the box !</p>
<p style="text-align: left;">For the first time, I even did not need any vmware-any-any patch or any network patched vmmon and vmnet modules to get wifi networking operational.</p>
<p style="text-align: left;">I also quickly noticed some very nice and fancy features :</p>
<ul style="text-align: left;">
<li><strong>3D graphics support</strong></li>
<li><strong>more</strong> <strong>devices supported</strong> : fingerprint reader device, audio driver for Vista, &#8230;</li>
<li>a <strong>graphical virtual network settings</strong> editor : this utility had been for ages on the Windows version and finally will make your easier on Linux</li>
</ul>
<p style="text-align: left;">At last, but not least, the <strong>Unity</strong> display mode.</p>
<p style="text-align: left;">Though I am not a Mac user, I believe this can be compared to VMWare Fusion. Anyway, it allows you to display the virtual machines programs within your X session.</p>
<p style="text-align: left;">Look at this screenshot :</p>
<p style="text-align: center;"><a href="/wp-content/uploads/2008/10/capture-11.png" rel="lightbox[249]"><img class="size-medium wp-image-255" title="VMWare Workstation 6.5 and Unity" src="/wp-content/uploads/2008/10/capture-11-300x187.png" alt="VMWare Workstation 6.5 and Unity" width="300" height="187" srcset="/wp-content/uploads/2008/10/capture-11-300x187.png 300w, /wp-content/uploads/2008/10/capture-11.png 1440w" sizes="(max-width: 300px) 100vw, 300px" /></a></p>
<p style="text-align: left;">The result is quite spectacular. On my Gnome desktop, I am now able to display some windows from Windows XP and Windows Vista.</p>
<p style="text-align: left;">Well, this is not yet perfectly smooth or artifact free, but this is already really usable and responsive enough to be used intensively.</p>
<p style="text-align: left;">Another limit is the operating system support. So far, among my virtual machines, I was able to do it with Windows systems but not Open Solaris for instance.</p>
<p style="text-align: left;">There must have been more improvements, more or less visible, that I am not aware of. I won&#8217;t go for a full review.</p>
<p style="text-align: left;">I just wanted to insist that if you are a VMWare user,  you really should consider to upgrade for the <strong>complete support of the latest kernel</strong> and the <strong>Unity</strong> feature.</p>
<p style="text-align: left;">It seems that VMWare has listened to the Linux users, or at least is taking it more seriously. Not that they are nice, but the competitors are close (Virtual box, KVM, Xen&#8230;) !</p>
]]></content:encoded>
			<wfw:commentRss>/2008/10/05/vmware-workstation-65.html/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>VMware and Wifi issue</title>
		<link>/2007/12/07/vmware-and-wifi-issue.html</link>
		<pubDate>Fri, 07 Dec 2007 15:09:13 +0000</pubDate>
		<dc:creator><![CDATA[phocean]]></dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Virtualization]]></category>
		<category><![CDATA[VMware]]></category>

		<guid isPermaLink="false">http://www.phocean.net/?p=87</guid>
		<guid isPermaLink="false">http://www.phocean.net/?p=87</guid>
		<description><![CDATA[The solution to use Wifi bridge networking with a kernel 2.6.22 is on this forum.]]></description>
				<content:encoded><![CDATA[<p>The solution to use Wifi bridge networking with a kernel 2.6.22 is <a title="vmware and wifi issue" href="http://communities.vmware.com/message/761031#761031">on this forum</a>.<noscript></noscript></p>
]]></content:encoded>
			</item>
		<item>
		<title>Slow performance in VMWARE using Ubuntu ?</title>
		<link>/2006/12/06/slow-performance-in-vmware-using-ubuntu.html</link>
		<comments>/2006/12/06/slow-performance-in-vmware-using-ubuntu.html#comments</comments>
		<pubDate>Wed, 06 Dec 2006 13:03:00 +0000</pubDate>
		<dc:creator><![CDATA[phocean]]></dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[System]]></category>
		<category><![CDATA[Virtualization]]></category>
		<category><![CDATA[swap]]></category>
		<category><![CDATA[Ubuntu]]></category>
		<category><![CDATA[VMware]]></category>

		<guid isPermaLink="false">http://192.168.1.10/wordpress/?p=10</guid>
		<description><![CDATA[<p>WMWare does not really work out of the box on Ubuntu.</p> <p>There is an issue concerning the ACPI, which makes the guest machine so slow that it is barely usable.</p>]]></description>
				<content:encoded><![CDATA[<p>WMWare does not really work out of the box on Ubuntu.</p>
<p>There is an issue concerning the ACPI, which makes the guest machine so slow that it is barely usable.</p>
<p><span id="more-10"></span></p>
<p>If you do on your terminal :</p>
<pre>$ cat /sys/module/processor/parameters/max_cstate</pre>
<p>You will probably get a value bigger than 1. In my case, it was 8 (default in Ubuntu, I guess). This value is related to the number of level that the processor takes to save energy (reducing its performance and power consumption when idle).</p>
<p>For a try, fix it to a smaller value and check how VMWare is going :</p>
<pre>$ sudo -s
$ echo 3 &gt; /sys/module/processor/parameters/max_cstate</pre>
<p>I think 3 is a good compromise. At least it is working very well on my machine, no slow down at all. If you still have the issue, reduce it to 2 or even 1. The side effect is that your laptop will be a little bit more power hungry, but so little that you probably won&#8217;t see any difference.</p>
<p>If you stop here, you will loose the change at the next startup. To have it set on boot, edit the /etc/init.d/acpid file.</p>
<p>Add the line at the end of the function named load_modules() :</p>
<pre>echo 3 &gt; /sys/module/processor/parameters/max_cstate</pre>
<p>I found out the solution thanks to <a hreflang="en" href="http://www.thinkwiki.org/wiki/Problem_with_high_pitch_noises">this article</a>. Go there for more info or alternative solutions (including for different systems).</p>
<p>I hope this will be helpful.</p>
]]></content:encoded>
			<wfw:commentRss>/2006/12/06/slow-performance-in-vmware-using-ubuntu.html/feed</wfw:commentRss>
		<slash:comments>19</slash:comments>
		</item>
	</channel>
</rss>
