[ISM] SecDevOps practices:

SecDevOps practices are used for application development.

[SSDF] Compliance as code: Specify tools/tool types to mitigate risks (SSS-02-02-01)

Define the necessary tools and tool types in each toolchain to mitigate risks effectively and integrate them seamlessly. This includes categorizing essential tools, identifying security-specific tools, standardizing data formats for tool interaction, evaluating digital signing capabilities for auditability, and leveraging automated technologies to manage and orchestrate the toolchain. These actions ensure that the toolchain is secure, consistent, and auditable within DevOps practices.

[SAMM] Identify tools and technologies (SSS-02-02-01-01 )

Evaluate and identify critical technologies, frameworks, tools, and integrations utilized across applications to ensure security and scalability. Collaborate with architects to analyze the development and operational environments, as well as related artifacts, assessing them for security quality. Recognize that while new technologies may improve efficiency or scalability, they can also introduce risks. Implement processes to manage these risks effectively, including documenting findings and prioritizing mitigation actions. Utilize a structured approach to categorize and integrate tools into the toolchain, ensuring they align with organizational security policies and support secure-by-design principles.

Operations

ID Operation Description Phase Agent
SSS-02-02-01-01-01 Inventory key tools and technologies Identify tools such as React for frontend development, Docker for containerization, and Jenkins for CI/CD. Preparation Architects, Development teams, Security team
SSS-02-02-01-01-02 Assess development and operating environments Review how Kubernetes is configured for application scaling and its implications on security. Development Architects, DevOps team
SSS-02-02-01-01-03 Evaluate security posture of technologies Use tools like Dependency-Check to assess libraries, and CIS Benchmarks to evaluate cloud infrastructure configurations. Development Security team, Architects
SSS-02-02-01-01-04 Report and manage identified risks Report risks such as using an unsupported version of a framework in the defect tracking system and assign them to the team. Deployment Security team, Development leads

References

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

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

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-01-02-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-01-02-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-01-02-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.1)
OWASP SAMM: Software Assurance Maturity Model (D-SA-2-B)

[SSDF] Compliance as code: Secure development environments (SSS-02-02-02)

Ensure strict separation and protection across all environments involved in software development. For example, enforce multi-factor authentication, conditional access, and network segmentation and restrict connections and monitor continuously, with minimal direct human access and reduced use of production software in non-production settings; Maintain a zero-trust architecture, logging and auditing all operations, access attempts, and security controls; Proactively monitor for vulnerabilities is necessary to uphold robust environmental segregation and security.

[SAMM] Secure and isolate sensitive application secrets (SSS-02-02-02-01)

Protect production secrets to prevent developers from accessing secrets or credentials for production environments. Implement mechanisms to safeguard these secrets, such as limiting access to authorized personnel using a separation of duties principle and encrypting production secrets stored in configuration files before deployment. Prevent leakage across environments to ensure that production secrets are never used in development or testing environments, as these typically have lower security standards. Avoid storing unprotected secrets in code repositories. Adopt secure storage practices- use encryption-at-rest for all sensitive credentials and secrets associated with production systems. Leverage dedicated tools for secure key and secrets management. Enforce access controls and implement rigorous key management protocols to ensure that only personnel authorized for production deployments can access sensitive data. These practices enhance environmental security, reduce risk exposure, and uphold the integrity of application configurations and credentials.

Operations

ID Operation Description Phase Agent
SSS-02-02-02-01-01 Implement separation of duties for secret management Ensure that only authorized personnel have access to add production secrets to configuration files upon deployment. Follow the separation of duty principle, where developers do not have access to production secrets, limiting access to those responsible for production deployments. Deployment Security teams, DevOps teams
SSS-02-02-02-01-02 Encrypt secrets in configuration files Encrypt all production secrets in configuration files to prevent unauthorized access. Do not store plaintext secrets in configuration files, especially in development or testing environments, as these environments often have lower security standards. Development Security teams, IT Operations
SSS-02-02-02-01-03 Avoid storing secrets in code repositories Prohibit the storage of unprotected secrets in code repositories to prevent potential exposure. Use a dedicated tool for managing secrets securely, ensuring that sensitive credentials and secrets are encrypted and not accessible through version control systems. Development DevOps teams, Security teams
SSS-02-02-02-01-04 Secure key management for access control Implement encryption-at-rest for all sensitive credentials in production systems and handle key management securely. Restrict access to keys to only those personnel responsible for production deployments, maintaining strict access control to protect sensitive data. Post-deployment Security teams, Compliance officers

References

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

[SLSA] Build platform-isolation strength-Hosted (SSS-02-02-02-02)

All build processes must be executed on isolated, hosted build platforms operating on shared or dedicated infrastructure rather than individual workstations. This requirement enforces strict environmental segregation, aligning with the principles of zero-trust architecture and robust environmental protection. Examples of hosted build platforms include GitHub Actions, Google Cloud Build, and Travis CI.

Operations

