[ISM] SecDevOps practices:

SecDevOps practices are used for application development.

[SSDF] Automation: Implement secure toolchain management (SSS-02-02-07)

Adopt best security practices for the deployment, operation, and maintenance of tools and toolchains. Select and integrate tools based on secure configurations, ensure compatibility with other tools and workflows, apply code-based configurations, and implement reproducible builds. Continuously monitor tools for integrity issues, replace outdated tools, and follow security protocols for compilers, interpreters, and build tools. These practices uphold the security and reliability of the DevOps toolchain.

[SAMM] Automate the build process for efficiency and security (SSS-02-02-07-01)

Automating the build process ensures consistent and efficient execution of builds, reducing human error and improving productivity. This approach requires securing the build toolset and its interfaces to prevent tampering and unauthorized access. Proper management of credentials and secrets, such as repository keys and code signing certificates, is critical. Additionally, incorporating automated security checks like SAST tools enhances security by identifying vulnerabilities early in the development lifecycle. These measures ensure that the build process remains efficient, secure, and trustworthy.

Operations

ID Operation Description Phase Agent
SSS-02-02-07-01-01 Automate the build execution process Implement tools to automate the build process, ensuring it runs consistently without manual intervention. Configure the build system to execute reliably at any time, minimizing human error and ensuring reproducibility. Development DevOps Teams
SSS-02-02-07-01-02 Harden and secure build tooling Apply security controls to build tools and their interfaces (e.g., web portals) to prevent tampering and unauthorized access. This includes network lockdowns and regular audits of exposed services to mitigate risks from potential malicious actors. Deployment Security Teams
SSS-02-02-07-01-03 Manage credentials and sign artifacts Securely manage credentials and secrets needed for builds, such as code signing certificates and repository access tokens. Sign generated artifacts using organizational certificates to verify their origin and ensure integrity. Deployment DevOps Teams
SSS-02-02-07-01-04 Integrate automated security checks Incorporate tools like Static Application Security Testing (SAST) into the automated build pipeline. Use these checks to identify and address vulnerabilities early in the development process, leveraging automation to enhance security benefits. Post-deployment Security Teams
SSS-02-02-07-01-05 Monitor and maintain build processes Continuously monitor the build system for anomalies and regularly update the automation tools to address new threats. Periodically review and refine the process to ensure it remains secure and aligned with evolving best practices. Post-deployment DevOps Teams

References

Industry framework Academic work Real-world case
Information Security Manual (ISM-1780)
NIST Secure Software Development Framework (PO.3.2)
OWASP SAMM: Software Assurance Maturity Model (I-SB-2-A)

[SAMM] Automate deployment and integrate security checks (SSS-02-02-07-02)

Automating the deployment process eliminates manual configuration steps, reducing the risk of human error and ensuring consistency across all stages. Security checks such as DAST and vulnerability scanning should be integrated into the deployment pipeline to identify and mitigate potential risks early. Deployment artifacts should be verified for integrity, and test results logged centrally to support monitoring and remediation. Critical issues should trigger automated deployment stops or initiate manual approval workflows with proper documentation. A comprehensive deployment tracking system should record every deployment's details, ensuring accountability and supporting audits.

Operations

ID Operation Description Phase Agent
SSS-02-02-07-02-01 Automate deployment processes Set up tools to fully automate the deployment process, ensuring no manual configuration steps are required. This ensures consistency across all stages and minimizes the risk of human error. Development DevOps Teams
SSS-02-02-07-02-02 Integrate automated security checks Incorporate tools like DAST and vulnerability scanners into the deployment pipeline. Verify the integrity of deployed artifacts and log the results of security checks in a centralized system for monitoring and further action. Deployment Security Teams
SSS-02-02-07-02-03 Implement automated issue handling Configure the system to automatically notify relevant personnel of detected issues. For critical defects, automate deployment stops or introduce a manual approval process to review and document exceptions. Deployment DevOps Teams
SSS-02-02-07-02-04 Track and audit deployments Establish a tracking system to record all deployment details, including personnel involved, software versions, and deployment-specific variables. Use this information for accountability and audit purposes. Post-deployment Compliance Teams
SSS-02-02-07-02-05 Review and refine deployment practices Regularly review deployment logs and security test results to identify areas for improvement. Refine automation and security practices based on evolving threats and organizational requirements. Post-deployment DevOps Teams

