Presenters

Source

🚀 Building a Secure Workstation: Lessons from Google’s S3S Team 💡

The pursuit of a truly secure and reliable workstation is a challenging one. It’s a constant balancing act between idealism and practicality, between the dream of a perfectly reproducible system and the realities of user needs and technical constraints. Recently, the S3S (Secure Systems) team at Google Cloud shared their journey in building a secure workstation environment, and the insights they’re gaining are incredibly valuable. Let’s dive in!

What is Nexus OS and Why Does It Matter? 🌐

The foundation of S3S’s work is Nexus OS, a customized operating system built on NixOS. Think of it as a highly refined Linux distribution, meticulously crafted with security and auditability as core principles. Their ultimate goal? A “particle OS” - a system so controlled and reproducible that every aspect can be verified. This isn’t just about security; it’s about trust.

The team manages a Google Cloud region and leverages a tool called SAT (Secure Administration Tool) to handle the complexities of this environment. But achieving that perfect “particle OS” is far from straightforward.

The Hurdles: Reproducibility, PCRs, and System Disability Updates 🛠️

The journey hasn’s been without significant challenges. Here’s a breakdown of some key roadblocks and the solutions the S3S team is exploring:

Challenge Proposed/Implemented Solution
Reproducibility of Packages: Can we guarantee every package is exactly as it should be? Limiting user customization, virtualizing workloads, avoiding strict reproducibility enforcement for all packages.
PCR5 Volatility: This relates to the GPT partition table, and its data (disk sizes, UUIDs) changes with updates or hardware modifications, breaking the chain of trust. Investigating GPT partition table version 2, engaging with hardware manufacturers, understanding the threat model.
System Disability Updates (Large Size, Incremental Updates): Large updates can be cumbersome and resource-intensive. Exploring content-addressable storage solutions like Twix to reduce update sizes.
Fragile HashTP Connections: Ensuring the integrity of the system. Considering alternatives to Systemd.
User Customization & Workflows: How do we balance security with user flexibility? Moving towards virtualized workloads to isolate user-specific configurations.

Let’s unpack a few of these. The issue with PCR5 (Platform Configuration Register 5) is particularly interesting. It’s a register that’s supposed to verify the system’s integrity, but its reliance on dynamic data makes it inherently unstable. Imagine trying to build a secure foundation on shifting sand! While GPT partition table version 2 offers a potential fix, it requires buy-in from BIOS firmware manufacturers – a significant hurdle.

Q&A: Practicality Reigns Supreme 🤖

During the presentation, the audience posed some excellent questions. One attendee asked about other distributions’ reproducibility rates (Debian reportedly at 93%). The S3S team’s response was insightful: they aren’t actively pursuing full package reproducibility. The focus is on limiting customization and isolating workloads – a more pragmatic approach.

Another question centered on GPT partition table version 2. While it exists, the challenge lies in getting hardware manufacturers to adopt it and control how it’s measured. This highlights a recurring theme: collaboration is essential.

Key Takeaways: Balancing Idealism and Reality ✨

The S3S team’s journey offers several valuable lessons for anyone striving to build a secure workstation:

  • Practicality over Purity: The “particle OS” vision is a guiding star, but compromises are inevitable.
  • Virtualization is Your Friend: Isolating user-specific workloads in virtual machines provides a powerful balance between security and flexibility.
  • Collaboration is Key: Solving complex challenges like PCR5 volatility requires engagement with hardware manufacturers.
  • Data-Driven Security: Developing shared databases of PCR behavior and diagnostic tools is crucial for effective troubleshooting.
  • The Tension Between Idealism and Reality: It’s a constant balancing act, and acknowledging that tension is the first step towards finding solutions.

Looking Ahead: A Collaborative Future 📡

The work of the S3S team is a testament to the challenges and rewards of building truly secure systems. It’s a journey that demands not only technical expertise but also a willingness to collaborate and adapt. By embracing practicality, leveraging virtualization, and fostering a collaborative spirit, we can move closer to a future where our workstations are not just powerful, but also demonstrably secure.

Glossary of Terms

  • Nexus OS: A customized operating system based on NixOS, designed for security and auditability.
  • NixOS: A Linux distribution that uses a declarative package management system, aiming for reproducibility.
  • SAT (Secure Administration Tool): A tool built to manage the GCP region and its workstations.
  • PCR (Platform Configuration Register): A register that stores information about the system’s configuration, used for verifying integrity.
  • GPT (GUID Partition Table): A partitioning scheme for hard disks.
  • Systemd: A system and service manager for Linux operating systems.
  • Twix: A content-addressable storage system.
  • HashTP: A mechanism for verifying the integrity of a system.
  • Particle OS: A highly controlled and reproducible operating system.
  • GCP: Google Cloud Platform.
  • UUID: Universally Unique Identifier.

Appendix