ID Operation Description Phase Agent
SSS-02-02-02-02-01 Select a hosted build platform Use a hosted build platform, such as GitHub Actions or Google Cloud Build, on shared or dedicated cloud infrastructure instead of individual workstations. This ensures isolation and controlled access. Preparation Security Team, DevOps Team, Project Manager
SSS-02-02-02-02-02 Isolate hosted environments Restrict builds from running on local development workstations by enforcing policies that only allow builds to start on the hosted platform. Regularly monitor build requests to confirm they originate from approved environments. Development Security Team, DevOps Team
SSS-02-02-02-02-03 Use digital signatures Attach a digital signature to each build to certify its origin and prevent tampering, linking it to the hosted infrastructure. Use a secure key management system within the platform to handle digital signatures. Development Security Team, DevOps Team

References

Industry framework Academic work Real-world case
Information Security Manual (ISM-1780)
NIST Secure Software Development Framework (PO.5.1)
SLSA Supply-chain Levels for Software Artifacts (Level 2,3. Build platform-Isolation strength-Hosted)

[SLSA] Implement isolated build platforms for secure environment segregation (SSS-02-02-02-03)

Build platforms must enforce isolation to ensure that runs cannot influence each other, even within the same project. Isolation safeguards include preventing builds from accessing platform secrets, such as provenance signing keys, ensuring the integrity of the build provenance, ensuring builds that overlap in time cannot interact preventing issues such as memory manipulation across builds, provisioning ephemeral environments for each build preventing persistent influences between consecutive builds, mitigating risks of "cache poisoning" by ensuring outputs remain consistent regardless of cache usage, and restricting remote influence or interactions unless they are explicitly captured and audited as external parameters. These measures ensure robust separation and maintain the security and integrity of all development and operational environments.

Operations

ID Operation Description Phase Agent
SSS-02-02-02-03-01 Ensure Secret Isolation Configure the build platform to prevent builds from accessing platform secrets, such as provenance signing keys, to maintain the authenticity of the build provenance. This step ensures that secrets are fully isolated and inaccessible to build processes. Development Security Teams, Build Platform Engineers
SSS-02-02-02-03-02 Enforce ephemeral build environments Provision an ephemeral, isolated environment for each build to prevent one build from persisting data or influencing subsequent builds. This guarantees that each build runs independently and does not retain any state after completion. Deployment DevOps Teams, IT Operations
SSS-02-02-02-03-03 Prevent concurrent build interference Implement controls to ensure that builds running concurrently cannot affect one another. For example, prevent any shared memory access or other forms of cross-build influence to ensure each build is fully isolated, even if they overlap in time. Development Infrastructure Teams, Security Engineers
SSS-02-02-02-03-04 Safeguard against cache poisoning Configure the build platform to prevent one build from injecting false entries into a shared build cache used by another build, ensuring consistent build outputs regardless of cache usage. This step protects against "cache poisoning" attacks. Post-deployment DevOps Teams, Security Analysts
SSS-02-02-02-03-05 Restrict remote influence Ensure the build platform does not open services that allow remote influence on the build environment unless explicitly defined as external parameters in the provenance. This step prevents unauthorized remote access or control over the build process. Development Security Teams, Build Platform Engineers

References

Industry framework Academic work Real-world case
Information Security Manual (ISM-1780)
NIST Secure Software Development Framework (PO.5.1)
SLSA Supply-chain Levels for Software Artifacts (Level 3. Build platform-Isolation strength-Isolated)

[SSDF] Shift-left security: Determine appropriate code review methods (SSS-02-02-03)

Establish guidelines for when code review (manual inspection) and/or code analysis (automated or semi-automated) should be conducted, based on organizational policies and the development stage. Apply both methods as needed for both third-party and in-house code, enhancing code quality and security throughout development.

[CISA] Establish a security assurance program for conduct code review (SSS-02-02-03-01)

Establish a security assurance program that defines when and how to conduct code reviews (manual inspections) and code analysis (automated or semi-automated) in accordance with organizational policies and the software development life cycle (SDLC) stage: a) Perform a security risk evaluation early in the development process to determine the appropriate level and frequency of code review and code analysis activities. b) Define and maintain security requirements for both in-house and third-party software components. These requirements guide which combination of manual inspections and automated analysis tools to use at each phase of development and maintenance. c) Incorporate security requirements into the development and maintenance processes, ensuring that code reviews and code analyses are conducted at predefined checkpoints aligned with organizational standards and the current development stage. d) Require that each software review and audit includes an evaluation of security requirements, using manual and/or automated techniques as necessary to validate compliance and identify potential vulnerabilities. e) Integrate code analysis and review into configuration management and corrective action workflows. By doing so, changes to existing software are continuously evaluated to prevent security violations, and necessary adjustments are made promptly. f) Ensure both logical and physical security controls protect the environments where code is reviewed and analyzed, maintaining the integrity and confidentiality of software and data. g) Include security assurance activities, such as code inspection and automated scanning, throughout requirements, design, implementation, testing, release, and maintenance phases. These activities should be seamlessly integrated into CI/CD pipelines, applied consistently to all software components.

