Linux for Chromebooks: Secure Development (Google I/O ’19)
Chrome for Developers1 HN recommenders · 2019–2024
239K views · talk · dated · Uploaded 2019-05-09
A Google I/O 2019 talk explaining the architecture of Linux on Chromebooks (Crostini), a sandboxed Linux development environment built on containers inside a VM, with demos and design rationale.
Referenced in security discussions as an example of defense-in-depth sandboxing for a desktop Linux environment.
47:18The Tragedy of systemd
linux.conf.au
19:10Velocity NY 2013: Richard Cook, "Resilience In Complex Adaptive Systems"
O'Reilly
52:35Debugging Under Fire: Keep your Head when Systems have Lost their Mind • Bryan Cantrill • GOTO 2017
GOTO Conferences
1:48:55The Thirty Million Line Problem
Molly Rocket
1:03:51VCF East: Ken Thompson interviewed by Brian Kernighan
Vintage Computer Federation
59:56AWS re:Invent 2018: Amazon DynamoDB Deep Dive: Advanced Design Patterns for DynamoDB (DAT401)
Amazon Web Services
45:35The Real Story Behind Wayland and X - Daniel Stone (linux.conf.au 2013)
Mladen Mijatov
1:04:04LISA11 - Fork Yeah! The Rise and Development of illumos
USENIX
9 comments from Hacker News
Video of the talk: Linux for Chromebooks, (A.K.A Crostini): Secure Development presented by Sudha Broslawsky, Tom Buckley, and Dylan Reid at Google I/O 2019 [VIDEO] Some technical details: * Container: Crostini (default is Debian 9) * Guest: Termina VM: LXD [1], Linux Kernel * Host: CrOS: crosvm, Linux Kernel Drivers are run in "minijails" to minimize exposure. Files are shared from container to OS via 9P [2]. Google is calling theirs "9S" Edit: I think this in-depth document may be up to date: "Running Custom Containers Under Chrome OS" [LINK] [1] from Canonical, see [LINK] [2] [LINK]
Well, you can see how they are locking it down with containers sandboxing from an IO talk, by making use of gVisor and a Rust based containers. "Linux for Chromebooks: Secure Development" [VIDEO]
Regarding ChromeOS: "Linux for Chromebooks: Secure Development" > Learn how Linux for Chromebooks (Crostini) gives you a secure sandbox for development. Through a variety of demos, this talk will explain the architecture underlying Linux for Chromebooks and the design decisions that keep it easy to use. [VIDEO] And Android: "Adopting the Arm Memory Tagging Extension in Android" [LINK] " [LINK] [LINK] "Improving Stability with Private C/C++ Symbol Restrictions in Android N" [LINK] "Android NDK Native APIs" [LINK]
You can now have sandboxes where you can install desktop tools without having to enable stuff like developer mode: [VIDEO] Sandboxing this stuff away is in general a good idea for protecting "normal" users. People often want to install pirated games or whatever and that's abused as a vector to get malware onto those devices. If that's not enough you can install entirely different operating systems and even bootloaders (if you want to).
Back when Chrome was based on WebKit, IIRC Chrome team found and fixed oodles and oodles of bugs in WebKit, because WebKit wasn't even using fuzzing, or not enough fuzzing. Even as late as 2017, fuzzing was still finding significantly more security issues in Safari than other browsers: [LINK] Also, when discussing iCloud, you need to distinguish between the backend service, and the frontend service. There have been significant CVEs found in the front-end client. Apple doesn't run many front end Web services, so there's less to exploit. They also don't allow you to host executable code like AWS, Azure, and GCP, so the attack surface is much more confined. That Google has exposed their infrastructure to the unforgiving nature of the Web for 2 decades, with exploits few and far between, is a testament to the quality of the security engineers. The most secure device on the planet, isn't iOS, it's Chromebooks. Look at the defense-in-depth used on Chromebooks to isolate execution: [VIDEO]
Chrome OS is a very secure Linux distro. While the base system is very restricted, they also support Linux sandboxes, making it secure for you to use the computer both for online banking and for downloading random code from the internet. Check out the talk "Linux for Chromebooks: Secure Development": [VIDEO]
You're likely not even safe from this if you are using Chrome OS. It does sandbox the localhost web server [1] [2], but it does not restrict access to it from the host. [1]: [VIDEO] [2]: [LINK]
That is a VM, similar in concept to WSL on Windows, with the difference that the host is also Linux based. "Linux for Chromebooks: Secure Development" [VIDEO] [LINK] [LINK]
Even when you enable “developer mode” which is essentially Debian in a VM the level of care that went into making sure that no matter what happens there you will never suffer a full system compromise is truly impressive. To give you a sense of where they were half a decade ago you can already see that it’s as I described miles in front of anything that exists even today in this video: [VIDEO] When we get to talking about when they went for a total ground up first principles approach with Fuchsia as a next generation operating system that is something else entirely on a different level again. I genuinely didn’t have a hint of irony in my original comment. They are actually that much better when it comes to security.