8.1 Security in the SDLC

CISSP Domain 8 ยท Software Development Security

8.1 Security in the Software Development Life Cycle

Secure software is not created by writing an application first and performing a security test immediately before release.

Security should influence: what is required, how the software is designed, how it is developed, how changes are tested, how it is deployed and how it is maintained after release.

This is the central idea behind integrating security into the Software Development Life Cycle - SDLC.

Whether an organisation uses Waterfall, Agile, DevOps, DevSecOps or a scaled development model, security should exist throughout the lifecycle rather than appearing as a final obstacle before production.

๐Ÿ“‹

Build Security In

Define security requirements and design security before the software is complete.

START EARLY
๐Ÿ”„

Integrate Security

Make security part of development, testing, deployment and change.

SECURITY THROUGHOUT
๐Ÿ“ˆ

Improve Continuously

Learn from vulnerabilities, incidents, operational feedback and measurement.

KEEP IMPROVING
Current CISSP 8.1 Scope

Understand and Integrate Security in the Software Development Life Cycle

The current CISSP Exam Outline explicitly includes five areas.

Development Methodologies
Agile Waterfall DevOps DevSecOps SAFe
Maturity Models
CMM SAMM
Operation & Maintenance

Security responsibilities continue after software reaches production.

Change Management

Software changes should be controlled, assessed, tested and traceable.

Integrated Product Team

Different disciplines collaborate throughout product development.

Official 8.1 Topics

METHOD How do we develop?
MATURITY How consistently do we do it?
OPERATE How do we secure it after release?
CHANGE How do we evolve it safely?
TEAM Who needs to participate?
Domain 8 Map

Where 8.1 Fits

8.1 SDLC

Integrate security throughout software development.

WHEN?

8.2 Development Ecosystem

Secure languages, libraries, toolchains, repositories and CI/CD.

WHERE?

8.3 Security Effectiveness

Assess whether software-security activities are working.

DOES IT WORK?

8.4 Acquired Software

Assess security implications of externally sourced software.

WHO BUILT IT?

8.5 Secure Coding

Apply secure coding standards and practices.

HOW SHOULD CODE BE WRITTEN?

What Is the SDLC?

The Software Development Life Cycle is the structured or informal process used to:

Plan Define Requirements Design Develop Test Deploy Operate Maintain Change Eventually Retire
Important

There is no single universal SDLC sequence used by every organisation. Waterfall, Agile and DevOps organise development differently.

CISSP is interested in the principle that security must be integrated into whichever lifecycle is used.

Secure SDLC

Security Throughout the Lifecycle

Business Need โ†’ Security Requirements
Requirements โ†’ Secure Design
Design โ†’ Secure Development
Code โ†’ Verification & Testing
Release โ†’ Secure Deployment
Production โ†’ Operation & Monitoring
Feedback / Change โ†’ Assess & Improve

Secure SDLC Memory Aid

REQUIRE What security is needed?
DESIGN How will we achieve it?
BUILD Implement securely
VERIFY Did we build it securely?
DEPLOY Release safely
OPERATE Protect in production
IMPROVE Learn and change
Early Lifecycle

Security Requirements

Security requirements describe what protection the software must provide or satisfy.

Authentication

How will users, systems or services prove identity?

Authorization

Which users may perform which actions?

Data Protection

Which information requires encryption or other safeguards?

Logging

Which security-relevant events must be recorded?

Availability

What resilience and recovery capability is required?

Privacy

How should personal information be collected, used and protected?

If security is not expressed as a requirement, developers may have no clear definition of what secure behaviour is expected.

Functional vs Security Requirements

Functional requirement

"Customers shall be able to transfer money between accounts."

Security requirements
Authenticate Customer Authorise Source Account Validate Transaction Protect Data Log Transfer Prevent Replay
Security requirements describe the conditions under which functionality should be allowed to operate safely.
๐ŸŽญ Think About Misuse Too Do not design only for the happy path
Normal use case

Customer enters: correct credentials and accesses their account.

Abuse / misuse questions
What if credentials are guessed? What if requests are automated? What if a user changes another user's ID? What if input is malicious? What if the transaction is replayed?
Secure development considers how functionality can be intentionally misused as well as how legitimate users are expected to use it.
Design Phase

Secure Design

Threat Modeling Trust Boundaries Least Privilege Secure Defaults Defense in Depth Failure Handling Data Flows Attack Surface
Fixing an insecure architecture is usually harder than fixing an insecure line of code.
Core Modern Principle

Shift Left

Development lifecycles are commonly pictured from left to right.

Requirements โ†’ Design
Design โ†’ Development
Development โ†’ Testing
Testing โ†’ Production

Shift left means moving security activities earlier in that lifecycle.

Late security

Penetration test discovers: architecture does not adequately separate customer tenants.

Application is: two weeks from launch.

Shifted-left security

Threat modeling identifies: tenant isolation requirement during design.

Earlier discovery usually means more options and less expensive rework.
โ†”๏ธ Shift Left Does Not Mean Stop on the Left Production still needs security

