[ISM] Security testing:

Applications are comprehensively tested for vulnerabilities, using static application security testing and dynamic application security testing, prior to their initial release and any subsequent releases.

[SSDF] Conduct automated vulnerability analysis regularly (SSS-02-10-02)

Implement regular code analysis and testing to detect vulnerabilities early in the development process. Configure the toolchain to perform automated static application security testing (SAST) and review software code to identify potential security weaknesses before they reach production. Early detection of vulnerabilities through automated analysis minimizes resources needed for remediation and enhances overall security.

[SAMM] Develop application-specific security test cases (SSS-02-10-02-01)

Optimize the effectiveness of automated security testing tools by tailoring them to specific technology stacks and applications. Focus on minimizing false positives (incorrectly identified vulnerabilities) and false negatives (missed actual vulnerabilities) to improve accuracy and reduce unnecessary developer workload. Start by configuring tools to ignore technologies and frameworks not used within the project and target specific software versions. This approach increases execution speed and reduces noise from irrelevant results. Collaborate with security tool champions or shared security teams to pilot these tools, identify common false positives, and fine-tune tool configurations to address project-specific needs. Leverage tool customization options to reflect application-specific coding styles and organizational standards. For instance, define rules to identify potentially dangerous inputs and validate them through designated sanitization methods. Emphasize gradual adoption, ensuring reliable detection of a subset of critical security issues first, and then expanding coverage incrementally as the tool's performance is refined. Strategically, machine learning techniques can further enhance tool accuracy by filtering out likely false positives. Once tools are sufficiently tuned, expand their deployment to additional development teams while maintaining continuous feedback loops to measure their effectiveness and impact on security outcomes.

Operations

ID Operation Description Phase Agent
SSS-02-10-02-01-01 Customize security testing tools Configure a SAST tool like SonarQube to focus on Java frameworks like Spring Boot and ignore unused PHP rules. Development Security team, DevOps team, Security champions
SSS-02-10-02-01-02 Pilot tools with select development teams Work with one development team to refine OWASP ZAP configurations for identifying XSS issues in a React application. Development Security team, Development teams
SSS-02-10-02-01-03 Develop application-specific test rules Create a custom SAST rule to detect unsafe use of an internal authentication library. Development Security champions, Development leads
SSS-02-10-02-01-04 Incrementally extend test coverage Focus initial tests on SQL injection and XSS, then add rules for identifying insecure object deserialization. Deployment Security team, Development teams
SSS-02-10-02-01-05 Monitor tool performance and efficacy Use dashboards to monitor false positive rates and gather feedback from developers about tool usability and accuracy. Deployment Security team, Development managers

References

Industry framework Academic work Real-world case
Information Security Manual (ISM-0402)
NIST Secure Software Development Framework (RV.1.2)
OWASP SAMM: Software Assurance Maturity Model (V-ST-2-A)