Stories
Slash Boxes
Comments

News for nerds, stuff that matters

Slashdot Log In

Log In

Create Account  |  Retrieve Password

Microsoft Research Warn About VM-Based Rootkits

Posted by Zonk on Fri Mar 10, 2006 08:56 PM
from the why-would-you-prove-that-concept? dept.
Tenacious Hack writes "According to a story on eWeek, lab rats at Microsoft Research and the University of Michigan have teamed up to create prototypes for virtual machine-based rootkits that significantly push the envelope for hiding malware and maintaining control of a target OS. The proof-of-concept rootkit, called SubVirt, exploits known security flaws and drops a VMM (virtual machine monitor) underneath a Windows or Linux installation. Once the target operating system is hoisted into a virtual machine, the rootkit becomes impossible to detect because its state cannot be accessed by security software running in the target system."
+ -
story

Related Stories

[+] Developers: Undetectable Rootkits Through Virtualization? 237 comments
techmuse writes "eWeek has an article about a prototype rootkit that is implemented using a virtual machine hypervisor running on top of AMD's Pacifica virtualization implementation. The idea is that the target OS, or software running on it, would not be able to detect the rootkit, because the OS would be running virtualized on top of the rootkit. The prototype is supposed to be demonstrated at the Syscan conference and the Black Hat Briefings over the next month."
[+] 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.
The Fine Print: The following comments are owned by whoever posted them. We are not responsible for them in any way.
 Full
 Abbreviated
 Hidden
