ISO/IEC 27001

⌘K
  1. Home
  2. Docs
  3. ISO/IEC 27001
  4. Other Doc
  5. Security Testing Checklist

Security Testing Checklist

1. Purpose

The Security Testing Checklist is used to verify that security controls, applications, infrastructure, cloud environments, APIs, and other project components have been appropriately tested before production deployment and during significant changes.

Security testing should provide evidence that:

  • Security requirements have been implemented.
  • Security controls operate as intended.
  • Vulnerabilities have been identified.
  • Security weaknesses are assessed and remediated.
  • Significant findings are retested.
  • Residual risks are understood and accepted where required.

The depth and type of testing should be based on the project’s risk, technology, data, exposure, and business requirements.


2. Testing Information

FieldDetails
Project Name[Project Name]
Project ID[Project ID]
Application/System[Name]
Version/Release[Version]
Testing IDST-XXXX
Testing Scope[Application / API / Cloud / Infrastructure]
Environment[Test / Staging / Production]
Tester[Name/Team]
Security Reviewer[Name]
Testing Date[Date]
Retest Date[Date]
Status[Open / In Progress / Complete]

3. Testing Scope

Clearly define what is being tested.

In Scope

  • Application
  • APIs
  • Authentication
  • Authorization
  • Cloud infrastructure
  • Network controls
  • Databases
  • Storage
  • CI/CD pipeline
  • Dependencies
  • Containers
  • Infrastructure-as-Code
  • Security configurations
  • Logging and monitoring

Out of Scope

ComponentReason
[Component][Reason]

Any important exclusion should be documented and approved where necessary.


4. Security Testing Strategy

Security testing should follow the project lifecycle:

Security Requirements → Design Review → Automated Testing → Manual Testing → Vulnerability Assessment → Penetration Testing → Remediation → Retesting → Security Approval

Not every project requires every testing technique.

The organization should determine applicability based on risk and project requirements.


5. Security Requirements Verification

Verify that identified security requirements can be tested.

Requirement IDSecurity RequirementTest MethodExpected ResultResultEvidence
SR-001Privileged users require MFAConfiguration/TestMFA enforcedPassScreenshot/Config
SR-002Customer data encryptedConfiguration reviewEncryption enabledPassAWS evidence
SR-003Production access restrictedAccess testUnauthorized access deniedPassTest record

The objective is to establish:

Requirement → Test → Result → Evidence


6. Test Environment

Before testing:

  • ☐ Test scope approved
  • ☐ Test environment identified
  • ☐ Test data prepared
  • ☐ Sensitive production data protected
  • ☐ Test accounts created
  • ☐ Test credentials securely managed
  • ☐ Test tools approved
  • ☐ Testing permissions obtained
  • ☐ Testing window agreed
  • ☐ Production impact considered
  • ☐ Backup/recovery considered
  • ☐ Testing authorization documented

7. Security Testing Types

Determine which testing activities apply.

Testing TypeApplicableCompletedResult
Security Requirements Testing☐☐
Security Configuration Review☐☐
SAST☐☐
DAST☐☐
SCA/Dependency Scanning☐☐
Secret Scanning☐☐
Infrastructure Scanning☐☐
Container Scanning☐☐
API Security Testing☐☐
Cloud Security Review☐☐
Vulnerability Assessment☐☐
Penetration Testing☐☐
Configuration Testing☐☐
Access Control Testing☐☐
Backup/Recovery Testing☐☐
Logging/Monitoring Testing☐☐

8. Authentication Testing

Verify that authentication mechanisms work as intended.

Checklist

  • ☐ Valid credentials accepted
  • ☐ Invalid credentials rejected
  • ☐ Brute-force protection tested
  • ☐ Rate limiting tested where applicable
  • ☐ MFA tested
  • ☐ MFA bypass scenarios tested
  • ☐ Password reset tested
  • ☐ Session timeout tested
  • ☐ Session invalidation tested
  • ☐ Logout tested
  • ☐ Authentication tokens protected
  • ☐ Expired tokens rejected
  • ☐ Disabled accounts cannot authenticate
  • ☐ Privileged authentication tested

9. Authorization Testing