Operations

ID Operation Description Phase Agent
SSS-02-02-03-01-01 Identify commonly used tools and technologies Review existing software projects to catalog frequently used technologies, frameworks, and tools. Focus on high-level components that are widely adopted within the organization and align with its functional and security requirements. Preparation Senior Developers
SSS-02-02-03-01-02 Curate and share a recommended list Collaborate with senior developers, architects, managers, and security auditors to create a list of recommended tools and technologies. Consider factors such as incident history, vulnerability response, usability, and organizational expertise when selecting components. Development Architects
SSS-02-02-03-01-03 Communicate recommendations to teams Distribute the curated list across the organization and promote it as the default choice for project teams. Use internal documentation platforms or communication channels to ensure accessibility and adoption. Deployment Development Managers
SSS-02-02-03-01-04 Perform periodic reviews for security and relevance Regularly evaluate the recommended technologies to ensure they remain secure, relevant, and aligned with organizational needs. Update the list based on changes in the threat landscape, new vulnerabilities, or evolving organizational requirements. Post-deployment Security Auditors
SSS-02-02-03-01-05 Monitor adoption and gather feedback Track the usage of recommended tools and technologies across projects. Solicit feedback from development teams to identify challenges, improvements, or additional tools to include in future iterations of the list. Post-deployment Development Teams

References

Industry framework Academic work Real-world case
Information Security Manual (ISM-1780)
NIST Secure Software Development Framework (PW.7.1)
CISA (2.3.4 Review or analyze humn-readable code- Recommended mitigations- 1.)

[SSDF] Shift-left security: Perform early code review and analysis (SSS-02-02-04)

Perform code reviews and analysis following secure coding standards. Use peer reviews, involve expert reviewers, apply static analysis, employ checklists, automate issue identification and remediation, and track issues in the team’s workflow or issue tracking system. Record root causes, document lessons learned, and maintain a knowledge base. These practices reinforce code security, quality, and continuous learning within the development team.

[SSDF] Review human readable code (SSS-02-02-04-01)

Perform Code Reviews and/or Analysis According to Secure Coding Standards: Incorporate peer and expert reviews, tools and automation, structured checklists, and continuous improvement measures into the code review and analysis process. Use established workflows and tracking systems to document issues, prioritize remediation, and record lessons learned. Peer and Expert Reviews: Example 1: Perform peer reviews of code, and include any existing review, analysis, or testing results as part of the peer review process. Example 2: Engage expert reviewers to examine code for backdoors and other malicious content. Tools and Automation: Example 3: Utilize peer review tools that streamline the peer review process, ensuring that all discussions and feedback are documented. Example 4: Employ static analysis tools to automatically check for vulnerabilities and compliance. Have a human review reported issues and remediate them as necessary. Example 6: Continuously use automated tools to identify and remediate documented and verified unsafe software practices as code is checked into the repository. Structured Review Checklists: Example 5: Apply standardized review checklists to confirm that the code meets all specified requirements. Continuous Improvement: Example 7: Identify and document the root causes of discovered issues to prevent similar vulnerabilities in the future. Example 8: Record lessons learned from code reviews and analysis in a searchable wiki, ensuring developers can easily access and learn from past experiences.

Operations

ID Operation Description Phase Agent
SSS-02-02-04-01-01 Incorporate peer and expert reviews Conduct peer reviews to identify potential issues in code, integrating existing analysis and testing results. Engage expert reviewers to detect advanced threats, such as backdoors or malicious content, ensuring comprehensive scrutiny. Development Development Teams
SSS-02-02-04-01-02 Leverage tools and automation Use peer review tools to streamline discussions and feedback while documenting all findings. Employ static analysis and automated tools to check for vulnerabilities and compliance, followed by human review to validate and remediate reported issues. Development DevOps Teams
SSS-02-02-04-01-03 Apply structured review checklists Use standardized review checklists to ensure the code meets all specified functional, security, and compliance requirements. This structured approach helps maintain consistency across reviews and ensures no critical checks are missed. Deployment Quality Assurance Teams
SSS-02-02-04-01-04 Implement continuous improvement measures Identify root causes of discovered vulnerabilities during reviews and analysis. Record lessons learned in a centralized, searchable knowledge base (e.g., a wiki) to promote organizational learning and reduce the recurrence of similar issues. Post-deployment Security Teams
SSS-02-02-04-01-05 Track and document review results Use established workflows and tracking systems to document issues, prioritize remediation, and track resolution progress. Maintain comprehensive records for audits and to inform future code reviews. Post-deployment Compliance Teams

References

Industry framework Academic work Real-world case
Information Security Manual (ISM-1780)
NIST Secure Software Development Framework (PW.7.2)
SSDF (PW.7.2: Perform the code review and/or code analysis- Example)

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

