4.5 Technological Controls: Secure Development Lifecycle & Coding (A.8.25-A.8.34)

Key Takeaways

  • Secure development lifecycle (A.8.25) integrates security controls across design, coding, testing, and deployment within automated DevSecOps pipelines.
  • Secure coding (A.8.28 — new in 2022) mandates organization-wide coding guidelines, automated SAST/DAST analysis, Software Composition Analysis (SCA), and Software Bill of Materials (SBOM) tracking.
  • Separation of environments (A.8.31) enforces physical or logical boundaries between development, testing, and production, strictly prohibiting live customer data in test environments (A.8.33).
  • Change management (A.8.32) and audit protection (A.8.34) ensure all system changes undergo formal review, risk assessment, and approval without compromising production operational availability.
Last updated: July 2026

4.5 Technological Controls: Secure Development Lifecycle & Coding (A.8.25–A.8.34)

The final group of technological controls in ISO/IEC 27001:2022 (A.8.25 through A.8.34) establishes security requirements throughout the application engineering and software development lifecycle (SDLC). As custom software and cloud applications become primary business drivers, embedding security into the development process (DevSecOps) is essential to prevent vulnerabilities before code reaches production.

This section highlights Control A.8.28 (Secure coding), a major new addition in the 2022 revision.


Comprehensive Breakdown of SDLC & Application Security Controls

1. Secure Development & Application Security Requirements (A.8.25, A.8.26, A.8.27)

  • A.8.25 Secure development lifecycle: Security must be established and applied throughout the entire software development lifecycle. Organizations must define secure coding standards, conduct threat modeling (e.g., STRIDE framework) during design, mandate security peer reviews, and integrate automated security checks into CI/CD deployment pipelines.
  • A.8.26 Application security requirements: Security requirements must be identified, specified, and approved when developing or acquiring applications. Covers functional security features (authentication, input validation, encryption) and non-functional requirements aligned with OWASP Top 10 and OWASP ASVS (Application Security Verification Standard).
  • A.8.27 Secure system architecture and engineering principles: Principles for engineering secure systems must be established, documented, maintained, and applied. Requires application of defense-in-depth, least privilege, zero trust, fail-safe defaults, and separation of concerns across application microservices.

2. Secure Coding & Security Testing (A.8.28, A.8.29 — NEW 2022 Control)

  • A.8.28 Secure coding (NEW 2022 Control): Secure coding principles must be applied to software development. Implementation requires:
    • Coding Guidelines: Language-specific secure coding standards (e.g., CERT C/C++, OWASP Java/Python guidelines) addressing SQL injection, XSS, memory management, and input sanitization.
    • Static Application Security Testing (SAST): Automated static code analysis embedded in IDEs and CI/CD build gates blocking builds containing high-severity security flaws.
    • Software Composition Analysis (SCA) & SBOM: Scanning third-party and open-source libraries for known vulnerabilities (CVEs) and generating a Software Bill of Materials (SBOM) for license and security tracking.
  • A.8.29 Security testing in development and acceptance: Security testing must be carried out during development. Includes Dynamic Application Security Testing (DAST), Interactive Application Security Testing (IAST), and independent annual penetration testing before major release deployments.

3. Outsourced Development & Environment Separation (A.8.30, A.8.31)

  • A.8.30 Outsourced development: Organizations outsourcing software development must direct, monitor, and review developer activities. Contracts must specify secure coding standards, IP ownership, mandatory vulnerability scanning, vulnerability remediation SLAs, and right-to-audit clauses.
  • A.8.31 Separation of development, test, and production environments: Development, testing, and production environments must be segregated to prevent unauthorized access or changes to production. Requires separate infrastructure, isolated cloud accounts/VPCs, and distinct access credentials. Developers must not hold administrative write privileges in production environments.

4. Change Management, Test Data & Audit Protection (A.8.32, A.8.33, A.8.34)

  • A.8.32 Change management: Changes to information processing systems and applications must be subject to formal change control procedures. Requires change tickets, risk assessments, peer sign-off, automated regression testing, and rollback plans.
  • A.8.33 Test information: Test data must be carefully selected, protected, and controlled. Raw customer production data containing PII or sensitive business metrics must never be copied directly into test/development environments unless synthetic data generation is impossible and data has been fully anonymized or masked.
  • A.8.34 Protection of information systems during audit testing: Operational system audits and penetration tests must be planned and agreed upon to minimize disruption to operational business processes. Requires read-only audit roles and clear rules of engagement (RoE).

DevSecOps & SDLC Alignment Matrix

Control ID & TitleDevSecOps Pipeline StageTechnical Control MechanismAuditor Verification Evidence
A.8.25 Secure SDLCArchitecture & DesignSTRIDE Threat Modeling, Security StoriesThreat model documents, Jira security tickets
A.8.28 Secure CodingBuild / Commit StageSAST scanning, SCA open-source auditsSonarQube reports, SBOM inventory files
A.8.29 Security TestingStaging / Pre-ProdDAST vulnerability scanning, Pen TestPen test reports, DAST pipeline scan logs
A.8.31 Environment SeparationInfrastructureSeparate AWS Accounts, RBAC isolationIAM permission policies, VPC peering rules
A.8.33 Test InformationTest ExecutionSynthetic data generators, static maskingTest DB creation scripts, sanitization logs

Real-World Lead Implementer Scenario

Scenario: A fintech enterprise undergoing an ISO 27001 audit experiences a compliance failure when an auditor discovers that developers frequently clone production database dumps (containing customer bank details) directly onto local developer laptops to reproduce application bugs. Furthermore, open-source npm packages are pulled directly from public registries without vulnerability scanning.

Remediation Action Plan Executed by Lead Implementer:

  1. Enforce A.8.33 (Test Information): Halt the practice of cloning production databases immediately. Deploy an automated synthetic test data generator that populates staging databases with scrubbed, non-real customer records.
  2. Enforce A.8.28 (Secure Coding & SCA): Integrate Software Composition Analysis (SCA) tooling (e.g., Snyk, Dependabot) into the CI/CD pipeline, blocking any pull request that introduces open-source dependencies with Critical or High CVSS vulnerabilities.
  3. Enforce A.8.31 (Environment Separation): Revoke developer direct SSH/database access to production cloud environments, restricting access strictly to automated deployment service accounts.
Test Your Knowledge

A software development team is building a healthcare portal. To test a complex database query, a developer requests permission to copy the live production database (containing patient medical histories) directly onto a staging server. How should the Lead Implementer address this under ISO/IEC 27001:2022 Control A.8.33 (Test information)?

A
B
C
D
Test Your Knowledge

An organization integrates automated Static Application Security Testing (SAST) and Software Composition Analysis (SCA) tools directly into its GitHub CI/CD pipeline to block pull requests containing OWASP vulnerabilities or vulnerable open-source libraries. Which new ISO/IEC 27001:2022 control is implemented?

A
B
C
D