Security should begin early, but software still changes after release.

New Vulnerabilities New Threats New Dependencies New Features Configuration Changes Operational Incidents
Shift left = start security earlier. It does not mean security ends before production.

Security Gate vs Security Throughout

Late Security Gate
Build Everything โ†’ Security Review

Problems discovered late may require expensive redesign or create pressure to accept risk.

Integrated Security
Requirement โ†’ Security
Design โ†’ Security
Build โ†’ Security
Deploy โ†’ Security
Security should enable secure delivery, not appear unexpectedly at the end of development.
Official Development Methodology

Waterfall

Waterfall development moves through relatively distinct stages in sequence.

Requirements โ†’ Complete
Design โ†’ Complete
Development โ†’ Complete
Testing โ†’ Complete
Deployment โ†’ Operate

Waterfall

PLAN Up front
SEQUENCE Stage follows stage
GATE Move to next phase

Security in Waterfall

PhaseSecurity Activity
RequirementsDefine security and compliance requirements
DesignThreat modeling and architecture review
DevelopmentSecure implementation and review
TestingVerify controls and identify weaknesses
DeploymentValidate secure release configuration
OperationsMonitor, maintain and remediate
Waterfall does not mean security occurs only during the testing phase.
๐ŸŒŠ Waterfall Security Risk Late discovery can create expensive rework
Project

Requirements: 6 months.

Design and build: 12 months.

First significant security review: month 18.

Review discovers: a fundamental insecure trust model.

The problem is not Waterfall itself. The problem is postponing security until the end.
Official Development Methodology

Agile

Agile development works iteratively and incrementally rather than waiting for one large final release.

Backlog โ†’ Select Work
Iteration โ†’ Design + Build + Test
Working Increment โ†’ Feedback
Feedback โ†’ Backlog

Agile

SMALL Incremental change
FAST Frequent feedback
ADAPT Requirements can evolve
REPEAT Iterative development

Security in Agile

Security work can become part of the normal Agile workflow.

Security Stories

Security requirements appear in the backlog.

Acceptance Criteria

A feature is not complete unless required security conditions are satisfied.

Threat Modeling

Revisit threats as architecture and features evolve.

Security Testing

Include security verification within normal development cycles.

Security Defects

Track and prioritise vulnerabilities alongside other defects.

Security Champions

Security knowledge can be embedded within development teams.

๐Ÿ“ Security Acceptance Criteria Make secure behaviour part of being done
User story

As a customer, I want to reset my password so I can regain access to my account.

Security acceptance criteria
Reset Token Expires Token Is Single Use Old Sessions Invalidated Where Required Reset Event Logged User Notification Sent
Security becomes part of the feature rather than a separate activity added months later.

Agile Does Not Mean...

No Planning

Agile changes the planning approach. It does not eliminate planning.

No Documentation

Agile values working software highly but does not prohibit useful documentation.

No Architecture

Architecture and security design still matter.

No Security Review

Security should occur repeatedly rather than disappear.

Official Development Methodology

DevOps

DevOps brings development and operations closer together and uses collaboration, automation and rapid feedback to improve software delivery.

Plan โ†’ Develop
Develop โ†’ Build
Build โ†’ Test
Test โ†’ Deploy
Deploy โ†’ Operate
Operate โ†’ Feedback
Feedback โ†’ Plan

DevOps

DEV Build the software
OPS Run the software
TOGETHER Shared delivery responsibility
Official Development Methodology

DevSecOps

DevSecOps extends the DevOps philosophy by integrating security throughout development and operations rather than assigning it to a separate final stage.

Plan โ†’ Security Requirements
Code โ†’ Secure Development
Build โ†’ Supply Chain Controls
Test โ†’ Security Verification
Deploy โ†’ Security Controls
Operate โ†’ Monitor + Respond

DevSecOps

DEV Develop
SEC Secure throughout
OPS Operate

DevOps vs DevSecOps

DevOps

Integrates: development + operations.

Focuses strongly on collaboration, automation and delivery flow.

DevSecOps

Explicitly integrates: development + security + operations.

Security becomes part of the same delivery lifecycle.

DevSecOps does not mean creating another security silo between development and operations.
๐Ÿค Shared Security Responsibility Security is not only the security team's job
Product

Understands business requirement and risk.

Developer

Implements secure functionality.

Security

Provides expertise, standards and assurance.

Operations

Operates and monitors the service securely.

Shared responsibility does not mean nobody is accountable. Roles and ownership still need to be defined.
DevSecOps Principle

Automation Helps Security Scale

Modern development may produce: dozens or hundreds of changes every day.

Waiting for a security specialist to manually inspect every change may not scale.

Appropriate security checks can therefore be integrated into automated development workflows.

Automation can provide repeatability and speed. It does not guarantee that the automated security decision is correct.
๐Ÿค– Automating a Bad Process Makes the Bad Process Faster Automation โ‰  security
Pipeline

Automatically deploys every code change to production within: five minutes.

Security verification: none.

Fast delivery without appropriate controls can propagate mistakes and vulnerabilities faster too.
Official Development Methodology

