Microsoft is working on a patch for a bug or feature in Windows 10 that allowed access to the command line and, using a live Linux .ISO, made it possible steal BitLocker keys during OS updates.
The command line interface bypasses BitLocker and permits access to local drives simply by tapping the Shift and F10 keys.
BitLocker encryption is disabled as part of the Windows pre-installation environment.
Exploitation scenarios are limited and users should not be overly alarmed, as attackers would need to have laptops in hand during the update, or be in a position to trigger an update in order to pop open the command line interface.
Noted Windows trainer and senior technical fellow with software house Adminize Sami Laiho reported the flaws to Microsoft and says Redmond is rushing out a fix.
“There is a small but crazy bug in the way the feature update (formerly known as upgrade) is installed,” Laiho says.
“The installation of a new build is done by re-imaging the machine [via] Windows Pre-installation Environment [which] has a feature for troubleshooting that allows you to press SHIFT+F10 to get a command prompt.”
“This sadly allows for access to the hard disk as during the upgrade Microsoft disables BitLocker.”
Regular updates are not affected.
Worryingly, a security operations tech for an international enterprise environment told The Register that attackers could use the mess to steal BitLocker’s encryption keys by booting a live Linux image from the CLI. A BitLocker support chap known as @Nu11u5 on Reddit says BitLocker dumps its keys in cleartext during the process [PDF] allowing Linux tools like Dislocker to pull the codes.
“There are a few layers to BitLocker encryption,” Nu11u5 says.
Disk volume data is encrypted using a Full Volume Encryption Key (FVEK), itself encrypted by the Volume Master Key (VMK). The Master Key is encrypted using a Protector, such as a TPM PIN or password.
Additional copies of the VMK encrypted can exist with different Protectors for the purpose of a backup method of data access.
BitLocker Protectors can be temporarily disabled so keys can be decrypted and data accessed. This works using a VMK copy known as a Clear Key that is written in cleartext to disk alongside other Protectors. The BitLocker unlock process immediately looks for these keys on boot and automatically uses those it finds.
With Protectors disabled, Windows boots and accesses data from the volume as it if was not encrypted, warning users that BitLocker is disabled.
Users can only create a Clear Key for this through the command line utility after the VMK is manually decrypted by someone who knows the password.
manage-bde C: -protectors -disable
Windows 8 and newer versions of Windows will re-enable the BitLocker Protectors and secure delete the Clear Key after one boot.
The security tech says the function is handy for admins needing set and forget rebooting.
“From a SysAdmin perspective disabling the Protectors is very useful for performing unattended reboots,” they say.
“[The attack] was done during an operating system upgrade that required the disk to be accessed by a pre-boot environment which otherwise would not be able to get the Protector keys released from TPM.”
A non-TPM Protector could be used instead, they say, but at a cost to user experience such as the 48-digit BitLocker volume Recovery Password, which could be easily misplaced as well.
The only fix Laiho says works for now is to ensure Windows 10 boxes are physically secure during upgrades, which means doing next to nothing for the majority of users.
Laiho has created a proof-of-concept video to demonstrate the bug. ®