mechanics syllabus supplemental

Syllabus: Work in Progress

Lecture 1:  January 10, 2006

Organizational Meeting

Lecture 2:  January 12

Theme

Where were you in ’72?  A research agenda for computer security.

Required

James P. Anderson, Computer Security Technology Planning Study. http://niatec.info/pdf/ande72.pdf

Supplemental Reading

Fred B. Schneider, editor, Trust in Cyberspace, http://www.nap.edu/readingroom/books/trust/

Coordinator

Hook

Lecture 3:  January 17

Theme

Information-flow I

Required

Dorothy E. Denning and Peter J. Denning, Certification of Programs for Secure Information Flow, http://www.seas.upenn.edu/~cis670/Spring2003/p504-denning.pdf

Dennis Volpano, Geoffrey Smith, and Cynthia Irvine, A Sound Type System for Secure Flow Analysis, http://www.cs.fiu.edu/~smithg/papers/jcs96.pdf

Coordinator

Shahms E. King

Lecture 4:  January 19

Theme

Information-flow II

Required

Steve Zdancewic, Lantian Zheng, Nathaniel Nystrom, and Andrew C. Myers, Secure Program Partitioning, http://www.cis.upenn.edu/~stevez/papers/ZZNM02.pdf

Andrei Sabelfeld and Andrew C. Myers, Language-based Information-Flow Security, http://www.cs.cornell.edu/andru/papers/jsac/sm-jsac03.pdf

Coordinator

Hook

Lecture 5:  January 24

Theme

Information-flow III

Required

Peng Li and Steve Zdancewic, Downgrading Policies and Relaxed Noninterference, http://www.cis.upenn.edu/~stevez/papers/LZ05a.pdf

William L. Harrison and James Hook, Achieving Information Flow Security Through Precise Control of Effects, http://www.cs.missouri.edu/~harrison/pubs/research/csfw05.pdf

Code: http://www.cs.missouri.edu/~harrison/CSFW05/index.html

Supplemental

Vincent Simonet, The Flow Caml System, Documentation and users’s manual, Part I., http://cristal.inria.fr/~simonet/soft/flowcaml/

Coordinator

Please send me email!

Lecture 6:  January 26

Theme

Software Fault Isolation

Required

 R. Wahbe, S. Lucco, T. Anderson, and S. Graham, Efficient Software-based Fault Isolation, http://www.cs.cornell.edu/home/jgm/cs711sp02/sfi.ps.gz

Christopher Small, MiSFIT:  A Tool for Constructing Safe Extensible C++ Systems, http://www.dogfish.org/chris/papers/misfit/misfit-ieee.ps

 

Coordinator

Kahiro

Lecture 7:  January 31

Theme

Safe Legacy Languages I:  CCured

Required

George C. Necula, Scott McPeak, Westley Weimer, CCured:  Type-Safe Retrofitting of Legacy Code, POPL ’02, http://www.cs.berkeley.edu/~smcpeak/papers/ccured_popl02.pdf

George C. Necula, Jeremy Condit, Matthew Harren, Scott McPeak, Westley Weimer, CCured:  Type-Safe Retrofitting of Legacy Software,  TOPLAS, 2005,
Draft: http://www.cs.virginia.edu/~weimer/papers/NCHMW-CCuredTypeSafe.pdf
Real publication: http://doi.acm.org/10.1145/781131.781157 (you should be able to access this from the PSU network)

Jeremy Condit, Matthew harren, George C. Necula, Scott McPeak, Westley Weimer, CCured in the Real World, PLDI ’03, http://www.cs.virginia.edu/~weimer/papers/CHNMW-CCuredInTheRealWorld.pdf  [Note, the TOPLAS paper is an extended version of this paper.]

Coordinator

Jeff Williams

Lecture 8:  February 2

Theme

Domain-Specific Languages:  Cryptol

Required

Galois Connections, Inc., Cryptol Reference Manual, http://www.cryptol.net/docs/Reference.pdf

Focus on chapters 1, 2, 3, 6 and 7.

