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

8/6/2020
08:33 PM
Connect Directly
Twitter
LinkedIn
RSS
E-Mail
50%
50%

Getting to the Root: How Researchers Identify Zero-Days in the Wild

Google Project Zero researcher Maddie Stone explains the importance of identifying flaws exploited in the wild and techniques used to do it.

When a zero-day vulnerability is exploited in the wild, it's essential to identify the bug at the root of the attack. This "root cause analysis" informs researchers how an attack unfolded.

"We care a lot about making it harder for people to exploit users using zero-days," said Google Project Zero researcher Maddie Stone in a Black Hat presentation on the topic. "When zero-day exploits are detected in the wild, that's the failure case for these attackers. And so we need to learn as much as possible each time that happens."

Much of the time, when the security industry learns of a zero-day exploit in a blog post or advisory, there is often information about the malware payload or attack group behind it, but little about the "nitty gritty" of how intruders got the initial access to launch their attack. 

The goal of a root cause analysis comes down to figuring out what that vulnerability is, in such depth that researchers can trigger it, Stone explained. This shows they understand all the details – not just the overarching summary – as well as the attackers' exploit methodology. This information can help determine which actions should be taken next to prevent it from being exploited again, such as structural improvements, variant analysis, and new detection methods. 

Over the past 12 months, Project Zero has analyzed 11 zero-day vulnerabilities exploited in the wild. Researchers used five different techniques to identify their root cause, underscoring a point Stone emphasized in her talk: the process for analyzing a vulnerability can vary each time.

"There's a lot of different ways to reverse engineer a vulnerability," she explained, and these can vary depending on the information available and the target being exploited. Security researchers often talk about processes as a monolith; in reality, there's a lot of creativity involved and paths they can take to raise the likelihood for success while using fewer resources. 

She broke the techniques down into four categories. Reversing the exploit code can be done if a researcher has the exploit sample. Source code patch diffing can be used if they have access to a target's source code; for example, if someone is researching on Android, Chrome, or Firefox, or if they have privileged access as a vendor or partner. Binary patch diffing involves comparing two binary builds of the same code; one known to be vulnerable and one containing a patch. "Bug hunting based on exploit details" is possible with tips on an unpatched vulnerability.

The technique a researcher uses largely depends on their role. Understanding not just what the technique is, but how it's done, can vary from one zero-day to the next. 

"Your role influences what data you have access to, and how much you're willing to invest in getting to the root cause vulnerability," Stone explained.

A person who discovered the exploit, for example, may not decide to do a root cause analysis because their primary goal is to get it fixed. If they wait on reporting until they achieve root cause analysis, they prolong the amount of time a vulnerability goes unpatched. In these cases, they often have access to an exploit but not necessarily the source code or vendor expertise.

Vendors are another story. If a researcher works for a vendor, they likely have access to more details, whether that's the experts who wrote the code being exploited, or the source code itself, and/or the exploit. In these cases, Stone said, they should complete root cause analysis.

Then there are the third-party users and researchers, who see something was exploited in the wild through a blog post or advisory and likely have the least amount of information. They'll need to decide how much time and energy they want to invest in the project.

Project Zero has been in each of these positions, she noted. "Sometimes we discover [the vulnerability], sometimes vendors ask to partner with us for expertise [and] help figure out the root cause; and most often we're the third party researchers who are trying to dig in and learn as much as we can."

Stone's presentation (slides available) detailed seven case studies across a variety of platforms including Windows, iOS, WhatsApp, Firefox, and Android. These cases revealed similarities and differences in reverse engineering techniques across targets. Some were successful, others were not – a takeaway she emphasized to her audience of security pros.

"Not every endeavor is successful," she said, but "each time we don't get to the end goal, or have a success of identifying the root cause, we have a lot to learn from that we can then apply, if we're deliberate, to the next set to raise the probability of success."

Related Content:

 

 

Register now for this year's fully virtual Black Hat USA, taking place now, and get more information about the event on the Black Hat website. Click for details on conference information and to register.

Kelly Sheridan is the Staff Editor at Dark Reading, where she focuses on cybersecurity news and analysis. She is a business technology journalist who previously reported for InformationWeek, where she covered Microsoft, and Insurance & Technology, where she covered financial ... View Full Bio
 

Recommended Reading:

Comment  | 
Print  | 
More Insights
Comments
Newest First  |  Oldest First  |  Threaded View
Edge-DRsplash-10-edge-articles
7 Old IT Things Every New InfoSec Pro Should Know
Joan Goodchild, Staff Editor,  4/20/2021
News
Cloud-Native Businesses Struggle With Security
Robert Lemos, Contributing Writer,  5/6/2021
Commentary
Defending Against Web Scraping Attacks
Rob Simon, Principal Security Consultant at TrustedSec,  5/7/2021
Register for Dark Reading Newsletters
White Papers
Video
Cartoon
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
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-2020-18165
PUBLISHED: 2021-05-12
Cross Site Scripting (XSS) in LAOBANCMS v2.0 allows remote attackers to execute arbitrary code by injecting commands into the "Website SEO Keywords" field on the page "admin/info.php?shuyu".
CVE-2020-19275
PUBLISHED: 2021-05-12
An Information Disclosure vulnerability exists in dhcms 2017-09-18 when entering invalid characters after the normal interface, which causes an error that will leak the physical path.
CVE-2021-29511
PUBLISHED: 2021-05-12
evm is a pure Rust implementation of Ethereum Virtual Machine. Prior to the patch, when executing specific EVM opcodes related to memory operations that use `evm_core::Memory::copy_large`, the `evm` crate can over-allocate memory when it is not needed, making it possible for an attacker to perform d...
CVE-2020-19274
PUBLISHED: 2021-05-12
A Cross SIte Scripting (XSS) vulnerability exists in Dhcms 2017-09-18 in guestbook via the message board, which could let a remote malicious user execute arbitrary code.
CVE-2021-30211
PUBLISHED: 2021-05-12
Knowage Suite 7.3 is vulnerable to Stored Cross-Site Scripting (XSS). An attacker can inject arbitrary web script in '/knowage/restful-services/signup/update' via the 'surname' parameter.