Verify that users cannot access functions or data beyond their permissions.

Checklist

  • ☐ Role-based access tested
  • ☐ Least privilege tested
  • ☐ Unauthorized functions rejected
  • ☐ Unauthorized API endpoints rejected
  • ☐ Object-level authorization tested
  • ☐ Administrative functions restricted
  • ☐ Privileged functions tested
  • ☐ Horizontal access control tested
  • ☐ Vertical access control tested
  • ☐ Tenant isolation tested where applicable
  • ☐ Direct URL/API access tested
  • ☐ Access-control failures logged where appropriate

SaaS Example

A user from Customer A must not be able to retrieve Customer B’s data by changing an object ID in an API request.


10. Input Validation Testing

Test how the application handles unexpected or malicious input.

  • ☐ Invalid input rejected
  • ☐ Unexpected data types tested
  • ☐ Boundary values tested
  • ☐ Special characters tested
  • ☐ Oversized input tested
  • ☐ Malformed requests tested
  • ☐ File upload validation tested
  • ☐ URL/input validation tested
  • ☐ API parameter validation tested

11. Application Security Testing

Test applicable application security controls.

  • ☐ Authentication
  • ☐ Authorization
  • ☐ Session management
  • ☐ Input validation
  • ☐ Output encoding
  • ☐ Error handling
  • ☐ File handling
  • ☐ Data access
  • ☐ Security headers
  • ☐ CSRF protections where applicable
  • ☐ Security configuration
  • ☐ Business logic
  • ☐ Sensitive functionality

Testing should reflect the application’s actual architecture and technology.


12. API Security Testing

Checklist

  • ☐ API authentication tested
  • ☐ API authorization tested
  • ☐ Invalid tokens rejected
  • ☐ Expired tokens rejected
  • ☐ Object-level authorization tested
  • ☐ Input validation tested
  • ☐ Rate limiting tested
  • ☐ Request size limits tested
  • ☐ Sensitive information exposure tested
  • ☐ Error handling tested
  • ☐ API version security reviewed
  • ☐ API keys protected
  • ☐ Third-party API security reviewed
  • ☐ API logging tested

13. Web Application Security Testing

For web applications:

  • ☐ Authentication testing
  • ☐ Authorization testing
  • ☐ Session testing
  • ☐ Input validation
  • ☐ Injection testing
  • ☐ Cross-site scripting testing
  • ☐ Access-control testing
  • ☐ File upload testing
  • ☐ Security headers reviewed
  • ☐ TLS configuration reviewed
  • ☐ Error handling reviewed
  • ☐ Sensitive information exposure tested
  • ☐ Business logic tested

Where appropriate, testing can be aligned with recognized application-security testing methodologies such as OWASP guidance.


14. SAST – Static Application Security Testing

Where applicable:

  • ☐ SAST tool configured
  • ☐ Source code scanned
  • ☐ Scan completed
  • ☐ Findings reviewed
  • ☐ False positives assessed
  • ☐ Critical findings addressed
  • ☐ High-risk findings addressed
  • ☐ Exceptions documented
  • ☐ Retest completed
  • ☐ Report retained

Evidence

  • SAST report
  • Scan date
  • Repository/version
  • Findings
  • Remediation records
  • Retest results

15. DAST – Dynamic Application Security Testing

Where applicable:

  • ☐ Application scanned while running
  • ☐ Authentication tested
  • ☐ Authorization tested
  • ☐ APIs tested
  • ☐ Input handling tested
  • ☐ Security headers reviewed
  • ☐ Findings reviewed
  • ☐ Critical/high findings addressed
  • ☐ Retest completed
  • ☐ Report retained

16. Dependency / SCA Testing

Software Composition Analysis should identify vulnerable third-party components.

  • ☐ Dependency inventory available
  • ☐ Dependencies scanned
  • ☐ Direct dependencies reviewed
  • ☐ Transitive dependencies reviewed
  • ☐ Known vulnerabilities identified
  • ☐ Critical/high vulnerabilities assessed
  • ☐ Unsupported components identified
  • ☐ Remediation completed where required
  • ☐ Exceptions documented
  • ☐ Scan evidence retained

