| Week 1: Introduction & principles of systems security
| Monday September 13th
|
| Wednesday September 15th
| Lecture notes (Security
Intro) |
| Read
The Protection of Information in Computer Systems. Saltzer and
Schroeder, Section I,A. Do these principles still apply today?
Which do which don't? Are there missing principles we need to be
aware of? Are there more specific principles that apply to systems
written in modern programming languages such as Java? Are there
modern systems where we need to take additional precautions?
Consider additional properties? (Use your experience from PlanetLab?)
|
| Read
Exterminate all operating system abstractions.
Dawson R. Engler and M. Frans Kaashoek. What is the difference between what the ExoKernel means by "secure" and what an ordinary operating system means by
"secure"? What security principles does the ExoKernel abide by or
not abide by? Are these choices good or bad? Is the ExoKernel
more reliable than other operating systems? Think of your own controversial question to ask
the class. Come up with an interesting position to defend in class. Be ready to discuss.
|
|
|
| Week 2: Security properties
| Monday September 20th: Review of programming languages concepts
| syntax |
| operational semantics |
| type systems |
| Read Benjamin Pierce, Types and Programming Languages.
chapters 1-9. |
|
| Wednesday September 22nd:
|
|
| Week 3: Program monitoring languages
| Monday September 27th: Security monitors continued. |
| Wednesday September 29th: Implementing security monitors
|
|
| Week 4: Program monitors as execution transformers
| Monday October 4th: Edit automata.
|
| Wednesday October 6th: Language-theoretic semantics for program
monitors
|
|
| Week 5: Java security
| Monday October 11th: Lecture Cancelled |
| Wednesday October 13th: Java security: Permissions, stack
inspection, class loaders and all that jazz
|
|
| Week 6: Formalizing Stack Inspection
| Monday October 18th: Equational reasoning about stack inspection
|
| Wednesday October 20th: A Type System for reasoning about stack
inspection.
|
|
| Week 7: Static access control via types
| Monday November 1st: Type Qualifiers Intro
|
| Wednesday November 3rd: Security via Type Qualifiers
|
| Friday November 5th (10:30 AM; CS 401 Make-up Lecture):
Flow-sensitive type analysis.
|
|
| Week 8: Secrecy, integrity and information flow control
| Monday November 8th: Information flow basics |
| Wednesday November 10th: Information flow type systems
|
|
| Week 9: Information flow overflow & analysis of cryptographic protocols
| Monday November 15: Non-interference proofs
|
| Wednesday November 17: Cryptographic protocols
|
|
| Week 10: Cryptographic protocols continued; Logic and Access control
| Monday November 22: Cryptic continued.
|
| Wednesday November 24: Binder (Sudhakar Govindavajhala
presents)
|
|
| Week 11: Logic and Access Control
| Monday November 29: Says and Speaksfor Logics
|
| Wednesday December 1: Model Checking for security
|
|
| Week 12: Project presentations
| Monday December 6: William & Harlan |
| Wednesday December 8: Mike & Aquinas |
|