The Art of Software Security Assessment and over one million other books are available for Amazon Kindle. Learn more
Buy New
$50.59
Qty:1
  • List Price: $74.99
  • Save: $24.40 (33%)
Only 2 left in stock (more on the way).
Ships from and sold by Amazon.com.
Gift-wrap available.
The Art of Software Secur... has been added to your Cart
Sell yours for a Gift Card
We'll buy it for $16.92
Learn More
Trade in now
Have one to sell? Sell on Amazon
Flip to back Flip to front
Listen Playing... Paused   You're listening to a sample of the Audible audio edition.
Learn more
See all 2 images

The Art of Software Security Assessment: Identifying and Preventing Software Vulnerabilities Paperback – November 30, 2006

24 customer reviews
ISBN-13: 978-0321444424 ISBN-10: 9780321444424 Edition: 1st

Buy New
Price: $50.59
20 New from $46.59 16 Used from $30.98
Amazon Price New from Used from
Kindle
"Please retry"
Paperback
"Please retry"
$50.59
$46.59 $30.98
Free Two-Day Shipping for College Students with Amazon Student Free%20Two-Day%20Shipping%20for%20College%20Students%20with%20Amazon%20Student


Hero Quick Promo
Save up to 90% on Textbooks
Rent textbooks, buy textbooks, or get up to 80% back when you sell us your books. Shop Now
$50.59 FREE Shipping. Only 2 left in stock (more on the way). Ships from and sold by Amazon.com. Gift-wrap available.

Frequently Bought Together

The Art of Software Security Assessment: Identifying and Preventing Software Vulnerabilities + The Web Application Hacker's Handbook: Finding and Exploiting Security Flaws + Hacking: The Art of Exploitation, 2nd Edition
Price for all three: $109.78

Buy the selected items together

Editorial Reviews

From the Back Cover

“There are a number of secure programming books on the market, but none that go as deep as this one. The depth and detail exceeds all books that I know about by an order of magnitude.

Halvar Flake,CEO and head of research, SABRE Security GmbH

 

The Definitive Insider's Guide to Auditing Software Security

 

This is one of the most detailed, sophisticated, and useful guides to software security auditing ever written.The authors are leading security consultants and researchers who have personally uncovered vulnerabilities in applications ranging from sendmail to Microsoft Exchange, Check Point VPN to Internet Explorer. Drawing on their extraordinary experience, they introduce a start-to-finish methodology for “ripping apart applications to reveal even the most subtle and well-hidden security flaws.

 

The Art of Software Security Assessmentcovers the full spectrum of software vulnerabilities in both UNIX/Linux and Windows environments. It demonstrates how to audit security in applications of all sizes and functions, including network and Web software. Moreover, it teaches using extensive examples of real codedrawn from past flaws in many of the industry's highest-profile applications.

 

Coverage includes

 

• Code auditing: theory, practice, proven methodologies, and secrets of the trade

• Bridging the gap between secure software design and post-implementation review

• Performing architectural assessment: design review, threat modeling, and operational review

• Identifying vulnerabilities related to memory management, data types, and malformed data

• UNIX/Linux assessment: privileges, files, and processes

• Windows-specific issues, including objects and the filesystem

• Auditing interprocess communication, synchronization, and state

• Evaluating network software: IP stacks, firewalls, and common application protocols

• Auditing Web applications and technologies

 

This book is an unprecedented resource for everyone who must deliver secure software or assure the safety of existing software: consultants, security specialists, developers, QA staff, testers, and administrators alike.

 

Contents

ABOUT THE AUTHORS     xv

PREFACE     xvii

ACKNOWLEDGMENTS    xxi

I Introduction to Software Security Assessment

1 SOFTWARE VULNERABILITY FUNDAMENTALS    3

2 DESIGN REVIEW     25

3 OPERATIONAL REVIEW    67

4 APPLICATION REVIEW PROCESS    91

II Software Vulnerabilities

5 MEMORY CORRUPTION    167

6 C LANGUAGE ISSUES     203

7 PROGRAM BUILDING BLOCKS     297

8 STRINGS ANDMETACHARACTERS    387

9 UNIX I: PRIVILEGES AND FILES     459

10 UNIX II: PROCESSES     559

11 WINDOWS I: OBJECTS AND THE FILE SYSTEM     625

12 WINDOWS II: INTERPROCESS COMMUNICATION     685

13 SYNCHRONIZATION AND STATE    755

III Software Vulnerabilities in Practice

