Computer Systems Security
MIT's 6.858 covers how to design and break secure computer systems, built around lectures that walk through recent research papers rather than a single textbook. Topics include operating system security and capabilities, information flow control, language-based security, network protocol security, hardware security, and vulnerabilities in web applications. Lecture notes, readings, and problem sets from MIT's Electrical Engineering and Computer Science department are included, along with lab assignments that have students find and exploit real vulnerabilities before learning to defend against them. The course assumes prior systems and programming background and is pitched at an advanced level, closer to a graduate seminar than an introductory survey. Materials are published through MIT OpenCourseWare under a Creative Commons license, free to access with no certificate offered.