Fall
2007:
CS
6393 Advanced Topics in Computer Security:
Reliable and Secure Distributed
Systems
Instructor
Prof.
Shouhuai Xu
What's New?
- (all news
are announced via the course mailing list)
Office
Science Building 4.01.46
Office hour
MW 2:00-3:00 PM
When, at where
MW 8:30 -- 9:45 PM, Location HSS 3.03.06
Course objectives
- This
course aims to introduce students to the interdisciplinary field of
distributed system reliability and security.
- One goal
is to help students establish a taste of thinking like a chief security officer (CSO)
or a chief security
architect (CSA).
- The
course will be self-contained.
- The
instructor will work closely with the students throughout thie
semester, especially on their projects.
Textbook
- The coure materials will be based on two parts:
Grading policy (tentative)
- Student paper presentation (5%; one
presentation per student)
- Project proposal & presentation (20%: one proposal per
team)
- Take-home exam (10%; 5% each)
- Final project report (30%; one report per
team)
- Final project presentation (with demo, if
applicable) (10%; one presentation per team)
- In-class closed-book exam (20%)
- Attendance (5%)
How it works?
- Students
are encouraged to form teams of 2 - 4
people. Each team works on a project that is selected with consultation
of the instructor. Each team needs a volunteer
to lead and coordinate the progress of the project,
and serve as the point-of-contact of the team with the instructor.
- Each
project will involve the problem identification,
proposal, design
and
analysis
and implementation, and final report writing. Each project will produce
a written proposal of final technical report (i.e., one copy per team).
- Collaboration
with your classmates is encouraged.
- Each
team needs to meet with the instructor periodically (e.g., once every
one or
two
weeks).
How should I prepare the
proposal/final report?
- The instructor
will be involved in the
preparation of both proposal and final projects.
Course schedule (tentative, subject to
change)
[Special acknowledgments: Many slides are adopted,
with minor modification, from Prof. Ken Birman's slides. Many slides
are borrowed from other colleagues in the research community, some
times with minor modifications.
They will be acknowledged in the beginning of each lecture. Many
thanks, folks!]
- Aug. 22. Course
Introduction
- Aug. 27. An
Introduction to Reliable
Distributed Systems
- Aug. 29. Cryptography Basics (I)
- Sept. 3. Labor Day (no class)
- Sept. 5. Cryptography Basics (II)
- Sept. 10. An
Introduction to Secure
Distributed Systems
- Sept. 12. Public Key Infrastructure (I): A Challenging
Large-Scale Distributed System
- Sept. 17. Public Key Infrastructure (II): A
Challenging Large-Scale Distributed System
- Sept. 19. Basics
of Reliable Distributed
Systems
- Sept. 24. RPC
and Client-Server Computing in
Reliable Distributed Systems
- Sept. 26. Stateless
and Stateful Clent-Server
Systems
- Oct. 1. Student Presentation (I)
- Oct. 3. Student Presentation (II)
- Oct. 8. Project proposal due and presentation
- Oct. 10. How and Why
Complex Systems Fail?
- Oct. 15. Web
Services
- Oct. 17. Transactions in
Web Services
- Oct. 22. More on
Web Service (DoD sector)
- Oct. 24. Logical
Clock in Distributed Systems
- Oct. 29. (special arrangement)
- Oct. 31. (special arrangement)
- Nov. 5. State Machine Replication
(slides by
Prof. Alvisi)
- Nov. 7. Membership
and Group Communications
- Nov. 12. Fault-Tolerance
and High Availability
- Nov. 14. Reliable and
Secure Content
Distribution Networks (special arrangement)
- Nov. 19. Reliable
and Secure Peer to Peer
Systems
- Nov. 21. Intrusion Tolerance: Concepts and
Principles
- Nov. 26. Final project report
presentation
- Nov. 28. Sybil Attacks
- Dec. 3. Study day (no class)
- Dec. 5. (no class; final
project report due at or no later than 1AM of Dec. 5, 2007)
- Dec. 10. Final exam
in classroom; closed-book; 8:00PM-10:30PM (per UTSA final schedules)
Suggested papers for student presentation
- David Oppenheimer and David A. Patterson. Architecture and Dependability of
Large-Scale Internet Services. Internet Computing. September/October
2002 (Vol. 6, No. 5). pp. 41-49.
- W. Bartlett and L. Spainhower. Commercial fault tolerance: a tale of
two systems. IEEE Transactions on Dependable and Secure Computing.
Jan.-March 2004 pp 87- 96.
- David A. Patterson. An
introduction to dependability. ;login:, 27(4):61-65, August 2002.
- David Oppenheimer, Archana Ganapathi, and David A.
Patterson. Why do Internet services
fail, and what can be done about it? In Proc. 4th USENIX Symposium
on Internet Technologies and Systems (USITS '03), 2003.
- Fred B. Schneider and Lidong Zhou. Distributed trust: Supporting
fault-tolerance and attack-tolerance. Technical Report TR
2004-1924, Cornell Computer Science Department, January 2004.
- Hu, Yih-Chun, David McGrew, Adrian Perrig, Brian Weis, and
Dan Wendlandt. (R)Evolutionary
Bootstrapping of a Global PKI for Securing BGP.Fifth Workshop on
Hot Topics in Networks (HotNets-V), by ACM SIGCOMM, Irvine, California,
November 29-30, 2006.
- Seshadri, Arvind, Mark Luk, Adrian Perrig, Leendert van
Doorn, and Pradeep Khosla. Externally
Verifiable Code Execution. Communications of the ACM 49, no. 9
(September 2006): 45 - 49.
- Bellovin, Steven, David Clark, Adrian Perrig, and Dawn
Song. A Clean-Slate Design for the
Next-Generation Secure Internet. Pittsburgh, PA: Report for NSF
Global Environment for Network Innovations (GENI) workshop, July 12-14,
2005.
- Seshadri, Arvind, Mark Luk, Elaine Shi, Adrian Perrig,
Leendert van Doorn, and Pradeep Khosla. Pioneer: Verifying Integrity and
Guaranteeing Execution of Code on Legacy Platforms. In Proceedings
of the ACM Symposium on Operating Systems Principles (SOSP), Brighton,
United Kingdom, October 2005.
- Shi, Elaine, Adrian Perrig, and Leendert van Doorn. BIND: A Time-of-use Attestation
Service for Secure Distributed Systems. In Proceedings of the IEEE
Symposium on Security and Privacy, Oakland, California, May 2005.
- McCune, Jonathan M., Bryan Parno, Adrian Perrig, Michael
K. Reiter, and Arvind Seshadri. Minimal
TCB Code Execution (Extended Abstract). In Proceedings of the IEEE
Symposium on Security and Privacy, May, 2007.
- J. Steiner, B. Neuman, and J. Schiller. Kerberos: An Authentication Service
for Open Network Systems. In Proceedings of the Winter 1988 Usenix
Conference, February, 1988.
- John Dobson, Brian Randell. Building Reliable Secure Computing
Systems out of Unreliable Insecure Components. ACSAC'01.
- B. Lampson. Designing
a global name service. Proc. 4th ACM Symposium on Principles of
Distributed Computing, Minaki, Ontario, 1986, pp 1-10.
- D. R. Engler and M. F. Kaashoek. Exterminate all operating system
abstractions. Proceedings of the Fifth Workshop on Hot Topics in
Operating Systems (HotOS-V).
- Eric A. Brewer. Lessons
from Giant-Scale Services. IEEE Internet Computing. Volume 5
, Issue 4 (July 2001).
- Zachary Anderson, Eric Brewer, Jeremy Condit, Rob Ennals,
David Gay, Matthew Harren, George Necula, and Feng Zhou
Beyond Bug-Finding: Sound
Program Analysis for Linux. HotOS 2007, San Diego, CA, May 2007.
- Seth Gilbert and Nancy Lynch. Brewer's conjecture and the
feasibility of consistent, available, partition-tolerant web services.
Sigact News, 33(2), June 2002.