Scaled Agile Framework - SAFe

SAFe applies Agile and Lean concepts across larger organisations where many teams need to coordinate delivery of larger products and systems.

From a CISSP perspective, the important idea is:

scaling Agile does not remove the requirement to integrate security.

Team Level

Security requirements and practices are incorporated into development work.

Cross-Team Coordination

Security dependencies spanning multiple teams must be coordinated.

Architecture

Shared architecture and security requirements affect multiple teams.

Delivery Pipeline

Security remains part of build, integration, deployment and operation.

SAFe

AGILE Iterative delivery
SCALE Many coordinated teams
SECURITY Still integrated

Development Methodologies at a Glance

MethodThink...Security Approach
WaterfallSequential phasesIntegrate security into each stage
AgileIterative incrementsSecurity repeatedly in backlog and iterations
DevOpsDevelopment + operationsSecurity must fit rapid delivery flow
DevSecOpsDevelopment + security + operationsSecurity continuously integrated
SAFeAgile at organisational scaleSecurity coordinated across teams and delivery
There is no development methodology in which security should simply be ignored until the end.
Modern Secure Development Reference

NIST Secure Software Development Framework - SSDF

NIST's Secure Software Development Framework provides high-level secure development practices that can be integrated into different SDLC models.

The current final SSDF groups its practices into four areas.

PO - Prepare the Organization

Ensure people, processes and technology are prepared for secure software development.

PS - Protect the Software

Protect software components from tampering and unauthorised access.

PW - Produce Well-Secured Software

Build software with minimal security vulnerabilities.

RV - Respond to Vulnerabilities

Identify and address residual vulnerabilities and prevent recurrence.

NIST SSDF

PO Prepare
PS Protect
PW Produce securely
RV Respond
๐Ÿ“š Current SSDF Version Note Final vs draft

As of this lesson:

SSDF 1.1 - Current Final SSDF 1.2 - Draft
Do not describe the draft SSDF 1.2 as the current final NIST standard.
Official 8.1 Topic

Software Development Maturity Models

A maturity model helps an organisation evaluate:

How Consistent Are Our Processes? How Repeatable Are They? How Well Are They Managed? How Do We Measure Them? How Can We Improve?
Maturity is about improving organisational capability over time, not declaring a single application "secure."
Official Maturity Model Example

Capability Maturity Model - CMM

The classic Software CMM describes an evolutionary path from unpredictable processes toward disciplined and continuously improving processes.

LevelClassic CMM NameThink...
1InitialAd hoc / unpredictable
2RepeatableBasic processes can be repeated
3DefinedOrganisation has standardised processes
4ManagedProcesses are measured and controlled
5OptimizingContinuous process improvement

Classic CMM Levels

1 INITIAL Ad hoc
2 REPEATABLE Can repeat
3 DEFINED Standard process
4 MANAGED Measured
5 OPTIMIZING Improve continuously
๐Ÿ“ˆ CMM vs Modern CMMI Do not confuse historical and current terminology

CISSP explicitly gives Capability Maturity Model - CMM as an example.

Modern CMMI evolved from this maturity-model family and uses updated terminology.

For CISSP, the important concept is the progression from:

Ad Hoc Repeatable Defined Measured Continuously Improved
Maturity increases process consistency, measurement and improvement.
Maturity Scenario

"It Depends Which Developer You Ask"

Team has: no standard security development process.

One developer performs threat modeling.

Another performs manual code review.

A third performs no security activity.

This represents low process maturity even if one developer personally produces excellent secure code.
Official Maturity Model Example

OWASP Software Assurance Maturity Model - SAMM

SAMM focuses specifically on improving software-security practices.

SAMM organises its model around five business functions.

Governance

Strategy, policy, compliance, education and guidance.

Design

Threat assessment, security requirements and secure architecture.

Implementation

Secure build, deployment and defect management.

Verification

Architecture assessment, requirements-driven testing and security testing.

Operations

Incident, environment and operational management.

SAMM

GOVERN Manage security programme
DESIGN Build security into architecture
IMPLEMENT Build and deploy securely
VERIFY Test security
OPERATE Maintain security

SAMM Measures Improvement

SAMM provides progressively more mature activities for its security practices.

Current State โ†’ Assess
Assessment โ†’ Target State
Target โ†’ Improvement Roadmap
Changes โ†’ Measure Progress
SAMM asks how mature the organisation's software-security practices are and how they can be improved.
Exam Distinction

CMM vs SAMM

CMM

Broad software-process maturity model.

Think: HOW MATURE IS OUR DEVELOPMENT PROCESS?

SAMM

Software-assurance and security maturity model.

Think: HOW MATURE ARE OUR SOFTWARE-SECURITY PRACTICES?

Official 8.1 Topic

Operation & Maintenance

Reaching production is not the end of the software security lifecycle.

Monitoring

Observe application behaviour and security events.

Vulnerability Management

Identify and remediate newly discovered weaknesses.

Patching

Maintain software and dependencies as vulnerabilities are corrected.

Configuration

Maintain an approved secure operating state.