14 NETWORK PROTOCOLS    829

15 FIREWALLS    891

16 NETWORK APPLICATION PROTOCOLS    921

17 WEB APPLICATIONS    1007

18 WEB TECHNOLOGIES     1083

BIBLIOGRAPHY     1125

INDEX     1129

About the Author

Mark Dowd is a principal security architect at McAfee, Inc. and an established expert in the field of application security. His professional experience includes several years as a senior researcher at Internet Security Systems (ISS) X-Force, and the discovery of a number of high-profile vulnerabilities in ubiquitous Internet software. He is responsible for identifying and helping to address critical flaws in Sendmail, Microsoft Exchange Server, OpenSSH, Internet Explorer, Mozilla (Firefox), Checkpoint VPN, and Microsoft’s SSL implementation. In addition to his research work, Mark presents at industry conferences, including Black Hat and RUXCON.

 

John McDonald is a senior consultant with Neohapsis, where he specializes in advanced application security assessment across a broad range of technologies and platforms. He has an established reputation in software security, including work in security architecture and vulnerability research for NAI (now McAfee), Data Protect GmbH, and Citibank. As a vulnerability researcher, John has identified and helped resolve numerous critical vulnerabilities, including issues in Solaris, BSD, Checkpoint FireWall-1, OpenSSL, and BIND.

 

Justin Schuh is a senior consultant with Neohapsis, where he leads the Application Security Practice. As a senior consultant and practice lead, he performs software security assessments across a range of systems, from embedded device firmware to distributed enterprise web applications. Prior to his employment with Neohapsis, Justin spent nearly a decade in computer security activities at the Department of Defense (DoD) and related agencies. His government service includes a role as a lead researcher with the National Security Agency (NSA) penetration testing team–the Red Team.

NO_CONTENT_IN_FEATURE

Shop the new tech.book(store)
New! Introducing the tech.book(store), a hub for Software Developers and Architects, Networking Administrators, TPMs, and other technology professionals to find highly-rated and highly-relevant career resources. Shop books on programming and big data, or read this week's blog posts by authors and thought-leaders in the tech industry. > Shop now

Product Details

  • Paperback: 1200 pages
  • Publisher: Addison-Wesley Professional; 1 edition (November 30, 2006)
  • Language: English
  • ISBN-10: 9780321444424
  • ISBN-13: 978-0321444424
  • ASIN: 0321444426
  • Product Dimensions: 7 x 2.3 x 9.2 inches
  • Shipping Weight: 4 pounds (View shipping rates and policies)
  • Average Customer Review: 4.8 out of 5 stars  See all reviews (24 customer reviews)
  • Amazon Best Sellers Rank: #35,254 in Books (See Top 100 in Books)

More About the Authors

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

Customer Reviews

Most Helpful Customer Reviews

34 of 34 people found the following review helpful By David Aitel on December 1, 2006
Format: Paperback
The temptation with a massive book, such as this one, is to use it as a reference. While no doubt valuable as a quick reference for people looking to know the exact problems with any given C API ("snprintf does what differently on Windows and Unix?"), this book is best read page by page. There are surprises sprinkled throughout. Vulnerable example code is taken from real software applications, such as OpenBSD 3.6, Netscape, and OpenSSH. Of course, more than just a collection of code with mistakes highlighted, this book has a powerful methodology, complete with "Desk-checking", "Scorecards" and other useful tricks.

This book is not about binary analysis; assembly language is used only to demonstrate tricky C code.

Unlike many books with multiple authors, this is an extremely well put together book that flows naturally from chapter to chapter. The chapters on C auditing are amazing. The chapters on web assessment, while not the most in-depth chapters in the book, still contain a lot of information that is covered nowhere else (servlet race conditions, for example).

In fact, almost everything in this book is, if not new, covered more expertly than anywhere I've seen. For anyone doing software security assessment, this book is required reading. All 1200 pages of it.

Score: 5/5
Comment Was this review helpful to you? Yes No Sending feedback...
Thank you for your feedback. If this review is inappropriate, please let us know.
Sorry, we failed to record your vote. Please try again
28 of 30 people found the following review helpful By Michael Schuerig on November 29, 2008
Format: Paperback
This book was like a blow to the head for me. I'm not a security person, I'm not coveting ever more arcane vulnerabilities. Rather, I'm the poor guy at the other end of things: I'm a programmer. It's my job to avoid all the known and imaginable vulnerabilities while at the same time providing some useful functionality to my customers.

