Cloud Security Podcast by Google

EP292 Inside Chrome Security: AI Patching, Agents, Rust, and … Your Tabs

· Summarized

Share this episode
Anyone with this link can open it.
Share Link
Start at 0:00

Key takeaways

  • AI and automation are transforming Chrome security by enabling the detection of long-standing vulnerabilities and rapid patching.
  • Chrome employs a sophisticated pipeline involving AI-driven vulnerability discovery, proof-of-concept creation, and human review to ensure fast and secure updates.
  • Dynamic patching helps Chrome update vulnerabilities seamlessly in the background, minimizing user disruption and closing the 'patch gap.'
  • The use of Rust in Chrome's codebase helps reduce certain classes of bugs, especially in leaf components like font and image processing libraries.
  • Managing third-party dependencies efficiently is critical for security; Chrome uses the Gossip system to monitor the health and safety of over 2,300 open source libraries.
  • A high standard of security in open source projects should be maintained by treating the code as a product and emphasizing continual elimination of entire classes of bugs.

Summary

Introduction and Guest Highlights

The episode features host Tim Peacock from Google Cloud Security, engaging with Doug Turner, Director of Engineering for Google Chrome, and Jessica Bawa, Product Lead for Chrome Security. The discussion kicks off with introductions and highlights the significance of Chrome security, emphasizing their work on innovative security features and research.

Chrome Security: Long-standing Bugs and AI Discovery

Doug Turner discusses the discovery of a 13-year-old sandbox escape bug in Google Chrome, found by their Gemini vulnerability scanning harness powered by AI models. They explore how AI is helping to identify deep-rooted vulnerabilities that traditional fuzzing techniques might miss, and how the AI model even constructs proof-of-concept exploits to aid developers in fixing bugs faster.

Security Patching and Automation in Chrome

The conversation covers Chrome's approach to rapid, automated security patching, with Chrome releasing over a thousand security fixes across recent versions. This is achieved through a pipeline that automates vulnerability scanning, proof-of-concept creation, severity assessment, suggested fixes, and even automated landings, while still requiring a human developer to review and approve code changes.

Dynamic Patching and Seamless Updates

Jessica Bawa explains Chrome's innovative dynamic patching system, which updates browser security without interrupting users. This involves replacing vulnerable processes in the background and seamlessly updating during browsing, minimizing disruption. The team is focused on making background updates more intelligent and less intrusive, aiming toward a future where Chrome is continuously and automatically patched.

Chrome's Architectural Innovations for Security

Doug Turner elaborates on architectural solutions like process-based sandboxing, site isolation, and the development of a 'patch gap' closure initiative. The implementation of features like process freeze and reallocation allows Chrome to patch vulnerabilities without user disruption. This approach is driven by the urgent need to close the security gap created by the fast pace of vulnerability discovery and exploitation.

Use of Rust and Code Safety Enhancements

The discussion includes Chrome's efforts to enhance code safety through 'spanification' and introducing Rust into the codebase. Rust is being used for leaf components and rewriting critical libraries like font and image codecs to reduce classes of bugs inherent in C++. These initiatives aim at long-term, high-assurance security improvements.

Managing Supply Chain Security and Dependencies

Doug explains Chrome's management of over 2,300 third-party open source dependencies through an automated system called Gossip, which assesses the safety and health of each library based on CVEs, domain checks, activity status, and more. This ensures the security and integrity of the supply chain for Chrome's vast ecosystem.

Best Practices in Large Open Source Security

The episode concludes with insights from Doug on maintaining high standards in open source projects, emphasizing treating code as a product, fostering a security-focused culture, and proactively eliminating entire classes of bugs to ensure sustainable security. Jessica underscores operational strategies like rigorous static analysis to prevent new bugs during development.

Sponsors

  • Google · This episode is brought to you by Google. Thanks for supporting the show.

Show notes

Guests:

  • Jasika Bawa, Group Product Manager, Chrome Security
  • Doug Turner, Engineering Director, Chrome Security

Topics:

  • Gemini agent harness found a sandbox escape that survived in the codebase for 13 years! How did that happen and how did that bug get noticed among what's surely a tidal wave of bugs being found by the machines?
  • Chrome 149 and 150 fixed over a thousand security bugs—surpassing the last 23 milestones combined. That is a massive spike! The blog explains it's possible by having 'fixing agents' and 'critic agents' working in a loop that mimics human code reviews. I have to ask: how much of this is real, high-quality engineering, and how much of it is just two robots agreeing to grade each other on a curve?
  • Historically, pushing updates was a monumental, scheduled event. Now, you're piloting two security releases a week to combat fast-moving attacks. That sounds like a direct route to developer burnout, and a complete nightmare for enterprise IT admins who just want their systems to stay stable. How are we balancing the need to protect users from N-day exploits versus making everyone play security whack-a-mole?
  • I want to learn more about this long-term vision so let's address the elephant in the browser: nobody wants to restart Chrome. Personally, I have about 50 tabs open right now, and restarting feels like risking throwing my short-term memory into a woodchipper. You're talking about 'dynamic patching' that replaces background child processes on the fly without a restart, and you've rolled out a 'zero window auto-restart' on macOS. First off, are my tabs safe? Second, is dynamic patching actually going to work seamlessly, or is it just going to crash my Renderer mid-session and blame it on the GPU? If this is real, it's really amazing. 
  • Tell us about the "spannification" effort and the migration to Rust. There's two parallel technical safety efforts going on to–as we like to say at Google–eliminate classes of vulnerabilities. Tell us about the engineering efforts behind the C++ spans and the Rust journey! 
  • Ok I'd be a terrible Allan Friedman disciple if I didn't ask the supply chain question. First, Chrome has over 2,300 third-party dependencies. That's wild. How are we handling that?

Resources:

Follow this show on AudioBrevity and new episodes get summarized for you. Create a free account

Couldn't load the audio. A blocker may be stopping the show's tracking links. Open the file