Coordinator

Dean Pierce

Lecture 9:  February 7

Project Proposals Due

Theme

Proof Carrying Code I

Required

Suggested papers, to be selected by the presenter:

George Necula, Proof Carrying Code, chapter in B. Pierce’s anthology.

Necula and Lee, Safe Kernel Extensions Without Run-time checking, OSDI ’96, http://raw.cs.berkeley.edu/Papers/pcc_osdi96.ps

Necula and Lee, Proof-Carrying Code, POPL ’97, http://raw.cs.berkeley.edu/Papers/pcc_popl97.ps.

Necula and Lee, The Design and Implementation of a Certifying Compiler, PLDI ’98, http://raw.cs.berkeley.edu/Papers/certcomp_pldi98.ps.

The PCC web site:  http://raw.cs.berkeley.edu/pcc.html

Coordinator

Zhifei

Lecture 10:  February 9

Theme

Proof Carrying Code II

Required

Andrew Appel, Foundational PCC, LICS ’01, http://www.cs.princeton.edu/~appel/papers/fpcc.pdf

Xia and Hook, Abstraction Carrying Code

Coordinator

Alex Ten

Lecture 11:  February 14

Theme

Operating System Faults via Static Analysis

Required

Various papers by Engler and others

http://www.stanford.edu/~engler/

Please read the following two papers:
http://www.stanford.edu/~engler/metrics-sosp-01.pdf
http://www.stanford.edu/~engler/p401-xie.pdf

Coordinator

Dean Pierce

 

Lecture 12:  February 16

Theme:

Cyclone

Reading:

(1) Cyclone:  A Safe Dialect of C.  Usenix Annual Technical Conference, Monterey, CA, June 2002.

http://www.eecs.harvard.edu/~greg/cyclone/papers/cyclone-safety.pdf

(2) Cyclone:  A Type-Safe Dialect of C.  In C/C++ User's Journal, 23(1), January 2005.

http://www.eecs.harvard.edu/~greg/papers/cuj.pdf

(3) Region-Based Memory Management in Cyclone.  ACM Conference on Programming Language Design and Implementation, Berlin, Germany, June 2002.

http://www.cs.cornell.edu/Projects/cyclone/papers/cyclone-regions.pdf

extended version:

http://www.eecs.harvard.edu/~greg/papers/cyclone-regions-tr.pdf

 

Coordinator:

Yang Chen

Lecture 13:  February 21

Dean Pierce will present Cryptol

Lecture 14:  February 23

Presenter: Shahms

"Checking System Rules Using System-Specific, Programmer-Written
Compiler Extensions"
http://www.stanford.edu/~engler/mc-osdi.pdf

"Using Model Checking to Find Serious File System Errors"
http://www.stanford.edu/~engler/osdi04-fisc.pdf

Lecture 15:  February 28

Theme: Software Fault Isolation

Organizer: Kahiro

MiSFIT (see above)

Lecture 16:  March 2

Theme: SLAM Project

Organizer: Jeffrey Williams

1. "The SLAM Project: Debugging System SW via Static Analysis" which is the overview.

2. "Boolean Programs: A Model and Process for SW Analysis" which seems to be the original foundation for the system.

3. "Automatically Validating Temporal Safety Properties of Interfaces" which the site describes as the most recent.

Web site: http://research.microsoft.com/slam/

Lecture 17:  March 7

Alex

Will present the Singularity paper.

Singularity:

http://research.microsoft.com/research/pubs/view.aspx?tr_id=989

ftp://ftp.research.microsoft.com/pub/tr/TR-2005-135.pdf

Lecture 18:  March 9

Projects: 1 & 2

Lecture 19:  March 14

Projects: 3 & 4

Lecture 20:  March 16

Project 5

March 21, 17:00,

Project Report due

Another good paper for next time:

Encoding Information Flow in Haskell
Peng Li, Steve Zdancewic. University of Pennsylvania. In submission.
http://www.seas.upenn.edu/~lipeng/homepage/papers/lz06csfw.pdf