Designing and Coding Secure Systems

Links from the class materials and other supplemental information, grouped by chapter:



Chapter 1: Introduction



Chapter 2: Designing and coding secure programs

Links from the text:



Chapter 3: Threat models and risk management

Links from the text:



Chapter 4: Security and the software development life cycle

Links from the text:



Chapter 5: Input validation and representation

Links from the text:



Chapter 6: Fail securely

Links from the text:



Chapter 7: Logging

Links from the text:



Chapter 8: State and the web

Links from the text:



Chapter 9: Code reviews (auditing) for security

Links from the text:



Chapter 10: Software testing for security

Links from the text:



Chapter 11: Defense in depth

Links from the text:



Chapter 12: Least privilege

Links from the text:



Chapter 13: Compartmentalization

Links from the text:



Chapter 14: Erasing data

Links from the text:



Chapter 15: Race conditions

Links from the text:



Chapter 16: Cryptography Fundamentals

Links from the text:



Chapter 17: Using Cryptography

Links from the text:



Chapter 18: Authentication

Links from the text:

Additional links, not from the course text, or, software needed for the chapter:

OWASPGuide2.0.1.pdf (Local copy)



Chapter 19: Research directions



Chapter 20: Final lab



SkillBridge Training

Examples from the class notes (or, all as one file).

Selected Solutions from the class notes (no looking until you have solved the problems!). Note that all solutions are in an appendix of your course book. All solutions in a compressed tar file.


Evaluation form (if needed)