6393 Advanced Topics in Computer Security:
Reliable and Secure Distributed
- (all news
are announced via the course mailing list)
Science Building 4.01.46
MW 2:00-3:00 PM
When, at where
MW 8:30 -- 9:45 PM, Location HSS 3.03.06
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
course will be self-contained.
instructor will work closely with the students throughout thie
semester, especially on their projects.
- 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
- Take-home exam (10%; 5% each)
- Final project report (30%; one report per
- Final project presentation (with demo, if
applicable) (10%; one presentation per team)
- In-class closed-book exam (20%)
- Attendance (5%)
How it works?
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.
project will involve the problem identification,
and implementation, and final report writing. Each project will produce
a written proposal of final technical report (i.e., one copy per team).
with your classmates is encouraged.
team needs to meet with the instructor periodically (e.g., once every
How should I prepare the
- The instructor
will be involved in the
preparation of both proposal and final projects.
Course schedule (tentative, subject to
[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
- Aug. 22. Course
- Aug. 27. An
Introduction to Reliable
- Aug. 29. Cryptography Basics (I)
- Sept. 3. Labor Day (no class)
- Sept. 5. Cryptography Basics (II)
- Sept. 10. An
Introduction to Secure
- 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
- Sept. 24. RPC
and Client-Server Computing in
Reliable Distributed Systems
- Sept. 26. Stateless
and Stateful Clent-Server
- 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
- Oct. 17. Transactions in
- 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
- Nov. 7. Membership
and Group Communications
- Nov. 12. Fault-Tolerance
and High Availability
- Nov. 14. Reliable and
Distribution Networks (special arrangement)
- Nov. 19. Reliable
and Secure Peer to Peer
- Nov. 21. Intrusion Tolerance: Concepts and
- Nov. 26. Final project report
- 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,
- 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.