Overview
Syllabus
Intro
Facebook missed a single security check...
Putting user privacy at risk: a recipe
A blogging web app example
Change how we build software
Yes! At least for web apps...
Hails: secure Haskell web framework
Extend MVC with security policy
How do we specify policy? • Policy specified as function from row to label Label concisely encodes read/write restriction on data
Where to enforce label restrictions?
How do we enforce labels?
Two kinds of code: MPs and VCs
extensibility
Is the TCB actually smaller?
Implementation details
Why Haskell?
Thinking about secure sub-language
Review: the 10 monad
How can we do anything useful?
Tracking reads & restricting writes
The LIO secure sub-language
What do we get with this?
What's the catch?
Summary
Taught by
Strange Loop Conference