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.

Application Security

New Software Side-Channel Attack Raises Risk for Captured Crypto

The new attack hits operating systems, not chips, and may give criminals the keys to a company's cryptography.

A new side-channel attack that bypasses specific chips for a hardware-agnostic, operating system-based approach, has been published by a team of researchers. The attack — with a serious security punch but no sexy name — takes advantage of a fundamental feature of modern operating systems to gain access to data that programmers and users assume will be hidden.

The attack, published in a paper titled "Page Cache Attacks," is effective against Windows and Linux — and possibly other operating systems. Furthermore, it doesn't rely on obscure or malformed instructions to the hardware: It is based on simple system calls available to relatively low authority user accounts through the operating system.

One of the researchers who found the new vulnerability is Alex Ionescu, vice president of ADR strategy at CrowdStrike. He explains the ingredients required for a successful attack on a cache: "If you have the ability to a) force things into the cache and then, b) measure or check that they're in the cache, and then c) potentially force evict them out of the cache, then you have something interesting." The group of academic and industry researchers who found the new vulnerability realized that caches don't just live in hardware; as Ionescu says, "Caches are everywhere in life."

The power of this new vulnerability is that it can examine and then exfiltrate data across an entire page of the cache, and data that is there for a number of milliseconds. Since the attacking data-check itself takes only milliseconds, there's enough time to do things like read a number of keystrokes or the clear-text response to a query involving cryptographic keys.

After looking at the potential impact of the vulnerability, Craig Young, computer security researcher for Tripwire's VERT (Vulnerability and Exposure Research Team), wrote in an email to Dark Reading, "The team has demonstrated how a fundamental concept in modern OS architecture can be abused to create covert data channels between isolated processes, log keystroke timings, spy on random number generators, and generally leak information from other processes as an unprivileged user."

Noting that the vulnerability is based on a legitimate system call in the affected operating systems, Young wrote, "This problem stems from overly permissive operating system designs giving unprivileged processes too much access to certain cache-related system calls."

That basis in system calls means that the vulnerability could be used by a different class of criminal than those that could potentially use something like Meltdown or Spectre. "The others required a lot of sophistication and knowledge and were not for the faint of heart," Mounir Hahad, head of Juniper Threat Labs at Juniper Networks, says. "This one is simpler and not hardware dependent, so it could be used by a lot of day-to-day criminals. This one doesn't need a state actor; this one can be pulled off by regular criminals."

The ease of using the attack and the data it provides is increased by application developers who take shortcuts. The paper notes examples of PHP frameworks that use the PHP function "microtime" as the pseudo-random seed for their cryptographic operations. Since the attack can capture the microtime return and the call to the cryptographic generator, an attacker could learn the basis for the encryption, making decryption much easier.

Ionescu says that mitigation is possible, but it requires both operating system vendors and application developers to look at their code, acknowledge that a vulnerability exists, and patch for it. And Hahad notes that these patches are both good news and bad news for the enterprise.

"Given how people patch their OSes, it will be a long time before the patches are all applied," he says. "On the other hand, there's not much an administrator can do aside from the patch. It's not like there's something I can do proactively to prevent someone from exploiting it. You just have to wait for the patch to come out and apply it as quickly as possible."

Related content:

Curtis Franklin Jr. is Senior Editor at Dark Reading. In this role he focuses on product and technology coverage for the publication. In addition he works on audio and video programming for Dark Reading and contributes to activities at Interop ITX, Black Hat, INsecurity, and ... View Full Bio

Comment  | 
Print  | 
More Insights
Comments
Newest First  |  Oldest First  |  Threaded View
Navigating Security in the Cloud
Diya Jolly, Chief Product Officer, Okta,  12/4/2019
Register for Dark Reading Newsletters
White Papers
Video
Cartoon Contest
Current Issue
Navigating the Deluge of Security Data
In this Tech Digest, Dark Reading shares the experiences of some top security practitioners as they navigate volumes of security data. We examine some examples of how enterprises can cull this data to find the clues they need.
Flash Poll
Twitter Feed
Dark Reading - Bug Report
Bug Report
Enterprise Vulnerabilities
From DHS/US-CERT's National Vulnerability Database
CVE-2019-19642
PUBLISHED: 2019-12-08
On SuperMicro X8STi-F motherboards with IPMI firmware 2.06 and BIOS 02.68, the Virtual Media feature allows OS Command Injection by authenticated attackers who can send HTTP requests to the IPMI IP address. This requires a POST to /rpc/setvmdrive.asp with shell metacharacters in ShareHost or ShareNa...
CVE-2019-19637
PUBLISHED: 2019-12-08
An issue was discovered in libsixel 1.8.2. There is an integer overflow in the function sixel_decode_raw_impl at fromsixel.c.
CVE-2019-19638
PUBLISHED: 2019-12-08
An issue was discovered in libsixel 1.8.2. There is a heap-based buffer overflow in the function load_pnm at frompnm.c, due to an integer overflow.
CVE-2019-19635
PUBLISHED: 2019-12-08
An issue was discovered in libsixel 1.8.2. There is a heap-based buffer overflow in the function sixel_decode_raw_impl at fromsixel.c.
CVE-2019-19636
PUBLISHED: 2019-12-08
An issue was discovered in libsixel 1.8.2. There is an integer overflow in the function sixel_encode_body at tosixel.c.