Foundations of Security : What Every Programmer Needs to Know - Kern, Christoph; Kesavan, Anita; Daswani, Neil.; SpringerLink (Online service) (Berkeley, CA : Apress : Imprint: Apress, 2007)
Security Design Principles -- Security Goals -- Secure Systems Design -- Secure Design Principles -- Exercises for Part 1 -- Secure Programming Techniques -- Worms and Other Malware -- Buffer Overflows -- Client-State Manipulation -- SQL Injection -- Password Security -- Cross-Domain Security in Web Applications -- Exercises for Part 2 -- to Cryptography -- Symmetric Key Cryptography -- Asymmetric Key Cryptography -- Key Management and Exchange -- MACs and Signatures -- Exercises for Part 3.
Keywords: Data protection; Software engineering; Security; Software Engineering/Programming and Operating Systems