Organizations must configure and integrate automated security testing tools within the software delivery pipeline to ensure scalability and low operational overhead. These tools should automatically execute security tests as part of the build and deployment processes, providing continuous feedback and early detection of vulnerabilities. Begin security testing as early as the requirements or design phases, adopting a test-driven development approach where security test cases are designed and executed alongside functional test cases. Unresolved test cases serve as actionable goals for developers, ensuring that all identified security gaps are resolved before implementation is considered complete. This reduces the risk of release delays due to unresolved vulnerabilities or forced risk acceptance to meet project deadlines. To improve visibility, consolidate automated and manual security test results into centralized dashboards and present the outcomes regularly to management and business stakeholders. If any findings remain as accepted risks, stakeholders and development managers must collaboratively establish clear timeframes for addressing these before release. Enhance testing processes by adopting test correlation tools that merge results from dynamic, static, and interactive security tests into a unified dashboard. These tools facilitate defect management and allow for the seamless tracking of security issues. Spread awareness of test results and findings across development teams, fostering a culture of continuous learning and proactive security improvement throughout the organization.

Operations

ID Operation Description Phase Agent
SSS-02-02-04-02-01 Configure automated security testing tools Integrate security testing tools (e.g., SAST, DAST, IAST) into the CI/CD pipeline for automated execution during builds, deployments, and other stages of the development lifecycle. Development DevOps team, Security team
SSS-02-02-04-02-02 Implement security test-driven development (STDD) Design security test cases early in the requirements or design phases. Run these tests automatically, and use them to guide the implementation until all tests pass. Development Development teams, Security champions
SSS-02-02-04-02-03 Present security test results via dashboards Create centralized dashboards to display the results of automated and manual security tests. Regularly share these results with management and stakeholders for transparency. Deployment Security team, Development managers
SSS-02-02-04-02-04 Correlate security test results Use security test correlation tools to merge and centralize results from multiple scanners, such as dynamic, static, and interactive tools, into a unified view. Deployment DevOps team, Security team
SSS-02-02-04-02-05 Establish accountability for accepted risks Document unaddressed security findings as accepted risks, and work with stakeholders to define concrete deadlines and monitor progress for remediation. Post-deployment Security team, Development managers
SSS-02-02-04-02-06 Continuously improve security tests Regularly review and enhance security tests to address emerging threats and lessons learned from past testing activities. Post-deployment Security team, Development teams

References

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

[SAMM] Track security defects centrally (SSS-02-02-04-03)

Organizations must establish a centralized system for tracking and managing security defects across all applications and development processes. This system should begin by standardizing the definition and classification of security defects to ensure consistent identification and reporting. Security defects can originate from various sources, including threat assessments, penetration tests, outputs from static and dynamic analysis scanning tools, and responsible disclosure programs or bug bounties. To foster a transparent security culture, avoid assigning blame to teams or individuals for identifying or introducing defects. Instead, focus on promoting collaboration and proactive remediation. Security defects should be recorded and tracked in a well-defined location, which need not be centralized for the entire organization but must allow a comprehensive overview of all defects affecting a specific application at any given time. Implement strict access controls to safeguard defect records and mitigate the risks of data leakage or misuse. Enhance prioritization of defect remediation efforts by introducing qualitative classifications (e.g., critical, high, medium, low) based on the risk and impact of each defect. Additionally, ensure the tracking system minimizes duplication of entries and false positives, enhancing its accuracy and reliability. By maintaining a comprehensive record of security defects, organizations can prioritize remediation, identify systemic vulnerabilities, and improve their overall security posture.

Operations

ID Operation Description Phase Agent
SSS-02-02-04-03-01 Define security defect standards Establish a common definition and classification system for security defects, including severity levels and prioritization criteria. Ensure teams understand these definitions. Preparation Security team, Development teams, ,Testing teams, QA teams
SSS-02-02-04-03-02 Set up a centralized defect tracking system Implement a tool or platform (e.g., JIRA, Azure DevOps) to record and track all security defects for each application. Ensure it supports centralized or application-specific views. Development DevOps team, QA teams, Security team
SSS-02-02-04-03-03 Integrate security defect identification sources Connect(link) defect tracking with bug reports from threat assessments, penetration tests, static/dynamic analysis tools, and bug bounties to ensure all defects are captured effectively. Development Security team, Testing teams, Vendor partners
SSS-02-02-04-03-04 Classify and prioritize security defects Introduce a qualitative classification system for defects (e.g., critical, high, medium, low) and prioritize fixes based on severity and application impact. Deployment Security team, Development teams, Testing teams

References

Industry framework Academic work Real-world case
Information Security Manual (ISM-1780)
NIST Secure Software Development Framework (PW.7.2)
OWASP SAMM: Software Assurance Maturity Model (I-DM-1-A)

[SSDF] Shared responsibility: Define roles and responsibilities (SSS-02-02-05)

Define and periodically review roles and responsibilities for all SDLC team members, ensuring they incorporate security-related tasks. Designate code ownership, promote cross-functional communication, and adapt roles to support secure development practices, fostering accountability and a strong security culture within the development process.

[SAMM] Identify security champions (SSS-02-02-05-01)