You bet I wouldn't like some self-styled security "researcher" tear apart my poor little programs and expose all their failings. What's troubling me, after reading this book, is that it looks very much like I hardly stand a chance. Security would be hard with the best of tools, unfortunately, at least when it comes to systems programming, the tools -- C, low-level APIs -- are dubious at best and introduce lots and lots of problems of their own. These tools hail from a happier time long ago when we were still trusting trust. I was overcome by a mixture of horror and chagrin when I saw proof in this book that not even the people writing sensitive security software (such as OpenSSH) wield these tools artfully enough to avoid vulnerabilities.

And this is where I come to the only beef I have with an otherwise comprehensive book. It's like a field guide to dangerous beasts that teaches you to recognize sabre-toothed tigers, but doesn't tell you how to get rid of them. Contrary to what the subtitle promises about preventing software vulnerabilities, there is just too little about it. This is a considerable shortcoming, in my view, as a lot of the demonstrated vulnerabilities don't have trivial remedies even after they are exposed.

Wrapping up, I feel left alone in the twilight and I think I saw a tiger over there.
2 Comments Was this review helpful to you? Yes No Sending feedback...
Thank you for your feedback. If this review is inappropriate, please let us know.
Sorry, we failed to record your vote. Please try again
17 of 18 people found the following review helpful By Amazon Customer on December 6, 2006
Format: Paperback
As a security researcher it is often hard to recommend books to people. A lot of the things you know come from actually doing it and I find it hard to explain to people the how and the why of what I do. That problem is now solved with the publication of the Art of Software Security Assessment. The book was written by 3 people very familiar with the problems of software security and even more so 3 people who actually know what they are talking about when it comes to what a bug hunter looks for in bad code. Out of all the chapters I have read I have to be honest and say the chapter on Windows IPC (Chapter 12) is worth the price of admission alone. It describes Windows messaging and mailslots to a degree I have never seen publicly explained before but the crown jewel is the in-depth and concise explanation of the Windows implementation of RPC. A lot of the major worms you have heard of, like Blaster and Zotob are based on RPC exploits. One of the challenges for developers and security professionals alike is that RPC is generally very blackbox, meaning a developer uses a few functions to communicate but never really knows what's going on under the hood. This book solves the problem by explaining all the concepts and how to look for bad code.

I can not recommend this book enough if you are serious about security.
Comment Was this review helpful to you? Yes No Sending feedback...
Thank you for your feedback. If this review is inappropriate, please let us know.
Sorry, we failed to record your vote. Please try again
14 of 15 people found the following review helpful By Stephen Northcutt on December 18, 2006
Format: Paperback
This should have been the third book in line to be reviewed, but as I leafed through it, once, twice, and a third time I started to realize this is one of those rare security books that has a chance to revolutionize the industry like Applied Cryptography, Snort 2.0, or Hacking Exposed. The longer you wait to read this book, the further you will fall behind. Nuff said?

Every week that goes by we see an increasing understanding in the community about how important secure software is and that it takes the appropriate development process to create secure software. This book is hitting the marketplace at the perfect time, I hope the authors and publishing team have a runaway success, you deserve it. I also hope people will be encouraged by this book, secure software development is certainly possible, this book clearly shows that. It takes management support in terms of resources, training and good process, but it can certainly be done.

At 1128 content pages, much of this material will be things that you have picked up in other places, such as other books or courses you have taken. Much of it will be things you once knew and forgot. But this is the most complete book on software security out there covering Windows, Unix, Network Protocols, Web and other Applications.

What I particularly love is the how approachable the majority of the information is. Please do not get me wrong, if you have never written a line of code you are going to be lost during the code examples, the only signpost you get is the occasional bolded line, but you will still be able to clearly follow the discussion before the code example and right after the code example.

Section 1 of the book is called an Introduction to Software Security Assessment.
Read more ›
Comment Was this review helpful to you? Yes No Sending feedback...
Thank you for your feedback. If this review is inappropriate, please let us know.
Sorry, we failed to record your vote. Please try again

Most Recent Customer Reviews

Set up an Amazon Giveaway

Amazon Giveaway allows you to run promotional giveaways in order to create buzz, reward your audience, and attract new followers and customers. Learn more
The Art of Software Security Assessment: Identifying and Preventing Software Vulnerabilities
This item: The Art of Software Security Assessment: Identifying and Preventing Software Vulnerabilities
Price: $50.59
Ships from and sold by Amazon.com