More
Loading... please wait.
  • by LiquidCoooled (634315) on Friday March 10 2006, @08:57PM (#14895974) Homepage Journal
    ...and nuke the entire site from orbit.
    It's the only way to be sure.

    Everything I know about rootkits tells me that you cannot detect one from within the running system, you have to be objective (I consider the current fingerprint detection to be working because of bugs in the rootkit implimentation, these will be "fixed" over time).

    Keep a known secure boot CD.

    Drain the battery and reset the bios then boot from that cd.
    If theres anything sophisticated enough to bypass this level of paranoia then it can damn well have my credit card number and I'll gladly send spam for them.
    • Deserves to be modded Funny, yes. But I feel it neccesary to ask—

      Surely re-flashed BIOSes (tampered firmware, that is) wouldn't be reset by simply taking out the battery? That just clears the settings, not the entire firmware. That's what puts the "firm" in "firmware".

    • by Beardo the Bearded (321478) on Friday March 10 2006, @09:16PM (#14896056)
      You don't have to drain the battery - you can disconnect it.

      Your virtual machine could flash your BIOS without your consent. Then you're boned. A bootstrap doesn't require a lot of space.

      Oh fuck me - the next step is a VM rootkit that flashes the bios to keep a VM rootkit.
      • Your virtual machine could flash your BIOS without your consent. Then you're boned.

        There's two ways around that.
        - Flash the Bios chip. Pull the existing one out, put it in a programming unit, flash the chip, and push it into the Mainboard.
        - Use a mainboard that supports a "dual-bios" option (e.g. Some Gigabyte models).

        No virus has can penetrate further without physically damaging the hardware (and that would be difficult with the most modern computers.)

        • by Anonymous Coward on Friday March 10 2006, @10:27PM (#14896308)
          My roommate runs a PC repair biz. I've noticed those dual-BIOS mobos. Always felt weird to me. If they want to make sure you have a good BIOS at all times, isn't it cheaper to install ONE bios socket, and send you two chips? Then you'll only swap if you really need to. And the "clean" chip is guaranteed clean because it can't be tampered with when it's not in the computer.

          In any event, programs being able to flash your BIOS without telling you about it is A Very Bad Thing(TM). Disabling BIOS writes except when booted from a floppy would be a start. But at a very bare *minimum*, when the BIOS is modified by anyone or anything, the next time you boot the machine, the BIOS boot routine should throw a warning up on the screen:

          "Your BIOS has been modified since last reboot. If you have not intentionally changed your BIOS, or added new hardware, you should discard these changes. Discard changes? (Y/n)"

          And the code that performs this check, and throws up the error message, should be in a ROM or OTP chip where software can't tamper with it.
          • by Tyger (126248) on Friday March 10 2006, @11:06PM (#14896427)
            Are the chips actually socketted though? Because with the price of things these days, it's actually cheaper to have two chips soldered onto the motherboard than one socket and two socketted chips. Sockets are not cheap, as far as the price of parts go.

            Besides, swapping chips in a socket isn't a fun user experience, and these are probably high end boards where money isn't an object anyway.
        • by vux984 (928602) on Saturday March 11 2006, @02:25AM (#14897001)
          I think it would be a lot more sensible to have a physical switch or jumper that would have to be set to enable bios flashing. 100% gaurantee that it can't be circumvented with software, and equally sure to be immune from socially engineering the less literate... "When you see the WARNING DANGER DANGER YOU ARE ABOUT TO PERMANTLY CHANGE YOUR HARDWARE WINDOW... just click 'continue anyways'." Don't worry about why, trust us...

          Failing that a setting in the bios itself that determines whether or not its flashable. I've seen a lot of bioses with that, and I like the feature; the default is no, you have to boot into bios to change the setting, and the flashing process resets the setting back to no.

          I'm not sure how strictly secure it is, but assuming that setting can't simply be ignored by a custom flashing utility it seems pretty good.

          • by el americano (799629) on Saturday March 11 2006, @04:10AM (#14897193) Homepage
            "In order to enable this chat toolbar you need to move this jumper from position A to position B. Here's a photo of what it looks like. The factory incorrectly installed this, and it limits the ability of your video card to get full 3D resolution. You don't have to turn off the computer, and it will allow you to run this really cool software. All your myspace friends will love it."

      • by Dunbal (464142) on Friday March 10 2006, @09:34PM (#14896128)
        Oh fuck me - the next step is a VM rootkit that flashes the bios to keep a VM rootkit.

              Just remind me when was Skynet supposed to become sentient again?
    • by Bacon Bits (926911) on Friday March 10 2006, @09:58PM (#14896215)
      If theres anything sophisticated enough to bypass this level of paranoia then it can damn well have my credit card number and I'll gladly send spam for them.
      The payload for the Chernobyl virus [wikipedia.org] wrote zeros to sector 0 of your hard drive (which generally contians partition table information) and also tried to write garbage to any present Flash BIOS. You had to have a manual EEPROM reprogram to recover a so damaged BIOS.

      However, this virus dates back to the innocent days where a virus would just destroy your data or computer, rather than steal your information for profit or turn your PC into another node in some botnet collective.

    • by this great guy (922511) on Friday March 10 2006, @10:06PM (#14896242)
      <<
      If theres anything sophisticated enough to bypass this level of paranoia then it can damn well have my credit card number and I'll gladly send spam for them.
      >>

      This may very well astonish you, but such sophisticated infection mechanisms already exist and have already been demonstrated. See this rootkit concept overwriting your BIOS [ngssoftware.com] to create a permanent backdoor.

      Note: removing the CMOS battery will not destroy this rootkit because the CMOS battery erases the NVRAM, not the BIOS flash chip. The only known way to recover from a BIOS rootkit is to reflash your BIOS... but what if the rootkit is intelligent and tries to re-corrupt the new image being flashed ? This is a possibility. In this case your only option is to physically change the flash chip with a known good one. And don't forget that a modern computer has a lot of flash chips that can theoretically be infected: hard disk firmware, video card BIOS, DVD drive firmware, etc.

      • Stephen R. Donaldson wrote the "Gap Series". At one part of the story, the "Data First" of a pirate vessel put a virus in the firmware of one of the pieces of hardware controlling the ship. Even if the ship's computer was reloaded from known good stores, the virus would re-infect the computer. The virus was rigged to totally wipe the ship's computers if a password wasn't entered at specified intervals. Since you couldn't navigate or operate equipment without the computers, this was effective extortion. Billions of miles from home, there was simply no getting back without functional computers.

        The cure was to install known good hardware (itself tricky considering the circumstances) and to reload the ship's computer. The story also featured a kind of WORM device called a "datacore" that every ship had to carry by law. It was a combination flight-recorder and criminal evidence accumulator. Come to think of it, many IT issues were dealt with pretty well in this series. It's worth checking out. The IT issues are essential in certain parts of the story but they aren't the main point.

  • by Saven Marek (739395) on Friday March 10 2006, @09:02PM (#14895990)
    Why is microsoft researching this kind of thing? And with Linux too? It makes me wonder if the next time you go to install Windows on a partition somewhere with the same machine as you also dual boot into Linux whether your linux boot will not then be "taken over" by Windows, and MS can insert any little hooks, DRM, inspection code or other things running underneath the linux system you have.

    Then they can force linux to perform worse than Windows and nobody will be none the wiser.

    Except when you boot into linux and then you get a blue screen it will give it away lol.
    • by TheWanderingHermit (513872) on Friday March 10 2006, @09:12PM (#14896038)
      That was my first thought: why is MS researching this? Pure research like this and MS just do not go together.

      Honestly, this sounds like the kind of thing they'll think of so they can use it as a reason that all computers should have DRM build into the chipset, which plays right into MS being able to justify why all systems should follow their boot rules that allow only Vista to run. It's just laying the groundwork to force the exclusion of anything but Vista being able to be booted on future systems.

      This is also the kind of thing that I don't think many black hats would have come up with on their own due to the amount of research. MS continaully says it is irresponsible for people to publish info on exploits in Winodws before they can patch them, yet they've just gone and published what could be one of the nastiest exploits of any OS to date. If they're doing this, it's for a reason, and experience tells us MS's reasons are good for them and bad for everyone else.
      • by arrrrg (902404) on Friday March 10 2006, @11:35PM (#14896522)
        Pure research like this and MS just do not go together.

        Ummmm ... I'm as fanatical as the next /.er, but come on. Microsoft has plenty of legitimate theoretical research projects going on, just look at research.microsoft.com [microsoft.com]. And an issue like this one is obviously relevant to them, if they want to get their act together and improve security (or at least the appearence thereof).
      • by afidel (530433) on Saturday March 11 2006, @01:41AM (#14896902)
        Duh, it's a propaganda piece for Trusted Computing Platform. If they want a way to convince people to lock themselves out of their own system through software-hardware integration what better boogyman then a super-duper undetectable spyware. Obviously the spyware wouldn't be able to install a boot loader if it didn't have an authentication key and the hardware required such a key to boot...
      • by martyros (588782) on Saturday March 11 2006, @11:57AM (#14898524)
        You only think that because you only know the "big bad" part of Microsoft. A pure research lab is a luxury generally only affordable by a monopoly, and Microsoft is one of the few ones of those around. They've been hiring academics for Microsoft Research for years now, and they have "lablets" near universities around the world.

        As to why this research is done, there are two reasons. The "official" justification is that if it's possible, eventually somebody will do it, and it's a lot better if the "good guys" (yes, in this case that includes Microsoft) figures it out first and has a way to deal with it, than if some black hat figures it out and we discover 5 years down the road when everyone's computers are 0wn3d already and we're all caught with our pants down, so to speak.

        The other reason was, it's just cool. I know the guy who did this work, and he's a brilliant "hack the system together and make it work" kind of guy. He had this crazy idea for an undetectable virus, and wanted to try it out just to see if it could be done. So he went to Microsoft for a summer internship, and got the prototype working with VirtualPC and a little internal help in 6 weeks or so, and spent the rest of the time analyzing defenses against it. Quite a productive summer for him.

        It actually took some doing for this paper to see the light of day, as the higher-level managers had the same reactions you guys do. They could see the headlines: "Microsoft research inevents un-detectable virus", and thought, "Great, that's just what we need..."

    • by Anonymous Coward
      They are researching it so they can scare people into thinking that Trusted Computing is required for their own protection. If the rootkit loads before the OS, that just leaves the BIOS to do your security checks, right?
    • Why? Because everyone knows virtualization is going to become very common place almost everywhere you have a datacenter. They also know that every time you change something you open the possibility of exploits. By knowing how exploits could be introduced into systems using virtualization they can begin to look at how to combat it. Why look at Linux as well? I seem to remember MS buying some virtualization software that supports Linux guests. They also know about VMWare on Linux hosts running Windows guests,
    • Microsoft is a big company... it has an R&D budget and everything.

      They even have a public research website [microsoft.com]

      • Re:Nice FUD (Score:5, Interesting)

        by ozmanjusri (601766) <aussie_bob@hotmail. c o m> on Friday March 10 2006, @11:22PM (#14896477) Journal
        the worst part is 90% of the people who read this site will believe it.

        No, the worst part is that they're right and we have a strong possibility of losing the freedom to use our own property in the ways we wish to. This research is a direct response to this TPM (formerly Palladium) initiative, and is intended to force TPM into future hardware;

        Our first delivery on the vision is a hardware based security feature in Longhorn called Secure Startup. Secure Startup utilizes a Trusted Platform Module (TPM 1.2) to improve PC security http://www.microsoft.com/resources/ngscb/default.m spx [microsoft.com]
        There is a lot of potential value in something like TPM, but since some of the earliest applications (although abandoned in Vista) included remote attestation of installed software, the most likely purpose would be to force computer users into a rental model for software use.
  • You never sure if this is a feature or a bug. Either way, they will probably charge a subbscription fee to get the feature or get rid of the bug.
  • Original Paper [umich.edu]

    Abstract

    Attackers and defenders of computer systems both strive to gain complete control over the system. To maximize their control, both attackers and defenders have migrated to low-level, operating system code. In this paper, we assume the perspective of the attacker, who is trying to run malicious software and avoid detection. By assuming this perspective, we hope to help defenders understand and defend against the threat posed by a new class of rootkits.

    We evaluate a new type of malicious software that gains qualitatively more control over a system. This new type of malware, which we call a virtual-machine based rootkit (VMBR), installs a virtual-machine monitor underneath an existing operating system and hoists the original operating system into a virtual machine. Virtual-machine based rootkits are hard to detect and remove because their state cannot be accessed by software running in the target system. Further, VMBRs support general-purpose malicious services by allowing such services to run in a separate operating system that is protected from the target system. We evaluate this new threat by implementing two proof-of-concept VMBRs. We use our proof-of-concept VMBRs to subvert Windows XP and Linux target systems, and we implement four example malicious services using the VMBR platform. Last, we use what we learn from our proof-of-concept VMBRs to explore ways to defend against this new threat. We discuss possible ways to detect and prevent VMBRs, and we implement a defense strategy suitable for protecting systems against this threat.

    • Traditional malicious software is limited because it has no clear advantage over intrusion detection systems running within a target system's OS. In this paper, we demonstrated how attackers can gain a clear advantage over intrusion detection systems running in a target OS. We explored the design and implementation of VMBRs, which use VMMs to provide attackers with qualitatively more control over compromised systems. We showed how attackers can leverage this advantage to implement malicious services that ar

      • by TubeSteak (669689) on Friday March 10 2006, @09:51PM (#14896198) Journal
        > However, VMBRs have a number of disadvantages compared to traditional forms of malware. When compared to traditional forms of malware, VMBRs tend to have more state, be more difficult to install, require a reboot before they can run,
        How is that a disadvantage?

        If the bastards already have enough access to be downloading and executing code on your machine, it is trivial for them to crash your box and make you reboot... assuming they can't just reboot your box out of hand.

        Notice how one of their solutions is secure hardware?
        I think we know why MS is funding this.
  • rootkits? (Score:3, Interesting)

    by gcnaddict (841664) <gcnaddict @ g m a il.com> on Friday March 10 2006, @09:03PM (#14895997)
    Can anyone say dual boot?

    And another question: I can understand the risk that this may pose for enterprise servers (Virtual Server systems, just to name one), but does this hold any implications for client VMs?
      • Under those conditions, couldn't one just have a program that creates a checksum of the bootblock on install and checks it regularly? Then you can do an md5 on that program from time to time to make sure it's okay.

        Where do you put the checksum? On an external hd? On the system? What's preventing the rootkit from replacing the checksum? A checksum of the checksum? If you don't allow the checksum to be replaced, how do you upgrade?
  • Of Course (Score:3, Insightful)

    by Alien54 (180860) on Friday March 10 2006, @09:03PM (#14895998) Journal
    while I can appreciate the logic of the research, I imagine this only gives creedance to the theories that companies deliberately design viruses so that they can sell more of their latest security product. or system/OS upgrade
  • that virtualising i386 was hard and carried quite some overhead.

    i'd imagine the vm would have quite different performance patterns for some operations than the real machine. it would also pretty much by definition have to have slightly less ram.
    • by tbigby (902188) on Friday March 10 2006, @09:20PM (#14896073)
      that virtualising i386 was hard and carried quite some overhead.

      Not in the slightest. When you emulate a different architecture, sure, that takes a significant overhead having to translate the machine instructions. But virtualisation runs the existing machine instructions more directly on the hardware, which can run at near-native speeds.

      Some of the latest hardware from Intel (the Vanderpool technology : http://en.wikipedia.org/wiki/Vanderpool [wikipedia.org]) is even able to do virtualisation at the hardware level directly.

      We are looking very seriously at replacing several servers with this virtualisation technology using VMWare ESX and VMotion. It should prove to save on hardware costs and running costs in terms of power and air conditioning, not to mention the flexibility you have! I'm sure other folks who have used this technology will be able to tell more about that.

      Also, you can check out the Wikipedia comparison of virtual machine technology (http://en.wikipedia.org/wiki/Comparison_of_virtua l_machines [wikipedia.org]) - it is amazing how many of those technologies run guest OSs at native or near native speeds!
      • how will a networked virus scanner help? its still getting the system info from the OS on the compromised system, and the OS on the compromised system does not know its compromised because the VM is UNDERNEATH it, and therefore tries to act for all intents and purposes as if it's not there!!!.

        With a perfect bug free VM, neglecting slight performance differences that may or may not be detectable, you pretty much have to scan the compromised hard drive by pluggin it into another pc (as unbootable of course)

  • ROM Boot Keys (Score:5, Interesting)

    by PktLoss (647983) on Friday March 10 2006, @09:05PM (#14896004) Homepage Journal
    It may not be feasible for home environments, but for workplaces. What about booting off either dedicated ROM boot keys, or USB memory keys with a some sort of physical read only/read&write switch. Put the key into your machine to boot (for bonus points, the key tells the machine who you are and begins to load your roaming profile), when it comes time for a new image the IT guys either give you a brand new ROM key, or update your USB key by toggling the switch.

    My worry with keeping things inside the machine (the article indicates that AMD and Intel have ideas) is that it's just going to be a perpetual arms race. Since we can't rely on the user to know when it is and is not apropriate to allow your OS to modify your boot sector, evenually virus/malware authors will just trick people into accepting the updates.
  • translation (Score:5, Insightful)

    by Anonymous Coward on Friday March 10 2006, @09:09PM (#14896026)
    You can only be secure if your run hardware with treacherous computing modules installed on the motherboard and in the "approved" CPUs and BIOS chips, and that only works with treacherous computing software, sort of expensive hand in designer glove..

    Kind of a sneaky advertisement, isn't it? Instill terror to sell vendor lockin hardware and operating systems. Maybe even get a law or three passed. They sort of gloss over the "get the rootkit there in the first place" part, don't they?
  • by saikatguha266 (688325) on Friday March 10 2006, @09:10PM (#14896030) Homepage
    Here is a link to the actual paper the article references:
        http://www.eecs.umich.edu/virtual/papers/king06.pd f [umich.edu]

    The authors make an interesting point -- users and rootkits are about control. Whichever one controls the outer layer wins. If the user is in a protected environment, a rootkit running as root can win. If the user is root, then the rootkit must be a kernel-level root-kit and run in the kernel. If the user can control the kernel, the rootkit must control the machine, in this case, put the user kernel in a VM.

    My take is: in this game of cat and mouse, you'll stop only at the hardware -- it is hard for a rootkit to control the hardware short of the rootkit script kidde being able to get physical control. So yes, the user can win this game, if he controls the hardware that controls the software. How does the hardware control software? You guessed it: trusted computing ala TCPA ala Palladium etc etc.

    Can you think of a way to win against rootkits without TCPA?
    • by Jon Luckey (7563) on Friday March 10 2006, @09:25PM (#14896093)
      Can you think of a way to win against rootkits without TCPA?

      A rootkit can really only win if its undetectable. If you are playing a game of who has control of ring-zero resources, the victim, if running in a VM should be able to do various things that would cause an exception when it tried to do ring-0 only hardware accesses. If the exceptions are not what is expected, then the victim would be able to detect that its not in true control.


      It might be possible to make a VM that tried to emulate ring-0 hardware access in user mode. Been a while since I looked at that area of cpu's. But if so, I'd expect it to be much more complex than a normal VM.


      But suppose it is possible to test for true ring-0 hardware access. Then the root-kit has to fall back to classical root-kit techniques. It has to subvert the detection software. That task can be made difficult by classic defenses, like trip-wire, or running software from read-only sources, etc.

      • by Tyger (126248) on Friday March 10 2006, @10:51PM (#14896376)
        Speaking just of the x86 architecture...

        The thing with emulating a "ring 0" environment is that there is a lot to emulate. Most everything that would not work in a true ring 0 environment would cause the CPU to raise an interrupt for the host OS to handle. Typically the OS handles it by smacking around the application for being bad and doing something it isn't supposed to do. But it is possible to instead do what it is trying to do, and make it look like nothing was amiss.

        The trouble is there is a lot of different things to deal with. If you know your target OS, it's easier since you don't need to emulate every little thing the CPU does, just what the OS will be using. But even then there will always be telltale fingerprints that something is amiss. Theoretically you could get around some of them by scanning ahead the instructions to be executed, but at some point you seriously impact system performance, and that in itself will make people notice.

        Off the top of my head, the simplest way to detect it takes advantage of the fact that emulating ring 0 operations involve a context switch and some execution. Context switches tend to be rather expensive operations compared to most everything else the CPU does. The CPU has something called a timestamp counter, which basically counts every clock cycle, always incrememting, no matter what process/thread is running. An instructions should take a deterministic number of clock cycles. So just check the timestamp counter, perform a priveleged instruction, then check the timestamp counter again. If it looks like it took too long, that means you are running under a virtual machine.

        Of course detection doesn't help with removal, but it's a start.
    • by radtea (464814) on Friday March 10 2006, @10:04PM (#14896238)
      Can you think of a way to win against rootkits without TCPA?

      Almost trivially.

      The whole point of TCPA is that "trust" is built in to the machine in a fundamentally inaccessbile (to the user) way.

      What is needed to defeat rootkits is to allow the user to trust the hardware. This is totally different from application vendors trusting the hardware.

      Here's an extreme example: hook a logic analyzer up to the BIOS. Look at the nice bits go by. See if they match expectations. If not, you've been rooted and had your BIOS flashed. "Expectations" are stored in a separate device.

      The issue here is strictly one of treating a computer as a fully self-contained block of hardware and software that no one is allowed or able to look inside without going through the terribly civilized interfaces. The solution is to say, "Fuck the fucking interfaces, I'm going to fucking look at what is on the fucking bus." Not civilized at all.

      I've debugged embedded code this way, by hooking a logic analyzer up to the hardware and watching the bits go by. It's educational. It would be simple to build this kind of exposure of hardware internals in to the motherboard, to make it easy to plug in an external integrity checker to ensure that the basic state of the machine is as expected.

      "Trusted" computing is all about hiding the hardware state from the user. Beating VM-based rootkits is all about exposing hardware state to the user. The two are diametrically opposed.
        • by Soko (17987) on Friday March 10 2006, @11:37PM (#14896533) Homepage
          That's fine if you don't like this, but don't lie about the technology and say that it doesn't help the user to trust the machine. It helps everyone trust the machine. That's why it's called Trusted Computing.

          Mmmmmm... KoolAid.

          Dude, I trust a machine to do exactly as it's told. I do not trust humans to do the same. Trusted Computing is an aphorism for "Hey, you can trust $VENDOR, since your machine does, due to $TECHNOLOGY." Fuck that.

          If you r00t a computer, you're after one thing - getting information _out_ of said machine. (THINK - Credit card #s or Spam - it all has to leave the machine somehow.) You need to do this via a network connection, USB key or some other means. There are ways of noticing that information has left a machine in some way, either through physical security or other means (It'll be a cold day in Hades before a vendor brings a cell phone into my data center. Those things have memory, after all.) since once outside the box it's no longer under the control of the r00tk1t. IOW, if someone r00ts one of my machines, it'll be either noticed or totally useless to them.

          I, and I alone, establish trust of my systems. Any vendor who says they can do that for me is sadly mistaken, unless they are willing to allow me to completely vet thier Trust protocol and methods. Even then, I had better be able to fully audit that system at a whim, on my terms.

          "Trusted Computing" is for those who don't want to learn or do thier job professionally, are just plain lazy or, they're willing to drink the KoolAid. As for users, they tend to trust people, like me, who fix thier broken systems, and take my advice to heart when I charge them $TEXAS for fixing thier broken assed PCs. /me sips his Rye and cola....

          Soko
  • by nurb432 (527695) on Friday March 10 2006, @09:12PM (#14896037) Homepage Journal
    On a normal machine, if you try to virtualize it you would notice right away that something was wrong as it would slow quite a bit.

    There might also be driver issues that could tip you off something isnt right. May not know what, but it should be apparent something is amis. It would have to emuate all the hardware that you had installed at the time of infection, unlike something like VMWare which presents a 'standard' ( but different ) set of hardware devices. Thats a prety tall order to pull off.
  • i've been working on a compromised system to poke for holes in the concept and i hit upon a novel idea. in fact, it's really simple

    all you have to do is-END CARRIER-
  • by MikeRT (947531) on Friday March 10 2006, @09:24PM (#14896085) Homepage
    an image of an idiot user taking their computer to a repair shop and the repair person uncovering 500 instances of VMWare running with 1 instance of spyware in each one?
  • Holy Crap! (Score:3, Insightful)

    by PhunkySchtuff (208108) <kai&automatica,com,au> on Friday March 10 2006, @09:31PM (#14896115) Homepage
    Why on earth is someone writing this software for the purposes of malware - why aren't they gainfully employed earning decent money.
    Seriously, whipping up your own VM that will run $HOST_OS is nowhere near in the same league as, say, hacking together a VBS macro in MS Word or similar...
  • The solution (Score:3, Informative)

    by aachrisg (899192) on Friday March 10 2006, @09:38PM (#14896139)
    is to run under a virtualization manager from the beginning. Than, there will be no way for these VM-based rootkits to actually run on the real haardware. They'll think they are doing so, but the outermost vm will be able to detect them easily.
  • by Jon Luckey (7563) on Friday March 10 2006, @09:41PM (#14896148)
    TFA seems to propose a model where the host OS is running a Root kit that runs a VM that runs a copy of the host OS that the user works within, which hides the root kit.

    But in that model, the host OS is still running.

    It mighr be possible to detect a rootkit by putting a honeypot of some sort in the true kernel. The when the root kit tried to do something, like say change the firewall, the true kernel could detect that and quarentine itself.

    Of course a root kit running with ring-zero permissions would try to lobotomize that code, so the honeypot itself can't be too easy to find and alter. You'd probably need other kernel level tripwire type code to look for lobotomization.

    Maybe a card with boot time code that the OS could call to verify itself. Not pure trusted computing as any user could add such a card (assuming a free slot)
  • Just one problem: (Score:5, Insightful)

    by guruevi (827432) <[evi] [at] [smokingcube.be]> on Friday March 10 2006, @09:47PM (#14896181) Homepage
    How do you install the rootkit? Yes, you guessed it, through an insecure operating system. This article is imho just another promotion FUD campaign for TCPA.

    If your current operating system and security measures are good enough, such rootkits-with-virtual-machines are not even going to be able to be installed, heck as long as you don't have to login as administrator to print out a document or surf the web, you're pretty safe.

    And as soon as you notice your box could be r00t3d, you take it out anyway and don't trust it. And if you don't notice one of your boxes is generating extra traffic or doing things it shouldn't, you shouldn't have to have admin privileges anyway.
  • So basically what it is, is a rootkit designed to run in a virtual machine (like VMWare, VirtualPC, Bochs, QEMU, etc) that takes root control of the virtual machine, but the host OS is unable to detect the malware because it runs under a virtual machine and not on the host OS itself.

    Microsoft had tested code under VMWARE for Linux, and VirtualPC for Windows that allowed them to gain root access to the host OS from the virtual machine, and run the rootkit malware under the virtual machine.

    Yet what they are not telling you, is that the virtual machine has to run on the host OS, and that can be detected, even if the malware cannot. If you are really paranoid, just don't run a VMWARE or Virtual PC virtual machine or any other virtual machine, and if you find one on your OS, remove it. The problem with that is that malware scanners will be looking for virtual machine files and suspect them of being malware and warn the user. Besides any virtual machine has to be installed on Linux with root access anyway, and VMWARE Server apparently when I installed it on my Linux box had to compile a part of itself to match my kernel, and asked me to download a few libraries before it would continue. I doubt someone can use VMWARE to install as a regular user on Linux without someone with root access allowing it. Still, Xen is a virtual machine and is becoming popular with Linux, I wonder if it is vulnerable as well?

    The whole VM rootkit fails, unless the malware author finds a way to install a VM on a host OS without being detected, and without Root or Administrator access. The only way I can see that happening on Linux and Unix systems is if they use a trojan horse method of making it part of a program the user or administrator wants to install and they use root or administrator access to install it. On Windows it would just use an exploit to get Administrator access.
      • by LLuthor (909583) <lexington.luthor@gmail.com> on Friday March 10 2006, @10:03PM (#14896234)
        Some functions cant be passed through, they need to be emulated, even on the same architecture, redirecting memory, storage and I/O requests, interrupt handlers and such. All these things suck performance, and in the case of games, where LOTS of memory and low-level calls to the graphics hardware are being made, performance sucks BADLY.

        Any gamer will notice a loss of 15 FPS or more in their favourite game. Developers will notice it too, when their profilers output does not match their codes timing.

        You can't play with the time, even if you are in a VM. People will notice this - even if the software wont.
    • by Linker3000 (626634) on Saturday March 11 2006, @04:42AM (#14897262)
      You would soon know if you were running multiple Windows Virtual Machines because within minutes of the infection you would receive an email from Microsoft demanding you pay for the additional licences.