Fall 2007:

CS 6393  Advanced Topics in Computer Security:

Reliable and Secure Distributed Systems


Prof. Shouhuai Xu

What's New?


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


Grading policy (tentative)

How it works?

How should I prepare the proposal/final report?

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!]
    1. Aug. 22. Course Introduction
    2. Aug. 27. An Introduction to Reliable Distributed Systems
    3. Aug. 29. Cryptography Basics (I)
    4. Sept. 3. Labor Day (no class)
    5. Sept. 5. Cryptography Basics (II)
    6. Sept. 10. An Introduction to Secure Distributed Systems
    7. Sept. 12. Public Key Infrastructure (I): A Challenging Large-Scale Distributed System
    8. Sept. 17. Public Key Infrastructure (II): A Challenging Large-Scale Distributed System
    9. Sept. 19. Basics of Reliable Distributed Systems
    10. Sept. 24. RPC and Client-Server Computing in Reliable Distributed Systems
    11. Sept. 26. Stateless and Stateful Clent-Server Systems
    12. Oct. 1. Student Presentation (I)
    13. Oct. 3. Student Presentation (II)
    14. Oct. 8. Project proposal due and presentation
    15. Oct. 10. How and Why Complex Systems Fail?
    16. Oct. 15. Web Services
    17. Oct. 17. Transactions in Web Services
    18. Oct. 22. More on Web Service (DoD sector)
    19. Oct. 24. Logical Clock in Distributed Systems
    20. Oct. 29. (special arrangement)
    21. Oct. 31. (special arrangement)
    22. Nov. 5. State Machine Replication (slides by Prof. Alvisi)
    23. Nov. 7. Membership and Group Communications
    24. Nov. 12. Fault-Tolerance and High Availability
    25. Nov. 14. Reliable and Secure Content Distribution Networks (special arrangement)
    26. Nov. 19. Reliable and Secure Peer to Peer Systems
    27. Nov. 21. Intrusion Tolerance: Concepts and Principles
    28. Nov. 26. Final project report presentation
    29. Nov. 28. Sybil Attacks
    30. Dec. 3. Study day (no class)
    31. Dec. 5. (no class; final project report due at or no later than 1AM of Dec. 5, 2007)
    32. Dec. 10. Final exam in classroom; closed-book; 8:00PM-10:30PM (per UTSA final schedules)

Suggested papers for student presentation

    1. 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.
    2. 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.
    3. David A. Patterson. An introduction to dependability. ;login:, 27(4):61-65, August 2002.
    4. 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.
    5. 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.
    6. 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.
    7. 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.
    8. 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.
    9. 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.
    10. 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.
    11. 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.
    12. 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.
    13. John Dobson, Brian Randell. Building Reliable Secure Computing Systems out of Unreliable Insecure Components. ACSAC'01.
    14. B. Lampson. Designing a global name service. Proc. 4th ACM Symposium on Principles of Distributed Computing, Minaki, Ontario, 1986, pp 1-10.
    15. 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).
    16. Eric A. Brewer. Lessons from Giant-Scale Services. IEEE Internet Computing. Volume 5 ,  Issue 4  (July 2001).
    17. 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.
    18. Seth Gilbert and Nancy Lynch. Brewer's conjecture and the feasibility of consistent, available, partition-tolerant web services. Sigact News, 33(2), June 2002.