or
Sign in to turn on 1-Click ordering.
 
 
Express Checkout with PayPhrase
What's this? | Create PayPhrase
More Buying Choices
52 used & new from $7.70

Have one to sell? Sell yours here
 
   
19 Deadly Sins of Software Security: Programming Flaws and How to Fix Them (Security One-off)
 
 

19 Deadly Sins of Software Security: Programming Flaws and How to Fix Them (Security One-off) (Paperback)

~ (Author), (Author), (Author) "Buffer overruns have long been recognized as a problem in low-level languages..." (more)
Key Phrases: Other Resources, Michael Howard, Second Edition (more...)
4.6 out of 5 stars  See all reviews (12 customer reviews)

List Price: $45.00
Price: $29.70 & this item ships for FREE with Super Saver Shipping. Details
You Save: $15.30 (34%)
o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o
Usually ships within 1 to 3 weeks.
Ships from and sold by Amazon.com. Gift-wrap available.

30 new from $14.30 22 used from $7.70

Formats

Amazon Price New from Used from
  Kindle Edition, July 26, 2005 $23.76 -- --
  Paperback, July 25, 2005 $29.70 $14.30 $7.70
There is a newer edition of this item:
24 Deadly Sins of Software Security: Programming Flaws and How to Fix Them 24 Deadly Sins of Software Security: Programming Flaws and How to Fix Them
$31.49
In Stock.
What Do Customers Ultimately Buy After Viewing This Item?
19 Deadly Sins of Software Security: Programming Flaws and How to Fix Them (Security One-off)
70% buy the item featured on this page:
19 Deadly Sins of Software Security: Programming Flaws and How to Fix Them (Security One-off) 4.6 out of 5 stars (12)
$29.70
24 Deadly Sins of Software Security: Programming Flaws and How to Fix Them
12% buy
24 Deadly Sins of Software Security: Programming Flaws and How to Fix Them
$31.49
The Web Application Hacker's Handbook: Discovering and Exploiting Security Flaws
7% buy
The Web Application Hacker's Handbook: Discovering and Exploiting Security Flaws 4.9 out of 5 stars (15)
$31.50
Software Security: Building Security In
6% buy
Software Security: Building Security In 4.9 out of 5 stars (19)
$37.79

Frequently Bought Together

19 Deadly Sins of Software Security: Programming Flaws and How to Fix Them (Security One-off) + Software Security: Building Security In + The Security Development Lifecycle
  • This item: 19 Deadly Sins of Software Security: Programming Flaws and How to Fix Them (Security One-off) by John Viega

    Usually ships within 1 to 3 weeks.
    Ships from and sold by Amazon.com.
    This item ships for FREE with Super Saver Shipping. Details

  • Software Security: Building Security In by Gary McGraw

    In Stock.
    Ships from and sold by Amazon.com.
    This item ships for FREE with Super Saver Shipping. Details

  • The Security Development Lifecycle by Michael Howard

    In Stock.
    Ships from and sold by Amazon.com.
    Eligible for FREE Super Saver Shipping on orders over $25. Details


Customers Who Bought This Item Also Bought

The Security Development Lifecycle

The Security Development Lifecycle

by Michael Howard
4.5 out of 5 stars (4)  $23.09
Writing Secure Code, Second Edition

Writing Secure Code, Second Edition

by David LeBlanc
4.2 out of 5 stars (35)  $31.49
Secure Coding: Principles and Practices

Secure Coding: Principles and Practices

by Mark Graff
4.8 out of 5 stars (16)  $19.77
Hunting Security Bugs

Hunting Security Bugs

