24 Deadly Sins of Software Security: Programming Flaws and How to Fix Them

  • 6h 29m
  • David Leblanc, John Viega, Michael Howard
  • McGraw-Hill/Osborne
  • 2010

Eradicate the Most Notorious Insecure Designs and Coding Vulnerabilities

Fully updated to cover the latest security issues, 24 Deadly Sins of Software Security reveals the most common design and coding errors and explains how to fix each one-or better yet, avoid them from the start. Michael Howard and David LeBlanc, who teach Microsoft employees and the world how to secure code, have partnered again with John Viega, who uncovered the original 19 deadly programming sins. They have completely revised the book to address the most recent vulnerabilities and have added five brand-new sins. This practical guide covers all platforms, languages, and types of applications. Eliminate these security flaws from your code:

  • SQL injection
  • Web server- and client-related vulnerabilities
  • Use of magic URLs, predictable cookies, and hidden form fields
  • Buffer overruns
  • Format string problems
  • Integer overflows
  • C++ catastrophes
  • Insecure exception handling
  • Command injection
  • Failure to handle errors
  • Information leakage
  • Race conditions
  • Poor usability
  • Not updating easily
  • Executing code with too much privilege
  • Failure to protect stored data
  • Insecure mobile code
  • Use of weak password-based systems
  • Weak random numbers
  • Using cryptography incorrectly
  • Failing to protect network traffic
  • Improper use of PKI
  • Trusting network name resolution

About the Authors

Michael Howard is is a principal security program manager on the Trustworthy Computing Group’s Security Engineering team at Microsoft. He is the author or coauthor of many well-known software security books and is an editor of IEEE Security & Privacy.

David LeBlanc, Ph.D., is a principal software development engineer on the Microsoft Office security team. He is a coauthor, with Michael Howard, of Writing Secure Code (Microsoft Press).

John Viega is CTO of the SaaS Business Unit at McAfee and was previously their chief security architect. He is the author of five other security books. Mr. Viega first defined the 19 deadly sins of software security for the Department of Homeland Security.

In this Book

  • SQL Injection
  • Web Server–Related Vulnerabilities (XSS, XSRF, and Response Splitting)
  • Web Client–Related Vulnerabilities (XSS)
  • Use of Magic URLs, Predictable Cookies, and Hidden Form Fields
  • Buffer Overruns
  • Format String Problems
  • Integer Overflows
  • C++ Catastrophes
  • Catching Exceptions
  • Command Injection
  • Failure to Handle Errors Correctly
  • Information Leakage
  • Race Conditions
  • Poor Usability
  • Not Updating Easily
  • Executing Code with Too Much Privilege
  • Failure to Protect Stored Data
  • The Sins of Mobile Code
  • Use of Weak Password-Based Systems
  • Weak Random Numbers
  • Using the Wrong Cryptography
  • Failing to Protect Network Traffic
  • Improper Use of PKI, Especially SSL
  • Trusting Network Name Resolution