CS 261 Course Topics
An approximate list of course topics
(subject to change; as time permits):
- Basic concepts
- Trust, trusted computing base, trusted path, transitive trust.
Reference monitors. Policy vs. mechanism. Assurance.
Lessons from the Orange Book.
- Access control
- Authorization, policy, access matrix. Subjects and objects.
ACLs, capabilities. Rings, lattices. Revocation. Groups.
The role of crypto. Distributed access control.
Mandatory vs. discretionary access control,
compartmentalization, covert channels.
- Traditional OS centralized protection: address spaces,
uids, resource management. The Unix security model:
file permissions, the super-user, setuid programs,
system calls, password security.
How networks change the problem space.
- Secure coding
- Design principles: code structure, least privilege,
small security kernels, small interfaces.
Tools: language support, type-safe languages,
Common vulnerabilities: buffer overruns, setuid programs,
the confused deputy, race conditions, improper canonicalization.
- Symmetric key, public key, certificates. Choosing
an algorithm. Protocols.
Integrity, authenticity confidentiality, availability.
- Network security
- TCP/IP. Attacks on network protocols: address spoofing,
hijacking, source routing, SYN floods, smurfing, etc.
DNS attacks, routing vulnerabilities. Attacks on network
daemons. The Internet Worm. TCP wrappers. Intrusion detection.
- Philosophy, benefits. Styles: packet filter, application
proxying, stateful inspection. Performance, scalability.
Fail-safety, assurance. Techniques. Do's and don'ts.
- Confining untrusted code
- Motivation: the mobile code problem, implementing least privilege.
signed code, interpreted code,
software fault isolation, proof-carrying code,
virtualization, extensible reference monitors.
- Case studies
- Kerberos. PGP and the web of trust.
SSL and centralized certification authorities.
SSH. IPSEC. Cellphones. Therac-25.
Practical issues: risk management, key management, smartcards,
copy protection systems, social engineering.
- Extra topics
- Privacy: Anonymity and traffic analysis;
remailers and rewebbers; practical experience.
Cryptographic protocols: protocol failures, design principles;
logics of authentication; Formal methods.
Others as time permits and according to student interest.
- Project presentations