Incident Response

Respond when software is attacked or compromised.

Availability

Maintain backup, recovery and resilience capability.

Dependencies

Monitor externally sourced components and services.

Secrets & Certificates

Maintain credentials, keys and certificates throughout operation.

Release Is Not the Finish Line

MONITOR What is happening?
MAINTAIN Keep components current
PATCH Correct vulnerabilities
RESPOND Handle incidents
CHANGE Evolve securely
Operations Scenario

The Secure Application From 2024

Application passed: every security test before release.

Two years later:

Dependencies Outdated TLS Certificate Near Expiry New Vulnerabilities Published Configuration Drift Occurred
Secure at release โ‰  secure forever.
๐Ÿ” Operations Should Feed Development The lifecycle is a loop
Production Incident โ†’ Root Cause
Root Cause โ†’ Development Requirement
Requirement โ†’ Code / Design Change
Change โ†’ Deploy
Deploy โ†’ Monitor
Operational security information should improve future development.
Official 8.1 Topic

Change Management

Software rarely remains unchanged after release.

Changes may introduce: new functionality and new security risk.

Request โ†’ Describe Change
Change โ†’ Assess Impact
Impact โ†’ Approve
Approved โ†’ Build & Test
Validated โ†’ Deploy
Deployment โ†’ Monitor

Security Impact Analysis

A change that looks small from a functional perspective may have a large security impact.

Change request

"Allow customers to upload profile photographs."

Security questions include:

Which File Types? Maximum Size? Where Stored? Who Can Access? Malware Risk? Metadata Exposure? Content Validation?
Security impact should be considered before implementing the change, not after it reaches production.
๐Ÿ”„ 7.9 vs 8.1 Change Management Same principle, different context
7.9 Change Management

Operational change-management process across information systems and security operations.

8.1 Change Management

Integrating controlled change into the continuing software development lifecycle.

The underlying principle remains: assess, authorise, test, deploy and monitor change.

Emergency Changes

Production vulnerability

Actively exploited.

Normal change process: takes seven days.

An emergency process may allow: accelerated change.

It should not mean: no control at all.

Authorisation Testing Where Feasible Documentation Rollback Post-Implementation Review
Emergency change = expedited control. Not uncontrolled change.
Accountability

Know What Changed

Who Requested It? What Changed? Why? Who Approved? What Was Tested? Which Version? When Was It Deployed? Can It Be Reversed?
Traceability helps investigation, rollback, accountability and assurance.
Official 8.1 Topic

Integrated Product Team - IPT

An Integrated Product Team brings together multiple disciplines that are required to successfully deliver and operate a product.

Business / Product

Defines business outcomes and priorities.

Development

Designs and implements software.

Security

Provides security requirements and expertise.

Architecture

Maintains technical design and integration.

Testing / QA

Verifies software behaviour and quality.

Operations

Runs and supports production systems.

Privacy / Compliance

Provides applicable legal and policy requirements.

Other Stakeholders

Contribute specialist knowledge as required.

Security is stronger when relevant specialists participate while decisions are being made rather than reviewing everything afterwards.

Integrated Product Team

BUSINESS What do we need?
DEV How do we build it?
SECURITY How do we protect it?
TEST Does it work?
OPS Can we run it?

Build the product together - do not throw it over the wall.

Team Scenario

The Security Review Two Days Before Launch

Developers spend: 18 months building an application.

Security team first sees it: two days before production.

Security discovers: fundamental authentication architecture weaknesses.

Earlier security involvement would have created more opportunity to address the architectural risk without disrupting delivery.

Security Champions

Development teams may designate people with additional security interest or training to act as a bridge between:

Development Team โ†” Security Function

They can help:

Interpret Security Standards Identify Issues Earlier Share Security Knowledge Escalate Complex Questions
Security champion โ‰  security team replacement

Security specialists remain necessary for areas requiring deeper expertise or independent assurance.

Development Assurance

Verification vs Validation

Verification

Did we build the product according to the specified requirements?

DID WE BUILD IT RIGHT?

Validation

Does the resulting product satisfy its intended need and use?

DID WE BUILD THE RIGHT THING?

Secure development requires both correct implementation and appropriate security requirements.
โœ… You Can Correctly Implement a Bad Requirement Verification alone is not enough
Requirement

"Passwords must contain at least four characters."

Development implements: exactly four-character minimum passwords.

Verification: passes.

Correct implementation of an inadequate security requirement does not create adequate security.

Security Testing Should Occur at Appropriate Points

Different security problems are best detected at different stages.

StageExample Security Focus
RequirementsMissing security requirements
DesignThreats and architectural weaknesses
DevelopmentImplementation weaknesses
IntegrationComponent and interface weaknesses
Pre-ReleaseEnd-to-end application security
ProductionOperational vulnerabilities and attack activity
Coming in 8.2

Detailed application-security testing methods such as SAST, DAST, SCA and IAST belong primarily in the next lesson.

Learning

Do Not Only Fix the Vulnerability - Fix the Cause

