Preface |
|
xiii | |
Acknowledgments |
|
xv | |
Author Biography |
|
xvii | |
|
Current Trends in Application Security |
|
|
1 | (18) |
|
Recent Data Security Breaches |
|
|
1 | (2) |
|
|
3 | (1) |
|
Legislative and Regulatory Requirements Affecting Application Security |
|
|
4 | (2) |
|
Industry Standards Requiring or Affecting Application Security |
|
|
6 | (4) |
|
Risks Associated with Current Trends |
|
|
10 | (4) |
|
Introduction to Test Case That Relates to Current Trends |
|
|
14 | (4) |
|
|
18 | (1) |
|
|
18 | (1) |
|
Security Risk Assessment Methodologies |
|
|
19 | (22) |
|
|
20 | (1) |
|
Quantitative Risk Assessment Methodologies |
|
|
21 | (4) |
|
|
21 | (1) |
|
|
21 | (1) |
|
Annualized Rate of Occurrence |
|
|
22 | (1) |
|
Annualized Loss Expectancy |
|
|
23 | (1) |
|
|
23 | (2) |
|
Qualitative Risk Assessment Methodologies |
|
|
25 | (6) |
|
|
26 | (1) |
|
|
27 | (1) |
|
|
28 | (3) |
|
|
31 | (3) |
|
Software Engineering Institute's OCTAVE |
|
|
31 | (1) |
|
|
31 | (1) |
|
|
32 | (1) |
|
|
33 | (1) |
|
Australian/New Zealand Standard 4360:2004 |
|
|
34 | (1) |
|
Common Vulnerability Scoring System (CVSS) |
|
|
34 | (1) |
|
Automated Risk Assessment Tools |
|
|
34 | (1) |
|
Tips in Selecting a Methodology |
|
|
35 | (2) |
|
Selecting a Methodology for the Test Case |
|
|
37 | (2) |
|
Arguments for Using a Quantitative Risk Analysis Method in the Test Case |
|
|
38 | (1) |
|
Arguments against Using a Quantitative Risk Analysis Method in the Test Case |
|
|
38 | (1) |
|
Arguments for Using a Qualitative Risk Analysis Method in the Test Case |
|
|
39 | (1) |
|
Arguments against Using a Qualitative Risk Analysis Method in the Test Case |
|
|
39 | (1) |
|
Checklist for Deciding on a Security Risk Assessment Methodology |
|
|
39 | (1) |
|
|
40 | (1) |
|
|
41 | (18) |
|
|
42 | (1) |
|
Types of Assets Typically Found in Software Development |
|
|
43 | (6) |
|
|
44 | (1) |
|
|
44 | (2) |
|
|
46 | (1) |
|
|
46 | (1) |
|
|
46 | (1) |
|
|
47 | (1) |
|
Encryption Software and Encryption Keys |
|
|
48 | (1) |
|
|
48 | (1) |
|
Accounts, Transactions, and Calculations |
|
|
49 | (1) |
|
How to Identify Assets in Application Development |
|
|
49 | (3) |
|
Business and User Management Involvement |
|
|
49 | (1) |
|
Review of Organizational Documentation |
|
|
50 | (1) |
|
Other Methods of Identifying Assets |
|
|
50 | (2) |
|
Determining Assets for the Test Case |
|
|
52 | (3) |
|
|
55 | (1) |
|
|
56 | (3) |
|
Identifying Security Threats |
|
|
59 | (50) |
|
|
60 | (1) |
|
Information Security Threats to Software Development |
|
|
61 | (12) |
|
|
61 | (1) |
|
|
62 | (1) |
|
|
63 | (3) |
|
|
66 | (4) |
|
|
70 | (2) |
|
|
72 | (1) |
|
How to Identify Security Threats |
|
|
73 | (4) |
|
|
73 | (1) |
|
|
73 | (1) |
|
|
74 | (1) |
|
|
75 | (2) |
|
|
77 | (27) |
|
Test Case Business Objectives |
|
|
78 | (1) |
|
|
78 | (1) |
|
|
79 | (17) |
|
|
96 | (1) |
|
|
97 | (4) |
|
|
101 | (3) |
|
|
104 | (1) |
|
Threat Identification Checklists |
|
|
104 | (5) |
|
Typical Threats (the ``Usual Suspects'') |
|
|
104 | (2) |
|
Sources of Threat Identification |
|
|
106 | (1) |
|
|
106 | (3) |
|
Identifying Vulnerabilities |
|
|
109 | (36) |
|
|
109 | (1) |
|
The Importance of Identifying Vulnerabilities |
|
|
110 | (1) |
|
Identifying Vulnerabilities |
|
|
111 | (2) |
|
|
113 | (5) |
|
|
113 | (1) |
|
|
113 | (2) |
|
Information Leakage and Improper Error Handling |
|
|
115 | (1) |
|
|
116 | (1) |
|
Nontechnical Vulnerabilities |
|
|
117 | (1) |
|
Methods of Detecting Vulnerabilities during Software Development |
|
|
118 | (17) |
|
Review of Current Controls |
|
|
119 | (1) |
|
|
119 | (1) |
|
|
120 | (1) |
|
|
120 | (1) |
|
|
121 | (1) |
|
|
121 | (1) |
|
Network Vulnerability Scanning |
|
|
121 | (1) |
|
Review of Best Practice Standards |
|
|
122 | (13) |
|
Secure Coding Techniques to Avoid Vulnerabilities |
|
|
135 | (3) |
|
|
135 | (1) |
|
Validate Output to Be Displayed on Browsers |
|
|
135 | (1) |
|
|
136 | (1) |
|
Follow the Principle of Least Privilege |
|
|
136 | (1) |
|
Practice Defense in Depth |
|
|
136 | (1) |
|
Practice Quality Assurance |
|
|
137 | (1) |
|
|
137 | (1) |
|
Define Security Requirements |
|
|
137 | (1) |
|
|
137 | (1) |
|
Vulnerabilities Associated with the Test Case |
|
|
138 | (2) |
|
|
140 | (1) |
|
|
140 | (5) |
|
Sources of Education about Software Vulnerabilities |
|
|
140 | (1) |
|
|
141 | (1) |
|
|
141 | (1) |
|
Methods for Finding Vulnerabilities |
|
|
142 | (1) |
|
Secure Coding Practices to Avoid Vulnerabilities |
|
|
143 | (2) |
|
|
145 | (56) |
|
Threat---Vulnerability Pairs |
|
|
146 | (1) |
|
Risk Likelihood or Probability |
|
|
147 | (5) |
|
|
152 | (2) |
|
Impact or Severity of Threat Actions |
|
|
154 | (4) |
|
Impact on Confidentiality |
|
|
155 | (1) |
|
|
155 | (1) |
|
|
156 | (2) |
|
|
158 | (2) |
|
Sources of Scales and Tables |
|
|
160 | (1) |
|
Determining Security Risks for the Test Case |
|
|
160 | (9) |
|
|
161 | (1) |
|
|
161 | (1) |
|
|
162 | (1) |
|
|
162 | (2) |
|
|
164 | (1) |
|
|
164 | (2) |
|
|
166 | (2) |
|
|
168 | (1) |
|
|
169 | (1) |
|
Common Risk Scales and Tables |
|
|
169 | (7) |
|
Likelihood of Occurrence Scales |
|
|
169 | (1) |
|
Magnitude of Impact Scales |
|
|
170 | (1) |
|
|
170 | (2) |
|
Risk Assessment Reporting Template |
|
|
172 | (3) |
|
Alternate Risk Assessment Reporting Template |
|
|
175 | (1) |
|
|
176 | (25) |
|
|
176 | (1) |
|
OCTAVE Risk Assessment Methodology |
|
|
177 | (1) |
|
|
177 | (1) |
|
|
177 | (1) |
|
|
178 | (1) |
|
|
178 | (2) |
|
Sources and Potential Impacts of Threats |
|
|
180 | (2) |
|
|
182 | (2) |
|
Current Protection Strategies |
|
|
184 | (2) |
|
|
186 | (1) |
|
|
186 | (1) |
|
|
187 | (14) |
|
|
201 | (16) |
|
|
202 | (1) |
|
Risk Mitigation Strategies |
|
|
202 | (5) |
|
|
203 | (1) |
|
|
203 | (2) |
|
|
205 | (1) |
|
|
206 | (1) |
|
|
207 | (2) |
|
Mitigating Risks in the Test Case |
|
|
209 | (2) |
|
|
211 | (1) |
|
Risk Mitigation Checklists |
|
|
212 | (1) |
|
Risk Mitigation Reporting Template |
|
|
213 | (4) |
|
Risk Mitigation Documentation |
|
|
213 | (1) |
|
|
213 | (1) |
|
|
214 | (1) |
|
Control Implementation Approach |
|
|
215 | (2) |
|
Risk Assessment and Risk Mitigation Activities in the SDLC |
|
|
217 | (16) |
|
Requirements Gathering and Analysis |
|
|
218 | (2) |
|
|
220 | (1) |
|
|
221 | (1) |
|
|
222 | (1) |
|
Production and Maintenance |
|
|
223 | (1) |
|
Risk Management Activities within the Test Case |
|
|
223 | (7) |
|
|
224 | (1) |
|
|
225 | (2) |
|
Test Case Vulnerabilities |
|
|
227 | (1) |
|
Test Case Risks and Mitigation Efforts |
|
|
228 | (2) |
|
|
230 | (1) |
|
Risk Assessment and Risk Mitigation Activity Checklist |
|
|
230 | (3) |
|
Maintaining a Security Risk Assessment and Risk Management Process |
|
|
233 | (66) |
|
|
234 | (1) |
|
|
235 | (3) |
|
Supporting Risk Management Practices |
|
|
238 | (16) |
|
|
238 | (2) |
|
Support from Policies and Procedures |
|
|
240 | (1) |
|
Legislative, Regulatory, or Compliance Support |
|
|
241 | (1) |
|
Certification and Accrediation Support |
|
|
242 | (12) |
|
Support from Change Management |
|
|
254 | (1) |
|
Continuous Evaluation and Improvement |
|
|
254 | (7) |
|
System Security Plan Scope |
|
|
255 | (2) |
|
Identifying Key Infrastructure |
|
|
257 | (1) |
|
Identification of Key personnel |
|
|
257 | (1) |
|
Determining System Boundaries |
|
|
258 | (1) |
|
Physical Inspections and Walkthroughs |
|
|
259 | (1) |
|
|
259 | (1) |
|
|
259 | (1) |
|
|
260 | (1) |
|
Discuss SSP with Management |
|
|
260 | (1) |
|
|
261 | (1) |
|
|
261 | (1) |
|
|
261 | (1) |
|
Risk Management Plan Template |
|
|
262 | (10) |
|
|
262 | (1) |
|
|
262 | (1) |
|
|
263 | (1) |
|
|
263 | (1) |
|
|
263 | (1) |
|
|
264 | (1) |
|
Importance of Risk Management |
|
|
264 | (1) |
|
Integration of Risk Management into the System Development Life Cycle (SDLC) |
|
|
264 | (1) |
|
|
264 | (2) |
|
|
266 | (1) |
|
Preparing to Assess Risks |
|
|
266 | (1) |
|
Build Asset-Based Threat Profiles |
|
|
267 | (1) |
|
Identify Infrastructure Vulnerabilities |
|
|
267 | (1) |
|
Develop Security Strategy and Plans |
|
|
268 | (1) |
|
|
268 | (1) |
|
|
269 | (1) |
|
|
269 | (1) |
|
Control Implementation Approach |
|
|
270 | (1) |
|
Evaluation and Assessment |
|
|
271 | (1) |
|
Risk Management Policy Template |
|
|
272 | (9) |
|
|
272 | (1) |
|
|
272 | (1) |
|
|
273 | (1) |
|
|
273 | (1) |
|
|
273 | (1) |
|
|
273 | (1) |
|
|
273 | (1) |
|
Policy Details: Risk Management |
|
|
274 | (1) |
|
Integration of Risk Management into the System Development Life Cycle (SDLC) |
|
|
274 | (1) |
|
|
275 | (1) |
|
|
276 | (1) |
|
|
277 | (1) |
|
|
278 | (1) |
|
|
278 | (1) |
|
Control Implementation Approach |
|
|
279 | (1) |
|
Evaluation and Assessment |
|
|
280 | (1) |
|
System Security Plan Template |
|
|
281 | (18) |
|
|
281 | (3) |
|
|
284 | (1) |
|
|
285 | (3) |
|
|
288 | (1) |
|
Appendices and Attachments |
|
|
289 | (1) |
|
Secure Product Development Policy Template |
|
|
290 | (9) |
Index |
|
299 | |