Security

Is it still possible to run malware in a browser using JavaScript and Rowhammer? Yes, yes it is (slowly)

Firefox 'fully compromised' in 15 minutes via SMASH attack


Boffins from Vrije Universiteit in Amsterdam and ETH in Zurich have bypassed memory chip defenses to execute a successful browser-based Rowhammer side-channel attack dubbed SMASH.

Rowhammer refers to a technique that computer security researchers began to explore around 2014: "hammering" RAM chips with a series of rapid write operations. This process abuses the electronics enough to flip stored bits, potentially introducing errors that can be exploited for further gain.

Initially, Rowhammer attacks had to be conducted locally, though by 2016 [PDF], the technique had been refined to work remotely using JavaScript in, say, a web browser.

Memory specifications introduced in 2014 added optional support for a mitigation called Target Row Refresh (TRR), a DRAM command available to memory controllers to refresh memory cell rows adjacent to particularly active areas as a way to prevent corruption.

But computer scientists from VU, ETH, and Qualcomm last year described a way to defeat TRR locally in a paper titled, TRRespass: Exploiting the Many Sides of Target Row Refresh [PDF].

It's Hammer Time!

On Tuesday, some of those same researchers and some new ones – Finn de Ridder, Pietro Frigo, Emanuele Vannacci, Herbert Bos, Cristiano Giuffrida, and Kaveh Razavi – unveiled SMASH (Synchronized MAny-Sided Hammering), a web-based attack on Mozilla's Firefox browser that overcomes TRR and several challenges associated with executing Rowhammer via JavaScript.

Their SMASH attack can slowly but arbitrarily read and write memory in Firefox (v. 81.0.1) on an updated Ubuntu 18.04 system with Linux kernel 4.15.0-111-generic installed. That can potentially allow malicious code to execute; the team wrote in their paper [PDF] that their technique can "fully compromise the Firefox browser in 15 minutes" from memory manipulation, on average.

Below is a video demonstrating a basic SMASH attack.

To break Firefox, the boffins had to deal with the lack of cache flushing instructions in JavaScript, which had made Rowhammer impractically slow against web browsers. They also had to devise alternative memory access patterns because they couldn't count on large physically contiguous memory regions in JavaScript.

While working to overcome these hurdles they found that rather than blindly generating as many memory access patterns as possible over the shortest period of time, they could achieve better results by scheduling the sequence of cache hits and misses – synchronizing memory requests with DRAM refresh commands – to avoid TRR.

Intel's SGX cloud-server security defeated by $30 chip, electrical shenanigans

READ MORE

"Our work confirms that the Rowhammer bug continues to threaten web users," the researchers say. "Worse still, our insights on synchronization show that the attacker has more control than previously thought, and will make it even harder to build the proper Rowhammer defense we need as long as the bug itself persists."

SMASH can be mitigated in software, though not without cost. Disabling Linux memory management scheme Transparent Huge Pages (THP) – used to build efficient attack patterns – works. Doing so, however, affects system performance. Pointer authentication codes (PACs), which protect the integrity of pointers in software and hardware, should also be effective, the researchers say.

As for eliminating Rowhammer-based attacks, the researchers observe that various software fixes proposed all have disadvantages. They argue that Rowhammer as a DRAM vulnerability should be fixed in hardware, though they observe it will be years before defenses against recently developed techniques make it to market.

"Furthermore, given that future DRAM devices will feature even smaller transistors, it remains to be seen whether it is possible to build effective mitigations for such devices," they say. ®

Send us news
10 Comments

OpenAI's GPT-4 can exploit real vulnerabilities by reading security advisories

While some other LLMs appear to flat-out suck

Ex-CEO of 'unicorn' app startup HeadSpin heads to jail after BS'ing investors

Lachwani faked it but didn't make it

Cisco creates architecture to improve security and sell you new switches

Hypershield detects bad behavior and automagically reconfigures networks to snuff out threats

Governments issue alerts after 'sophisticated' state-backed actor found exploiting flaws in Cisco security boxes

Don't get too comfortable: 'Line Dancer' malware may be targeting other vendors, too

Microsoft slammed for lax security that led to China's cyber-raid on Exchange Online

CISA calls for 'fundamental, security-focused reforms' to happen ASAP, delaying work on other software

IBM to acquire Hashi for $6.4B, hopes it will boost software biz and Red Hat

Investors want to know what Big Blue is smoking after growth disappoints

Indian bank’s IT is so shabby it’s been banned from opening new accounts

After two years of warnings, and outages, regulators ran out of patience with Kotak Mahindra Bank

US Air Force says AI-controlled F-16 fighter jet has been dogfighting with humans

Robo-plane was made to restrain itself so as not to harm pilot or airframe

Crooks exploit OpenMetadata holes to mine crypto – and leave a sob story for victims

'I want to buy a car. That's all'

Microsoft squashes SmartScreen security bypass bug exploited in the wild

Plus: Adobe, SAP, Fortinet, VMware, Cisco issue pressing updates

Japanese government rejects Yahoo<i>!</i> infosec improvement plan

Just doesn't believe it will sort out the mess that saw data leak from LINE messaging app

IT consultant-cum-developer in court over hiding COVID-19 loan

Syzmon Jastrzebski bagged six figures, money written off as he's left the country