Establish a Security Champion program within each software development team to enhance application security and foster collaboration between Information Security and development teams. A Security Champion, selected from roles such as developer, tester, or product manager, dedicates a portion of their time to Information Security activities and acts as a liaison between teams. These champions receive specialized training to become subject-matter experts in software security and participate in regular security briefings to stay updated on best practices and emerging threats. The Security Champion's responsibilities include identifying, prioritizing, and addressing security and compliance-related defects, as well as assisting in risk assessments, threat assessments, and architectural reviews. They play a critical role in strengthening the application's resilience by identifying opportunities to reduce attack surfaces and improve design. Security Champions also conduct periodic reviews of security-related issues, ensuring all team members are aware of existing vulnerabilities, ongoing remediation efforts, and future plans. By facilitating brainstorming sessions and promoting cross-functional communication, they help the team collaboratively address complex security challenges, building a robust security culture across the organization.

Operations

ID Operation Description Phase Agent
SSS-02-02-05-01-01 Define the role and responsibilities of security champions Clearly outline the responsibilities of Security Champions, including liaising with the Information Security team, reviewing security defects, and participating in risk and threat assessments. Preparation Security team, Development leads, Product managers
SSS-02-02-05-01-02 Select and assign security champions Identify and assign a Security Champion in each software development team. Select individuals with a strong understanding of the project and an interest in security practices. Development Development leads, Security team, HR team
SSS-02-02-05-01-03 Provide specialized training for security champions Offer additional training programs to help Security Champions become subject-matter experts in application security, compliance, and threat modeling. Development Security team, External training providers
SSS-02-02-05-01-04 Establish a regular communication framework Organize periodic meetings, briefings, and collaborative sessions for Security Champions to share updates, insights, and solutions to common security challenges. Development Security team, Development teams
SSS-02-02-05-01-05 Empower champions in security processes Include Security Champions in critical security processes, such as architectural reviews, risk assessments, and threat modeling, to ensure their involvement in key decision-making. Deployment Development teams, Security team

References

Industry framework Academic work Real-world case
Information Security Manual (ISM-1780)
NIST Secure Software Development Framework (PO.2.1)
OWASP SAMM: Software Assurance Maturity Model (G-EG-1-B)

[SAMM] Establish a security community (SSS-02-02-05-02)

To establish a security community, the organization must foster collaboration and communication among employees involved in software security. Security must be treated as everyone's responsibility, not just the Information Security team's. This involves creating platforms for knowledge sharing, forming communities around roles and responsibilities, and encouraging engagement. Recognition programs promote active participation and identify potential Security Champions. The initiative supports application security improvement and enhances the organization's SDLC maturity by regularly disseminating updates, tools, and training.

Operations

ID Operation Description Phase Agent
SSS-02-02-05-02-01 Deploy communication and knowledge-sharing platforms Implement tools (e.g., forums, Slack, SharePoint) to enable developers and engineers to share information, discuss challenges, and access a knowledge base of previously addressed issues, building communities around technologies, tools, and programming languages. Preparation Security Teams
SSS-02-02-05-02-02 Form communities around roles and responsibilities Create groups based on roles (e.g., developers, testers, engineers) and responsibilities to facilitate cross-team collaboration. Encourage communication across business units, allowing members to share expertise and learn from each other. Development Team Leaders
SSS-02-02-05-02-03 Promote participation and recognize contributions Establish a recognition program to reward employees who contribute the most to the community, promoting them as thought leaders. Use management recognition to encourage participation and foster a culture of knowledge sharing and collaboration. Deployment Management Teams
SSS-02-02-05-02-04 Review and maintain the information portal Have the Secure Software Center of Excellence and Application Security teams regularly review the portal for new insights, identify trends, and provide developers with updates on standards, tools, and training resources to improve SDLC maturity and application security. Post-deployment Secure Software Center of Excellence
SSS-02-02-05-02-05 Identify and empower security champions Use community engagement metrics and contributions to identify future Security Champions. Provide them with resources, responsibilities, and training to further strengthen their role in advancing application security and assisting the development community. Post-deployment Application Security Teams

References

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

[SAMM] Train all stakeholders for awareness (SSS-02-02-05-03)

To enhance application security, provide comprehensive security awareness training to all personnel involved in software development, including management, developers, testers, and auditors. This training should emphasize understanding application security threats, risks, best practices, and secure design principles like Least Privilege, Defense-in-Depth, and Fail Secure. Cover key organizational standards and high-level overviews of vulnerabilities, such as the OWASP Top 10. Training can be developed internally or sourced externally, with a preference for in-person sessions to encourage team discussions. Computer-Based Training (CBT) is an alternative. Use innovative methods like gamification to keep the content engaging and effective. The training must be mandatory and include an auditable sign-off to demonstrate compliance. This initiative ensures that all stakeholders are equipped with the knowledge to mitigate security risks, align with organizational security policies, and contribute to the development of secure software.

Operations