Vulnerability โ†’ Fix Instance
Root Cause โ†’ Understand Why
Development Process โ†’ Improve
Future Software โ†’ Prevent Recurrence
Finding

SQL injection discovered: in five separate applications.

The organisation should not only fix: five individual vulnerabilities.

It should also ask:

Are Secure Coding Standards Missing? Is Training Missing? Are Libraries Used Incorrectly? Should Testing Detect This Earlier?
Mature secure development addresses systemic causes, not only individual defects.

Security Debt

Organisations can accumulate security debt when security work is repeatedly postponed.

Unsupported Libraries Temporary Exceptions Missing Security Tests Weak Architecture Deferred Vulnerabilities Old Authentication Mechanisms
Deferring security does not necessarily remove the cost. It often moves the cost into the future with additional risk.
CISSP Management Scenario

"We Launch Tomorrow"

Security assessment identifies: a serious exploitable vulnerability.

Project manager says:

"The release date has already been announced. Security can fix it next month."

Risk should be formally understood and handled by appropriate accountable decision-makers rather than silently ignored because of schedule pressure.
CISSP Mindset

Secure SDLC Should Be Risk-Based

Not every application requires identical security activities.

Low-Risk Internal Utility

May require a lighter assurance approach.

Internet Banking Platform

Requires significantly stronger security engineering and assurance.

Safety-Critical System

Failure may create consequences far beyond ordinary information loss.

Tailor secure-development activities to the risk and importance of the software.

Trace Security Requirements

Risk โ†’ Security Requirement
Requirement โ†’ Design Control
Design โ†’ Implementation
Implementation โ†’ Test
Test โ†’ Evidence
Traceability helps demonstrate that an identified security need was actually implemented and verified.
Lifecycle Scenario

The Vulnerability Only Appears Under Production Load

Application passes: all pre-production testing.

In production, unusual concurrency causes: a security-sensitive race condition.

Production monitoring and operational feedback remain important even after strong development testing.
DevSecOps Scenario

The Pipeline Finds a Critical Problem

Developer commits: a change.

Automated security check identifies: a critical policy violation.

Pipeline prevents: deployment.

An automated security gate can prevent known unacceptable conditions from moving further through the delivery process.
โš ๏ธ Security Gates Need Tuning Too much noise can damage the process
Pipeline scanner

Blocks: 80% of builds.

Most findings: false positives.

Developers begin: seeking ways to bypass the scanner.

A security control that produces excessive noise can encourage unsafe workarounds.

Security and Speed Are Not Automatically Opposites

Late Security

Major problems appear shortly before release and create expensive rework.

Integrated Security

Problems are identified closer to the point at which they are introduced.

Good secure-development practices can improve delivery by reducing surprise security rework.

Security Questions by Lifecycle Stage

REQUIREMENTS What must be protected?
DESIGN What could go wrong?
BUILD Are we implementing securely?
TEST Did the controls work?
DEPLOY Is the release safe?
OPERATE What is happening now?
CHANGE What new risk are we introducing?
๐ŸŽ“ CISSP Scenarios Recognise the SDLC concept being tested
Scenario 1

Security is first involved immediately before production.

Primary weakness?

Security was not integrated throughout the SDLC.

Scenario 2

Security requirements are defined while business requirements are being gathered.

Which principle?

Early security integration / shift left.

Scenario 3

A vulnerability caused by architecture is discovered during design rather than penetration testing.

Primary benefit?

Earlier remediation with more design options and less rework.

Scenario 4

Does shift left mean production security monitoring is unnecessary?

Answer?

No.

Scenario 5

Project completes requirements before design, design before coding and coding before testing.

Which methodology?

Waterfall.

Scenario 6

Does Waterfall require security to be performed only during testing?

Answer?

No. Security should be integrated into each relevant phase.

Scenario 7

Team produces small increments and continuously refines its backlog.

Which methodology?

Agile.

Scenario 8

A security requirement is added directly to a user story's acceptance criteria.

Which concept?

Integrating security into Agile development.

Scenario 9

Does Agile mean documentation should never be created?

Answer?

No.

Scenario 10

Development and operations teams share responsibility for rapidly delivering and running applications.

Which concept?

DevOps.

Scenario 11

Security is continuously integrated into development and operational delivery.

Which concept?

DevSecOps.

Scenario 12

Organisation creates a separate security department that reviews DevOps releases only after deployment.

Is this mature DevSecOps?

No. Security should be integrated into the delivery lifecycle.

Scenario 13

Security checks automatically run whenever code changes.

Primary benefit?

Repeatable security feedback that can scale with development activity.

Scenario 14

An automated pipeline deploys insecure software very quickly.

Primary lesson?

Automation does not guarantee security.

Scenario 15

Hundreds of developers work across coordinated Agile teams on one enterprise platform.

Which ISC2 development-method example may apply?

Scaled Agile Framework - SAFe.

Scenario 16

Organisation wants to understand how disciplined and repeatable its software processes are.

Which concept?

Process maturity model.

Scenario 17

Software development process is unpredictable and heavily dependent on individual heroics.

