Secure Programming with Static Analysis and over one million other books are available for Amazon Kindle. Learn more
CDN$ 62.99
Only 2 left in stock (more on the way).
Ships from and sold by
Gift-wrap available.
Secure Programming with S... has been added to your Cart
Have one to sell?
Flip to back Flip to front
Listen Playing... Paused   You're listening to a sample of the Audible audio edition.
Learn more
See this image

Secure Programming with Static Analysis Paperback – Jun 29 2007

See all 3 formats and editions Hide other formats and editions
Amazon Price New from Used from
Kindle Edition
"Please retry"
"Please retry"
CDN$ 62.99
CDN$ 62.63 CDN$ 34.09 Gifts for Mom
CDN$ 62.99 FREE Shipping. Only 2 left in stock (more on the way). Ships from and sold by Gift-wrap available.

Product Details

Product Description

From the Back Cover

The First Expert Guide to Static Analysis for Software Security!


Creating secure code requires more than just good intentions. Programmers need to know that their code will be safe in an almost infinite number of scenarios and configurations. Static source code analysis gives users the ability to review their work with a fine-toothed comb and uncover the kinds of errors that lead directly to security vulnerabilities. Now, there's a complete guide to static analysis: how it works, how to integrate it into the software development processes, and how to make the most of it during security code review. Static analysis experts Brian Chess and Jacob West look at the most common types of security defects that occur today. They illustrate main points using Java and C code examples taken from real-world security incidents, showing how coding errors are exploited, how they could have been prevented, and how static analysis can rapidly uncover similar mistakes. This book is for everyone concerned with building more secure software: developers, security engineers, analysts, and testers.


Coverage includes:


Why conventional bug-catching often misses security problems

How static analysis can help programmers get security right

The critical attributes and algorithms that make or break a static analysis tool

36 techniques for making static analysis more effective on your code

More than 70 types of serious security vulnerabilities, with specific solutions

Example vulnerabilities from Firefox, OpenSSH, MySpace, eTrade, Apache httpd, and many more

Techniques for handling untrusted input

Eliminating buffer overflows: tactical and strategic approaches

Avoiding errors specific to Web applications, Web services, and Ajax

Security-aware logging, debugging, and error/exception handling

Creating, maintaining, and sharing secrets and confidential information

Detailed tutorials that walk you through the static analysis process


“We designed Java so that it could be analyzed statically. This book shows you how to apply advanced static analysis techniques to create more secure, more reliable software.

-Bill Joy,Co-founder of Sun Microsystems, co-inventor of the Java programming language


“'Secure Programming with Static Analysis' is a great primer on static analysis for security-minded developers and security practitioners. Well-written, easy to read, tells you what you need to know.

-David Wagner,Associate Professor, University of California Berkeley


“Software developers are the first and best line of defense for the security of their code. This book gives them the security development knowledge and the tools they need in order to eliminate vulnerabilities before they move into the final products that can be exploited.

-Howard A. Schmidt,Former White House Cyber Security Advisor


BRIAN CHESSis Founder and Chief Scientist of Fortify Software, where his research focuses on practical methods for creating secure systems. He holds a Ph.D. in Computer Engineering from University of California Santa Cruz, where he studied the application of static analysis to finding security-related code defects.


JACOB WESTmanages Fortify Software's Security Research Group, which is responsible for building security knowledge into Fortify's products. He brings expertise in numerous programming languages, frameworks, and styles together with deep knowledge about how real-world systems fail.


CD contains a working demonstration version of Fortify Software's Source Code Analysis (SCA) product; extensive Java and C code samples; and the tutorial chapters from the book in PDF format.



Part I: Software Security and Static Analysis        1

1          The Software Security Problem          3

2          Introduction to Static Analysis 21

3          Static Analysis as Part of the Code Review Process    47

4          Static Analysis Internals          71

Part II: Pervasive Problems            115

5          Handling Input 117

6          Buffer Overflow           175

7          Bride of Buffer Overflow         235

8          Errors and Exceptions  265

Part III: Features and Flavors         295

9          Web Applications        297

10         XML and Web Services           349

11         Privacy and Secrets     379

12         Privileged Programs    421

Part IV: Static Analysis in Practice  457

13         Source Code Analysis Exercises for Java        459

14         Source Code Analysis Exercises for C 503

Epilogue          541

References      545

Index   559



About the Author