ID Operation Description Phase Agent
SSS-02-02-05-03-01 Develop or procure security awareness training Create or procure training materials tailored to the roles involved in software development, covering secure design principles, organizational standards, and the OWASP Top 10 vulnerabilities. Ensure the content is accessible to both technical and non-technical audiences. Preparation Training Teams
SSS-02-02-05-03-02 Deliver training to all relevant stakeholders Conduct mandatory security awareness training for all employees and contractors involved in the software lifecycle. Deliver training in person for team discussions where possible, or use Computer-Based Training (CBT) as an alternative. Development Training Teams
SSS-02-02-05-03-03 Incorporate innovative training methods Utilize methods such as gamification to engage participants, improve retention of key concepts, and combat desensitization. Tailor the delivery style to maximize effectiveness for diverse learning preferences. Deployment Training Teams
SSS-02-02-05-03-04 Track and audit training compliance Implement a system for auditable sign-offs to ensure all stakeholders complete the training and demonstrate compliance. Use these records for reporting and continuous improvement of training programs. Post-deployment Compliance Teams

References

Industry framework Academic work Real-world case
Information Security Manual (ISM-1780)
NIST Secure Software Development Framework (PO.2.1)
OWASP SAMM: Software Assurance Maturity Model (G-EG-1-A)

[SSDF] Automation: Automate toolchain to secure information (SSS-02-02-06)

Develop and enforce processes and mechanisms to gather and protect essential information supporting security criteria. Leverage the toolchain to collect and analyze data, deploy additional tools when necessary, automate decision-making where possible, and restrict access to sensitive information to authorized personnel only, enhancing security and preventing unauthorized access.

[SAMM] Track and secure security defect information (SSS-02-02-06-01)

Establish a secure, centralized system for tracking and managing security defect information with strict access controls, such as role-based access control (RBAC), to ensure only authorized personnel can view or modify records. Implement qualitative classification frameworks to prioritize defects based on criticality and impact while preventing duplication and false positives. Incorporate audit trails and cryptographic integrity checks to monitor and secure defect data, ensuring accountability and data reliability. Regularly review access policies and system logs to identify and mitigate unauthorized or suspicious activities, maintaining the confidentiality and integrity of defect information.

Operations

ID Operation Description Phase Agent
SSS-02-02-06-01-01 Implement access controls Use role-based access control (RBAC) to manage permissions for viewing, editing, and managing defect information. Preparation Security team
SSS-02-02-06-01-02 Classify and prioritize defects Develop a framework to classify defects based on criticality and impact to streamline remediation efforts. Development QA teams, Security team
SSS-02-02-06-01-03 Enforce data integrity Use cryptographic checks and audit trails to protect defect records and monitor any changes. Deployment Security team, DevOps team
SSS-02-02-06-01-04 Review access and logs Continuously monitor user access logs and system activities to detect and respond to unauthorized actions. Post-deployment Security team, Development teams
SSS-02-02-06-01-05 Prevent duplication and false positives Implement mechanisms to validate defect records, reducing errors and ensuring reliable defect data. Development Development teams

References

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

[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)

[SSDF] Automation: Configure tools to generate secure artifacts (SSS-02-02-08)

Configure tools to create artifacts that demonstrate adherence to secure software development practices. Enable an audit trail using current tools, determine appropriate audit frequency, set policies for managing artifact data, and assign accountability for artifact generation. This helps maintain transparency and accountability, supporting continuous improvement in DevOps workflows.

[SAMM] Establish a centralized process for tracking and managing security defects (SSS-02-02-08-01)

Establish a centralized process for tracking and managing security defects to enhance accountability and transparency. Begin by defining a common understanding of what constitutes a security defect and identifying the methods to detect them, such as threat assessments, penetration tests, static and dynamic analysis tools, and responsible disclosure programs or bug bounties. Foster a blame-free culture to encourage accurate reporting and proactive mitigation of defects. Maintain a repository to log and track all identified security defects, ensuring it is accessible for relevant stakeholders to gain a comprehensive view of application risks. Define strict access controls to protect defect information from unauthorized use or leakage. Implement a qualitative classification system for defects to prioritize remediation efforts effectively and reduce duplication or false positives. Regularly review and refine the process to maintain its effectiveness and trustworthiness in improving DevOps workflows.

Operations

ID Operation Description Phase Agent
SSS-02-02-08-01-01 Define security defect standards Establish a common definition and classification system for security defects, including severity levels and prioritization criteria. Ensure teams understand these definitions. Preparation Security team, Development teams, ,Testing teams, QA teams
SSS-02-02-08-01-02 Set up a centralized defect tracking system Implement a tool or platform (e.g., JIRA, Azure DevOps) to record and track all security defects for each application. Ensure it supports centralized or application-specific views. Development DevOps team, QA teams, Security team
SSS-02-02-08-01-03 Integrate security defect identification sources Connect(link) defect tracking with bug reports from threat assessments, penetration tests, static/dynamic analysis tools, and bug bounties to ensure all defects are captured effectively. Development Security team, Testing teams, Vendor partners
SSS-02-02-08-01-04 Classify and prioritize security defects Introduce a qualitative classification system for defects (e.g., critical, high, medium, low) and prioritize fixes based on severity and application impact. Deployment Security team, Development teams, Testing teams

