Skip to:Content
|
Bottom
Cover image for Secure and resilient software : requirements, test cases, and testing methods
Title:
Secure and resilient software : requirements, test cases, and testing methods
Personal Author:
Publication Information:
Boca Raton, FL. : CRC Press, c2012.
Physical Description:
xx, 258 p. : ill. ; 24 cm.
ISBN:
9781439866214
Added Author:

Available:*

Library
Item Barcode
Call Number
Material Type
Item Category 1
Status
Searching...
30000010297421 QA76.76.T48 M47 2012 Open Access Book Book
Searching...

On Order

Summary

Summary

Secure and Resilient Software: Requirements, Test Cases, and Testing Methods provides a comprehensive set of requirements for secure and resilient software development and operation. It supplies documented test cases for those requirements as well as best practices for testing nonfunctional requirements for improved information assurance. This resource-rich book includes:

Pre-developed nonfunctional requirements that can be reused for any software development project Documented test cases that go along with the requirements and can be used to develop a Test Plan for the software Testing methods that can be applied to the test cases provided A CD with all security requirements and test cases as well as MS Word versions of the checklists, requirements, and test cases covered in the book

Offering ground-level, already-developed software nonfunctional requirements and corresponding test cases and methods, this book will help to ensure that your software meets its nonfunctional requirements for security and resilience. The accompanying CD filled with helpful checklists and reusable documentation provides you with the tools needed to integrate security into the requirements analysis, design, and testing phases of your software development lifecycle.

Some Praise for the Book:

This book pulls together the state of the art in thinking about this important issue in a holistic way with several examples. It takes you through the entire lifecycle from conception to implementation ... .
--Doug Cavit, Chief Security Strategist, Microsoft Corporation

...provides the reader with the tools necessary to jump-start and mature security within the software development lifecycle (SDLC).
--Jeff Weekes, Sr. Security Architect at Terra Verde Services

... full of useful insights and practical advice from two au


Author Notes

Mark S. Merkow, CISSP, CISM, CSSLP works at PayPal Inc. (an eBay company) in Scottsdale, Arizona, as Manager of Information Security Policies, Standards, Training, and Awareness in the Information Risk Management area. Mark has more than 35 years of experience in information technology in a variety of roles, including applications development, systems analysis and design, security engineering, and security management. Mark holds a masters degree in decision and info systems from Arizona State University (ASU), a masters of education in distance learning from ASU, and an undergraduate degree in computer info systems from ASU. In addition to his day job, Mark engages in a number of other extracurricular activities, including consulting, course development, online course delivery, and writing columns and books on information technology and information security.

Mark has authored or coauthored ten books on IT and is a contributing editor on four others. Mark remains very active within the information security community, working in a variety of roles for the Financial Services Information Sharing and Analysis Center (FS-ISAC), the Financial Services Technology Consortium (FSTC), and the Financial Services Sector Coordinating Council (FSCCC) on Homeland Security and Critical Infrastructure Protection.

He is the chairman of the Education Committee for the FS-ISAC and is a founding member of the Research and Development Committee of the FSSCC.

Lakshmikanth Raghavan, CISM, CRISC (Laksh) works at PayPal Inc. (an eBay company) as Staff Information Security Engineer in the Information Risk Management area, specializing in application security. Laksh has more than ten years of experience in the areas of information security and information risk management, and has provided consulting services to Fortune 500 companies and financial services companies around the world. Laksh holds a bachelor's degree in electronics and t


Table of Contents

