An Australian security penetration tester has developed a method to inject a rootkit capable of loading at boot on encrypted Apple computers.
The proof-of-concept rootkit defeats FileVault encryption and takes advantage of functionality within the Extensible Firmware Interface (EFI) to push malware to devices.
Loukas K, penetration tester at Melbourne outfit Assurance.com.au, better known as Snare, demonstrated that the rootkit could persist within the EFI firmware, allowing an attacker to modify everything within it.
|Black Hat 2012 coverage|
It builds on the simpler Evil Maid attacks and uses the EFI is used to upload a malicious payload during boot to target machines via an infected PCI expansion device.
The EFI development kit was introduce to make it easier for developers to write modular code, but was also a boon for malware writers who could use the development kit to infect new systems.
“These attacks can be undertaken against a wide range of hardware and software configurations with a great deal of ease, compared to similar attacks against the legacy PC BIOS, due to the standardised and cross-platform nature of the EFI specification and its supporting technologies,” Snare wrote in a research paper.
He built an EFI Driver Execution Environment driver that once loaded could interfere with the boot process by hooking various protocols in the pre-boot environment, and would execute within the context of the bootloader and patch the kernel prior to its execution.
(See breaking: Trojan uses rootkit on Windows, Mac and mobile)
The attack, demonstrated at Black Hat 2012 in Las Vegas, could capture passwords from Apple’s encryption system Filevault at boot by using a keylogger and overwriting various protocols.
That works by monitoring for changes to the Simple Text Protocol prior to a password request and overwriting a pointer with one crafted by the attacker.
“When the driver is unloaded, or the ExitBootServices()function is called and the malicious driver is notified, it can write the key buffer to a file or transmit it over the network to the waiting attacker,” Snare wrote in his technical paper.
To patch and modify the OS kernel, it uses the “age-old technique” of storing a payload in the page-alignment padding between binary segments. It infects the boot device by patching or replacing the Mac OS X bootloader with a malicious version.`
Older vectors were still useful for these attacks, Snare said. John Heasman, researcher at NGS Software, illustrated in 2007 research (pdf) how PCI expansion ROMs could be used to attack systems at boot.
Those expansion ROMs could be used to store Snares’ malicious EFI and legacy BIOS drivers, meaning both systems could be attacked.
Users could help defend against simpler Evil Maid attacks, but not against Snare’s latest tactic, by activating new password-protection on the Boot Device Selection.
The introduction of Secure Boot (UEFI 2.3.1) which authenticates executables within EFI would put a kibosh on the attacks, but this does not currently exist.
The proof of concept Evil Maid attacks use an Apple Thunderbolt to Gigabit Ethernet Adapter and an ExpressCard SATA adapter as payload delivery mechanisms.