April 28, 2009, 3:30 PM — Trusted Platform Modules and BitLocker Drive Encryption can protect Windows 7 computers against a bootkit attack unveiled last week but these technologies won't be available on a large portion of computers, leaving millions of users unprotected when Microsoft releases its next version of Windows.
VBootkit 2.0 is proof-of-concept code that was unveiled by security researchers Vipin Kumar and Nitin Kumar, of NVLabs, at the Hack In The Box (HITB) security conference held in Dubai last week. The code, which is just 3KB in size, allows an attacker to take control of a Windows 7 computer by patching files as they are loaded into the system's main memory. Because no software is modified on the computer's hard disk, the attack is nearly undetectable.
VBootkit 2.0 is an updated version of an earlier tool, called VBootkit 1.0, that can take control of a Windows Vista computer by a similar method.
With VBootkit 2.0, once an attacker has taken control of the Windows 7 computer during the boot process they are able to get system-level access to the computer, the highest level possible. They can also remove user passwords to gain access to protected files and strip DRM (digital rights management) protection from multimedia files. The passwords can then be restored, hiding any evidence that it was compromised.
"There's no fix for this. It cannot be fixed. It's a design problem," Vipin Kumar said during his presentation last week, referring to Windows 7's assumption that the boot process is safe from attack.
In response, a Microsoft representative said Windows 7's support for Trusted Platform Module (TPM) and BitLocker Drive Encryption (BDE) means the attack is "void," downplaying the threat to users.
That assertion is partly correct. TPMs are microcontrollers that contain encryption keys and digital signatures, adding an extra level of security through hardware authentication of software files. BDE is a data-protection feature available in some versions of Windows Vista that works by encrypting data on a computer's hard disk. These are powerful protections that defend against bootkit attacks but they are not available on all computers.
"TPM and BitLocker (collectively) would stop VBootkit from working. But TPM is not available on consumer PCs -- most of the them -- and BitLocker is available only in high-end Vista editions," Nitin Kumar wrote in an e-mail.
Restricting BitLocker to high-end versions of Windows Vista, which cost more than other versions, is intentional. Microsoft segments Windows into different versions with varying prices to target different markets. Because corporate customers are willing to pay more for security features like BitLockers, these capabilities are not offered with less expensive versions of the operating system. That's a smart approach from a product marketing and sales standpoint, but it leaves millions of users without the same level of protection.
BitLocker will not be available on all versions of Windows 7, according to Microsoft's latest plans. It will be available as features of Windows 7 Enterprise and Windows 7 Ultimate, but will not be part of the other four versions of the operating system: Professional, Home Premium, Home Basic and Starter. That means computers with these flavors of Windows 7, which are likely to represent the bulk of Windows 7 users, will not be protected against VBootkit-like attacks.
The proof-of-concept code demonstrated at HITB Dubai represents a limited security threat because an attacker must have physical control of a computer to use VBootkit 2.0, loading the software with a CD-ROM, USB memory stick or through a FireWire port. But that doesn't mean the code can't be modified for a remote attack.
A precursor of VBootkit, called Bootkit, was released under an open-source license and was modified by others for remote attacks against computers running Windows XP, Nitin Kumar said.
VBootkit 2.0 could be modified for use as a BIOS virus, PXE (Pre-Boot Execution Environment) boot virus, or a normal boot virus. As a result, NVLabs plans to keep the VBootkit 2.0 code under wraps. "We don't have any plans to make it open source, due to chances of misuse," he said.
While there is some comfort in NVLabs decision not to release the VBootkit 2.0 code, history has shown that if one group of security researchers can find and exploit a vulnerability, another group or individuals can exploit it as well.