"THE LIMITS OF SANDBOXING AND NEXT STEPS" from Chris Palmer at #enigma2021

usenix.org/conference/eni…
This talk is going to go through the experience pushing the boundaries on sandboxing in the Chrome browser

What is sandboxing?
* breaking something into lower/higher privileged process
* necessary for browers, OSes, VMs etc.
Chromium uses to reduce the amount of privilege of the application: also to reduce the amount of privilege for code that touches websites (renderer)
* split different websites into different processes
* good defense against logic bugs (e.g. same-origin policy)
Good sandboxing is table stakes..
* necessary to contain a variety of classes of bugs, leaks, and vulnerabilities.
* not, by itself, sufficient for Chromium, nor arbitrarily applicable.
We’re pretty sure Chromium is near the practical limit…
...but your application might still have significant sandboxing headroom left. Use it!
The fundamental building block available to us is the process boundary.
* Fault isolation
* System call filtering
* Low-privilege principals (UID/GID, SID, Access Tokens)
* Segmented memory someday…?
OS mechanisms (Android)
* isolatedProcesses
* Medium-grained system call filtering (certain predefined Seccomp-BPF policies)
* SELinux
OS mechanisms (Linux, Chrome OS)
* Fine-grained system call filtering (freer use of Seccomp-BPF)
* User/PID/network namespaces
* Legacy setuid helper where namespaces not available
But can't sandbox everything (or at a fine-enough grain)!
* Process space overhead: Large on Windows, very large on Android
* Process startup latency: High on Windows, very high on Android
How do we decide when to create a new renderer process?
* Site isolation: one process per renderer (more or less) to keep different sites apart
* ... plus GPU
* ... plus network
* ... plus storage
Moving forward: memory safety [hey, a theme in the session!]
* Sandboxing isn't enough: still significant browser, kernel, kernel attack surface available
* Need to not just contain bugs, but to mitigate and hopefully even solve them.
Investigating safer language options
* Java/Kotlin on Android
* Swift on iOS/macOS
* Rust
* WebAssembly?
Migrating to memory-safe languages:
* Not all-or-nothing! Thankfully!
* We can focus on hot spots: areas of particularly large, soft, or easily-accessible attack surface.
* Interoperability and overall complexity are huge concerns.
* Learning curve, too.
Improving memory-unsafe languages
* Smarter pointer types (MiraclePtr)
* Garbage collection (expanding the use of Oilpan) and semi-GC (MiracleScan)
* Defining undefined behavior
* New hardware features (memory tagging, control flow integrity)
We need to get to the "acceptance" stage as Alex describes [see last talk thread]

Chromium High+ severity vulns breakdown [diagram]
Platform security teams throughout industry — including Microsoft, Android, and Apple — are seeing same problems we are: about ⅔ to ¾ of security-relevant bugs are due to memory unsafety
All seem to be looking in the same direction for solutions: further reduce privilege, increase memory safety.

Create significant asymmetries that favor defense — attackers are less able to get what they want with a single bug (need a chain of bugs), vulns harder to find+exploit
The future
* Sandboxing has given Chromium 10+ good years!
* The next 10 require something more: memory safety

[end of talk]

• • •

Missing some Tweet in this thread? You can try to force a refresh
 

Keep Current with Lea Kissner

Lea Kissner Profile picture

Stay in touch and get notified when new unrolls are available from this author!

Read all threads

This Thread may be Removed Anytime!

PDF

Twitter may remove this content at anytime! Save it as PDF for later use!

Try unrolling a thread yourself!

how to unroll video
  1. Follow @ThreadReaderApp to mention us!

  2. From a Twitter thread mention us with a keyword "unroll"
@threadreaderapp unroll

Practice here first or read more on our help page!

More from @LeaKissner

3 Feb
Last talk of #enigma2021 by Marcus Botacin: "DOES YOUR THREAT MODEL CONSIDER COUNTRY AND CULTURE? A CASE STUDY OF BRAZILIAN INTERNET BANKING SECURITY TO SHOW THAT IT SHOULD!"

usenix.org/conference/eni…
The outcomes I get from my analysis of malware I find in Brazil were quite different than what I saw in analysis of malware from other researchers. Why? Because the malware attacks were different!
The Brazilian banking system:
* let's move banking to computers (80s)to keep up with hyperinflation
* desktop clients for users... and the attackers migrated from physical to fake desktop app attacks -- that would only work in Brazil because that's where the banking was ImageImage
Read 18 tweets
3 Feb
@gianluca_string is up at #enigma2021 speaking about "COMPUTATIONAL METHODS TO UNDERSTAND AND MITIGATE ONLINE AGGRESSION"

[Make sure to catch the talks when they're posted -- my hands can't keep up with these speakers and the talks are 🔥]

usenix.org/conference/eni…
Content note: this talk is about online abuse as some of the content may be upsetting
Got pulled into this after a screenshot of a class assignment sending folks to post on 4chan to post about race/gender/etc issues got posted on 4chan without the email address... so the 4chan folks thought it was @gianluca_string. It wasn't, but they doxxed and harassed anyway
Read 15 tweets
3 Feb
Kicking off the last session of #enigma2021, @katestarbird is speaking about an extremely pressing topic: "ONLINE RUMORS, MISINFORMATION AND DISINFORMATION: THE PERFECT STORM OF COVID-19 AND ELECTION2020"

usenix.org/conference/eni…
So much mis/dis-information in the last few months about covid: rumours about lockdowns, home remedies... and then conspiracy theories
This ... thing was taken viral by media and social media and spread so much mis/dis-information.
Read 24 tweets
3 Feb
Next up at #enigma2021, Alex Gaynor from @LazyFishBarrel (satirical security company) will be talking about "QUANTIFYING MEMORY UNSAFETY AND REACTIONS TO IT"

usenix.org/conference/eni…
Look for places where there are a lot of security issues being handled one-off rather than fixing the underlying issue
We tried to fix credential phishing mostly by telling people to be smarter, rather than fixing the root cause: people being able to use phished credential.

2-factor auth just ... fixes the problem.
Read 15 tweets
3 Feb
It's time to talk about @zoom_us security over @zoom_us at #enigma2021 by Merry Ember Mou with the talk "BUILDING E2EE AND USER IDENTITY"

usenix.org/conference/eni…
Zoom's launched end-to-end encryption 5 months after the white paper was published
* prevents eavesdroppers between users who are speaking to each other
* protection against compromised servers
[ here's the E2EE whitepaper from Zoom]

github.com/zoom/zoom-e2e-…
Read 20 tweets
3 Feb
@carmelatroncoso is speaking about "CONTACT TRACING APPS: ENGINEERING PRIVACY IN QUICKSAND" at #enigma2021

usenix.org/conference/eni…
Engineering contact-tracing apps has been a marathon

Why make them?
* manual contact-tracing became totally overwhelmed with covid cases
* can we supplement with technology?
Constraints: security and privacy
* protect from misuse: surveillance, target marginalized individuals, etc.
* purpose limitation by default
* hide user's identity, location, behaviour
* preserve system integrity
Read 18 tweets

Did Thread Reader help you today?

Support us! We are indie developers!


This site is made by just two indie developers on a laptop doing marketing, support and development! Read more about the story.

Become a Premium Member ($3/month or $30/year) and get exclusive features!

Become Premium

Too expensive? Make a small donation by buying us coffee ($5) or help with server cost ($10)

Donate via Paypal Become our Patreon

Thank you for your support!

Follow Us on Twitter!