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
The Problem with Proprietary Testing: NSS Labs vs. CrowdStrike
Brian Monkman, Executive Director at NetSecOPEN,  7/19/2019
RDP Bug Takes New Approach to Host Compromise
Kelly Sheridan, Staff Editor, Dark Reading,  7/18/2019
Register for Dark Reading Newsletters
White Papers
Video
Cartoon Contest
Current Issue
Building and Managing an IT Security Operations Program
As cyber threats grow, many organizations are building security operations centers (SOCs) to improve their defenses. In this Tech Digest you will learn tips on how to get the most out of a SOC in your organization - and what to do if you can't afford to build one.
Flash Poll
Twitter Feed
Dark Reading - Bug Report
Bug Report
Enterprise Vulnerabilities
From DHS/US-CERT's National Vulnerability Database
CVE-2019-14248
PUBLISHED: 2019-07-24
In libnasm.a in Netwide Assembler (NASM) 2.14.xx, asm/pragma.c allows a NULL pointer dereference in process_pragma, search_pragma_list, and nasm_set_limit when "%pragma limit" is mishandled.
CVE-2019-14249
PUBLISHED: 2019-07-24
dwarf_elf_load_headers.c in libdwarf before 2019-07-05 allows attackers to cause a denial of service (division by zero) via an ELF file with a zero-size section group (SHT_GROUP), as demonstrated by dwarfdump.
CVE-2019-14250
PUBLISHED: 2019-07-24
An issue was discovered in GNU libiberty, as distributed in GNU Binutils 2.32. simple_object_elf_match in simple-object-elf.c does not check for a zero shstrndx value, leading to an integer overflow and resultant heap-based buffer overflow.
CVE-2019-14247
PUBLISHED: 2019-07-24
The scan() function in mad.c in mpg321 0.3.2 allows remote attackers to trigger an out-of-bounds write via a zero bitrate in an MP3 file.
CVE-2019-2873
PUBLISHED: 2019-07-23
Vulnerability in the Oracle VM VirtualBox component of Oracle Virtualization (subcomponent: Core). Supported versions that are affected are Prior to 5.2.32 and prior to 6.0.10. Easily exploitable vulnerability allows low privileged attacker with logon to the infrastructure where Oracle VM VirtualBox...