ISO 27001 Annex A Control 8.28

ISO 27001 control 8.28 Secure coding

The basics

ISO 27001 control A.8.28 Secure coding requires companies to establish secure coding principles and apply them to software development in order to reduce security vulnerabilities in the software. This is a new control in the 2022 revision of the standard.

Documentation

ISO 27001 control A.8.28 Secure coding can be documented:

  • for smaller and mid-sized companies by writing a Secure Development Policy
  • for larger companies by writing a Secure Coding Policy

These documents are not mandatory, but are recommended.

Implementation

In order to comply with control A.8.28 Secure coding you might implement the following:

  • Technology — the technology to enable secure coding might include tools for maintaining an inventory of libraries, protecting the source code from tampering, logging errors and attacks, and testing; you could also use security components like authentication, encryption, etc. Small companies may use tools installed locally on their developers’ computers, while bigger companies may use centralized software that manages code security in a shared way.
  • Organization/processes — you should set up a process for defining the minimum baseline of secure coding – both for internal software development and for software components from third parties, a process for monitoring emerging threats and advice on secure coding, a process for deciding which external tools and libraries can be used, and a process that defines activities done before the coding, during the coding, after the coding (review and maintenance), and for software modification. You can document those processes through a Secure Development Policy or Procedures for secure coding.
  • People — make employees aware of why using secure coding principles is needed, and train them on methods and tools for secure coding.

Audit evidence

During the certification audit, the auditor might look for the following evidence regarding control A.8.28 Secure coding: if principles for secure coding are integrated into the software lifecycle process.

These are the things the auditor will be looking for, if they are not found this is considered a nonconformity.