Secure Programming with Static Analysis / Edition 1
  • Alternative view 1 of Secure Programming with Static Analysis / Edition 1
  • Alternative view 2 of Secure Programming with Static Analysis / Edition 1

Secure Programming with Static Analysis / Edition 1

4.0 1
by Brian Chess, Jacob West
     
 

View All Available Formats & Editions

ISBN-10: 0321424778

ISBN-13: 9780321424778

Pub. Date: 06/28/2007

Publisher: Addison-Wesley

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

Overview

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 CHESS is 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 WEST manages 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

Product Details

ISBN-13:
9780321424778
Publisher:
Addison-Wesley
Publication date:
06/28/2007
Series:
Addison-Wesley Software Security Series
Edition description:
New Edition
Pages:
587
Product dimensions:
6.90(w) x 9.00(h) x 1.40(d)

Table of Contents

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

Customer Reviews

Average Review:

Write a Review

and post it to your social network

     

Most Helpful Customer Reviews

See all customer reviews >

Secure Programming with Static Analysis 4 out of 5 based on 0 ratings. 1 reviews.
Guest More than 1 year ago
Chess and West describe methods of building security into your coding projects. As an integral part of the development process. There are tools out there which perform the static analysis described in the text. These are far removed from the early tools, which the book correctly describes as glorified grep. (That is, they were merely fancy parsers.) The tools are not definitive, as you are cautioned. Often, their greatest virtue can be to point out source code that should be subject to manual scrutiny. In a large code base, of hundreds of thousands of lines, this can be invaluable assistance. A quick comparative summary of various bug and security tools is also provided in Chapter 2. Specifically, figure 2.2 is a nice qualitative summary of these tools. Various chapters of the book deal with problems also covered elsewhere. Like finding buffer overflows. Especially with string logic. While the Web also is now a source of weaknesses in web applications that are weak in input and output validation. You have to carefully filter anything that you solicit as user input on a web page.