<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0"><channel><title>Matasano Chargen - Latest Comments in Detecting Virtualized Rootkits</title><link>http://matasanochargen.disqus.com/</link><description></description><language>en</language><lastBuildDate>Tue, 30 Jun 2009 10:25:35 -0000</lastBuildDate><item><title>Re: Detecting Virtualized Rootkits</title><link>http://www.matasano.com/log/680/detecting-virtualized-rootkits/#comment-11933949</link><description>&lt;B&gt;&lt;a href="http://www.odasohbeti.com/" title="Sesli Sohbet" target="_top" rel="nofollow"&gt;SESLI SOHBET&lt;/a&gt;&lt;/B&gt;&lt;br&gt;&lt;B&gt;&lt;a href="http://www.odasohbeti.com/bursa.html" title="Sohbet" target="_top" rel="nofollow"&gt;BURSA SOHBET&lt;/a&gt;&lt;/B&gt;&lt;br&gt;&lt;B&gt;&lt;a href="http://www.odasohbeti.com/istanbul.html" title="Sohbet" target="_top" rel="nofollow"&gt;ISTANBUL CHAT&lt;/a&gt;&lt;/B&gt;&lt;br&gt;&lt;B&gt;&lt;a href="http://www.odasohbeti.com/islamidini.html" title="islami dini" target="_top" rel="nofollow"&gt;ISLAMI CHAT&lt;/a&gt;&lt;/B&gt;&lt;br&gt;&lt;B&gt;&lt;a href="http://www.odasohbeti.com/izmir.html" title="izmir Sohbet" target="_top" rel="nofollow"&gt;IZMIR CHAT&lt;/a&gt;&lt;/B&gt;&lt;br&gt;&lt;B&gt;&lt;a href="http://www.odasohbeti.com/ankara.html" title="Ankara Sohbet" target="_top" rel="nofollow"&gt;ANKARA ARKADAS&lt;/a&gt;&lt;/B&gt;&lt;br&gt;&lt;B&gt;&lt;a href="http://www.odasohbeti.com/almanya.html" title="Almanya Sohbet" target="_top" rel="nofollow"&gt;ALMANYA CHAT&lt;/a&gt;&lt;/B&gt;&lt;br&gt;&lt;B&gt;&lt;a href="http://www.odasohbeti.com/turkiye.html" title="TURKEY" target="_top" rel="nofollow"&gt;TURKEY CHAT&lt;/a&gt;&lt;/B&gt;&lt;br&gt;&lt;B&gt;&lt;a href="http://www.odasohbeti.com/mynet.html" title="Mynet" target="_top" rel="nofollow"&gt;MYNET&lt;/a&gt;&lt;/B&gt;&lt;br&gt;&lt;B&gt;&lt;a href="http://www.odasohbeti.com/siteneekle.html" title="Sitene Ekle" target="_top" rel="nofollow"&gt;SITENE EKLE&lt;/a&gt;&lt;/B&gt;&lt;br&gt;&lt;B&gt;&lt;a href="http://www.odasohbeti.com/ensonyerlivideomuzikleriklipleridinleizle.html" title="video" target="_top" rel="nofollow"&gt;VIDEO KLIP IZLE&lt;/a&gt;&lt;/B&gt;&lt;br&gt;&lt;B&gt;&lt;a href="http://yemektarifleriara.blogspot.com/" title="Yemek Tarifleri" target="_top" rel="nofollow"&gt;YEMEK TARIFLERI&lt;/a&gt;&lt;/B&gt;&lt;br&gt;&lt;B&gt;&lt;a href="http://www.odasohbeti.com/yabancimuzikleridinle.html" title="Music" target="_top" rel="nofollow"&gt;VIDEO MUSIC&lt;/a&gt;&lt;/B&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">chatsohbet</dc:creator><pubDate>Tue, 30 Jun 2009 10:25:35 -0000</pubDate></item><item><title>Re: Detecting Virtualized Rootkits</title><link>http://www.matasano.com/log/680/detecting-virtualized-rootkits/#comment-2321507</link><description>When will the Thomas Ptacek list of virtualization detection techniques be published &lt;br&gt;&lt;br&gt;d86ded8e6f086cbc86bb07d854e58e1d60680958&lt;br&gt;&lt;br&gt;and have you added any new ones</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Mark</dc:creator><pubDate>Thu, 15 May 2008 11:45:37 -0000</pubDate></item><item><title>Re: Detecting Virtualized Rootkits</title><link>http://www.matasano.com/log/680/detecting-virtualized-rootkits/#comment-2321506</link><description>Joanna, &lt;br&gt;&lt;br&gt;Remember what was discussed at Fed 06? When someone mentioned how close you are? That is still the case. Remember, it is about the data, not control of the machine. App layer, not Ring 0. Grid, not individual CPUs. Arrive/come in as a fully authorized process, via the EMSes. There is your control. Of everything. &lt;br&gt;&lt;br&gt;That is what is worth making better, trust me.  &lt;br&gt;&lt;br&gt;Best, H&lt;br&gt;&lt;br&gt;See you all in Sin City... I'll be the one questioning Tony as to his true intentions and 'goodness'.. just waiting to see what strangeness Dan comes up with THIS year... yeeesh....</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">H</dc:creator><pubDate>Sun, 08 Jul 2007 19:33:01 -0000</pubDate></item><item><title>Re: Detecting Virtualized Rootkits</title><link>http://www.matasano.com/log/680/detecting-virtualized-rootkits/#comment-2321505</link><description>In retrospect, no.&lt;br&gt;&lt;br&gt;Let's use this:&lt;br&gt;&lt;br&gt;d86ded8e6f086cbc86bb07d854e58e1d60680958</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Thomas Ptacek</dc:creator><pubDate>Wed, 07 Feb 2007 09:41:20 -0000</pubDate></item><item><title>Re: Detecting Virtualized Rootkits</title><link>http://www.matasano.com/log/680/detecting-virtualized-rootkits/#comment-2321504</link><description>erm,&lt;br&gt;&lt;br&gt;are you sure that 95faf2cfb27b4e271a8943ad44f7d865 is sha-1?&lt;br&gt;&lt;br&gt;/shrugs</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">anon</dc:creator><pubDate>Mon, 05 Feb 2007 18:29:50 -0000</pubDate></item><item><title>Re: Detecting Virtualized Rootkits</title><link>http://www.matasano.com/log/680/detecting-virtualized-rootkits/#comment-2321503</link><description>The variances between a virtualized P4 and a "native" P4, which hypervisor malware needs to detect and mask, can be made data-dependent. The X86 ISA doesn't provide a direct way to query the state of the microarchitectural details we're playing with. In other words, without "detecting the detector" *and* analyzing its code, we think we can put the CPU into a setting where only the hypervisor detector knows what CPU state to expect after a VM-exit.</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Thomas Ptacek</dc:creator><pubDate>Thu, 25 Jan 2007 13:34:30 -0000</pubDate></item><item><title>Re: Detecting Virtualized Rootkits</title><link>http://www.matasano.com/log/680/detecting-virtualized-rootkits/#comment-2321502</link><description>Nate:&lt;br&gt;&lt;br&gt;I agree with most of your comment, but I'm not sure how the Halting Problem relates to what you're saying. There are certainly decidability issues in v12n detection, but they're usually discussed at a level of abstraction well above variations in CPUs.</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Matt</dc:creator><pubDate>Thu, 25 Jan 2007 12:35:38 -0000</pubDate></item><item><title>Re: Detecting Virtualized Rootkits</title><link>http://www.matasano.com/log/680/detecting-virtualized-rootkits/#comment-2321501</link><description>There is a well-known problem of "code trying to understand code":  the Halting Problem.  If Tom comes up with a technique for detecting a hypervisor on CPU v1, Joanna can come up with a technique that avoids the detection (assume she can update the hardware for CPU v2).&lt;br&gt;&lt;br&gt;But then Tom gets to run his old technique on all CPU v1's and try to find a new technique for CPU v2.  And then the cycle can repeat with Joanna updating her approach for CPU v3.&lt;br&gt;&lt;br&gt;Assuming both people are dedicated to playing this game forever, Tom wins percentage-wise because CPU v1 is not immediately retired and he's slowly building up a pool of CPUs with different characteristics.  It doesn't matter that his codebase is growing because he only needs one trick per CPU version.  But Joanna needs to support all CPU versions and all approaches to all CPU versions (n^m).  To win, Joanna would have to force old CPUs to retire more quickly than Tom can update his detection logic.&lt;br&gt;&lt;br&gt;But you're also forgetting that at some point, the CPU vendor is not incentivized to keep playing the game.  If, for instance, cache timing variance became so sophisticated that the vendor had to consider flushing the cache completely, they'd probably stop there.  CPU vendors have other goals (i.e. performance) that directly conflict with hiding virtualization.&lt;br&gt;&lt;br&gt;You can see the kind of effort it takes to eliminate covert channels in rainbow book systems.  That kind of cost is hard to justify in the commodity CPU world, and is only effective for some subset of all possible covert channels.&lt;br&gt;&lt;br&gt;The way I like to say it, "Show me your undetectable hypervisor, and I'll show you a CPU that never had any errata."  Take a look at the length of errata sheets for modern CPUs, then add in chipsets and peripherals.  We're headed the opposite direction from Joanna.</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Nate</dc:creator><pubDate>Thu, 25 Jan 2007 01:04:07 -0000</pubDate></item><item><title>Re: Detecting Virtualized Rootkits</title><link>http://www.matasano.com/log/680/detecting-virtualized-rootkits/#comment-2321500</link><description>My guess, not counting LWIP, is about 1500 lines of code.</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Thomas Ptacek</dc:creator><pubDate>Wed, 24 Jan 2007 22:30:46 -0000</pubDate></item><item><title>Re: Detecting Virtualized Rootkits</title><link>http://www.matasano.com/log/680/detecting-virtualized-rootkits/#comment-2321499</link><description>I wonder how large Bluepill must be in order to do all those cool things...</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">one.miguel</dc:creator><pubDate>Wed, 24 Jan 2007 22:24:17 -0000</pubDate></item><item><title>Re: Detecting Virtualized Rootkits</title><link>http://www.matasano.com/log/680/detecting-virtualized-rootkits/#comment-2321498</link><description>Nobody can reliably predict the future, but we can use our experience and knowledge to guess where the trends are heading.&lt;br&gt;&lt;br&gt;I predict that, because "detect unexpected virtualization" is a simpler goal than "detect any modification to the OS runtime", virtualized rootkits will remain easier to detect than kernel rootkits.</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Thomas Ptacek</dc:creator><pubDate>Wed, 24 Jan 2007 21:21:28 -0000</pubDate></item><item><title>Re: Detecting Virtualized Rootkits</title><link>http://www.matasano.com/log/680/detecting-virtualized-rootkits/#comment-2321497</link><description>Thomas,&lt;br&gt;someone somewhere will always find someway of detecting a virtualized rootkit without an external clock as you said. When it becomes apparent that that it has been done someone will find a way to find it.&lt;br&gt;&lt;br&gt;Until the situation is put to us we will not be able to really explore it.&lt;br&gt;&lt;br&gt;Nice debate,&lt;br&gt;regards&lt;br&gt;Steo</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Steo</dc:creator><pubDate>Wed, 24 Jan 2007 20:16:42 -0000</pubDate></item><item><title>Re: Detecting Virtualized Rootkits</title><link>http://www.matasano.com/log/680/detecting-virtualized-rootkits/#comment-2321496</link><description>This is pretty much the same thing the IDS vendors said, when we pointed out that overlapping fragments confused their TCP reassembly engines. "Of course there are bugs in our code. But we'll just fix them!". Yes, but there will always be more bugs.&lt;br&gt;&lt;br&gt;The IOMMU point is well taken. I gather you haven't used it yet, just like we don't use LeGrande and the MPT in Vitriol. It's worth mentioning that some of these detection techniques also present vectors for guest-hopping attacks.&lt;br&gt;&lt;br&gt;The ASID tagging, TLB-preserving functionality is another point well taken. But that's just one of the attacks. How do you turn off the branch predictor? Remember that these attacks have been tuned to pull keys out of SSL processes running in different CPU threads; hypervisor timers get to run right next to your VM exit.&lt;br&gt;&lt;br&gt;I don't have any proof about the detectability of BluePill, because you haven't released BluePill or allowed anyone to test it. Would you like to do that? I think we're up to the challenge!&lt;br&gt;&lt;br&gt;Failing that, we're always going to be talking in the hypothetical. But I'm curious: why do you think we can imagine reliable kernel rootkit detectors, but not reliable hypervisor detectors? Hypervisors are more disruptive than kernel threads.</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Thomas Ptacek</dc:creator><pubDate>Wed, 24 Jan 2007 18:51:49 -0000</pubDate></item><item><title>Re: Detecting Virtualized Rootkits</title><link>http://www.matasano.com/log/680/detecting-virtualized-rootkits/#comment-2321495</link><description>I guess I could point out some issues in Ptacek's and Ferrie's papers, like e.g. that they seem to ignore the fact that SVM implements so called ASIDs - a mechanism which is *designed* to actually prevent guest's TLB flushes during VMEXITs, or I could mention the (not-yet-released) IOMMU feature, which should make it possible for something like Blue Pill Level 2 to not to worry about GART (BTW, BPL1 doesn't need to worry about GART by definition), etc...&lt;br&gt;&lt;br&gt;But that's not the right direction for this discussion IMO. It's more then 6 months now since I presented Blue Pill for the first time and yet we still don't have any reliable, systematic, documented way to approach type III malware detection (and AFAIK, in case of AMD systems we also don't have any way to prevent it - at least this applies to machines myself and my colleges have)...&lt;br&gt;&lt;br&gt;Some people work hard to find some "hacks" to prove that I was wrong saying the this technology could be used to build "100% undetectable" malware. Well, I'm pretty sure that they will find flaws in many particular implementations - in fact even we, in COSEINC, have found some already. But what does that proof? Only that the particular implementation, of either malware or the underlying virtualization technology, is buggy.&lt;br&gt;&lt;br&gt;How do you guys imagine future commercial A/V products? Will they be based on many such hacks or maybe it would be better if they used some more reliable, documented and systematic approach? But there is no such solution - and there will not be any, if CPU vendors didn't introduce some changes, like e.g. adding special 'CHECK' instruction, which I discussed during my BH presentation.&lt;br&gt;&lt;br&gt;So, that's how I see this: we have quite good, systematic methods to find type I malware, we don't have any good ones for the type II malware, but we can imagine to have them in the future, but as far as type III malware is concerned, I don't believe we can do anything *useful* without the help of the CPU vendors...&lt;br&gt;&lt;br&gt;Although, I might be wrong and the real answer could be: 95faf2cfb27b4e271a8943ad44f7d865... ;)</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">joanna</dc:creator><pubDate>Wed, 24 Jan 2007 18:45:29 -0000</pubDate></item></channel></rss>