We depend on our computers to get work done, and so we try to safeguard them appropriately. But our trusty laptops, desktops, and tablets rely on their own internal network of sophisticated computer chips to function. These tiny chips--called microcontrollers--regulate everything from the battery in your laptop to the headlights on your car--and they aren’t always so secure.
Microcontrollers have their own CPU and enough discrete memory to run simple programs, and although they’re usually designed for a single task, they can be reprogrammed via updates to the device firmware. Typically the hardware manufacturer delivers such downloadable updates to improve the performance of your device, but there’s nothing stopping a hacker from mimicking those updates and injecting your device with malicious code.
Thankfully, hackers such as Charlie Miller are happy to demonstrate the potential pitfalls of purchasing hardware from manufacturers that don’t secure seemingly "dumb" devices like batteries. Miller is a security researcher for Accuvant Labs, and after demonstrating how a hacker could take over your iPhone with a text message at the Black Hat security conference in 2009, he went looking for a more exciting hack.
"I’d just wrapped a presentation on iPhone hacking and wanted to work on something more flashy," said Miller during an interview with PCWorld. "I wanted to know, could a remote hacker do something to cause physical damage to a computer? Like, could I set my sister’s laptop on fire?"
As it turns out, he probably could. Miller experimented with the seven or eight MacBook, MacBook Pro, and MacBook Air models he had won in Pwn2Own hacking competitions over the past three years, and he found that most modern laptop batteries are part of a Smart Battery System that relays information between the battery and the laptop’s operating system to ensure that power is safely stored and discharged. If you’ve ever wondered how your laptop knows exactly how much time you have left before the battery dies, it’s because of this system.
Every laptop battery needs a microcontroller to relay information back and forth, and that microcontroller needs to run firmware independently of the laptop. That firmware is accessible through the laptop, but is not affected if you wipe your laptop’s memory or reinstall the operating system.
This arrangement is a privacy breach waiting to happen: Malicious hackers with access to your laptop could load small spyware programs onto your battery chip, where they would run--undetected by any antivirus software.
"You could inject malware [from the battery] into a laptop, you just need to find a vulnerability in the OS that would allow battery firmware to exchange code,” Miller speculates. “It’s even possible to execute a kind of denial-of-service attack on your laptop by hammering the operating system with bluff code."
Even wiping or replacing the hard drive wouldn’t catch this type of malware, and since these chips regulate critical system functions such as battery levels or charging speed, there is a potential for serious damage.
"I was able to make the battery lie to the computer about things like how charged it was or how hot it was,” Miller says. “If you changed those variables, something really bad could happen."
Thankfully, the Texas Instruments microcontrollers that Miller pulled off of his Apple batteries are password-protected. Anyone who tries to modify the firmware needs to enter two different passwords, which are set by default when the chips leave the factory. The problem is that Apple has not been changing those default passwords, which means it was child’s play for Miller to reprogram his MacBook Air’s battery using default passwords obtained from Texas Instruments’ website.
"Texas Instruments didn’t do anything wrong," Miller says. “It’s all Apple’s fault for not scrambling the passwords. Other PC manufacturers could use these chips and secure them correctly.”
In fact, many battery manufacturers are doing just that; when Miller bought a replacement battery with the same Texas Instruments chip for his 13-inch MacBook from a third-party manufacturer on eBay, he was unable to access the firmware because the manufacturer had changed the passwords.
“It’s so easy to change these passwords. Apple should definitely do it, but they can’t safely update existing models," Miller notes. Although Apple and other laptop manufacturers could immediately scramble the passwords with a firmware update, malicious hackers could just reverse-engineer that update to figure out the new password. "They need to start scrambling the passwords before these laptops leave the factory."
To date we’ve heard no reports of privacy breaches or malware attacks via device firmware, but since batteries and other "dumb" devices are ignored by traditional security software, it’s impossible to know whether their failure is natural or engineered.
"There's definitely a risk that malware could brick your battery so it never works again," Miller warns. "I don’t know why someone would do that, except just to be mean."
We contacted Apple for comment on this article, but received no response. Miller has already notified both Apple and Texas Instruments of his findings, and will be presenting his research at the 2011 Black Hat security conference in Las Vegas this weekend. There he will also release CaulkGun, a program he wrote that you can use to scramble the passwords on your laptop battery.
"The good news is that malware won’t be able to brick your battery," Miller claims. "The bad news is that Apple won’t be able to update your battery firmware."