Operating Systems and Web Security: Fall 2012

From Soma-notes
Jump to: navigation, search

Course Outline

The outline of the course can be found here.

Reading Responses

In general, reading responses should be turned in by 8 PM on Monday prior to the associated readings being discussed in class. Submitted reading responses should be no more than 1000 words in total for discussion of all the week's readings. (NOT 1000 words per reading!) Reading responses should be a discussion of what you got out of the readings and what questions you still have. I will attempt to read everyone's responses before class so I have an idea how to direct in-class discussion. In particular, I will be looking for topics on which to give more background.

Suggestion on how to do responses: Read all the papers first, then take a break, then write a response. Don't write after each reading. You don't even need to take notes unless that is how you read papers.

The first reading response is due on Monday, September 17th, 8 PM. Note that this response should also discuss how useful and enjoyable the unsupervised in-class discussion of the readings went.

Responses should be submitted via Carleton's new cuLearn.

Readings

Date

Topics

Readings

Notes

Sept. 6

Introduction

Introduction Notes

Sept. 11

Fundamentals (Groups)

Saltzer & Schroeder, The Protection of Information in Computer Systems (1975) (Link to PDF version)

Fundamentals Notes

Sept. 13

Criteria (Groups)

The DoD Orange Book (1985)

Criteria Notes

Sept. 18

Fundamentals (Discussion)

Sept. 20

Criteria (Discussion)

Sept. 25

Code Injection Attacks

Aleph One, Stack Smashing for Fun and Profit
Buchanan et al., When good instructions go bad: generalizing return-oriented programming to RISC (proxy)

Code Injection Attacks Notes

Sept. 27

Code Injection Defenses

Bojinov et al., Address space randomization for mobile devices (proxy)
Kc et al., Countering Code-Injection Attacks With Instruction-Set Randomization (proxy)
OPTIONAL: Barrantes et al., Randomized instruction set emulation (proxy)

Code Injection Defenses Notes

Oct. 2

Cross-Site Scripting

CERT, Malicious HTML Tags
Wikipedia, Cross-Site Scripting
OWASP, Cross-Site Scripting (XSS)
Gundy & Chen, Noncespaces: Using Randomization to Enforce Information Flow Tracking and Thwart Cross-Site Scripting Attacks

Cross-Site Scripting Notes

Oct. 4

Web Mashups

Jackson & Wang, Subspace: secure cross-domain communication for web mashups
Wang et al., Protection and communication abstractions for web browsers in MashupOS (proxy) (author)

Web Mashups Notes

Oct. 9

L4

Liedtke, Toward Real Microkernels (proxy)
Klein et al., seL4: formal verification of an OS kernel (proxy)

L4 Notes

Oct. 11

Exokernels

Engler & Kaashoek, Exterminate all operating system abstractions (proxy)
Engler et al., Exokernel: an operating system architecture for application-level resource management (proxy)

Exokernels Notes

Oct. 16

Midterm summary discussion
Project discussion

Midterm Study Guide

Oct. 18

Midterm Exam (LaTeX)
Proposals Due

Oct. 23

Old Code

Ozment & Schechter, Milk or Wine: Does Software Security Improve with Age?

Oct. 25

Old APIs

Bright, An in-depth look at WinRT

Oct. 30

Chrome

Reis et al., Browser Security: Lessons from Google Chrome

Nov. 1

iOS and Android Security

iOS Security, Android Security

Nov. 6

Felt et al., The Effectiveness of Application Permissions
Lie & Litty, Using Hypervisors to Secure Commodity Operating Systems

App Perms Hyperviz

Nov. 8

Belay et al., Dune: Safe User-level Access to Privileged CPU Features
McCune et al., Flicker: An Execution Infrastructure for TCB Minimization

Nov. 13

De Groef et al., FlowFox: a Web Browser with Flexible and Precise Information Flow Control
Wang et al., The Multi-Principal OS Construction of the Gazelle Web Browser

Nov. 15

Mickens & Dhawan, Atlantis: Robust, Extensible Execution Environments for Web Applications
Chen et al., App Isolation: Get the Security of Multiple Browsers with Just One

Browser Imp Notes

Nov. 20

Chen et al., Overshadow: A Virtualization-Based Approach to Retrofitting Protection in Commodity Operating Systems
Andrus et al., Cells: A Virtual Mobile Smartphone Architecture

Nov. 22

Akhawe, Saxena, & Song, Privilege Separation in HTML5 Applications
Tang et al., CleanOS: Limiting Mobile Data Exposure with Idle Eviction

Nov. 27

Presentations 1

Nov. 29

Presentations 2

Dec. 4, 10 AM

Final Exam Study Session

Dec. 6, 9 AM
SA 404

Final Exam