0133: Readings

Textbooks

Optional Text: Jerome Saltzer and M. Frans Kaashoek, Principles of Computer System Design: An Introduction, Part I (Chapters 1-6), Version 5.0, paperback, published in UK by Elsevier, ISBN 978-0-12-374957-4.

Optional Text: Jerome Saltzer and M. Frans Kaashoek, Principles of Computer System Design: An Introduction, Part II (Chapters 7-11), Version 5.0, PDF available free online.

Optional Reference: Alfred Menezes, Paul van Oorschot, and Scott Vanstone, Handbook of Applied Cryptography, PDF available free online.

Optional Text: Shafi Goldwasser and Mihir Bellare, Lecture Notes on Cryptography, available online.

Note that there is no required textbook for 0133. Readings are entirely drawn from research papers.

Saltzer and Kaashoek offer an excellent introduction to systems; those looking to firm up their systems background may find this book helpful.

Menezes et al. offer a useful reference on cryptography, and how to use ciphers correctly in practice.

Goldwasser and Bellare provide an excellent, in-depth set of notes on cryptography, grounded in a rigorous theoretical approach.

Waterstone's on Torrington Place and amazon.co.uk sell Saltzer and Kaashoek.

Research Papers

Part I: Distributed Systems

Gabriel, R., Worse Is Better, from unpublished essay, "Lisp: Good News, Bad News, How to Win Big," 1989.

Sandberg, R., Goldberg, D., Kleiman, S., Walsh, D., and Lyon, B., Design and Implementation of the Sun Network Filesystem, in 1985 Usenix Summer Technical Conference.

Lamport, L., Time, Clocks, and the Ordering of Events in a Distributed System, in Communications of the ACM, 21(7), July 1978.

Li, K. and Hudak, P., Memory Coherence in Shared Virtual Memory Systems, in PODC 1986.

Lamport, L., Paxos Made Simple, in SIGACT News, 32(4), December, 2001.

Terry, D., Theimer, M., Petersen, K., Demers, A., Spreitzer, M., and Hauser, C., Managing Update Conflicts in Bayou, a Weakly Connected Replicated Storage System, in SOSP 1995.

Ghemawat, S., Gobioff, H., and Leung, S.-T., The Google File System, in SOSP 2003.

Mogul, J. and Ramakrishnan, K., Eliminating Receive Livelock in an Interrupt-driven Kernel, in USENIX ATC 1996.

Part II: Systems Security

Steiner, J., Neuman, C., and Schiller, J., Kerberos: An Authentication Service for Open Network Systems, in IEEE Communications, 32(9), 1994.

Wobber, E., Abadi, M., Burrows, M., and Lampson, B., Authentication in the Taos Operating System, in ACM TOCS, 12(1), 1994.

Aleph One, Smashing the Stack for Fun and Profit, in Phrack, Issue 49, 1996.

scut, team teso, Exploiting Format String Vulnerabilities, 2001.

Anonymous, Once upon a free()..., in Phrack, Issue 57, 2001.

Newsome, J. and Song, D., Dynamic Taint Analysis for Automatic Detection, Analysis, and Signature Generation of Exploits on Commodity Software, in NDSS 2005.

PaX Team, PaX Overview, PaX Team web site, 2005.

PaX Team, Address Space Layout Randomization Overview, PaX Team web site, 2005.

Shacham, H., Page, M., Pfaff, B., Goh, E.-J., Modadugu, N., and Boneh, D., On the Effectiveness of Address-Space Randomization, in CCS 2004.

Wahbe, R., Lucco, S., Anderson, T., and Graham, s., Efficient Software-Based Fault Isolation, in SOSP 1993.

Krohn, M., Building Secure High-Performance Web Services with OKWS, in USENIX 2004.

Lipp, M., Schwarz, M., Gruss, D., Prescher, T., Haas, W., Fogh, A., Horn, J., Mangard, S., Kocher, P., Genkin, D., Yarom, Y., and Hamburg, M., Meltdown: Reading Kernel Memory from User Space, in USENIX Security 2018.