Syllabus
Below, the list of topics to covert in the course. For each subject, there is a link to the corresponding slides.
Module 1 (slides)
Topics
- Introduction
- Access Control and Information-Flow Control
- Organization of the course
- Introduction to Haskell
- The
IO
Monad - Why Haskell? Why Monads?
- Running example
- The security monad MAC
- The
join
operator - Dynamic vs. Static enforcement
Module 2 (slides)
- Classifying dangerous flows
- Exceptions
- Covert channels
- Concurrency
- Termination covert channel
- Source code
- Internal timing covert channel
- Cache attacks
- Instruction-based scheduling
- Attacks via lazy evaluation
Module 3
- Dependency Code Calculus (DCC)
- An implementation in Haskell
- Adding effects as derived operations in DCC
- Label creep
- Introduction of primitive cast
- DCC and the IO monad
- A new approach to design IFC libraries