A little-known hardware flaw, dubbed ‘rowhammer' - which allows hackers to take complete control of computers – is so potent that over half the laptops tested by Google researchers were vulnerable to the attack.
Rowhammer is unusual in being a hardware vulnerability, similar to the software bugs that hackers usually exploit. And Google has hit out at hardware manufacturers for failing to disclose whether their products are susceptible to the bug.
The attack is detailed in a 9 March blog by Google software engineers Mark Seaborn and Thomas Dullien, part of the ‘Project Zero' team, who specialise in revealing zero-day bugs.
The technique exploits a problem in DRAM memory cells which means hackers who repeatedly access – or ‘hammer' – one row of DRAMs can trigger ‘bit flips' in adjacent rows (switching their state from 0 to 1 or vice versa).
The Google team successfully exploited this to induce bit flips in the page table entries (PTEs) in an x86-64-based Linux laptop, allowing them to set up their own page table, gain read-write access to all the computer's physical memory and so hijack the device.
Google went on to test 29 laptops, all of them x86-based and using DDR3 DRAM, and found 15 were vulnerable to rowhammer. And it says similar attacks could work on non-x86 systems and on computers running operating systems other than Linux.
One saving grace is that no desktop systems tested by Google proved susceptible to rowhammer.
The researchers also report that: “Some newer models of laptops we tested did not exhibit bit flips. A possible explanation is that these laptops implement some rowhammer mitigations.”
They believe DRAM manufacturers may also be taking steps to mitigate rowhammer in their products – but don't know for sure and so are calling on hardware manufacturers to publicly disclose bugs and mitigations in the way that software vendors have learned to do.
Google complains in the blog: “Had there been more public disclosures about the rowhammer problem, it might have been identified as an exploitable security issue sooner. It appears that vendors have known about rowhammer for a while. It may be that vendors only considered rowhammer to be a reliability problem.
“The computing industry is accustomed to security bugs in software. It has developed an understanding of the importance of public discussion and disclosure of security issues. Hardware security can benefit from the same processes of public discussion and disclosure.”
The Google team themselves learned about rowhammer from this 2014 paper by researchers from Carnegie Mellon University and Intel Labs, who say the flaw has been known about since at least 2012.
The authors of the 2014 paper speculate that device hijack code could be developed, but leave this to others. “We took on this task!” said Google.
To help users ascertain whether their computer is vulnerable to bit flips, Google has made its testing tool available here: https://github.com/google/rowhammer-test
But it warns: “Testing can show that a machine is vulnerable, but not that it is invulnerable. A negative result on a given machine does not definitively mean that it is not possible for rowhammer to cause bit flips on that machine.”
But the blog adds: “While an absence of bit flips during testing does not automatically imply safety, it does provide some baseline assurance that causing bit flips is at least difficult on that machine.”
Commenting on Google's research into rowhammer, UK cyber-expert Scott Lester, a senior researcher with Context Information Security, highlighted its uniqueness.
He told SCMagazineUK.com via email: “The technique is particularly interesting as it's the first widely-publicised security issue that comes from the hardware design of volatile memory, specifically the drive to reduce its size and cost.
“Similar problems are well-established within non-volatile memory such as Flash, which requires wear-levelling and error correction, and with rotational hard drives and their defect tables.”
Lester added: “Exploiting the vulnerability might be difficult on a regular working laptop where more memory is in use. It is, however, a very real issue, and one that is likely to cause a headache for security administrators who might never have considered they could have problems stemming from the RAM in their company's laptops.
“It highlights the importance of testing the hardware used in secure environments.”
But he questioned whether hardware manufacturers will respond to Google's call for more openness, saying: “The blog makes the good point that manufacturers may well be aware of reliability issues, but might not appreciate that the same issues could also be security vulnerabilities. Whilst they are right to suggest that hardware manufacturers test their own products and publish the results, that may not be very likely.”
Another independent security expert Graeme Batsman, administrator of the DataSecurityExpert.co.uk website, agreed.
He told SCMagazineUK.com via email: “Approaching vendors is a good thing but in this case could be fruitless. There are too many laptop makers, memory types and tens of companies who manufacture memory. Google in this case could not simply contact one vendor (like Apple) so in the end releasing the proof of concept details was likely their only choice.”
Batsman added: “What is interesting is that ECC (error-correcting code) memory is potentially still vulnerable in this case. ECC is found more in servers and some pricey desktops, and is 30 percent-plus costlier.”
But he downplayed the seriousness of the rowhammer flaw, saying: “Access to the laptop in some form is needed and if someone can get access to a laptop then there may be more important items to worry about, like files being pinched. Other escalation or memory exploits are already out there and if this is fiddly another may be used instead.”