How to Break Software Security: Effective Techniques for Security Testing / Edition 1

How to Break Software Security: Effective Techniques for Security Testing / Edition 1

by James A. Whittaker, Herbert H. Thompson, Herbert Thompson
     
 

Intended for software testers, this guide presents testing techniques that expose security holes caused by software dependencies, data-dependent weaknesses in software, application design flaws, and implementation-related vulnerabilities. The last chapter applies the techniques to Windows media player 9.0, Mozilla web browser 1.2.1, and OpenOffice.org 1.0.2 (Linux).… See more details below

Overview

Intended for software testers, this guide presents testing techniques that expose security holes caused by software dependencies, data-dependent weaknesses in software, application design flaws, and implementation-related vulnerabilities. The last chapter applies the techniques to Windows media player 9.0, Mozilla web browser 1.2.1, and OpenOffice.org 1.0.2 (Linux). The CD-ROM contains two testing tools written at the Florida Institute of Technology. Annotation ©2004 Book News, Inc., Portland, OR

Product Details

ISBN-13:
9780321194336
Publisher:
Addison Wesley
Publication date:
04/04/2003
Edition description:
New Edition
Pages:
185
Product dimensions:
6.96(w) x 9.06(h) x 0.48(d)

Meet the Author

Table of Contents

(Chapters 1-6 conclude with a “Conclusion,” “Exercises,” and “References.” Chapter 7 concludes with a “Conclusion” and “References” and the Appendices conclude with only “References.”)

Preface.

Dedication.

Chapter Summaries.

I. INTRODUCTION.

1. A Fault Model for Software Security Testing.

Why Security Testing is Different.

A Fault Model for Security Vulnerabilities.

Security Concerns and the How to Break Software Fault Model.

Creating an Attack Plan.

A Note on Format.

II. CREATING UNANTICIPATED USER INPUT SCENARIOS.

2. Attacking Software Dependencies.

First Attack: Block access to libraries.

Second Attack: Manipulate the application's registry values.

Third Attack: Force the application to use corrupt files.

Fourth Attack: Manipulate and replace files that the application creates, reads from, writes to or executes.

Fifth Attack: Force the application to operate in low memory, disk space and network availability conditions.

Summary: A Checklist for Battle.

3. Breaking Security through the User Interface.

First Attack: Overflow input buffers.

Second Attack: Examine all common switches and options.

Third Attack: Explore escape characters, character sets and commands.

Summary: A Checklist for Battle.

III. DESIGN AND IMPLEMENTATION ATTACKS.

4. Attacking Design.

First Attack: Try common default and test account names and passwords.

Second Attack: Use Holodeck to expose unprotected test APIs.

Third Attack: Connect to all ports.

Fourth Attack: Fake the source of data.

Fifth Attack: Create loop conditions in any application that interprets script, code or other user supplied logic.

Sixth Attack: Use alternate routes to accomplish the same task.

Seventh Attack: Force the system to reset values.

Summary: A Checklist for Battle.

5. Attacking Implementation.

First Attack: Get between time of check and time of use.

Second Attack: Create files with the same name as files protected with a higher classification.

Third Attack: Force all error messages.

Fourth Attack: Use Holodeck to look for temporary files and screen their contents for sensitive information.

Summary: A Checklist for Battle.

IV. APPLYING THE ATTACKS.

6. Putting it All Together.

Pre-Attack Preparations.

Opponent#1: Microsoft Windows Media Player 9.0 (Windows).

Opponent#2: Mozilla 1.2.1 (Windows).

Opponent#3: OpenOffice.org 1.0.2 (Linux).

V. CONCLUSION.

7. Some Parting Advice.

How Secure is Secure?

Mining Gold from Bug Databases.

Final Words of Wisdom.

APPENDICES.

Glossary of Coding, Testing, and Software Security Terms.

Appendix A. Using the Tools on the Accompanying CD.

Surveying the Tools.

Holodeck.

Port Scanner.

Appendix B. Software's Invisible Users.

Where Errors Slip In.

The Human User.

The Operating System User.

The API User.

The File System User.

Index.

Read More

Customer Reviews

Average Review:

Write a Review

and post it to your social network

     

Most Helpful Customer Reviews

See all customer reviews >