B rian Chess is a founder of Fortify Software. He currently serves as Fortify’s Chief Scientist, where his work focuses on practical methods for creating secure systems. Brian holds a Ph.D. in Computer Engineering from the University of California at Santa Cruz, where he studied the application of static analysis to the problem of finding security-relevant defects in source code. Before settling on security, Brian spent a decade in Silicon Valley working at huge companies and small startups. He has done research on a broad set of topics, ranging from integrated circuit design all the way to delivering software as a service. He lives in Mountain View, California.


J acob West manages Fortify Software’s Security Research Group, which is responsible for building security knowledge into Fortify’s products. Jacob brings expertise in numerous programming languages, frameworks, and styles together with knowledge about how real-world systems can fail. Before joining Fortify, Jacob worked with Professor David Wagner at the

University of California at Berkeley to develop MOPS (MOdel Checking Programs for Security properties), a static analysis tool used to discover security vulnerabilities in C programs. When he is away from the keyboard, Jacob spends time speaking at conferences and working with customers to advance their understanding of software security. He lives in San Francisco, California.


Customer Reviews

There are no customer reviews yet on
5 star
4 star
3 star
2 star
1 star

Most Helpful Customer Reviews on (beta) 11 reviews
13 of 17 people found the following review helpful
The best book for learning how to fix your code July 5 2007
By James Walden - Published on
Format: Paperback
After having read every secure programming book in print, this is the book I would recommend to both working developers and students. The abundance of code examples in C/C++ and Java help this book stand out from the shelf of other secure programming books, but that's just the beginning of what sets this book apart from the rest.

While most secure programming books focus on the basics of security mistakes like buffer overflows, they're short on how to find and fix security flaws in a large body of code. Most of us have too much code to inspect manually line by line by the next release, so this book shows the reader how to effectively use static analysis tools as a part of the code review process to automate finding security bugs. The CD that comes with the book has a working demo version of the Fortify Source Code Analyzer tool, so the reader can gain hands-on experience with static analysis.

Once you've found the bugs, you could attempt to fix them one by one, or you could fix them in a consistent, structured manner using secure design strategies to solve problems like input validation and memory management that are the source of so many security problems. Secure Programming with Static Analysis has a readable and practical discussion of these strategies, with many code examples so the reader can easily apply these strategies. It also shows how to use static analysis tools to ensure that all of your code follows these strategies, so that no input escapes validation.

Every software developer needs to know how to program securely, and there's no better place to start learning than this book.
5 of 7 people found the following review helpful
Great security education and awareness book for average developers July 4 2007
By G. Cheng - Published on
Format: Paperback
I had the privilege to read the manuscript of this book before its publication. Highly recommended to developers who are starting to learn application security from a more practical view. With lots of real code examples, this book explains security vulnerabilities from a coding practice perspective, which is unique and easy for an average developer to understand. In my opinion, this book is extremely valuable for an organization to promote security into a software development life cycle(SDLC). It uses easy-to-understand "coding" language and examples to explain many of the vulnerabilities and security concepts that are usually hard to learn for developers with little security experience and expertise. A must-have application security book for the average developers.
4 of 6 people found the following review helpful
If your code must be secure, read this book July 11 2007
By David Wagner - Published on
Format: Paperback
Every software developer who has to write secure code should read this book. This book will tell you how to use static analysis tools to help you build more secure software. It's a great primer for software developers who are new to static analysis and for security practitioners who want to learn how recent advances in the field can improve their software.

I reviewed an pre-release version. It's good stuff. It's well-written, easy to read, and tells you what you need to know without getting bogged down in the details. Brian Chess and Jacob West have a great deal of experience in this area and they do a good job of conveying pragmatic information you can apply in practice to improve your software.
Secure Programming With Static Analysis -by Brain Chess and Jacob West Feb. 20 2011
By Vishal .S - Published on
Format: Paperback Verified Purchase
I brought this book as a course requirement and it has been much more than that. This book enlightens you with situations which you would have encountered previously but never realized how an adversary could exploit the situation to either break into your system or just cause havoc from outside. The authors have shared their company Software named Fortify which helps us analyze programs using static analysis. The only drawback is that the software is an out of date one which refuses to configure with windows 7 system and requires XP compatibility. Also understandably it is a demo version which has extreme constrains on the size of code being analyzed. Wish the authors would have looked into these minor details.
10 of 15 people found the following review helpful
A must-read for any serious programmer July 4 2007
By Avi Rubin - Published on
Format: Paperback
In this exceptional book, Brian Chess and Jacob West provide an invaluable resource to programmers. Armed with with the hands-on instruction provided in Secure Programming with Static Analysis, developers will finally be in a position to fully utilize technological advances to produce better code. Reading this book is a prerequisite for any serious programming.