More than a third of the zero-day vulnerabilities discovered in 2020 were variants of previously disclosed — or incompletely patched — issues, showing that attackers do not have to do original research to continue to exploit many vulnerabilities, a Google researcher told virtual attendees at USENIX's Enigma 2021 conference this week.
In a presentation titled "The State of 0-Day in-the-Wild Exploitation," Google security researcher Maddie Stone discussed how six of the 24 zero-day exploits detected by the Google Project Zero team in 2020 were variants of previously discovered vulnerabilities. In addition, another three exploits targeted flaws that had been poorly patched and, with a few tweaks, could be attacked again.
In short, software developers are failing to properly fix known vulnerabilities, giving gifts to attackers of easy-to-research issues, she said.
"[A]cross the industry, incomplete patches are making it easier for attackers to exploit users with zero days," she said. "We are not requiring attackers to come up with all new bug classes, develop [new types of] exploitation, or look at code that has never been researched before. We're allowing the reuse of vulnerabilities that we previously knew about."
Zero-day vulnerabilities — security issues that are unknown to software vendors at the time they are exploited — are often the tools of nation-state attackers or commercial spyware providers. So far this year, Microsoft announced that a vulnerability in its anti-malware software, Microsoft Defender, had proof-of-concept code published in the wild. In addition, Apple fixed three vulnerabilities in iOS and iPadOS in late January that are currently being exploited in the wild.
While the vast majority of attacks are not based on exploiting unknown vulnerabilities, detecting attacks even when they are using zero-day vulnerabilities is a critical part of any security program.
Novel classes of bugs tend to get the most attention, though Stone's research suggests attackers' most cost-effective strategy is to analyze patches and determine the details of any vulnerability patched. Not only does that approach give attackers information on security issues that could still be exploited on unpatched systems — since companies and users are often slow to patch — but the information gleaned from the exercise could suggest ways to circumvent the software fix.
Software vendors need to focus on getting the patch right the first time, Stone said.
"What we are detecting is that attackers are able to keep using ... attack surfaces, and the same types of vulnerabilities, and the same exploit methods they have been able to use before. That seems to a big loss [of an opportunity] that we have not been able to capitalize on as an industry," she said.
Stone argued that patches need to be both correct and comprehensive the first time they are pushed out. Correct patches fix the security issue and prevents exploitation of the underlying vulnerability. Comprehensive patches also cover any other vectors of exploiting the same vulnerability.
"When exploiting a single vulnerability or bug, there are often multiple ways to trigger the vulnerability, or multiple paths to access it," she said in a blog post published today. "Many times we're seeing vendors block only the path that is shown in the proof-of-concept or exploit sample, rather than fixing the vulnerability as a whole, which would block all of the paths."
Google Project Zero has focused on finding vulnerabilities so as to raise the bar for attackers looking for unknown security issues. The 24 zero-day vulnerabilities found being exploited in 2020 is about average. The number of previously unknown vulnerabilities discovered during attacks ranged from 12 to 28 over the past seven years, with 20 found in 2019, according to an analysis of zero-day vulnerabilities published in 2019.
A key part of the initiative is the detection and tracking of attacks that use previously unknown vulnerabilities — a battle Google's Stone fears the industry is losing. For the most part, companies and organizations are bad at detecting the exploitation of undisclosed vulnerabilities, Stone concluded.
While there are a variety of ways to improve, the best start is to prevent attackers from reusing patched issues, she said.
"Almost every security team I know is resource constrained," she said. "But we get this gift when these get detected. We have insight into what exploit methods attackers are using. They don't want us to know that — then they have to invest more research ... rather than be able to go back to the same areas over and over."