Classic CMM level?

Level 1 - Initial.

Scenario 18

Organisation can repeat previously successful basic software processes.

Classic CMM level?

Level 2 - Repeatable.

Scenario 19

Organisation-wide standard software processes have been defined.

Classic CMM level?

Level 3 - Defined.

Scenario 20

Software processes are quantitatively observed and controlled.

Classic CMM level?

Level 4 - Managed.

Scenario 21

Organisation continually improves mature software processes.

Classic CMM level?

Level 5 - Optimizing.

Scenario 22

Organisation specifically wants to measure and improve software-security practices.

Which ISC2 maturity-model example?

OWASP SAMM.

Scenario 23

Which five high-level functions appear in SAMM?

Answer?

Governance, Design, Implementation, Verification and Operations.

Scenario 24

An application was secure when released but now contains outdated vulnerable dependencies.

Which 8.1 topic is important?

Operation and maintenance.

Scenario 25

Does successful security testing at release prove an application will remain secure forever?

Answer?

No.

Scenario 26

A new feature changes how customer files are uploaded.

What should occur before release?

Security impact assessment as part of change management.

Scenario 27

An emergency vulnerability fix bypasses every approval, test and record.

Primary problem?

Emergency change was treated as uncontrolled change.

Scenario 28

Who requested, approved and deployed a production change cannot be determined.

Which property is weak?

Change traceability and accountability.

Scenario 29

Business, developers, security, operations and testing work together throughout the project.

Which ISC2 concept?

Integrated Product Team.

Scenario 30

Security reviews a design only after developers have already implemented it.

What would improve the process?

Earlier security participation within the product team.

Scenario 31

A developer acts as the security contact within an Agile team and helps interpret security standards.

Which concept?

Security champion.

Scenario 32

Does a security champion eliminate the need for specialist security expertise?

Answer?

No.

Scenario 33

A product conforms exactly to its specified security requirements.

Which assurance idea?

Verification - did we build it right?

Scenario 34

The team asks whether the specified security requirements actually satisfy the business need.

Which assurance idea?

Validation - did we build the right thing?

Scenario 35

A weak security requirement is implemented perfectly.

Is the resulting security necessarily adequate?

No.

Scenario 36

The same injection vulnerability appears repeatedly across many products.

Best mature response?

Fix the vulnerabilities and address the systemic root cause in the development process.

Scenario 37

A vulnerability fix is indefinitely postponed to meet release deadlines.

What may accumulate?

Security debt.

Scenario 38

An automated scanner blocks nearly every build because of false positives.

Primary operational risk?

Developers may begin bypassing or distrusting the control.

Scenario 39

A security requirement can be traced to design, implementation and a successful test.

Which concept?

Requirements traceability.

Scenario 40

A production incident causes a new secure coding standard to be introduced.

Which principle?

Operational feedback improving the development lifecycle.

Scenario 41

A security defect is found immediately after the developer introduces it rather than six months later.

Primary benefit?

Faster feedback and reduced remediation effort.

Scenario 42

An organisation applies identical heavy security processes to every application regardless of risk.

Better approach?

Tailor secure-development activities based on risk and context.

Scenario 43

What are the four groups in current final NIST SSDF 1.1?

Answer?

Prepare the Organization, Protect the Software, Produce Well-Secured Software and Respond to Vulnerabilities.

Scenario 44

What is the most important principle shared by Waterfall, Agile and DevSecOps?

Answer?

Security should be integrated throughout the chosen software lifecycle.

Scenario 45

Management asks for the central purpose of 8.1.

Best answer?

Integrate security requirements, engineering, assurance, operational maintenance and controlled change throughout the software development lifecycle using processes appropriate to the organisation's development methodology and risk.

CISSP Exam Perspective

Recognise the Clue Words

Security From Beginning

Earlier integration.

Shift Left

Sequential Phases

Development model.

Waterfall

Iterations / Backlog

Adaptive delivery.

Agile

Development + Operations

Collaboration.

DevOps

Security Throughout Delivery

Integrated.

DevSecOps

Many Agile Teams

Enterprise scale.

SAFe

Ad Hoc Process

Classic maturity.

CMM Level 1

Repeatable Process

Classic maturity.

CMM Level 2

Organisation Standard

Classic maturity.

CMM Level 3

Measured Process

Classic maturity.

CMM Level 4

Continuous Improvement

Classic maturity.

CMM Level 5

Software Security Maturity

Assurance model.

SAMM

After Production

Lifecycle continues.

Operation & Maintenance

New Feature

Assess new risk.

Change Management

Emergency Fix

Faster process.

Controlled Emergency Change

Business + Dev + Security + Ops

Multidisciplinary.

Integrated Product Team

Developer Security Contact

Team enablement.

Security Champion

Did We Build It Right?

Against specification.

Verification

Did We Build the Right Thing?

Intended need.

Validation

Same Vulnerability Repeated

Systemic issue.

Root Cause Improvement
โš ๏ธ Common CISSP Mistakes Security should be part of development, not attached afterwards
Security Testing at End โ‰  Secure SDLC

