Cocoon: Static Information Flow Control in Rust
summary
Cocoon is a Rust library that enforces noninterference by using Rust’s type system and procedural macros to create a type-and-effect IFC system without modifying the compiler. It requires explicit declassification (the only audited trusted point), rejects side-effecting calls inside secret regions, and prevents leaking via Drop. Evaluation retrofits Battleship, Spotify TUI, and Servo, all working with no runtime overhead (compile time increases only). Artifacts are available and results reproduced.
AI-written summary · about
chapters (14)
- 0:00Introducing Cocoon and IFC
- 1:44Access control fails for secrets
- 2:46How IFC works
- 4:11Interprocedural analysis limits
- 5:16Dynamic analysis drawbacks
- 6:19Cocoon as Rust library
- 7:23Writing code with secret blocks
- 9:53Trusted base and declassification
- 10:14Threats handled by Cocoon
- 12:24Usability and deployability testing
- 13:07Battleship game case study
- 13:29Spotify CLI case study
- 13:51Servo browser engine case study
- 14:34Conclusion and Q&A
related talks
32mStatic Information Flow Control Made Simple
15mCarapace: Static–Dynamic Information Flow Control in Rust
24mCoccinelle for Rust
01h 11mDuck-Tape Chronicles - Rust C++ Interop
35mLet’s Talk About Rust
35m"Memory Safety is Merely Table Stakes [...]"
15mTowards Safe HPC: Productivity and Performance via Rust Interfaces for a Distribu...
31mThe Rust That Could Have Been