References

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

[SSDF] Collaboration: Establish vulnerability disclosure and collaboration (SSS-02-02-09)

Implement a vulnerability disclosure program (VDP) that invites security researchers to report potential vulnerabilities in products and services. Make program details easily accessible by providing clear guidelines, contact information, and reporting channels, such as a dedicated webpage or contact email. This program fosters collaboration with the security community, enhances early vulnerability detection, and supports the continuous security improvement of products and services. It emphasizes the importance of creating a user-friendly, transparent disclosure program that encourages external security researchers to contribute to product security, directly supporting the goal of proactive vulnerability management.

[SAMM] Establish a coordinated vulnerability disclosure program (SSS-02-02-09-01)

Create a structured vulnerability disclosure program (VDP) to engage external security researchers in reporting vulnerabilities effectively. Include clear reporting guidelines, accessible communication channels (e.g., a dedicated webpage or email), and transparent expectations for response times and follow-up. Assign responsibility for managing the VDP to a dedicated owner or team equipped with the necessary resources to handle reported vulnerabilities promptly and securely. Ensure the program aligns with industry best practices for disclosure, fostering trust and collaboration with the research community. Protect the confidentiality of submitted reports, documenting all findings and actions taken to address vulnerabilities. Regularly review and update the program to accommodate evolving threat landscapes and maintain alignment with regulatory requirements.

Operations

ID Operation Description Phase Agent
SSS-02-02-09-01-01 Establish reporting guidelines and channels Define clear and detailed guidelines for reporting vulnerabilities, including the format and required information. Set up accessible communication channels, such as a dedicated webpage or email, to facilitate submissions. Preparation Security Teams
SSS-02-02-09-01-02 Assign a dedicated vdp management team Assign responsibility for managing the VDP to a dedicated owner or team equipped with the tools and resources to handle reported vulnerabilities promptly and securely. Ensure the team is trained in secure report handling and communication. Preparation VDP Management Team
SSS-02-02-09-01-03 Define response times and follow-up procedures Set transparent expectations for response times, including acknowledgment of submissions, initial assessments, and resolution timelines. Develop a follow-up process to keep researchers informed about the progress and outcomes of their reports. Development VDP Management Team
SSS-02-02-09-01-04 Protect report confidentiality and document actions Ensure that all vulnerability reports are handled confidentially. Document all findings, decisions, and actions taken to address vulnerabilities, creating a detailed audit trail for internal use and compliance purposes. Post-deployment Compliance Teams
SSS-02-02-09-01-05 Regularly review and update the VDP Periodically review the VDP to ensure it aligns with evolving threat landscapes, industry best practices, and regulatory requirements. Update reporting guidelines, response procedures, and communication channels as necessary to maintain program effectiveness and trust. Post-deployment VDP Management Team

References

Industry framework Academic work Real-world case
Information Security Manual (ISM-1780)
NIST Secure Software Development Framework (RV.1.3 Example 1)
OWASP SAMM: Software Assurance Maturity Model (O-IM-1-B)

[SSDF] Collaboration: Perform secure code reviews collaboratively (SSS-02-02-10)

Perform the code review and/or code analysis based on the organization’s secure coding standards, and record and triage all discovered issues and recommended remediations in the development team’s workflow or issue tracking system.

[SSDF] Review human readable code (SSS-02-02-10-01)

Perform Code Reviews and/or Analysis According to Secure Coding Standards: Incorporate peer and expert reviews, tools and automation, structured checklists, and continuous improvement measures into the code review and analysis process. Use established workflows and tracking systems to document issues, prioritize remediation, and record lessons learned.

Operations

ID Operation Description Phase Agent
SSS-02-02-10-01-01 Incorporate peer and expert reviews Conduct peer reviews to identify potential issues in code, integrating existing analysis and testing results. Engage expert reviewers to detect advanced threats, such as backdoors or malicious content, ensuring comprehensive scrutiny. Development Development Teams
SSS-02-02-10-01-02 Leverage tools and automation Use peer review tools to streamline discussions and feedback while documenting all findings. Employ static analysis and automated tools to check for vulnerabilities and compliance, followed by human review to validate and remediate reported issues. Development DevOps Teams
SSS-02-02-10-01-03 Apply structured review checklists Use standardized review checklists to ensure the code meets all specified functional, security, and compliance requirements. This structured approach helps maintain consistency across reviews and ensures no critical checks are missed. Deployment Quality Assurance Teams
SSS-02-02-10-01-04 Implement continuous improvement measures Identify root causes of discovered vulnerabilities during reviews and analysis. Record lessons learned in a centralized, searchable knowledge base (e.g., a wiki) to promote organizational learning and reduce the recurrence of similar issues. Post-deployment Security Teams
SSS-02-02-10-01-05 Track and document review results Use established workflows and tracking systems to document issues, prioritize remediation, and track resolution progress. Maintain comprehensive records for audits and to inform future code reviews. Post-deployment Compliance Teams