Security should influence requirements, design, development, deployment and operation too.

Shift Left โ‰  Security Only on the Left

Production operation and maintenance still require security.

Waterfall โ‰  Insecure

Security can be integrated throughout a Waterfall lifecycle.

Agile โ‰  No Planning

Agile plans iteratively.

Agile โ‰  No Documentation

Useful security documentation still matters.

Agile โ‰  No Architecture

Rapid iteration does not eliminate secure design.

DevOps โ‰  Automatically Secure

Faster development and deployment can also move vulnerabilities faster.

DevSecOps โ‰  Security Department in the Pipeline

Security should be integrated into shared development and operational processes.

Automation โ‰  Security

Automated insecure processes remain insecure.

Security Tool โ‰  Security Programme

Tools support people and processes.

Security Champion โ‰  Security Specialist Replacement

Champions improve integration but specialist expertise may still be required.

CMM โ‰  Application Security Test

CMM evaluates process maturity.

SAMM โ‰  Vulnerability Scanner

SAMM assesses and improves organisational software-security practices.

Released โ‰  Finished

Software continues through operation and maintenance.

Secure at Launch โ‰  Secure Forever

Threats, vulnerabilities and dependencies change.

Small Feature โ‰  Small Security Impact

Assess changes based on security impact rather than code size alone.

Emergency Change โ‰  No Change Control

Emergency processes accelerate appropriate controls rather than eliminate them entirely.

Shared Responsibility โ‰  No Accountability

Product-team responsibilities should still be defined.

Verification โ‰  Validation

Verification asks whether requirements were implemented correctly. Validation asks whether the right requirements and product were produced.

Fixing Defect โ‰  Fixing Development Process

Repeated weaknesses may require systemic process improvement.

Security Finding Deferred โ‰  Security Finding Gone

Repeated deferral can create security debt.

Current SSDF Final โ‰  SSDF Draft

NIST SSDF 1.1 is the current final publication. Version 1.2 is presently a draft.

8.1 โ‰  8.2

8.1 focuses on lifecycle integration. 8.2 focuses on the software-development ecosystem and its controls.

8.1 โ‰  8.5

8.1 addresses the lifecycle. 8.5 addresses secure coding guidelines and standards.

Quick Reference

If you see...Think...
Security earlier in developmentShift Left
Sequential development phasesWaterfall
Iterations, backlog, incremental deliveryAgile
Development + operationsDevOps
Security throughout development + operationsDevSecOps
Agile coordinated across many teamsSAFe
Ad hoc processCMM Level 1
Repeatable processCMM Level 2
Defined organisational processCMM Level 3
Measured processCMM Level 4
Continuous process improvementCMM Level 5
Software assurance maturitySAMM
Prepare / Protect / Produce / RespondNIST SSDF
Production security after launchOperation & Maintenance
New feature changes security riskChange Management
Urgent production fixEmergency Change
Business + Dev + Security + OpsIntegrated Product Team
Did we build it right?Verification
Did we build the right thing?Validation
Same defect appears repeatedlyRoot Cause / Process Improvement

Methodology Memory Aid

WATERFALL Stage by stage
AGILE Iterate
DEVOPS Build + run together
DEVSECOPS Secure the whole flow
SAFE Agile at scale

Maturity Memory Aid

AD HOC People improvise
REPEAT Processes repeat
DEFINE Organisation standardises
MEASURE Performance becomes visible
OPTIMISE Continuously improve

8.1 Master Memory Aid

REQUIRE Define security
DESIGN Engineer security
BUILD Implement securely
VERIFY Test security
DEPLOY Release safely
OPERATE Maintain security
CHANGE Assess new risk
IMPROVE Learn continuously

Security is part of the lifecycle - not a phase at the end.

The Secure Development Leader's Questions

REQUIREMENTS? Have security needs been defined?
RISK? What could go wrong?
DESIGN? Has security influenced architecture?
METHOD? How does security fit our development model?
TEAM? Are the right disciplines involved?
BUILD? Are secure practices followed?
VERIFY? Did we test the requirements?
DEPLOY? Is release controlled?
OPERATE? How will security be maintained?
CHANGE? What security impact does the change create?
FEEDBACK? Are incidents improving development?
MATURITY? Are our processes becoming more reliable?

Key Takeaways

CISSP 8.1 is: Understand and integrate security in the Software Development Life Cycle.

The current ISC2 outline explicitly includes development methodologies, maturity models, operation and maintenance, change management and Integrated Product Teams.

The central principle is: security should be integrated throughout software development.

Security should influence requirements, design, development, testing, deployment, operation and change.

Security should not first appear immediately before production.

Secure development begins with understanding the protection needs of the business and translating those needs into security requirements.

Security requirements may address authentication, authorization, confidentiality, logging, privacy, resilience and other required behaviours.

Functional requirements describe what software should do.

Security requirements help describe the conditions under which it should do those things safely.

Secure design considers threats before implementation.

Threat modeling, trust boundaries, least privilege, secure defaults and attack-surface analysis can therefore occur before significant code exists.

