In July 2014, Google announced Project Zero, a research group built to reduce the number of zero-day vulnerabilities used in targeted attacks. Five years later, team lead Ben Hawkes took the Black Hat stage for an update: Has Project Zero achieved its goal of "making zero-day hard"?
"It was an important problem for companies like Google, but also societies as a whole," said Hawkes of the need to find unknown, dangerous security flaws. "We had seen the shift and increased demand of zero-days not for the purpose of defense but for the purpose of offense." While bug hunting was not new, it was significant to see Google entering the space in a big way.
Project Zero's mission of "make zero-day hard" stemmed from its overall goal of finding attacks that are difficult to detect and highly reliable, Hawkes said. The research team aims to make it harder for cybercriminals to find and exploit these vulnerabilities by getting to them first.
"Good defense requires a detailed knowledge of offense," he said, listing one of Project Zero's founding principles. "We wanted to create a pipeline of work that mimics what real attackers would do when creating zero-day exploits." However, Hawkes said, this is a challenge. Researchers want to model attacker behavior, but that behavior is constantly evolving.
Another commonly held belief is "openness benefits defenders more than it benefits attackers." For this reason, they want to share findings with "as many people as possible" after vendors patch. Project Zero has generated 1,500+ vuln reports and 100+ technical blog posts.
Pivoting into operations, Hawkes shared more about what the team does outside vulnerability research and exploit development. Other projects include methodology building, technical writing, working with vendors and OSS projects, software engineering, and peer collaboration. He called the nature of their work "more of a sketch rather than a blueprint," describing how researchers have a high degree of flexibility in pivoting to new projects and areas that seem promising.
How Vulnerabilities Are Found
More than half (54.2%) of Project Zero's discoveries are manual — for example, found during source-code review. Fuzzing helps them find 37.2% of vulnerabilities. As for new methodologies, Hawkes said they should help "find bugs faster than we currently are" or "find bugs that we can't currently surface."
Exploit development, another priority, ensures the security impact of a bug is understood and creates an equivalence class for similarly exploitable vulnerabilities. This step lets researchers determine areas of "fragility" in the exploit and how urgent they should consider it to be.
"Project Zero tends to be in a position to advocate for change rather than actually implement it," said Hawkes of its broader role in security tech. While the team can actively participate in patching for Chrome and Linux kernel bugs, much of its job involves urging for structural change: attack surface reduction, better sandboxing, process improvements, exploit mitigation, better documentation, and fixing bug classes, Hawkes listed. While the team's vulnerability research and exploit development are highly visible, he noted its structural work is more low-key.
Project Zero has identified many, many vulnerabilities in five years. Hawkes discussed some of the standouts and their effects on the security community. Researcher Jann Horn was one of three parties to discover and report Meltdown when it was disclosed in 2018; he also represented one of several organizations to independently find and report Spectre Variant 4. In total, four variants were found by Project Zero, Hawkes said, in addition to other researchers.
Spectre and Meltdown led to an "industrywide shift" in the security community's understanding of CPU security and drove architectural changes in kernels, hypervisors, and browsers. "We saw a marked redoubling in the hardware community to improve security capabilities and processes," Hawkes noted.
Another example, he continued, was in exploring Adobe Flash; Project Zero's Natalie Silvanovich and Mateusz Jurczyk were primarily responsible for finding and reporting more than 200 Flash use-after-free (UAF), out-of-bounds read/write, and type confusion bugs through manual review and fuzzing. They worked with Adobe and Microsoft to implement exploitation mitigations and with Chrome to use these results to accelerate Flash click-to-play.
Has Project Zero achieved its goal of making zero-day hard? Not yet, Hawkes said. While progress has been made, and it's harder to find zero-days, there is still work to be done.
"Fixing individual vulnerabilities matters," he said toward the end of his talk. In the next five years, one goal is to build a coalition of open attack research teams, encompassing researchers from industry, academia, nonprofits, and government, all of which have roles in bug research.