References

Industry framework Academic work Real-world case
Information Security Manual (ISM-1780)
NIST Secure Software Development Framework (PW.7.2)
SSDF (PW.7.2: Perform the code review and/or code analysis- Example)

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

Organizations must configure and integrate automated security testing tools within the software delivery pipeline to ensure scalability and low operational overhead. These tools should automatically execute security tests as part of the build and deployment processes, providing continuous feedback and early detection of vulnerabilities. Begin security testing as early as the requirements or design phases, adopting a test-driven development approach where security test cases are designed and executed alongside functional test cases. Unresolved test cases serve as actionable goals for developers, ensuring that all identified security gaps are resolved before implementation is considered complete. This reduces the risk of release delays due to unresolved vulnerabilities or forced risk acceptance to meet project deadlines. To improve visibility, consolidate automated and manual security test results into centralized dashboards and present the outcomes regularly to management and business stakeholders. If any findings remain as accepted risks, stakeholders and development managers must collaboratively establish clear timeframes for addressing these before release. Enhance testing processes by adopting test correlation tools that merge results from dynamic, static, and interactive security tests into a unified dashboard. These tools facilitate defect management and allow for the seamless tracking of security issues. Spread awareness of test results and findings across development teams, fostering a culture of continuous learning and proactive security improvement throughout the organization.

Operations

ID Operation Description Phase Agent
SSS-02-02-10-02-01 Configure automated security testing tools Integrate security testing tools (e.g., SAST, DAST, IAST) into the CI/CD pipeline for automated execution during builds, deployments, and other stages of the development lifecycle. Development DevOps team, Security team
SSS-02-02-10-02-02 Implement security test-driven development (STDD) Design security test cases early in the requirements or design phases. Run these tests automatically, and use them to guide the implementation until all tests pass. Development Development teams, Security champions
SSS-02-02-10-02-03 Present security test results via dashboards Create centralized dashboards to display the results of automated and manual security tests. Regularly share these results with management and stakeholders for transparency. Deployment Security team, Development managers
SSS-02-02-10-02-04 Correlate security test results Use security test correlation tools to merge and centralize results from multiple scanners, such as dynamic, static, and interactive tools, into a unified view. Deployment DevOps team, Security team
SSS-02-02-10-02-05 Establish accountability for accepted risks Document unaddressed security findings as accepted risks, and work with stakeholders to define concrete deadlines and monitor progress for remediation. Post-deployment Security team, Development managers
SSS-02-02-10-02-06 Continuously improve security tests Regularly review and enhance security tests to address emerging threats and lessons learned from past testing activities. Post-deployment Security team, Development teams

References

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

[SAMM] Track security defects centrally (SSS-02-02-10-03)

Organizations must establish a centralized system for tracking and managing security defects across all applications and development processes. This system should begin by standardizing the definition and classification of security defects to ensure consistent identification and reporting. Security defects can originate from various sources, including threat assessments, penetration tests, outputs from static and dynamic analysis scanning tools, and responsible disclosure programs or bug bounties. To foster a transparent security culture, avoid assigning blame to teams or individuals for identifying or introducing defects. Instead, focus on promoting collaboration and proactive remediation. Security defects should be recorded and tracked in a well-defined location, which need not be centralized for the entire organization but must allow a comprehensive overview of all defects affecting a specific application at any given time. Implement strict access controls to safeguard defect records and mitigate the risks of data leakage or misuse. Enhance prioritization of defect remediation efforts by introducing qualitative classifications (e.g., critical, high, medium, low) based on the risk and impact of each defect. Additionally, ensure the tracking system minimizes duplication of entries and false positives, enhancing its accuracy and reliability. By maintaining a comprehensive record of security defects, organizations can prioritize remediation, identify systemic vulnerabilities, and improve their overall security posture.

Operations

ID Operation Description Phase Agent
SSS-02-02-10-03-01 Define security defect standards Establish a common definition and classification system for security defects, including severity levels and prioritization criteria. Ensure teams understand these definitions. Preparation Security team, Development teams, ,Testing teams, QA teams
SSS-02-02-10-03-02 Set up a centralized defect tracking system Implement a tool or platform (e.g., JIRA, Azure DevOps) to record and track all security defects for each application. Ensure it supports centralized or application-specific views. Development DevOps team, QA teams, Security team
SSS-02-02-10-03-03 Integrate security defect identification sources Connect(link) defect tracking with bug reports from threat assessments, penetration tests, static/dynamic analysis tools, and bug bounties to ensure all defects are captured effectively. Development Security team, Testing teams, Vendor partners
SSS-02-02-10-03-04 Classify and prioritize security defects Introduce a qualitative classification system for defects (e.g., critical, high, medium, low) and prioritize fixes based on severity and application impact. Deployment Security team, Development teams, Testing teams

References

Industry framework Academic work Real-world case
Information Security Manual (ISM-1780)
NIST Secure Software Development Framework (PW.7.2)
OWASP SAMM: Software Assurance Maturity Model (I-DM-1-A)