17. Secret Scanning

Test source repositories and build environments for exposed secrets.

  • ☐ Source code scanned
  • ☐ Git history considered where appropriate
  • ☐ API keys checked
  • ☐ Passwords checked
  • ☐ Private keys checked
  • ☐ Cloud credentials checked
  • ☐ CI/CD variables reviewed
  • ☐ Findings removed
  • ☐ Exposed credentials rotated
  • ☐ Retest completed

18. Infrastructure Security Testing

Review infrastructure and operating-system security.

  • ☐ Vulnerability scanning performed
  • ☐ Unnecessary services identified
  • ☐ Unnecessary ports reviewed
  • ☐ Firewall rules tested
  • ☐ Security groups tested
  • ☐ Administrative access restricted
  • ☐ OS hardening reviewed
  • ☐ Patch status reviewed
  • ☐ Secure protocols used
  • ☐ Insecure protocols disabled where appropriate
  • ☐ Configuration weaknesses addressed

19. Cloud Security Testing

For AWS/Azure/GCP environments:

AWS Example

  • ☐ IAM permissions reviewed
  • ☐ Privileged access tested
  • ☐ MFA verified
  • ☐ S3 access tested
  • ☐ Public exposure reviewed
  • ☐ Security Groups reviewed
  • ☐ VPC configuration reviewed
  • ☐ RDS access tested
  • ☐ Encryption verified
  • ☐ KMS configuration reviewed
  • ☐ Secrets Manager configuration reviewed
  • ☐ CloudTrail verified
  • ☐ CloudWatch monitoring verified
  • ☐ WAF configuration tested where applicable
  • ☐ Backup configuration verified
  • ☐ Cloud security findings reviewed

20. Container Security Testing

Where containers are used:

  • ☐ Container images scanned
  • ☐ Base image vulnerabilities assessed
  • ☐ Packages reviewed
  • ☐ Containers tested for unnecessary privileges
  • ☐ Secrets exposure tested
  • ☐ Registry access tested
  • ☐ Image integrity considered
  • ☐ Runtime configuration reviewed
  • ☐ Kubernetes configuration tested where applicable

21. Infrastructure-as-Code Testing

For Terraform, CloudFormation, Kubernetes manifests, etc.:

  • ☐ IaC scanned
  • ☐ Security misconfigurations identified
  • ☐ Public exposure checked
  • ☐ Excessive permissions checked
  • ☐ Encryption configuration checked
  • ☐ Secrets checked
  • ☐ Network rules checked
  • ☐ Code review completed
  • ☐ Findings remediated
  • ☐ Approved version deployed

22. Vulnerability Assessment

Checklist

  • ☐ Scope defined
  • ☐ Assets identified
  • ☐ Scan performed
  • ☐ Findings validated
  • ☐ False positives reviewed
  • ☐ Risk assessed
  • ☐ Critical vulnerabilities addressed
  • ☐ High-risk vulnerabilities addressed
  • ☐ Medium/low findings evaluated
  • ☐ Exceptions documented
  • ☐ Retesting completed where required

Vulnerability Record

IDAssetVulnerabilitySeverityRiskOwnerActionStatus
V-001Web ServerOutdated componentHighHighITPatchClosed
V-002APIAccess control issueCriticalCriticalEngineeringFixClosed

23. Penetration Testing

Where penetration testing is required:

Planning

  • ☐ Scope defined
  • ☐ Rules of engagement defined
  • ☐ Testing authorization obtained
  • ☐ Test environment identified
  • ☐ Critical systems identified
  • ☐ Testing window agreed

Testing

  • ☐ External testing
  • ☐ Internal testing where applicable
  • ☐ Web application testing
  • ☐ API testing
  • ☐ Authentication testing
  • ☐ Authorization testing
  • ☐ Business logic testing
  • ☐ Cloud exposure testing
  • ☐ Configuration testing

Closure

  • ☐ Report received
  • ☐ Findings reviewed
  • ☐ Critical/high findings addressed
  • ☐ Risk acceptance documented where required
  • ☐ Retesting completed
  • ☐ Final report retained

24. Security Configuration Testing

Verify security configurations.

