Stories
Slash Boxes
Comments

News for nerds, stuff that matters

Blue Pill Myth Debunked

Posted by CowboyNeal on Sat Aug 12, 2006 08:18 AM
from the setting-the-record-straight dept.
njyoder writes "As previously posted about, Joanna Rutkowska claimed to have discovered an allegedly undetectable vulnerability in Vista that takes advantage of AMD cpu's virtualization capabilities. a virtualization professional (Anthony Liguori of the Xen project) has now voiced his opinion to state this is bunkum. There are two parts two this — the ability to take over the machine and seamlessly drop the OS into a VM (which is very difficult, but possible) and the ability to have windows run in the VM undetectably (which is impossible). In fact, Rutkowska's prototype is VERY detectable. This is unfortunate mistake that people make when they jump to conclusions based on what is unfounded speculation and that includes the assumption that this would somehow be Vista specific, if it worked (noting that Vista doesn't run with administrator privileges by default)."

Related Stories

[+] AMD: Would Blue Pill create a matrix for PCs?
Will you choose the red pill, and stay in Wonderland, or the blue pill, and wake up and believe whatever you want? If Joanna Rutkowska, a security researcher for Singapore-based IT security firm COSEINC, has her way, you'll choose the blue pill. She has developed a 'blue pill' that will create a fake reality for anti-malware sensors, including those baked into Microsoft's upcoming Windows Vista operating system. "The idea behind Blue Pill is simple, she said. The operating system "swallows" the Blue Pill and it awakes inside a Matrix controlled by the "ultra thin Blue Pill hypervisor." This all happens without restarting the system. "There is no performance penalty and all the devices, like graphics card, are fully accessible to the operating system, which is now executing inside [the] virtual machine," she said. "This is all possible thanks to the latest virtualization technology from AMD called SVM/Pacifica." " You can check out a demo at the Black Hat Briefings in Las Vegas Aug. 3.
[+] Vista Hacking Challenge Answered 388 comments
debiansid writes "Microsoft's most secure Operating System yet has been compromised at the Black Hat hacker conference. We all know that Andrew Cushman, Microsoft's director of security outreach invited the Black Hats over to touch and feel Vista in order to showcase the superiority of this OS. Joanna Rutkowska, from Coseinc, a Singapore-based security firm, obliged and showed how it is possible to bypass security measures in Vista that prevents unsigned code from running with the help of a little software she calls the 'Blue Pill.'" To be fair, the hack was possible only when the target is in administrator mode rather than a limited user account.
[+] VM-Based Rootkits Proved Easily Detectable 128 comments
paleshadows writes "A year and a half has passed since SubVirt, the first VMM (virtual machine monitor) based rootkit, was introduced (PDF), covered in the tech press, and discussed here. Later Joanna Rutkowska made news by claiming she had a VMM-based attack on Vista that was undetectable — a claim that was roundly challenged. Now in this year's HotOS workshop, researchers from Stanford, CMU, VMware, and XenSource have published a paper titled Compatibility Is Not Transparency: VMM Detection Myths and Realities (PDF) showing that VMM-based rootkits are actually easily detectable."
This discussion has been archived. No new comments can be posted.
Display Options Threshold:
The Fine Print: The following comments are owned by whoever posted them. We are not responsible for them in any way.
  • by Anonymous Coward on Saturday August 12 2006, @08:23AM (#15893953)
    Thought there was something more exciting than I thought happening with Vista!
  • I always take (Score:2, Funny)

    by Anonymous Coward on Saturday August 12 2006, @08:23AM (#15893957)
    the red pill but I still wake up in hell each morning ... Vista will be shipping.
  • Detection (Score:5, Insightful)

    by CastrTroy (595695) on Saturday August 12 2006, @08:25AM (#15893959)
    (http://www.kibbee.ca/)
    I think the problem is not whether or not it can be detected by a professional, or a malware detection program, but whether or not it can be detected by the user of the computer. If you can run the entire OS in a VM, without the user knowing, then there's a lot of stuff you can do that would probably be a lot harder to do if you were just running regular malware. Although it's reassuring that this wasn't as bad as we expected, I still expect to see a few exploits that use this method to install malware, and spy on what the user is doing.
    • Detection-My buddy, the program. by Anonymous Coward (Score:1) Saturday August 12 2006, @08:33AM
    • Re:Detection by vertinox (Score:3) Saturday August 12 2006, @08:46AM
      • Re:Detection by ZachPruckowski (Score:2) Saturday August 12 2006, @09:13AM
      • Re:Detection by cnettel (Score:3) Saturday August 12 2006, @09:48AM
      • Re:Detection (Score:5, Informative)

        by gclef (96311) on Saturday August 12 2006, @09:59AM (#15894213)
        This is hardware virtualization we're talking about, not software. The processor manufacturers have built virtualization calls into their chipsets. The side-effect of this is that the hypervisor can simply tell the bios "I'm the hypervisor...but, only call me when these specific requests are made." So, the hypervisor could simply choose to ignore the sound and video hardware, leaving those as fast as they were before.

        The only way to tell the hypervisor is there is to find a CPU call that the hypervisor *does* care about, and compare how long it takes to run that command before & after the rootkit pushes the OS to a guest OS. That's what the Xen guy is talking about.

        (I was at Rutkowska's talk...I'm not sure I buy the Xen guy's response.)
        [ Parent ]
        • Re:Detection by Sancho (Score:3) Saturday August 12 2006, @10:54AM
          • Re:Detection by Anthony Liguori (Score:2) Saturday August 12 2006, @11:17AM
            • Re:Detection by Sancho (Score:2) Saturday August 12 2006, @11:26AM
              • Re:Detection by Anthony Liguori (Score:2) Saturday August 12 2006, @01:01PM
              • Re:Detection by Sancho (Score:2) Saturday August 12 2006, @01:11PM
              • Re:Detection by kmsigel (Score:1) Saturday August 12 2006, @01:25PM
              • Re:Detection by Anthony Liguori (Score:2) Saturday August 12 2006, @04:40PM
            • Re:Detection by kmsigel (Score:1) Saturday August 12 2006, @01:19PM
            • Re:Detection by andreyw (Score:2) Saturday August 12 2006, @02:43PM
              • Re:Detection by kmsigel (Score:1) Saturday August 12 2006, @03:59PM
              • Re:Detection by andreyw (Score:2) Sunday August 13 2006, @06:48AM
              • Re:Detection by kmsigel (Score:1) Sunday August 13 2006, @07:23AM
        • Re:Detection (Score:5, Interesting)

          by Anthony Liguori (820979) on Saturday August 12 2006, @11:07AM (#15894499)
          (http://tocm.blogspot.com/)
          This is hardware virtualization we're talking about, not software. The processor manufacturers have built virtualization calls into their chipsets.

          They've added extensions to facilitate trap-and-emulate virtualization.

          The side-effect of this is that the hypervisor can simply tell the bios "I'm the hypervisor...but, only call me when these specific requests are made."

          VT/SVM have absolutely nothing to do with the BIOS. Instead, they both introduce a new processor mode that can be entered at any point that allow certain operations to be trapped. These operations are more or less the set of classic x86-sensitive instructions.

          So, the hypervisor could simply choose to ignore the sound and video hardware, leaving those as fast as they were before.

          Yup. But we're not talking about hardware here. Keep in mind, that if you do allow direct access to hardware, one now has a channel to access all of memory which could be used to detect a virus in RAM. Let's ignore that for now though :-)

          The only way to tell the hypervisor is there is to find a CPU call that the hypervisor *does* care about, and compare how long it takes to run that command before & after the rootkit pushes the OS to a guest OS.

          Yup, and as I pointed out to Joanna, there are a number of CPU operations that one would *have* to trap. Things like %cr3 moves, msr reads/writes, etc. Otherwise, one can just search memory for a signature. BTW, how does she hide the memory of the VMM from the guest? I didn't address this because there are some potential solutions (like memory hotplug) but this, in practice, would be a very hard problem to solve. You can just take away memory from an Operating System and expect things to function normally.

          Why do you think she addressed this in her talk? I brought it up to her before she presented...

          Anyway, you have to take a trap at some point. There are only a small number of possible instructions that trap. A very thorough "detector" could simply check the timing of every trapable instruction.

          If she's not trapping any instructions, then the monitor is never getting run so is it really a monitor anymore?

          BTW, on VT at least, the VMM doesn't get a choice for certain instructions. They always trap no matter what.
          [ Parent ]
          • Re:Detection by gclef (Score:2) Saturday August 12 2006, @12:11PM
            • Re:Detection by TheLink (Score:2) Saturday August 12 2006, @01:17PM
              • Re:Detection by gclef (Score:2) Saturday August 12 2006, @01:32PM
              • Re:Detection by kmsigel (Score:1) Saturday August 12 2006, @01:40PM
              • Re:Detection by TheLink (Score:2) Saturday August 12 2006, @01:51PM
            • Re:Detection by Anthony Liguori (Score:2) Saturday August 12 2006, @04:48PM
              • 1 reply beneath your current threshold.
          • Re:Detection by lodurr (Score:1) Wednesday August 16 2006, @12:25PM
        • Re:Detection by andreyw (Score:2) Saturday August 12 2006, @02:41PM
    • Re:Detection by saleenS281 (Score:2) Saturday August 12 2006, @10:20AM
      • Re:Detection by Sancho (Score:2) Saturday August 12 2006, @10:50AM
    • debunked? I don't think so... (Score:5, Interesting)

      by v1 (525388) on Saturday August 12 2006, @10:30AM (#15894340)
      (http://vftp.net/ | Last Journal: Saturday December 09 2006, @09:52PM)
      Though there is a littlee war the authors neglect to mention. If I am writing a blue pill virus vm, and I KNOW there is software out there that is trying to detect me, it's completely worthless. Since I own the machine at that point, I can modify the programs running, with impunity. That's like all the viruses that are out there right now that are more or less immune to Norton... they know what the "threat" is, and they plan accordingly, they know its weaknesses and simply sidestep right around it.

      A vm that sees you load BluePillDetect.exe just goes in and twiddles a few bits here and there in the app before it actually puts it in the execute queue, or subtly mucks with its registers while it's executing. Now the program blissfully reports just what the VM wants it to report... "no VM detected.".

      Now how are you going to get around THAT? If you are running on a totally owned system, you cannot tell me there is anything you can do that is guaranteed to work, especiially if you are using a commonly available tool that the vm author had access to..

      You simply cannot win at their game if they are the ones writing the rules. You can claim victory for a day or two, until the VM authors get their hands on your tool and make the necessary modifications to their VM to cripple your tool, and then you are back to the drawing board.
      [ Parent ]
    • that's funny. by TheLink (Score:2) Saturday August 12 2006, @01:02PM
  • When the heart rules the mind.... (Score:2, Interesting)

    by SubliminalVortex (942332) * on Saturday August 12 2006, @08:31AM (#15893973)
    Most operating systems don't take advantage of the facilities the 'processor' provides for them. This has been true for quite some generation of operating systems.

    I would probably take heart to this if a hardware (or firmware) engineer spoke up and noted that this is a possibity. Are processors now offering virtualizaton in-chip?

  • That's great! (Score:1, Flamebait)

    by liquidpele (663430) on Saturday August 12 2006, @08:40AM (#15893999)
    (http://sitetheory.com/ | Last Journal: Friday October 24 2003, @10:59AM)
    Vista Status: 1 known vulnerability found to be not so bad, just 50,000 unknowns to go and we're secure!

    seriously though, it does sound like they've done quite a bit of work on security, so here's hoping it's still not swiss cheese security.
    • Re:That's great! by Anonymous Coward (Score:1) Saturday August 12 2006, @09:11AM
    • 1 reply beneath your current threshold.
  • Impossible to not be detected? (Score:3, Insightful)

    by nurb432 (527695) on Saturday August 12 2006, @08:46AM (#15894014)
    (http://slashdot.org/~nurb432/ | Last Journal: Friday August 27 2004, @03:24PM)
    I dont agree with that statement.

    While i agree it would really really damned hard to do it, you could create a VM that the host os wont reconize as being a VM. Sure, it would have to accomodate for each new PC out there as hardware changes, and that it would be a massively complex beast that more then likely could never be turned into a worm/virus/trojan that you wouldnt see coming a mile away, but it could be done.

    Never say impossible when logic says it could be done. Just say impractical..
    • Re:Impossible to not be detected? (Score:5, Insightful)

      by Anthony Liguori (820979) on Saturday August 12 2006, @09:41AM (#15894134)
      (http://tocm.blogspot.com/)
      Never say impossible when logic says it could be done. Just say impractical..

      There are actually things in computer science that are impossible. Usually, they are problems in the form "figure out whether another program has propery X". Classic examples are the halting problem.

      Recall, I'm disputing the claim of "100% undetectable". You could make something that's really, really, really hard to detect.
      [ Parent ]
  • my take (Score:5, Interesting)

    by brennz (715237) on Saturday August 12 2006, @08:47AM (#15894017)
    I'm not so sure Anthony Liguori is right.

    Most people in the security community are well aware of http://www.ephemeralsecurity.com/mosref [ephemeralsecurity.com] demo at http://static.ephemeralsecurity.com/mosvm/demo1.ht ml [ephemeralsecurity.com] more detail at http://static.ephemeralsecurity.com/mosvm/Mosref%2 0Howto.html [ephemeralsecurity.com] and the continual move toward VM

    If mosquito and similar tools are not moving towards VMMs, I'd be very suprised. After all, it is a logical step (From VM as a payload, to a VMM as a payload).

    • Re:my take (Score:5, Informative)

      by Anthony Liguori (820979) on Saturday August 12 2006, @09:44AM (#15894146)
      (http://tocm.blogspot.com/)
      If mosquito and similar tools are not moving towards VMMs, I'd be very suprised. After all, it is a logical step (From VM as a payload, to a VMM as a payload).

      Of course, VMM's can be used to do all sorts of nasty things. VMM-level virus could certainly be nasty. And, an important point to note, is that it may be entirely possible for a virus to be hidden in a VMM and for a virtual machine not to be able to detect that virus. Will VMM's need anti-virus software? I hope they don't suck that much.

      What "blue pill" is though is something much different. It's claim is that you can take a native Operating System and turn it into a virtual machine without the OS knowing about it.
      [ Parent ]
    • Re:my take by wesbrown (Score:1) Saturday August 12 2006, @04:38PM
  • by Ant P. (974313) <anthony.parsons@manx.net> on Saturday August 12 2006, @08:49AM (#15894022)
    Which is why malware's going to do this on Windows XP, then lie dormant until it detects Vista installed.
  • At least with Beta 2 Vista did run with admin privledges, just as all previous versions of Windows. But you have that box that pops up when ever you use those privledges. MS has done a good PR campaign to make people think it doesn't, but install beta 2 for yourself, the user created in setup is an admin just like in XP. I sincerely hope that this is changed with RC1.
  • It's a prototype (Score:3, Insightful)

    by Bartmoss (16109) on Saturday August 12 2006, @09:21AM (#15894084)
    (http://geek.pandemonium.de/ | Last Journal: Monday May 16 2005, @04:32AM)
    The exploit is the first of its kind for Vista. Give this a few years and add the high motivation of criminals who make millions by exploiting PCs and you can be sure we'll eventually see some quite nasty stuff.
    • 1 reply beneath your current threshold.
  • 'two' does not equal 'too' (Score:1, Funny)

    by Anonymous Coward on Saturday August 12 2006, @09:41AM (#15894136)
    - grammar is pretty bad on /., eh?
  • by Anthony Liguori (820979) on Saturday August 12 2006, @09:51AM (#15894176)
    (http://tocm.blogspot.com/)
    FWIW, Keith Adams of VMware posted a recent blog entry "Blue Pill" is quasi-illiterate gibberish [blogspot.com] and there have been a number of other folks that have come to the same conclusion [openrce.org].
  • This is why... (Score:1)

    by flight_master (867426) on Saturday August 12 2006, @10:10AM (#15894265)
    You're supposed to by a Intel Core Duo CPU...
  • I'm thinking any subversive VM thing would be like an uber-rootkit. When infected, the user's ntldr or winload.exe (for Vista) would be overwritten to load our new OS instead of Windows. On the next boot (which could come early by the delivery system resetting the computer), the new OS would load which would be little more than a very thin VM wrapper around windows. It would immediately boot up windows, and the user would be none the wiser. Basic things it would do (that would classify it as a rootkit) would be to modify the raw hard drive data running between Windows and the BIOS to hide it's own files as well as hide the ntldr and winload.exe tampering (it would make backups of them before modification and would hide the backups, but would show them in place of its hacked versions).

    Theoretically this would be undetectable unless you boot from a CD... even this could potentially be compromised if the BIOS can be "upgraded"... of course there would be no way to protect from moving the HD into another computer and immediately booting from a CD to look at the contents.

  • this stuff is what bothers me (Score:3, Interesting)

    by rucs_hack (784150) on Saturday August 12 2006, @10:35AM (#15894358)
    (http://code.google.com/p/nmod/)
    With Open source there's no problem. I can hear about a thing, test it, look at code, and decide whether it's an issue to me. Or if it's outside of my abilities, That wonderful peer review process can do the job for me. People who are being paid to say good things soon fall silent or get drowned out in the face of proof to the contrary from many sources who are not being paid, but do it out of interest.

    With closed source code of any type I have no such option. Instead all I get is 'experts' to tell me. But these guys have to eat, so they get paid by someone, and have a vested interest in being paid tomorrow. Therefore there can be no impartial advice.

    Heck, if the cheif engineer on the shuttle program can be convinced to retract his refusal to sign off the shuttle because of O-ring problems, what hope is there for trustworthy answer from anyone regarding closed source software?

    Ok, possibly I'm being too extreme with my example, but seriously I worry about the *true* safety of using an operating system which has not, in fact, been designed with consumers in mind. It is, by microsofts own cheerful admission, purposely built to help 'rights holders' of stuff you use keep you from deviating from their precious business plan.
    Perhaps this is fair enough, but there should be a trade off. I see no evidence that the rights of the OS purchaser are being properly considered. Even XP assumes you are a pirate unless proven otherwise. That reveals a lot about their views of the lowly home consumer.
  • VI: Where are risks in this scenario?

    AL: If a virus cannot be removed or detected, it's pretty much a worse case scenario for corporate security. Once there was an outbreak, you couldn't trust any of your systems at all. I'm not sure how one could even mitigate such a threat--perhaps do frequent reinstalls of every system on your network?

    I'm still just amazed that people don't do this anyway. My understanding is that today's approach to AV is that people run AV applications on possibly infected systems, while infected, to try to diagnose and remove malware. The blue pill claims to invalidate this approach, but that approach was already invalid. You can't trust an infected system, period. If this is how you approach malware, you are doomed, and whether the blue pill is all it's cracked up to be or not, is irrelevant. They will get you someday, if you trust your system to look at itself. This is absolutely inevitable.

    What's so disappointing, is that this is a very, very basic and fundamental principle. You don't have to be a virtualization expert to know this. Indeed, there was a time when everyone knew it. It's so sad that the AV companies have dumbed down the public.

    BTW, the interviewee goes on to claim that using an external time source (presumably that is totally un-virtualizable) is a foolproof way to detect when you're running under virtualization. Keep in mind that all you might learn from such a test, is whether or not you're virtualized. This will still not give a user any way to detect whether you're running running malware or not. I think a time is coming when virtualization becomes mainstream, simply for security and compartmentalization reasons. When that happens, users will expect the "am I virtualized?" test to return True, so this test will not necessarily lead anyone to suspect their system is compromised.

    So give up on this approach. I promise you: you're absolutely doomed if you rely on AV tools running while possibly compromised. You must boot a known-clean system before you scan.

  • Hmm... (Score:1)

    This is unfortunate mistake

    Yes, it is.
  • Stupid name (Score:2)

    by 77Punker (673758) on Saturday August 12 2006, @12:09PM (#15894781)
    (http://royallthefourth.googlepages.com/)
    With a name like "blue pill" you know it has to be fake. What is it? Blue pill, developed by h4XX, Inc.?
  • Am I the only one... (Score:2, Funny)

    by bquickfoo (922325) on Saturday August 12 2006, @12:59PM (#15894991)
    Am I the only person that thought this posting was going to be about Viagra? Must just be the email I've been getting lately.
  • Well, I am glad (Score:2)

    by whitehatlurker (867714) on Saturday August 12 2006, @03:45PM (#15895525)
    (Last Journal: Friday September 01 2006, @04:53PM)
    That they're finally debunked that blue pill nonsense. I'm tired of getting spam for that stuff [viagra.com].
  • by jbdigriz (8030) on Saturday August 12 2006, @05:21PM (#15895870)
    Unless I'm hearing her wrong, Rutkowska is only claiming that to the extent the underlying virtualiztion is complete, the existence of the hypervisor is undetectable, in principle, to code running under it. Only if you break out of that closed system, maybe by way of Chaumian double-blinding to an external third-party or agent by some other means opaque to the hypervisor (an issue I'm looking into right now) or, as has been mentioned, external (to restate myself) timing references, which are suspect under a complete virtualization *unless* there is some opacity wrt the hypervisor's view, can you (meaining in this context, the virtualized code. Again this has been pointed out explicitly by Rutkowska.) guarantee that you aren't being diddled.

    In practice, there are always implementation isssues, and Liquroi is not to be faulted for pointing them out, but I don't see that he has sucessfully countered her main thesis.

    I should hasten to add that the issue Rutkowska raises should not be considered any kind of argument against virtualization. Virtualization implementors may want to consider security cutouts at some point, though. In the end, astute users are going to be the court of last resort. Scary thought, that. (I fix PeeCees to put bread on the table right now, and the tales I could tell about lusers...well, I'm sure I'm not alone there.)

    Assertation is an unfamiliar concept I have to look into. Sounds just a little bit implausible to me, but then so does Kant.
  • by daverabbitz (468967) on Saturday August 12 2006, @05:39PM (#15895932)
    (http://slashdot.org/)
    Ok, so many "Blue Pill" fanboys (wtf?), have completely missed this. I was sceptical so I hauled out the AMD Architechture Programmer's Manual, and it clearly states on Page 440 that VMRUN may only be executed in CPL-0. Hence the only way "Blue Pill" can be loaded is if the kernel is compromised, in which case you're hosed anyway.

    Now assuming Blue Pill can load itself from CPL-3, it indicates that the current AMD64 proccessor's incorrectly implement SVM, in which case this will not work on later processor's. This has happened before, for example the Pentium Crashnow instruction which caused an instant reboot regardless of CPL.
  • by Domino (12558) on Sunday August 13 2006, @12:59PM (#15898797)
    (http://slashdot.org/)
    May be he should attend the presentation before making such bold statements as well. I attended her presentation in person, amd she addressed all the issues he claims are able to detect the virtualization.
  • 8 replies beneath your current threshold.