References

Industry framework Academic work Real-world case
Information Security Manual (ISM-1780)
NIST Secure Software Development Framework (PO.3.2)
OWASP SAMM: Software Assurance Maturity Model (I-SD-2-A)

[SAMM] Integrate security testing tools in the delivery pipeline (SSS-02-02-07-03)

Integrating security testing tools into the delivery pipeline ensures continuous and automated testing for vulnerabilities throughout the development lifecycle. This approach starts early in the requirements or design phases and continues through implementation, helping to identify and address security issues before release. Results from these tests should be centralized in dashboards, made visible to stakeholders, and used to guide defect management and decision-making. Developers should use security test cases as upfront goals, driving secure coding practices while improving organizational awareness and collaboration around security concerns.

Operations

ID Operation Description Phase Agent
SSS-02-02-07-03-01 Automate security testing in CI/CD pipeline Configure security testing tools to automatically run during the build and deployment processes. Use tools like SAST, DAST, and IAST to identify vulnerabilities early in the cycle and lower the risk of release delays due to unresolved security issues. Development DevOps Teams
SSS-02-02-07-03-02 Introduce test-driven security practices Start security testing during the requirements or design phases. Create and run security test cases early, treating passing these tests as an essential milestone for implementation completion. This approach sets clear, upfront security goals for developers. Development Development Teams
SSS-02-02-07-03-03 Centralize and present test results Use dashboards to make automated and manual security test results visible to stakeholders. Present findings to management and business stakeholders before each release, establishing timelines for addressing accepted risks and unresolved issues. Deployment Security Teams
SSS-02-02-07-03-04 Use security test correlation tools Implement tools to match and merge results from various security scanners (e.g., static, dynamic, and interactive). Centralize the data in one dashboard to support defect management and streamline remediation efforts. Deployment Security Teams
SSS-02-02-07-03-05 Promote security awareness and collaboration Share security test results and knowledge across development teams. Use findings to improve security awareness and encourage collaborative efforts to enhance the quality of security tests and practices within the organization. Post-deployment Development Teams

References

Industry framework Academic work Real-world case
Information Security Manual (ISM-1780)
NIST Secure Software Development Framework (PO.3.2)
OWASP SAMM: Software Assurance Maturity Model (V-ST-3-A)

[SAMM] Promote preferred tools and technologies (SSS-02-02-07-04)

Establish and maintain a repository of preferred technologies, frameworks, and tools, focusing on those widely used across the organization’s software projects. Ensure this repository includes high-level technologies vetted for security, reliability, and compatibility with organizational goals. When curating this list, assess each tool's incident history, ability to respond to vulnerabilities, functionality relevance, ease of use, and internal familiarity. Engage senior developers, architects, managers, and security auditors to collaboratively identify and validate these recommendations. Share the list across development teams as a trusted source of default tools and perform periodic reviews to address emerging security and operational needs, ensuring continuous alignment with best practices.

Operations

ID Operation Description Phase Agent
SSS-02-02-07-04-01 Identify commonly used tools and technologies Compile a list of common tools like Spring Boot for backend development and React for frontend. Preparation Architects, Development leads, Security auditors
SSS-02-02-07-04-02 Evaluate tools against selection criteria Evaluate Django for security patches and community support compared to similar frameworks. Preparation Senior developers, Architects, Security team
SSS-02-02-07-04-03 Create a recommended tools and technologies list Publish a preferred list including tools like GitHub Actions for CI/CD and PostgreSQL for databases. Development Architects, Development managers, Security team

References

Industry framework Academic work Real-world case
Information Security Manual (ISM-1780)
NIST Secure Software Development Framework (PO.3.2)
OWASP SAMM: Software Assurance Maturity Model (D-SA-3-B)