Examples:

  • ☐ MFA
  • ☐ Password configuration
  • ☐ IAM
  • ☐ Firewall
  • ☐ Security Groups
  • ☐ Encryption
  • ☐ TLS
  • ☐ Storage permissions
  • ☐ Database permissions
  • ☐ Logging
  • ☐ Monitoring
  • ☐ Backup
  • ☐ Endpoint security
  • ☐ Cloud configuration

25. Access Control Testing

Test the complete access lifecycle.

User Access

  • ☐ New user provisioning tested
  • ☐ Role assignment tested
  • ☐ Access modification tested
  • ☐ Access review tested
  • ☐ Termination/deprovisioning tested
  • ☐ Privileged access tested
  • ☐ Temporary access tested
  • ☐ Third-party access tested

Evidence

  • Access request
  • Approval
  • Provisioning record
  • Access review
  • Removal record

26. Logging and Monitoring Testing

Confirm that important security events are recorded and detectable.

  • ☐ Login events generated
  • ☐ Failed login events generated
  • ☐ Privileged actions logged
  • ☐ Administrative changes logged
  • ☐ Access-control failures logged
  • ☐ Security events monitored
  • ☐ Alerts generated where required
  • ☐ Logs protected
  • ☐ Log retention verified
  • ☐ Alert escalation tested
  • ☐ Monitoring ownership confirmed

27. Backup and Recovery Testing

Where applicable:

  • ☐ Backup configuration verified
  • ☐ Backup completion verified
  • ☐ Backup access restricted
  • ☐ Backup encryption verified
  • ☐ Restoration tested
  • ☐ Recovery procedure tested
  • ☐ RTO considered
  • ☐ RPO considered
  • ☐ Recovery evidence retained

A backup should not be considered effective merely because a backup job shows “successful.” Restoration should be tested where appropriate.


28. Security Incident Testing

Test whether security events can be detected and handled.

Examples:

  • Failed authentication attack
  • Privileged access anomaly
  • Malware detection
  • Suspicious API activity
  • Data access anomaly
  • Cloud security alert

Verify:

  • ☐ Event detected
  • ☐ Alert generated
  • ☐ Responsible person notified
  • ☐ Incident record created
  • ☐ Escalation performed
  • ☐ Evidence preserved
  • ☐ Response procedure followed
  • ☐ Lessons learned captured where appropriate

29. Security Defect Management

All significant security findings should be tracked.

Finding IDTest SourceFindingSeverityRiskOwnerTarget DateStatusRetest
ST-001DASTAuthorization weaknessCriticalCriticalEngineering[Date]FixedPassed
ST-002SCAVulnerable dependencyHighHighEngineering[Date]FixedPassed
ST-003Cloud ReviewPublic storageHighHighCloud[Date]OpenPending

Lifecycle

Identify → Validate → Assess → Assign → Remediate → Retest → Close


30. Test Results

Test IDTest CaseExpected ResultActual ResultPass/FailEvidence
T-001Invalid loginAccess deniedAccess deniedPassScreenshot
T-002Unauthorized API accessRequest deniedRequest deniedPassAPI log
T-003Privileged MFAMFA requiredMFA requiredPassConfiguration
T-004Customer tenant isolationOther tenant inaccessibleInaccessiblePassTest record

31. Failed Tests

A failed security test should not simply be marked “Fail” and forgotten.

Test IDFailureSecurity ImpactRisk IDCorrective ActionOwnerDue DateStatus
T-005Unauthorized API access succeededHighPR-003Fix authorizationEngineering[Date]Open

32. Retesting

After remediation:

  • ☐ Original finding reviewed
  • ☐ Corrective action implemented
  • ☐ Same test repeated
  • ☐ Result confirmed
  • ☐ No regression identified
  • ☐ Evidence retained
  • ☐ Finding closed

Retest Record

FindingOriginal ResultRemediationRetest ResultDateTester
ST-001FailAuthorization fixedPass[Date][Name]

33. Regression Security Testing

Security fixes should not introduce new problems.

