Clause 6.1.3: Information security risk treatment
Clause 6.1.3 requires the organization to determine the controls necessary to treat its information security risks and to document the resulting decisions in the Statement of Applicability (SoA). The controls selected for risk treatment are determined by the organization's risk assessment and treatment process rather than by treating every Annex A control as universally mandatory.
Penetration testing can therefore become part of an organization's defined risk treatment. For example:
- Risk: An internet-facing application may permit unauthorized access to customer information.
- Treatment: Implement secure-development controls, technical-vulnerability management and periodic penetration testing.
Once penetration testing has been selected as a risk-treatment measure or otherwise incorporated into the organization's ISMS commitments, the organization needs to implement it as defined and retain appropriate evidence. Conversely, an organization may select other measures where its risk assessment and treatment decisions provide an appropriate basis for doing so.
Practical conclusion: Clause 6.1.3 does not independently require penetration testing. It provides the mechanism through which penetration testing may become a defined part of the organization's risk treatment and ISMS.
Clause 9.1: Monitoring, measurement, analysis and evaluation
Clause 9.1 requires the organization to determine what information security processes and controls need to be monitored and measured, how and when they will be measured, and how the results will be analyzed and evaluated. Documented evidence of the results is retained.
Penetration testing can contribute to this measurement and evaluation where the organization has defined testing as an appropriate source of evidence. For example, possible indicators or measures may include:
- the proportion of identified critical applications tested within the defined period;
- the number or proportion of critical findings remediated within the organization's defined timeframe;
- the number of exploitable high-risk findings identified through testing;
- time taken to remediate penetration-testing findings; and
- the proportion of remediation measures successfully verified through retesting.
These metrics measure different aspects of the organization's security-testing and remediation processes; they should not be treated as universal ISO 27001 metrics. The appropriate measures depend on what the organization has decided to monitor and evaluate.
Practical conclusion: Clause 9.1 does not itself require a penetration test. Where penetration testing forms part of the organization's defined measurement and evaluation approach, the resulting findings and metrics can provide evidence for the effectiveness of selected security controls and processes.
A.5.35: Independent review of information security
A.5.35 requires an independent review of the organization's approach to managing information security at planned intervals or when significant changes occur. A penetration test can contribute technical evidence to such a review, particularly when the testing is performed by a suitably independent party.
However, a penetration test is not automatically equivalent to an independent review. A conventional penetration test is primarily a technical assessment of selected systems and attack scenarios, whereas an independent review may consider the broader effectiveness and suitability of the organization's information security approach.
A suitably independent penetration test can therefore contribute two useful forms of evidence:
- technical evidence about exploitable weaknesses within the defined test scope; and
- independent evidence about selected aspects of the organization's security controls and their implementation.
The extent to which the test contributes to A.5.35 depends on its independence, scope, objectives and reporting. A third-party penetration test should therefore not be presented as automatically satisfying the control.
Practical conclusion: A penetration test can support an independent review, but it does not replace the broader review required by A.5.35 unless the review has been deliberately designed to address the relevant requirements.
A.5.36: Compliance with policies, rules and standards
A.5.36 concerns compliance with the organization's own information security policies, rules and standards, as well as applicable external requirements. This creates an important distinction between what ISO/IEC 27001 itself requires and what the organization has chosen to require through its own policies and procedures.
For example, an organization's security policy might state that internet-facing applications shall undergo penetration testing at defined intervals and following significant security changes. Once such a requirement has been established, the organization needs to demonstrate that it is being followed.
Penetration-testing reports, schedules, remediation records and retest results can provide evidence that the organization's defined testing requirements are being implemented. Conversely, if the organization has not established penetration testing as a policy or other requirement, A.5.36 does not independently create such an obligation.
Practical conclusion: A.5.36 can make penetration testing auditable where the organization has included it in its own policies, rules or standards. The resulting evidence demonstrates compliance with the organization's defined requirements rather than a standalone ISO 27001 requirement to perform a penetration test.
A.8.25: Secure development life cycle
A.8.25 addresses the integration of information security throughout the development life cycle. Penetration testing can support this process by providing security evidence at appropriate points in the lifecycle, but it is only one component of the overall development-security process.
Depending on the organization's development process and risk profile, security activities may include:
- Design: threat modeling and security architecture review;
- Development: secure coding practices, source-code review and automated security analysis;
- Pre-production: vulnerability assessment and dynamic application security testing;
- Acceptance: targeted penetration testing where appropriate;
- Production: ongoing vulnerability management and security monitoring; and
- Major changes: targeted security testing or retesting proportionate to the change.
The appropriate combination of techniques depends on the system, development methodology, security requirements and associated risks. A penetration test should therefore be viewed as one potential assurance activity within the SDLC, rather than as a substitute for the other security activities required throughout the lifecycle.
Practical conclusion: A.8.25 provides the broader lifecycle context in which penetration testing may be used. A.8.29 addresses security testing more specifically; A.8.25 establishes that security needs to be considered throughout the development life cycle rather than only immediately before release.
A.8.9: Configuration management
A.8.9 concerns the establishment, implementation and monitoring of appropriate configurations for systems, networks and other technology. Penetration testing can provide additional evidence about whether configuration weaknesses can be exploited in practice.
Depending on the scope of the test, findings may include:
- unnecessary exposed services;
- insecure TLS configurations;
- default or weak credentials;
- excessive permissions;
- insecure cloud configurations;
- exposed management interfaces;
- unexpected network reachability; and
- security-control bypasses resulting from configuration weaknesses.
Some of these issues may be identified through vulnerability scanning, configuration assessment or other technical controls. A penetration test can add a different type of evidence by attempting to determine whether a configuration weakness can actually be used to reach a protected system, account or function.
Practical conclusion: A.8.9 does not require penetration testing. Where configuration weaknesses could materially affect the organization's attack surface or security boundaries, targeted penetration testing can provide useful additional evidence about their practical security impact.
A.8.20: Network security
A.8.20 addresses the security of networks and network devices. Penetration testing can provide evidence about whether the technical controls enforcing the intended network architecture operate as expected in practice.
For example, an organization may define an architecture in which traffic flows from the Internet through a firewall and DMZ to an application layer, while the database layer is intended to be inaccessible directly from the Internet. A suitably scoped penetration test can attempt to determine whether those intended restrictions can actually be bypassed.
Depending on the test objectives, testing may examine:
- firewall and network-access rules;
- network segmentation and routing;
- exposed services and interfaces;
- lateral movement between network zones;
- VPN and remote-access controls;
- administrative interfaces;
- trust relationships between systems or network zones; and
- network access controls.
A penetration test does not by itself establish that the entire network-security control is effective. Its evidential value depends on the networks, systems, paths and restrictions included in the test.
Practical conclusion: A.8.20 does not explicitly require penetration testing, but targeted testing can provide useful evidence that selected network-security restrictions are effective against realistic attack paths.
A.8.22: Segregation of networks
A.8.22 concerns the segregation of networks where separation is necessary to protect information and systems. This is a useful area for targeted attack-path testing because the organization may need to demonstrate not only that network boundaries exist, but that they restrict unintended access.
For example, where production systems are intended to be isolated from development systems, a suitably scoped assumed-breach or penetration test could examine an attack path such as:
- compromise a workstation or other defined starting point;
- attempt access to the development network;
- attempt to cross the boundary into production; and
- attempt to reach privileged infrastructure where this is within scope.
This type of testing can provide evidence about the effectiveness of the technical separation under the tested conditions, rather than relying solely on network diagrams or configuration documentation.
Practical conclusion: A.8.22 does not require penetration testing. Where network segregation is an important risk treatment, targeted testing can provide useful evidence that the intended boundaries prevent the attack paths included within the test scope.
A.8.31: Separation of development, test and production environments
A.8.31 concerns the separation of development, testing and production environments. Penetration testing can contribute evidence by examining whether an attacker who gains access to one environment can cross the intended boundaries into another.
The relevant question is therefore not only whether separate environments exist, but whether the technical and access controls separating them resist unintended access. Depending on the architecture, testing may examine:
- network reachability between environments;
- shared credentials or authentication mechanisms;
- IAM relationships and excessive permissions;
- shared secrets and other credentials;
- CI/CD permissions and deployment paths;
- cloud roles and trust relationships;
- exposure of production data to non-production environments; and
- administrative interfaces accessible across environment boundaries.
A targeted attack-path test can complement architecture reviews, configuration assessments and access-control reviews by testing whether selected separation mechanisms withstand an attempted compromise. The test should be scoped carefully because production systems, development systems and deployment infrastructure may have different authorization and operational constraints.
Practical conclusion: A.8.31 does not require a penetration test. Where separation between environments is a significant security boundary, targeted penetration or assumed-breach testing can provide additional evidence about the effectiveness of that separation.
A.8.32: Change management
A.8.32 requires changes to information-processing facilities and systems to be managed through an appropriate change-management process. Security testing can form part of that process where a change could materially affect the organization's security posture.
A typical process for a significant change may therefore be:
Major change → Risk assessment → Security impact assessment → Appropriate security testing → Acceptance → Production
The appropriate testing method should depend on the nature and risk of the change. A penetration test may be appropriate where the change introduces a new attack surface, modifies a security boundary or materially changes authentication, authorization or other security-sensitive functionality. In other cases, a vulnerability assessment, configuration review, code analysis or other targeted security test may be more appropriate.
Examples of changes that may justify targeted penetration testing include:
- introducing a new authentication mechanism;
- migrating systems or applications to a new cloud platform;
- exposing a previously internal application to the Internet;
- changing the authorization architecture;
- introducing a new API gateway or other security boundary;
- performing a major database migration; and
- changing network segmentation or trust relationships.
Practical conclusion: A.8.32 does not require a penetration test for every change. It provides a change-management context in which security testing, including targeted penetration testing, can be required by the organization's risk assessment and security impact assessment.
A.8.34: Protection of information systems during audit testing
A.8.34 addresses the protection of information systems during audit testing and other assurance activities involving operational systems. It is therefore relevant when a penetration test forms part of such an assurance activity, particularly where testing could affect availability, integrity or confidentiality.
For a production penetration test, the organization should thus establish appropriate controls around the activity before testing begins. Depending on the scope and risk of the test, this may include documented:
- authorization and ownership of the test;
- scope and test objectives;
- systems, IP addresses, domains or applications included in the test;
- systems and activities explicitly excluded from the test;
- testing windows and operational constraints;
- prohibited or restricted techniques;
- technical and management escalation contacts;
- criteria and procedures for suspending the test;
- rules of engagement;
- handling and protection of sensitive test data; and
- procedures for dealing with an incident or unexpected impact during testing.
The exact controls should be proportionate to the test and the systems involved. A.8.34 does not establish penetration testing as a requirement. Instead, where audit or assurance testing is performed against operational systems, the activity itself needs to be planned and controlled so that the testing does not create unacceptable risk.
Practical conclusion: A.8.34 is primarily relevant to the safe execution of a penetration test rather than to the decision whether a penetration test is required. It can therefore provide an important framework for governing intrusive testing of production systems.
A.8.26: Application security requirements
A.8.26 concerns the identification and specification of information security requirements for applications. Penetration testing can provide evidence about whether selected security requirements are enforced by the implemented application.
For example, if an application requirement states that users must not be able to access another tenant's records, a test case could explicitly attempt:
Tenant A session → Attempt access to Tenant B objects → Expected result: access denied.
HTTP Request: GET /api/accounts/tenant-b/invoices/4821
Authorization: Bearer <tenant-a-test-token>
Expected response: Security requirement: A user authenticated in Tenant A is unable to access objects belonging to Tenant B.
Similar testing can be designed around requirements relating to:
- authentication;
- authorization and access control;
- session management;
- protection of sensitive data;
- administrative functions;
- input handling and validation; and
- security-relevant logging and monitoring.
This creates a useful traceability chain:
Security requirement → Implementation → Test case → Test result → Evidence
A penetration test will not necessarily cover every application-security requirement. Requirements should therefore be mapped to appropriate verification methods, with penetration testing used where it is an effective way of testing the requirement in question.
Practical conclusion: A.8.26 does not require penetration testing. Where application-security requirements can be meaningfully tested through realistic attack scenarios, penetration testing can provide concrete evidence about their implementation.
A.8.28: Secure coding
A.8.28 addresses secure coding principles and practices. Penetration testing can identify vulnerabilities that result from weaknesses in application code and can demonstrate their potential security impact.
Depending on the application and test scope, examples may include:
- SQL injection;
- command injection;
- cross-site scripting (XSS);
- insecure deserialization;
- path traversal;
- server-side request forgery (SSRF);
- authorization flaws;
- insecure direct object references or equivalent object-access-control weaknesses; and
- business-logic vulnerabilities.
These findings can provide evidence about the security consequences of coding weaknesses, but a penetration test is not a substitute for the secure-coding practices themselves. It may identify a vulnerability after implementation without demonstrating whether secure coding standards, code reviews or developer security practices are consistently being followed.
A comprehensive approach can therefore combine secure-coding standards and developer guidance with activities such as code review, static analysis, dependency analysis, dynamic application testing and penetration testing. The appropriate combination depends on the application, development process and associated risks.
Practical conclusion: A.8.28 does not require penetration testing. Penetration testing can provide useful evidence about security weaknesses resulting from application code, while other development-security activities provide evidence that secure coding practices are being applied systematically.
A.8.30: Outsourced development
A.8.30 addresses the security of outsourced software development. Where software is developed by a third party, penetration testing can provide additional technical evidence about the security of the delivered system and whether selected security requirements have been implemented effectively.
This can be particularly useful where contractual or supplier documentation states that secure-development practices are being followed. A penetration test can provide evidence about the resulting application, rather than relying solely on the supplier's description of its development processes.
The test should, however, be considered alongside other supplier-assurance measures such as contractual security requirements, development standards, security documentation, assurance reports and appropriate review activities. A penetration test cannot establish by itself that the supplier's overall development process is secure.
Practical conclusion: A.8.30 does not require penetration testing. Where outsourced software represents a significant security risk, penetration testing can provide additional technical evidence about the security of the delivered system and the effectiveness of selected security requirements.
A.5.23: Information security for use of cloud services
A.5.23 addresses information security in the acquisition, use, management and termination of cloud services. Penetration testing can contribute to the assessment of cloud-hosted systems and services where the organization is responsible for the relevant components and is authorized to test them.
Depending on the cloud architecture and the organization's responsibilities, testing may include:
- cloud-hosted applications and APIs;
- identity and access management;
- storage access controls;
- tenant or workload isolation;
- exposed management interfaces;
- security-group and network-access configuration;
- serverless functions; and
- containerized environments.
Cloud testing requires particular attention to authorization and the shared-responsibility model. An organization cannot assume that it is permitted to perform arbitrary intrusive testing against infrastructure operated by a cloud provider. The provider's testing policies, contractual terms and technical restrictions must be considered before testing begins.
The scope should therefore distinguish between components controlled by the organization, components operated by the provider and any other systems for which explicit authorization is required.
Practical conclusion: A.5.23 does not require cloud penetration testing. Where testing is appropriate, it should be performed only within the organization's responsibility and the permissions granted by the relevant cloud provider and other parties.
A.8.16: Monitoring activities
A.8.16 concerns monitoring activities intended to detect anomalous behavior and other relevant security events. Penetration testing can contribute to this control when the test is specifically designed to assess whether simulated attack activity is detected and handled appropriately.
For example, an assumed-breach or adversary-simulation exercise may follow an attack path such as:
Simulated attack → Telemetry generated → Detection rule triggered → Alert generated → Security team investigates → Incident process initiated
This can provide evidence about different parts of the detection chain, including whether relevant activity generates telemetry, whether detection mechanisms identify it, and whether alerts are appropriately investigated and escalated.
A conventional vulnerability-focused penetration test may identify exploitable weaknesses without deliberately testing the organization's monitoring and response capabilities. The test objectives therefore need to be designed around the monitoring questions the organization wants to answer.
Practical conclusion: A.8.16 does not require penetration testing. Appropriately designed attack simulation can provide evidence about the effectiveness of selected monitoring and detection capabilities, particularly when the exercise is coordinated with the relevant security or incident-response teams.
A.5.7: Threat intelligence
A.5.7 concerns the collection and analysis of information about information security threats to produce relevant and actionable threat intelligence. Threat intelligence can also be used to make penetration-testing objectives more closely aligned with the organization's threat environment.
For example, intelligence relevant to the organization's sector or technology environment may indicate increased exposure to:
- credential attacks;
- exploitation of exposed remote-access services;
- specific application vulnerabilities;
- supply-chain compromise;
- cloud identity attacks; or
- other attack techniques relevant to the organization's systems.
Such information can be used to develop realistic test scenarios and prioritize particular attack paths:
Threat intelligence → Relevant threat scenarios → Penetration-test objectives → Test evidence → Risk treatment
The penetration test itself does not satisfy A.5.7. Rather, threat intelligence can provide an input into deciding what should be tested and why. This helps ensure that security testing is connected to the organization's current threat environment rather than being based solely on a generic testing checklist.
Practical conclusion: A.5.7 does not require penetration testing. Threat intelligence can, however, be used to inform the scope, scenarios and priorities of penetration testing and other security-assurance activities.