by Tom Gallagher
4.6 out of 5 stars (5)  $42.74
Foundations of Security: What Every Programmer Needs to Know (Expert's Voice)

Foundations of Security: What Every Programmer Needs to Know (Expert's Voice)

by Neil Daswani
4.5 out of 5 stars (8)  $34.19
Explore similar items

Editorial Reviews

Product Description

This essential book for all software developers--regardless of platform, language, or type of application--outlines the “19 deadly sins” of software security and shows how to fix each one. Best-selling authors Michael Howard and David LeBlanc, who teach Microsoft employees how to secure code, have partnered with John Viega, the man who uncovered the 19 deadly programming sins to write this much-needed book. Coverage includes:

  • Windows, UNIX, Linux, and Mac OS X
  • C, C++, C#, Java, PHP, Perl, and Visual Basic
  • Web, small client, and smart-client applications


From the Back Cover

“Ninety-five percent of software bugs are caused by the same 19 programming flaws.” —Amit Yoran, Former Director of The Department of Homeland Security’s National Cyber Security Division

Secure your software by eliminating code vulnerabilities from the start. This essential book for all software developers--regardless of platform, language, and type of application--outlines the 19 sins of software security and shows how to fix each one. Best-selling authors Michael Howard and David LeBlanc, who teach Microsoft employees how to write secure code, have partnered with John Viega, the man who uncovered the 19 deadly programming sins to write this hands-on guide. Detailed code examples throughout show the code defects as well as the fixes and defenses. If you write code, you need this book. Eliminate these security flaws from your code:

  • Buffer overruns
  • Format string problems
  • Integer overflows
  • SQL injection
  • Command injection
  • Failure to handle errors
  • Cross-site scripting
  • Failure to protect network traffic
  • Use of magic URLs and hidden forms
  • Improper use of SSL
  • Use of weak password-based systems
  • Failure to store and protect data securely
  • Information leakage
  • Trusting network address resolution
  • Improper file access
  • Race conditions
  • Unauthenticated key exchange
  • Failure to use cryptographically strong random numbers
  • Poor usability

Michael Howard, CISSP, is an architect of the security process changes at Microsoft and a co-author of Processes to Produce Secure Software published by the Department of Homeland Security’s National Cyber Security Division. He is a Senior Security Program Manager in the Security Engineering Group at Microsoft Corporation and co-author of Writing Secure Code (Microsoft Press). David LeBlanc, Ph.D., is Chief Software Architect for Webroot Software, and was formerly Security Architect in the Office group at Microsoft. He is co-author of Writing Secure Code. John Viega is the CTO of Secure Software. He first defined the 19 deadly sins of software security for the Department of Homeland Security. He is co-author of many security books including Building Secure Software (Addison-Wesley).


Product Details

  • Paperback: 304 pages
  • Publisher: McGraw-Hill Osborne Media; 1 edition (July 26, 2005)
  • Language: English
  • ISBN-10: 0072260858
  • ISBN-13: 978-0072260854
  • Product Dimensions: 9.1 x 7.3 x 0.8 inches
  • Shipping Weight: 1.1 pounds (View shipping rates and policies)
  • Average Customer Review: 4.6 out of 5 stars  See all reviews (12 customer reviews)
  • Amazon.com Sales Rank: #282,697 in Books (See Bestsellers in Books)

More About the Authors

Discover books, learn about writers, read author blogs, and more.

Inside This Book (learn more)


Tags Customers Associate with This Product

 (What's this?)
Click on a tag to find related items, discussions, and people.
 

Your tags: Add your first tag
 

 

Customer Reviews

12 Reviews
5 star:
 (7)
4 star:
 (5)
3 star:    (0)
2 star:    (0)
1 star:    (0)
 
 
 
 
 
Average Customer Review
4.6 out of 5 stars (12 customer reviews)
 
 
 
 
Share your thoughts with other customers:
Most Helpful Customer Reviews

 
10 of 10 people found the following review helpful:
4.0 out of 5 stars A fast read that addresses serious problems in a decent manner, November 1, 2006
I read six books on software security recently, namely "Writing Secure Code, 2nd Ed" by Michael Howard and David LeBlanc; "19 Deadly Sins of Software Security" by Michael Howard, David LeBlanc, and John Viega; "Software Security" by Gary McGraw; "The Security Development Lifecycle" by Michael Howard and Steve Lipner; "High-Assurance Design" by Cliff Berg; and "Security Patterns" by Markus Schumacher, et al. Each book takes a different approach to the software security problem, although the first two focus on coding bugs and flaws; the second two examine development processes; and the last two discuss practices or patterns for improved design and implementation. My favorite of the six is Gary McGraw's, thanks to his clear thinking and logical analysis. The other five are still noteworthy books. All six will contribute to the
production of more security software.

The main reason to read 19DS is to quickly become acquainted with various security problems facing software developers. At less than 300 pages, it's not a thick tome like WSC2E. 19DS also is not afraid to mix bugs (coding errors, like buffer overflow conditions) with flaws (design problems, like "failing to protect network traffic.") This sort of lax categorization bothers me (and Gary McGraw, as noted in his book "Software Security"), but it shouldn't interfere with the quality content of 19DS.

Probably the most interesting aspect (to me) of 19DS was sin 10, which discussed problems with Secure Sockets Layer (SSL). The chapter didn't describe algorithmic or protocol problems. Instead, it explained how programmers make poor assumptions about the features provided by their language of choice with respect to SSL. For example, many SSL libraries do not properly validate certificates. Without this functionality, the authors argue that SSL is almost worthless. While I don't necessarily agree with this statement, I really like reading this sort of criticism. I'd like to note that p 134 berates Python's ssl() but ignores pyOpenSSL, which probably provides the features the authors would want.

Other "sins" take slightly different looks at security issues. Sin 17, for example, explains the importance of key exchange AND authentication. These are the sorts of problems I imagine are only discovered by examining multiple real-world implementations, and I value the authors sharing their experiences.

I subtracted one star because the quality of the "sins" isn't even. Some don't adequately explain the problem at hand (e.g., integer overflows). If the authors assume the reader knows the problem well enough to not introduce it properly, then why discuss it at all?

Overall, however, 19DS is a great book to get to your developers. It's short enough that they might actually read it, and the content is presented in a convincing enough manner to perhaps influence their coding choices.
Comment Comment | Permalink | Was this review helpful to you? Yes No (Report this)



 
8 of 8 people found the following review helpful:
5.0 out of 5 stars Required reading for software developers, February 1, 2006
If George Santayana were to recommend a security book, it would certainly be 19 Deadly Sins of Software Security. Santayana is the poet-philosopher widely known for saying, "Those who cannot remember the past are condemned to repeat it." For far too long, software developers have been making the same mistakes in programming as if they were incapable of remembering their past errors.

Poorly written software lies behind nearly every computer security vulnerability. Amit Yoran, former director of the National Cyber Security Division of the U.S. Department of Homeland Security, is quoted as saying that "95 percent of software bugs are caused by the same 19 programming flaws." These flaws are the so-called "deadly sins" of the title.

The book covers these 19 programming flaws, which include the most devastating types of coding and architectural errors, such as buffer overflows, format string problems, cross-site scripting, and insufficient encryption. Each flaw gets its own chapter, which features a brief introduction to the problem, sample code depicting each "sin," ways to detect the problem during code review, a description of tools and techniques to test for the defect, and defensive measures that make it more difficult for someone to exploit the weakness.

None of the text is extraneous, as it economically addresses a wealth of the most popular platforms and languages. These include Windows, Linux, UNIX, C/C++, C#, Java, PERL, and more.

Software applications developers, irrespective of which platform or language they use to write code, should consider this book required reading. Were he a techie, Santayana might have said that those who have written insecure code in the past are condemned to continue to write insecure code in the future. Programmers need only read this book to help put an end to that vicious cycle.

Comment Comment | Permalink | Was this review helpful to you? Yes No (Report this)



 
9 of 10 people found the following review helpful:
5.0 out of 5 stars Another one of those "required" books to own and read..., September 3, 2005
By Thomas Duff "Duffbert" (Portland, OR United States) - See all my reviews
(TOP 50 REVIEWER)    (REAL NAME)      
With the continual alerts and patches for software vulnerabilities, it may appear that there is no way to write secure software. While I agree there are no "absolutes" when it comes to secure software, there are ways to greatly reduce your potential of writing software that can be exploited. 19 Deadly Sins Of Software Security - Programming Flaws and How To Fix Them by Michael Howard, David LeBlanc, and John Viega does an excellent job in helping you focus in on this subject...

Content: Buffer Overruns; Format String Problems; Integer Overflows; SQL Injection; Command Injection; Failing To Handle Errors; Cross-Site Scripting; Failing To Protect Network Traffic; Use Of Magic URLs And Hidden Form Fields; Improper Use Of SSL And TLS; Use Of Weak Password-Based Systems; Failing To Store And Protect Data Security; Information Leakage; Improper File Access; Trusting Network Name Resolution; Race Conditions; Unauthenticated Key Exchange; Cryptographically Strong Random Numbers; Poor Usability; Mapping The 19 Deadly Sins To The OWASP "Top Ten"; Summary Of Do's And Don'ts; Index

This book came out of a list developed by Homeland Security that declared that 95% of security issues in software came from 19 programming mistakes. What you read in these pages go into more detail about each of those issues, but in a very concise, practical, no-nonsense fashion. This is the type of information you'll need as a professional who needs to get a job done without wasting time on fluff and verbose writing. Each chapter covers one of the sins, and follows a standard format for the information. The subsections in each chapter are: Overview of the Sin; Affected Languages; The Sin Explained; Related Sins; Spotting the Sin Pattern; Spotting the Sin During Code Review; Testing Techniques to Find the Sin; Example Sins; Redemption Steps; Extra Defensive Measures; Other Resources; Summary. Since each chapter stands on its own, you can use this as a reference tool if you're having a particular issue to resolve, or you can read it cover to cover to get a good understanding of the security concerns you need to face when programming.

Just about every significant programming platform and language is covered somewhere in here (Windows, Unix, Linux, C, C++, C#, Java, PHP, Perl, etc.), so there's no real reason why nearly every developer won't take *something* away from their reading. And if you're writing software that will be exposed to usage outside your company, there is *no* reason to not have this book on your shelf. You'll get the core of what you should do very quickly, and you'll end up writing more secure software up front instead of issuing patch after patch after patch...
Comment Comment | Permalink | Was this review helpful to you? Yes No (Report this)


Share your thoughts with other customers: Create your own review
 
 
 
Most Recent Customer Reviews

5.0 out of 5 stars A must read
I am not a security type, I look at code for robustness. Security bugs are BUGS that have a security component. Read more
Published 4 months ago by NoName

4.0 out of 5 stars Software security is of vital importance to computers
Software is vitally important to computers as none of these machines will function without the programming that gives them life. Read more
Published 6 months ago by Danilo Castro Dy

4.0 out of 5 stars Good introduction text to common application security issues
I read the book as part of my Advanced Security course reading at the University of Saint Thomas. It is a short read, with chapters no longer than 10 to 15 pages, application... Read more
Published 6 months ago by Jayesh Naithani

5.0 out of 5 stars Excellent overview of an important topic
This is a very good book for software developers that are concerned about
software security. It is short enough and easy enough to follow that it
might also be a good... Read more
Published 13 months ago by Charles Bradley

5.0 out of 5 stars The bug parade
If you are serious about eradicating software security bugs, you should buy this book. Keeping an eagel eye on the bug parade is a critical activity in software security. Read more
Published on March 2, 2006 by Gary McGraw

5.0 out of 5 stars A Must Have in your Info Security Library
Too often, software security is overlooked in the info security infrastructure of most organizations as we focus on network, computer, data, and physical security. Read more
Published on October 15, 2005 by M. J. Hubbell

4.0 out of 5 stars a meta-language view of common problems
The authors take an even handed look across several major languages and point out pitfalls in each. Probably, for you as a programmer, you have met many of these ideas before. Read more
Published on September 12, 2005 by W Boudville

4.0 out of 5 stars Great book for experienced developers, good one for newbies
This book's a must-have addition to your bookshelf if you're at all concerned about developing secure software -- and you ought to be. Read more
Published on August 30, 2005 by James Holmes

5.0 out of 5 stars Because the Web is Like the Old West with no Sheriff
As anyone who has been around the web for any time at all, the web is not exactly a friendly place. The very openness of the web on a worldwide basis makes it very difficult to... Read more
Published on August 14, 2005 by John Matlock

Only search this product's reviews



Customer Discussions

This product's forum
Discussion Replies Latest Post
No discussions yet

Ask questions, Share opinions, Gain insight
Start a new discussion
Topic:
First post:
Prompts for sign-in
 


Active discussions in related forums
Search Customer Discussions
Search all Amazon discussions
   




Product Information from the Amapedia Community

Beta (What's this?)


Look for Similar Items by Category


Look for Similar Items by Subject

 

Feedback

If you need help or have a question for Customer Service, contact us.
 Would you like to update product info or give feedback on images?
Is there any other feedback you would like to provide?

Your comments can help make our site better for everyone.


Your Recent History

 (What's this?)

After viewing product detail pages or search results, look here to find an easy way to navigate back to pages you are interested in.