Where appropriate:

  • ☐ Authentication regression tested
  • ☐ Authorization regression tested
  • ☐ API regression tested
  • ☐ Data protection regression tested
  • ☐ Logging regression tested
  • ☐ Security configuration regression tested
  • ☐ Previously fixed vulnerabilities retested

34. Pre-Production Security Testing

Before production:

  • ☐ Required security tests completed
  • ☐ Critical findings closed
  • ☐ High-risk findings addressed or accepted
  • ☐ Vulnerability assessment completed
  • ☐ Required penetration testing completed
  • ☐ Security requirements verified
  • ☐ Security architecture findings closed
  • ☐ Residual risks reviewed
  • ☐ Exceptions approved
  • ☐ Security sign-off obtained

35. Production Validation

After deployment:

  • ☐ Security configuration verified
  • ☐ Authentication verified
  • ☐ Authorization verified
  • ☐ Logging verified
  • ☐ Monitoring verified
  • ☐ External exposure verified
  • ☐ Encryption verified
  • ☐ Backup verified
  • ☐ Security alerts verified
  • ☐ No unexpected security changes identified

36. Test Evidence

Retain appropriate evidence such as:

  • Test plans
  • Test cases
  • Test results
  • Screenshots
  • Tool reports
  • SAST reports
  • DAST reports
  • Dependency scan reports
  • Vulnerability reports
  • VAPT reports
  • Penetration testing reports
  • Cloud configuration evidence
  • Access-control testing
  • Security defect records
  • Retest evidence
  • Risk acceptance
  • Security approval

Evidence should be sufficient to demonstrate what was tested, when it was tested, by whom, what the result was, and what happened to identified findings.


37. Security Testing Summary

Testing AreaPlannedCompletedFindingsOpen Critical/HighStatus
SAST☐☐[#][#]
DAST☐☐[#][#]
SCA☐☐[#][#]
API Testing☐☐[#][#]
Vulnerability Assessment☐☐[#][#]
Penetration Testing☐☐[#][#]
Cloud Security☐☐[#][#]
Configuration Testing☐☐[#][#]

38. Security Testing Sign-Off

Tester

Name: ______________________

Role: ______________________

Approval: ______________________

Date: ______________________

Security Reviewer

Name: ______________________

Role: ______________________

Approval: ______________________

Date: ______________________

Project/Technical Owner

Name: ______________________

Role: ______________________

Approval: ______________________

Date: ______________________

Risk Owner / Management

Name: ______________________

Role: ______________________

Approval: ______________________

Date: ______________________


39. Startup-Friendly Security Testing Approach

A startup does not need every possible security test for every release.

A practical approach is:

Small/Low-Risk Change

Code Review → Dependency Scan → Secret Scan → Automated Tests → Security Verification

New SaaS Application

Security Requirements → Architecture Review → Threat Assessment → SAST → SCA → DAST → API Testing → Vulnerability Assessment → VAPT/Penetration Testing Where Appropriate → Remediation → Retest → Approval

High-Risk Application

Add deeper testing based on:

  • Sensitive information
  • Internet exposure
  • Critical business functions
  • Customer requirements
  • Regulatory requirements
  • Complex APIs
  • Third-party integrations
  • Cloud infrastructure
  • Threat environment

The objective is risk-based testing, not performing tests simply to generate reports.


40. Relationship With Other ISMS Documents

The Security Testing Checklist should connect with:

  • Project Security Requirements Template
  • Project Risk Assessment
  • Security Architecture Review
  • Secure Development Checklist
  • Threat Model
  • Vulnerability Management Procedure
  • Threat Intelligence Procedure
  • Incident Response Plan
  • Change Management Procedure
  • Access Control Policy
  • Backup and Recovery Procedure
  • Risk Register
  • Statement of Applicability

The overall flow is:

Requirement → Risk → Architecture → Development → Test → Finding → Remediation → Retest → Evidence → Approval → Monitoring


41. Final Principle

Security testing should answer five questions:

What security requirement are we testing?

How did we test it?

What did we find?

What was done about the finding?

How did we verify the fix?

The practical lifecycle is:

Plan → Test → Identify → Assess → Remediate → Retest → Verify → Approve → Monitor → Improve

How can we help?

Leave a Reply

Your email address will not be published. Required fields are marked *