Dark Reading is part of the Informa Tech Division of Informa PLC

This site is operated by a business or businesses owned by Informa PLC and all copyright resides with them.Informa PLC's registered office is 5 Howick Place, London SW1P 1WG. Registered in England and Wales. Number 8860726.

Endpoint Security

10/19/2018
09:35 AM
Larry Loeb
Larry Loeb
Larry Loeb
50%
50%

MIT Researchers Have a DAWG in the Fight Against Spectre & Meltdown

In the fight against Spectre and Metldown vulnerabilities, MIT is pitting its DAWG solution against Intel's CAT.

In January of this year, Google's Project Zero security team revealed it had discovered an entire class of memory-based attacks against x86-based CPUs that they called Spectre and Meltdown.

Following that report, the microprocessor industry, but Intel especially, has tried to come up with a workable fix to this problem. The responses have been met with mixed results at best. (See Intel's 9th Gen Processors Offer Protections Against Spectre & Meltdown .)

Now, however, a team of researchers at MIT think that they have come up with a way to create x86 CPUs that can overcome these side-channel vulnerabilities using a method that they call Dynamically Allocated Way Guard (DAWG). It's described in a new paper.

The groaning nerd pun involved here is that Intel's current way of doing things is called Cache Allocation Technology (CAT).

Bow wow.

The Spectre and Meltdown attacks are based on vulnerabilities that have been present in CPU designs since 1995. Since getting information from the CPU's memory -- like what to do next -- is slower than the speed at which the CPU operates, designers let the CPU get ahead of itself and execute code that may or may not be actually needed. If the program did need those instructions executed, then they were already performed.

This increased the CPU performance.

However, these side-channel attacks can infer the execution flow that a program takes by observing the state and timing of a shared (public/private) cache.

In CAT, an attacker sharing a page with the victim may observe the victim's use of shared addresses by measuring whether a load to a shared address results in a cache hit. This is key to the attack.

DAWG changes this by endowing an associative structure, such as code and the data in hardware, with protection domains to provide strong isolation. Unlike existing mechanisms such as CAT, DAWG disallows hits across protection domains.

Additionally, DAWG concentrates on the cache state exfiltration channel to enforce isolation. It accomplishes this by isolating the visibility of any state changes to a single protection domain, so any transmitter in the victim's domain cannot be connected to the same channel as any receiver in the attacker's domain.

In theory, this prevents any communication -- a leak -- of data from the victim to the attacker.

This also means that the hits and misses of a program running in one protection domain are unaffected by program behavior in different protection domains.

The researchers tried this stuff out in simulations. They found that DAWG, with memory shared across protection domains, behaves identically to CAT and the baseline with private data. They also found that there was virtually no performance difference between secure DAWG partitioning, and insecure CAT partitioning in the absence of read-sharing across domains.

They also found that the benchmarks that they used showed little performance difference when used on real hardware for most data sizes.

The researchers do admit DAWG has its limitations, and additional techniques will be required to block exfiltration channels that are different from the cache channel.

But this is a start. It directly addresses the root problem involved in Spectre and Meltdown at the hardware level rather than putting up some sort of code fence around it.

Related posts:

— Larry Loeb has written for many of the last century's major "dead tree" computer magazines, having been, among other things, a consulting editor for BYTE magazine and senior editor for the launch of WebWeek.

Comment  | 
Print  | 
More Insights
Comments
Threaded  |  Newest First  |  Oldest First
Why Vulnerable Code Is Shipped Knowingly
Chris Eng, Chief Research Officer, Veracode,  11/30/2020
Register for Dark Reading Newsletters
White Papers
Video
Cartoon Contest
Current Issue
2021 Top Enterprise IT Trends
We've identified the key trends that are poised to impact the IT landscape in 2021. Find out why they're important and how they will affect you today!
Flash Poll
Twitter Feed
Dark Reading - Bug Report
Bug Report
Enterprise Vulnerabilities
From DHS/US-CERT's National Vulnerability Database
CVE-2020-16123
PUBLISHED: 2020-12-04
An Ubuntu-specific patch in PulseAudio created a race condition where the snap policy module would fail to identify a client connection from a snap as coming from a snap if SCM_CREDENTIALS were missing, allowing the snap to connect to PulseAudio without proper confinement. This could be exploited by...
CVE-2018-21270
PUBLISHED: 2020-12-03
Versions less than 0.0.6 of the Node.js stringstream module are vulnerable to an out-of-bounds read because of allocation of uninitialized buffers when a number is passed in the input stream (when using Node.js 4.x).
CVE-2020-26248
PUBLISHED: 2020-12-03
In the PrestaShop module "productcomments" before version 4.2.1, an attacker can use a Blind SQL injection to retrieve data or stop the MySQL service. The problem is fixed in 4.2.1 of the module.
CVE-2020-29529
PUBLISHED: 2020-12-03
HashiCorp go-slug before 0.5.0 does not address attempts at directory traversal involving ../ and symlinks.
CVE-2020-29534
PUBLISHED: 2020-12-03
An issue was discovered in the Linux kernel before 5.9.3. io_uring takes a non-refcounted reference to the files_struct of the process that submitted a request, causing execve() to incorrectly optimize unshare_fd(), aka CID-0f2122045b94.