Professional Documents
Culture Documents
7.2-0-D8-October2021 (Software Development Security)
7.2-0-D8-October2021 (Software Development Security)
7.2-0-D8-October2021 (Software Development Security)
Security
(Understanding, Applying, and Enforcing Software Security)
Test Objectives at a Glance
• 8.1 Understand and integrate security in the Software
Development Life Cycle (SDLC)
• 8.2 Identify and apply security controls in software
development ecosystems
• 8.3 Assess the effectiveness of software security
• 8.4 Assess security impact of acquired software
• 8.5 Define and apply secure coding guidelines and
standards
Analysis
Waterfall Lifecycle Method
Design Measure Twice,
• Finish one stage prior to starting Cut Once
Development
the next Testing
• Requires formal reviews before Maintenance
moving into the next phase
• Heavy overhead in planning and
administration
• No changes once the project is started
• Paradigm for non-iterative models
• Non-iterative are more secure
Domain 8: SW Development Security 11
Spiral Model
• Non-iterative
• Estimated costs and schedules are revised at the end of
each risk assessment
• Decision to proceed/cancel project is revisited after
each risk assessment
• Nested waterfall phases
• Each phase has 4 sub phases
• Phases based on Deming PDCA
• Plan, do, check, act
• Not cost-effective
• Iterative
• Cohesion
• Degree to which an object depends on other objects
• High cohesion: low dependence on other objects
• High cohesion is easier to troubleshoot
• Polymorphism
• How different objects respond to the same
command (two like objects can have the same
input but have different outputs)
• Methods:
• Static/Dynamic
• White/Black box
• Traceability Matrix
• Patch management
• Have a backup, back out plan, target non critical systems first
• Change management
• Vulnerability testing
• Code Signing:
• Security technique to ensure code integrity
• Identify who developed the code
• Determine if code is trustworthy
Domain 8: SW Development Security 61
Code Signature
• Three parts:
• A seal which is a collection of various hashes from various parts of the
code
• A digital signature which signs the seal and guarantees its integrity
• A unique identifier which is used to identify the code to the group or
category it belongs.
• Patch or upgrade
Domain 8: SW Development Security 73
Threats in the Software Environment –
Citizen Programmers
• Anyone can learn a programming language and become a
programmer
• Problem
• Residual information
• How to Mitigate:
• Have software lock the items it will use while carrying out its
checking tasks
Domain 8: SW Development Security 78
Web Threats
• Web sites are the primary interface for e-Commerce
• Potential problems
• Fraud
• Theft
• Web sites can add a vector for intrusion into the private network
• Active X Components
• Scripts / Plug-ins
• Bottom Up Programming
• Starts with low level technical details and works up
• Risks wasting time developing features that will not be in the final
product
• Example: object oriented programming
• To separate environments:
• Physical Separation
• Access Control Lists
• Content Dependent Access Controls
• Role Based Restraints
• Accountability
• Separation of Duties
• Initiation Phase