MIT course on computer systems security, taught by Nickolai Zeldovich. Covers foundational security principles across hardware, software, and network layers.
Course Outline
- Introduction — Foundational concepts and threat models
- OS and VM Isolation — Operating system and virtual machine isolation mechanisms
- Software Fault Isolation — Sandboxing and controlled code execution
- Trusted Hardware — Secure enclaves and hardware security features
- Privilege Separation — Principle of least privilege and access control
- Data Center Infrastructure — Security in cloud and server environments
- Mobile Phone Security — Mobile OS security and application sandboxing
- Web Security Model — Browser security policies and same-origin policy
- Buffer Overflow Defenses — Memory safety and exploitation prevention
- Symbolic Execution — Automated program analysis and vulnerability detection
- Supply Chain Security — Software integrity and secure dependencies
- Network Security — Network layer threats and defenses
- Secure Channels — TLS and encrypted communication
- Certificates — Public key infrastructure and trust models
- User Authentication — Passwords, factors, and identity verification
- Decentralized Key Management — Blockchain and distributed trust
- AI Agent Security — Security of autonomous systems and machine learning
- Messaging Security — End-to-end encryption and secure messaging
- Anonymous Communication — Privacy-preserving protocols and anonymity networks
Resources
- MIT OpenCourseWare: 6.566 Computer Systems Security — Video lectures from Spring 2026
- Course Website — Full course materials, problem sets, and readings
Key Topics
- Threat modeling and attack surfaces
- Defense mechanisms (isolation, sandboxing, encryption)
- Vulnerability analysis and exploitation
- Cryptographic primitives and protocols
- Authentication and authorization
- Modern attacks: supply chain, AI systems, network attacks
Instructor
Nickolai Zeldovich — MIT CSAIL, security and systems researcher