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

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

byMichael Howard, David LeBlanc, John Viega

Paperback | September 24, 2009

not yet rated|write a review

Pricing and Purchase Info

$46.10 online 
Earn 231 plum® points

In stock online

Ships free on orders over $25

Not available in stores


"What makes this book so important is that it reflects the experiences of two of the industry's most experienced hands at getting real-world engineers to understand just what they're being asked for when they're asked to write secure code. The book reflects Michael Howard's and David LeBlanc's experience in the trenches working with developers years after code was long since shipped, informing them of problems." --From the Foreword by Dan Kaminsky, Director of Penetration Testing, IOActive

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 Author

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 Of...

Details & Specs

Title:24 Deadly Sins of Software Security: Programming Flaws and How to Fix Them: Programming Flaws and…Format:PaperbackDimensions:432 pages, 9.2 × 7.4 × 0.89 inPublished:September 24, 2009Publisher:McGraw-Hill EducationLanguage:English

The following ISBNs are associated with this title:

ISBN - 10:0071626751

ISBN - 13:9780071626750

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


Extra Content

Table of Contents

Part I: Web Application Sins; Chapter 1: SQL Injection; Chapter 2: Server Side Cross-Site Scripting; Chapter 3: Web-Client Related Vulnerabilities; Part II: Implementation Sins; Chapter 4: Use of Magic URLs
Chapter 5: Buffer Overruns; Chapter 6: Format String Problems; Chapter 7: Integer Overflows; Chapter 8: C++ Catastrophes; Chapter 9: Catching All Exceptions; Chapter 10: Command Injection; Chapter 11: Failure to Handle Errors; Chapter 12: Information Leakage; Chapter 13: Race Conditions; Chapter 14: Poor Usability; Chapter 15: Not Updating Easily; Part III: Cryptographic Sins; Chapter 16: Not Using Least Priveleges; Chapter 17: Weak Password Systems; Chapter 18: Unauthenticated Key Exchange; Chapter 19: Random Numbers;Part IV: Networking Sins;Chapter 20: Wrong Algorithm; Chapter 21: Failure to Protect Network Traffic; Chapter 22: Trusting Name Resolution; Part V: Stored Data Sins; Chapter 23: Improper Use of SSL/TLS; Chapter 24: Failure to Protect Stored Data