Home Page Icon
Home Page
Table of Contents for
II. Seven Touchpoints for Software Security
Close
II. Seven Touchpoints for Software Security
by Gary McGraw
Software Security: Building Security In
Copyright
Dedication
Advance Praise for Software Security
Addison-Wesley Software Security Series
Foreword
Preface
Who This Book Is For
What This Book Is About
Icons
The Series
Contacting the Author
Acknowledgments
About the Author
I. Software Security Fundamentals
1. Defining a Discipline
The Security Problem
The Trinity of Trouble: Why the Problem Is Growing
Connectivity
Extensibility
Complexity
Basic Science
Security Problems in Software
Bugs and Flaws and Defects, Oh My!
The Range of Defects
The Problem with Application Security
Software Security and Operations
Solving the Problem: The Three Pillars of Software Security
Pillar I: Applied Risk Management
Pillar II: Software Security Touchpoints
Pillar III: Knowledge
The Rise of Security Engineering
Software Security Is Everyone’s Job
2. A Risk Management Framework
Putting Risk Management into Practice
How to Use This Chapter
The Five Stages of Activity
Stage 1: Understand the Business Context
Stage 2: Identify the Business and Technical Risks
Stage 3: Synthesize and Rank the Risks
Stage 4: Define the Risk Mitigation Strategy
Stage 5: Carry Out Fixes and Validate
Measuring and Reporting on Risk
The RMF Is a Multilevel Loop
Applying the RMF: KillerAppCo’s iWare 1.0 Server
Understanding the Business Context
Gathering the Artifacts
Conducting Project Research
Identifying the Business and Technical Risks
Developing Risk Questionnaires
Interviewing the Target Project Team
Analyzing the Research and Interview Data
Uncovering Technical Risks
Analyzing Software Artifacts
Synthesizing and Ranking the Risks
Reviewing the Risk Data
Conducting the Business and Technical Peer Review
Defining the Risk Mitigation Strategy
Brainstorming on Risk Mitigation
Authoring the Risk Analysis Report
Producing Final Deliverables
Carrying Out Fixes and Validating
The Importance of Measurement
Measuring Return
Measurement and Metrics in the RMF
The Cigital Workbench
Risk Management Is a Framework for Software Security
II. Seven Touchpoints for Software Security
3. Introduction to Software Security Touchpoints
Flyover: Seven Terrific Touchpoints
1. Code Review (Tools)
2. Architectural Risk Analysis
3. Penetration Testing
4. Risk-Based Security Testing
5. Abuse Cases
6. Security Requirements
7. Security Operations
*. External Analysis
Why Only Seven?
Black and White: Two Threads Inextricably Intertwined
Moving Left
Touchpoints as Best Practices
Who Should Do Software Security?
Building a Software Security Group
Don’t start with security people
Start with software people
Software Security Is a Multidisciplinary Effort
Touchpoints to Success
4. Code Review with a Tool
Catching Implementation Bugs Early (with a Tool)
Aim for Good, Not Perfect
Ancient History
Approaches to Static Analysis
A History of Rule Coverage
Modern Rules
Tools from Researchland
Commercial Tool Vendors
Commercial Source Code Analyzers
Key Characteristics of a Tool
Three Characteristics to Avoid
The Fortify Source Code Analysis Suite
The Fortify Knowledge Base
Using Fortify
Touchpoint Process: Code Review
Use a Tool to Find Security Bugs
5. Architectural Risk Analysis
Common Themes among Security Risk Analysis Approaches
Traditional Risk Analysis Terminology
Knowledge Requirement
The Necessity of a Forest-Level View
A Traditional Example of a Risk Calculation
Limitations of Traditional Approaches
Modern Risk Analysis
Security Requirements
A Basic Risk Analysis Approach
Touchpoint Process: Architectural Risk Analysis
Attack Resistance Analysis
Ambiguity Analysis
Weakness Analysis
Getting Started with Risk Analysis
Architectural Risk Analysis Is a Necessity
6. Software Penetration Testing
Penetration Testing Today
Software Penetration Testing—a Better Approach
Make Use of Tools
Test More Than Once
Incorporating Findings Back into Development
Using Penetration Tests to Assess the Application Landscape
Proper Penetration Testing Is Good
7. Risk-Based Security Testing
What’s So Different about Security?
Risk Management and Security Testing
How to Approach Security Testing
Who
How
Thinking about (Malicious) Input
Getting Over Input
Leapfrogging the Penetration Test
8. Abuse Cases
Security Is Not a Set of Features
What You Can’t Do
Creating Useful Abuse Cases
But No One Would Ever Do That!
Touchpoint Process: Abuse Case Development
Creating Anti-Requirements
Creating an Attack Model
An Abuse Case Example
Abuse Cases Are Useful
9. Software Security Meets Security Operations
Don’t Stand So Close to Me
Kumbaya (for Software Security)
Come Together (Right Now)
Future’s So Bright, I Gotta Wear Shades
III. Software Security Grows Up
10. An Enterprise Software Security Program
The Business Climate
Building Blocks of Change
Building an Improvement Program
Establishing a Metrics Program
A Three-Step Enterprise Rollout
Continuous Improvement
What about COTS (and Existing Software Applications)?
An Enterprise Information Architecture
Adopting a Secure Development Lifecycle
11. Knowledge for Software Security
Experience, Expertise, and Security
Security Knowledge: A Unified View
Security Knowledge and the Touchpoints
The Department of Homeland Security Build Security In Portal
Knowledge Management Is Ongoing
Software Security Now
12. A Taxonomy of Coding Errors
On Simplicity: Seven Plus or Minus Two
Input Validation and Representation
API Abuse
Security Features
Time and State
Error Handling
Code Quality
Encapsulation
Environment
The Phyla
More Phyla Needed
A Complete Example
Lists, Piles, and Collections
Nineteen Sins Meet Seven Kingdoms
Seven Kingdoms and the OWASP Ten
Go Forth (with the Taxonomy) and Prosper
13. Annotated Bibliography and References
Annotated Bibliography: An Emerging Literature
Required Reading: The Top Five
References Cited in Software Security: Building Security In
Government and Standards Publications Cited
Other Important References
Software Security Puzzle Pieces
Basic Science: Open Research Areas
IV. Appendices
A. Fortify Source Code Analysis Suite Tutorial
1. Introducing the Audit Workbench
Exercises for the Reader
2. Auditing Source Code Manually
Exercises for the Reader
3. Ensuring a Working Build Environment
4. Running the Source Code Analysis Engine
Analysis Results of stackbuffer.c
Analysis Results of Eightball.java
Analysis Results of Sample1.exe
Exercises for the Reader
5. Exploring the Basic SCA Engine Command Line Arguments
Exercises for the Reader
6. Understanding Raw Analysis Results
Exercises for the Reader
7. Integrating with an Automated Build Process
Integrating with a Makefile
Integrating with an ant Build File
Advanced Command Line Syntax for Java
Exercises for the Reader
8. Using the Audit Workbench
Exercises for the Reader
9. Auditing Open Source Applications
Exercises for the Reader
B. ITS4 Rules
C. An Exercise in Risk Analysis: Smurfware
SmurfWare SmurfScanner Risk Assessment Case Study
Instructions
SmurfWare SmurfScanner Architecture and Implementation Description
SmurfScanner Architecture Component Description
Questions
Answers
SmurfWare SmurfScanner Design for Security
Instructions
Answers (Incomplete)
D. Glossary
InsideFrontCover
InsideBackCover
Search in book...
Toggle Font Controls
Playlists
Add To
Create new playlist
Name your new playlist
Playlist description (optional)
Cancel
Create playlist
Sign In
Email address
Password
Forgot Password?
Create account
Login
or
Continue with Facebook
Continue with Google
Sign Up
Full Name
Email address
Confirm Email Address
Password
Login
Create account
or
Continue with Facebook
Continue with Google
Prev
Previous Chapter
2. A Risk Management Framework
Next
Next Chapter
3. Introduction to Software Security Touchpoints
Part II. Seven Touchpoints for Software Security
Add Highlight
No Comment
..................Content has been hidden....................
You can't read the all page of ebook, please click
here
login for view all page.
Day Mode
Cloud Mode
Night Mode
Reset