Prefacep. xi
How This Book Is Organizedp. xii
What's On the CD?p. xv
About the Authorsp. xvii
Acknowledgementsp. xix
From Mark Merkowp. xvii
From Laksh Raghavanp. xviii
Chapter 1 Introductionp. 1
1.1 Secure and Resilientp. 1
1.2 Bad Design Choices Led to the Vulnerable Internet We Know Todayp. 2
1.3 HTTP Has Its Problems, Toop. 4
1.4 Design Errors Continue Haunting Us Todayp. 6
1.5 Requirements & Design: The Keys to a Successful Software Projectp. 7
1.6 How Design Flaws Play Outp. 10
1.6.1 DNS Vulnerabilityp. 10
1.6.2 The London Stock Exchangep. 10
1.6.3 Medical Equipmentp. 11
1.6.4 Airbus A380p. 12
1.7 Solutions Are In Sight!p. 12
1.8 Notesp. 13
Chapter 2 Nonfunctional Requirements (NFRs) in Contextp. 15
2.1 System Quality Requirements Engineering (SQUARE)p. 15
2.1.1 Agree on Definitionsp. 16
2.1.2 Identify Assets and Security/Quality Goalsp. 17
2.1.3 Perform Risk Assessmentsp. 17
2.1.4 Elicit Security Requirementsp. 18
2.1.5 Prioritize Requirementsp. 20
2.2 Characteristics of Good Requirementsp. 21
2.3 Summaryp. 22
2.4 Notesp. 23
Chapter 3 Resilience and Quality Considerations for Application Software and the Application Runtime Environmentp. 25
3.1 Relationships among Nonfunctional Requirementsp. 26
3.2 Considerations for Developing NFRs for your Applications and Runtime Environmentp. 26
3.3 Checking Your Workp. 51
3.4 Summaryp. 52
3.5 Notesp. 52
Chapter 4 Security Requirements for Application Softwarep. 55
4.1 Security Control Typesp. 55
4.2 Think Like an Attackerp. 56
4.3 Detailed Security Requirementsp. 57
4.4 Identification Requirementsp. 57
4.5 Authentication Requirementsp. 61
4.6 Authorization Requirementsp. 71
4.7 Security Auditing Requirementsp. 79
4.8 Confidentiality Requirementsp. 85
4.9 Integrity Requirementsp. 91
4.10 Availability Requirementsp. 96
4.11 Nonrepudiation Requirementsp. 97
4.12 Immunity Requirementsp. 99
4.13 Survivability Requirementsp. 102
4.14 Systems Maintenance Security Requirementsp. 104
4.15 Privacy Requirementsp. 110
4.16 Summaryp. 134
4.17 Referencesp. 135
Chapter 5 Security Services for the Application Operating Environmentp. 137
5.1 The Open Group Architecture Framework (TOGAF)p. 138
5.2 Standardizing Tools for an Enterprise Architecturep. 139
5.3 Security Technical Reference Model (TRM)p. 140
5.3.1 Identification and Authenticationp. 141
5.3.2 System Entry Controlp. 141
5.3.3 Auditp. 142
5.3.4 Access Controlp. 143
5.3.5 Nonrepudiationp. 143
5.3.6 Security Managementp. 144
5.3.7 Trusted Recoveryp. 144
5.3.8 Encryptionp. 144
5.3.9 Trusted Communicationsp. 145
5.4 Summaryp. 146
5.5 Referencesp. 146
Chapter 6 Software Design Considerations for Security and Resiliencep. 147
6.1 Design Issuesp. 147
6.2 Architecture and Design Considerationsp. 150
6.3 Special Security Design Considerations for Payment Applications on Mobile Communications Devicesp. 154
6.4 Designing for Integrityp. 155
6.5 Architecture and Design Review Checklistp. 156
6.6 Summaryp. 165
6.7 Referencesp. 165
Chapter 7 Best Practices for Converting Requirements to Secure Software Designsp. 167
7.1 Secure Design Approachp. 167
7.2 Reusable Security APIs/Librariesp. 168
7.3 Security Frameworksp. 168
7.4 Establishing and Following Best Practices for Designp. 169
7.5 Security Requirementsp. 169
7.6 Security Recommendationsp. 170
7.7 What's an Attack Surface?p. 171
7.8 What Is Managed Code?p. 173
7.9 Understanding Business Requirements for Security Designp. 175
7.10 Summaryp. 176
7.11 Referencesp. 176
Chapter 8 Security Test Casesp. 177
8.1 Standardized Testing Policyp. 177
8.2 Security Test Casesp. 178
8.2.1 Test Cases for Identification Requirementsp. 179
8.2.2 Test Cases for Authentication Requirementsp. 181
8.3 Test Cases for Authorization Requirementsp. 189
8.3.1 Test Cases for Security Auditing Requirementsp. 195
8.3.2 Test Cases for Confidentiality Requirementsp. 199
8.3.3 Test Cases for Integrity Requirementsp. 203
8.3.4 Test Cases for Availability Requirementsp. 206
8.3.5 Test Cases for Nonrepudiation Requirementsp. 207
8.3.6 Test Cases for Immunity Requirementsp. 209
8.3.7 Test Cases for Survivability Requirementsp. 210
8.3.8 Test Cases for Systems Maintenance Security Requirementsp. 212
8.4 Summaryp. 215
Chapter 9 Testing Methods and Best Practicesp. 217
9.1 Secure Testing Approachp. 217
9.2 OWASP's Application Security Verification Standard (ASVS)p. 217
9.2.1 Application Security Verification Levelsp. 219
9.2.2 Level 1-Automated Verificationp. 220
9.2.3 Level 2-Manual Verificationp. 220
9.2.4 Level 3-Design Verificationp. 221
9.2.5 Level 4-Internal Verificationp. 222
9.2.6 Security Testing Methodsp. 224
9.3 Manual Source Code Reviewp. 224
9.4 Automated Source Code Analysisp. 225
9.4.1 Automated Reviews Compared with Manual Reviewsp. 226
9.4.2 Automated Source Code Analysis Tools-Deployment Strategyp. 226
9.4.3 IDE Integration for Developersp. 227
9.4.4 Build Integration for Governancep. 227
9.4.5 Automated Dynamic Analysisp. 228
9.4.6 Limitations of Automated Dynamic Analysis Toolsp. 229
9.4.7 Automated Dynamic Analysis Tools-Deployment Strategyp. 229
9.4.8 Developer Testingp. 230
9.4.9 Centralized Quality Assurance Testingp. 230
9.5 Penetration (Pen) Testingp. 231
9.5.1 Gray Box Testingp. 232
9.6 Summaryp. 232
9.7 Referencesp. 232
Chapter 10 Connecting the Moving Partsp. 235
10.1 OpenSAMMp. 236
10.2 Security Requirementsp. 238
10.2.1 Security Requirements: Level 1p. 239
10.2.2 Security Requirements: Level 2p. 241
10.2.3 Security Requirements: Level 3p. 242
10.3 Security Testingp. 243
10.3.1 Security Testing: Level 1p. 245
10.3.2 Security Testing: Level 2p. 246
10.3.3 Security Testing: Level 3p. 247
10.4 Wrap-Upp. 249
10.5 Referencesp. 249
Indexp. 251
Go to:Top of Page