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.

Vulnerabilities / Threats

11/10/2015
04:00 PM
Connect Directly
Twitter
RSS
E-Mail
50%
50%

Adobe Flash Bug Discovery Leads To New Attack Mitigation Method

Prototype aims to prevent exploits that employ 'use after free' bugs in Windows, Linux, OS X software.

Another day, another Adobe Flash vulnerability: but this time, the researchers who found the bug are also building an attack-mitigation method that would eliminate attacks exploiting bugs like this one.

Among the 17 vulnerability patches included today in the update to Adobe Flash Player (APSB15-28) were multiple "use-after-free bugs" that could be exploited remotely by an attacker, including CVE-2015-7663. Endgame Security researchers, who found and reported that vulnerability to Adobe, also are working on a proof-of-concept technique to prevent the exploitation of any use-after-free flaws in Windows, Linux, and OS X.

Attack mitigation methods are nothing new, but to date, they've mostly been isolated to a specific class of bugs or platform, and mainly Windows. Microsoft has led this trend with its DEP (Data Execution Prevention) and ASLR (Address Space Layout Randomization) mitigation tools built into its software and adopted by many of its third-party application vendors. DEP prevents an exploit from directly injecting and executing code from sections of memory used for data, and ASLR protects against buffer overflow attacks by placing a software process's address space in random areas of memory so it's more difficult for an attacker to execute malware on a machine.

Adobe, too, has been cracking down on exploits with some mitigations for Flash, employing so-called Heap Isolation that improves the memory layout to deter some attacks.

Even so, Endgame researchers were able to use a so-called "vector corruption" method to exploit the new Flash bug, which gives an attacker read and write rights to virtual memory. Endgame says it's seen an increase in Flash exploits over the past year using this technique, which led to its study of ways to mitigate similar attacks.

Enter "control flow integrity."

"This is a strong technique that prevents exploiting a whole class of vulnerabilities -- use after free," says Cody Pierce, senior director of vulnerability research and prevention at Endgame, which boasts the US intelligence agencies and the Department of Defense as its main customers. "Right now, we're in the prototype phase and doing testing. It will be a little time before the release in a product or publicly … the first step is to get the community engaged."

Pierce says prior to mitigation methods like DEP and ASLR, patching was a losing battle. "Before those mitigations, attackers could reverse a patch, and have an exploit within a week," he says. "Mitigations increase that cost for attackers. We're hoping to do that as well."

Software security experts generally prefer security being built into software from the get-go. But attack mitigation tools have been relatively effective, they say, and can raise the bar for attackers.

That mantra has been Adobe's strategy for some time. Brad Arkin, chief security office of Adobe, three years ago urged security researchers to dig deep and come up with new attack-mitigation methods. At the time, Adobe had recently added sandboxing to help protect its applications.

"I am a big fan of engineering solutions like DEP and ASLR that you can build directly into your software.  In fact, I find it distressing when these kinds of approaches are not used when they should be," says Gary McGraw, CTO of Cigital. "Any engineering technique that raises the bar for attack and exploit is good in my book."

But mitigation techniques work best when they're built into the software from the ground up, he says. "You can't patch your way into this," he says.

The danger is that they could introduce performance problems or new risks, he says. "One tradeoff is sometimes efficiency, especially in a constrained embedded system," McGraw says. "All engineering solutions like this should be carefully constructed and vetted so as not to introduce new risks accidentally. Publishing PoC code can help boot a thorough review process.  But be very wary of any new magic stuff: recall that way back when the first implementation of Microsoft’s GS compiler flag was fundamentally broken."

The new mitigation method Pierce and his team created works something like this: an algorithm stops attackers from inserting their code into certain locations in memory, using Heap Isolation. "It almost forces isolation," Pierce says. Add control flow integrity or CFI, which detects active exploitation attempts.

"The moment when an attacker has corrupted something in memory that a program is about to execute … when they are about to [go to] the second phase where they download a payload or persistence, the CFI prototype picks up that change," Pierce says.

In a technical blog post today, Pierce describes CFI this way: "To accomplish this, Endgame has adapted and expanded on the idea of utilizing processor functionality to determine the exact moment when this happens. Inspired by a novel approach published by researchers at Fudan University[11, 12], we leverage CPU branch misprediction[13], allowing us to introduce control flow integrity policies without expensive binary modifications to a target application such as hooking or dynamic instrumentation." 

Kelly Jackson Higgins is the Executive Editor of Dark Reading. She is an award-winning veteran technology and business journalist with more than two decades of experience in reporting and editing for various publications, including Network Computing, Secure Enterprise ... View Full Bio
 

Recommended Reading:

Comment  | 
Print  | 
More Insights
Comments
Oldest First  |  Newest First  |  Threaded View
Commentary
What the FedEx Logo Taught Me About Cybersecurity
Matt Shea, Head of Federal @ MixMode,  6/4/2021
Edge-DRsplash-10-edge-articles
A View From Inside a Deception
Sara Peters, Senior Editor at Dark Reading,  6/2/2021
Register for Dark Reading Newsletters
White Papers
Video
Cartoon
Current Issue
The State of Cybersecurity Incident Response
In this report learn how enterprises are building their incident response teams and processes, how they research potential compromises, how they respond to new breaches, and what tools and processes they use to remediate problems and improve their cyber defenses for the future.
Flash Poll
How Enterprises are Developing Secure Applications
How Enterprises are Developing Secure Applications
Recent breaches of third-party apps are driving many organizations to think harder about the security of their off-the-shelf software as they continue to move left in secure software development practices.
Twitter Feed
Dark Reading - Bug Report
Bug Report
Enterprise Vulnerabilities
From DHS/US-CERT's National Vulnerability Database
CVE-2021-34682
PUBLISHED: 2021-06-12
Receita Federal IRPF 2021 1.7 allows a man-in-the-middle attack against the update feature.
CVE-2021-31811
PUBLISHED: 2021-06-12
In Apache PDFBox, a carefully crafted PDF file can trigger an OutOfMemory-Exception while loading the file. This issue affects Apache PDFBox version 2.0.23 and prior 2.0.x versions.
CVE-2021-31812
PUBLISHED: 2021-06-12
In Apache PDFBox, a carefully crafted PDF file can trigger an infinite loop while loading the file. This issue affects Apache PDFBox version 2.0.23 and prior 2.0.x versions.
CVE-2021-32552
PUBLISHED: 2021-06-12
It was discovered that read_file() in apport/hookutils.py would follow symbolic links or open FIFOs. When this function is used by the openjdk-16 package apport hooks, it could expose private data to other local users.
CVE-2021-32553
PUBLISHED: 2021-06-12
It was discovered that read_file() in apport/hookutils.py would follow symbolic links or open FIFOs. When this function is used by the openjdk-17 package apport hooks, it could expose private data to other local users.