Fix architecture before architecture becomes thousands of lines of code.

Shift left means performing security activities earlier in development.

Earlier identification of security weaknesses can reduce rework and technical debt.

Shift left โ‰  security only on the left.

Production security, monitoring, vulnerability management and incident response remain necessary.

Waterfall develops software through relatively distinct sequential phases.

Security can and should be integrated into requirements, design, development, testing, deployment and maintenance within Waterfall.

Waterfall โ‰  security only at final testing.

Agile uses iterative and incremental development.

Security can be incorporated into Agile backlogs, user stories, acceptance criteria and each development iteration.

Agile does not mean no planning, no documentation or no architecture.

DevOps brings development and operations closer together.

It emphasises shared responsibility, automation, rapid delivery and operational feedback.

DevSecOps explicitly integrates security within that delivery approach.

DevOps = Development + Operations. DevSecOps = Development + Security + Operations.

DevSecOps should not create another security silo.

Security becomes part of the same workflow used to develop, test, deploy and operate software.

Automation can make security checks repeatable and scalable.

But: automation โ‰  guaranteed security.

An insecure automated process simply produces insecure outcomes more consistently and potentially more quickly.

Automated controls also require appropriate tuning.

Excessive false positives can cause developers to distrust or bypass security controls.

SAFe applies Agile concepts across larger coordinated development organisations.

The CISSP principle remains unchanged: security must remain integrated when Agile is scaled.

Maturity models help organisations assess and improve the consistency and capability of their processes.

The classic Capability Maturity Model progresses through five levels:

Initial โ†’ Repeatable โ†’ Defined โ†’ Managed โ†’ Optimizing.

Initial processes are relatively ad hoc and unpredictable.

Repeatable processes establish basic repeatability.

Defined processes use organisation-wide standards.

Managed processes are measured and controlled.

Optimizing organisations focus on continuous improvement.

Modern CMMI evolved from this maturity-model family and uses updated terminology.

CISSP explicitly includes CMM as the example in objective 8.1, so understanding the maturity concept is more important than treating every maturity model as identical.

OWASP SAMM focuses specifically on software security and assurance.

SAMM contains five high-level business functions:

Governance โ†’ Design โ†’ Implementation โ†’ Verification โ†’ Operations.

SAMM can help an organisation understand its current software-security maturity, define a target and create an improvement roadmap.

CMM = broad development-process maturity. SAMM = software-security maturity.

NIST's Secure Software Development Framework provides another useful modern model for secure development.

The current final SSDF 1.1 contains four groups:

Prepare the Organization โ†’ Protect the Software โ†’ Produce Well-Secured Software โ†’ Respond to Vulnerabilities.

The SSDF can be integrated into different SDLC methodologies rather than requiring one particular development model.

Operation and maintenance are explicitly included in CISSP 8.1.

A software release is therefore not the end of security responsibility.

Production software must continue to be monitored, patched, maintained and updated.

Dependencies, certificates, credentials, configurations and operating environments also change over time.

Secure at release โ‰  secure forever.

Operational incidents should feed information back into development.

If an incident exposes a recurring development weakness, the mature response is not merely to repair one application.

The organisation should consider how the development process can prevent recurrence.

Change management is also explicitly included in objective 8.1.

Software changes should be evaluated for security impact.

A small functional change can create a large security impact.

Controlled change normally includes assessment, authorisation, testing, deployment, monitoring and traceability.

Emergency changes may use an expedited process.

Emergency change โ‰  uncontrolled change.

Appropriate documentation and post-implementation review may still be necessary.

Integrated Product Teams bring multiple disciplines together.

Product owners, developers, security specialists, architects, testers, operations personnel and other relevant stakeholders can participate before decisions become expensive to change.

Security should participate in building the product rather than only judging the finished product.

Security champions can help integrate security knowledge into development teams.

They do not automatically replace specialist security teams.

Verification and validation are related but different.

Verification asks: did we build it right?

Validation asks: did we build the right thing?

Correctly implementing a weak security requirement does not make the resulting security strong.

Security requirements should therefore themselves be appropriate to business risk.

Security activities should be risk-based.

An Internet banking service and a low-risk internal utility do not necessarily require identical levels of assurance.

Requirements should be traceable where appropriate from risk through design, implementation and testing.

This helps demonstrate that identified security needs were actually addressed.

Repeated vulnerabilities may indicate a development-process problem.

Mature organisations therefore examine root causes.

Fix the vulnerability. Then ask why the development process allowed it.

Repeatedly postponing necessary security work can accumulate security debt.

Security and development speed are not necessarily opposing goals.

Earlier security feedback can reduce late rework and unexpected release delays.

The current final NIST SSDF remains version 1.1.

NIST has published version 1.2 as a draft, so it should not currently be described as the final SSDF.

The central CISSP principle for 8.1 is:

security is not one stage of software development. Security is a requirement and engineering responsibility that should follow the software from its earliest business need through design, implementation, verification, deployment, operation, change and continuous improvement.

๐Ÿ“š Sources & Further Reading Current secure software-development references