[ISM] Access control:

Unauthorised access to the authoritative source for software is prevented.

[SSDF] Establish comprehensive access control criteria (SSS-01-04-01)

Establish comprehensive security criteria for software checks to enable robust and consistent access control throughout the Software Development Life Cycle (SDLC). These criteria should define clear policies and procedures for access management, ensuring that only authorized individuals and processes can interact with software components at every stage of development, testing, deployment, and maintenance. Additionally, conduct thorough reviews and evaluations, confirm secure configurations, verify the origin and authenticity of components, and establish controlled repositories. Maintain an approved list of trusted components, designate essential components, implement stringent update processes, and build binaries directly from source code when necessary to prevent the use of unauthorized or insecure components.

[SSDF] Implement security criteria integration and evaluation (SSS-01-04-01-01)

Define measurable security metrics, such as KPIs, KRIs, and vulnerability severity scores, to assess risk management. Embed these criteria into SDLC workflows, like Agile's "Definition of Done" or CI/CD checks. Review artifacts to ensure compliance with benchmarks and track outcomes (approvals, rejections, exceptions) in a centralized system. Analyze collected data to refine security practices and adapt criteria to evolving risks, ensuring a secure and consistent development process.

Operations

ID Operation Description Phase Agent
SSS-01-04-01-01-01 Define security metrics and criteria Establish clear metrics, such as KPIs, KRIs, and vulnerability severity scores, to measure the effectiveness of software security risk management. Ensure these metrics provide meaningful insights into security risk management. Preparation Security Teams, Risk Management Teams
SSS-01-04-01-01-02 Integrate security criteria into development workflows Add software security criteria to existing workflows, such as the Definition of Done in agile SDLC methodologies. Ensure that security checks are an integral part of the software development lifecycle and align with project goals. Development Development Teams, Security Teams
SSS-01-04-01-01-03 validate artifacts against security criteria Review artifacts generated during the software development workflow (e.g., code reviews, test results, documentation) to verify they meet established security criteria. Record approvals, rejections, and exceptions as part of the workflow tracking system. Deployment Quality Assurance Teams, Security Analysts
SSS-01-04-01-01-04 Analyze security data for continuous improvement Collect and analyze data from security checks, including successes, failures, and exception requests, to evaluate the overall effectiveness of security measures. Use the insights gained to refine the SDLC and enhance future security practices. Post-deployment Security Teams, Risk Management Teams
SSS-01-04-01-01-05 Track and report security check outcomes Maintain a record of security check outcomes, including approvals, rejections, and exception requests, within the tracking system. Use these records for reporting, auditing, and identifying areas for improvement in the software development process. Post-deployment Security Teams, Compliance Teams

References

Industry framework Academic work Real-world case
Information Security Manual (ISM-1422)
NIST Secure Software Development Framework (PO.4.1)
SSDF (PO.4.1: Define criteria for software security checks and track throughout the SDLC. - Example)

[SAMM] Perform vendor assessments (SSS-01-04-01-02)

Conduct comprehensive vendor assessments to ensure that external suppliers involved in software development align with the organization’s security standards and risk appetite. Use structured approaches, such as checklists, interviews, or maturity evaluations, to evaluate suppliers’ security practices, processes, and software assurance programs. Assess their ability to address potential risks and ensure alignment with your organization’s access control and security requirements across the SDLC. If gaps in security capabilities are identified, collaborate with suppliers to address these issues and evaluate their plans for improvement. Make security expectations explicit, provide clear guidelines, and regularly reassess supplier performance to account for changing risk factors. This ensures that external suppliers do not introduce vulnerabilities into the development process and supports a secure and consistent SDLC.

Operations

ID Operation Description Phase Agent
SSS-01-04-01-02-01 Establish vendor evaluation criteria Define evaluation criteria based on organizational security needs and risk appetite. Use a basic checklist or conduct interviews to review their typical practices and deliveries. Preparation Procurement team, Security team, Project leads
SSS-01-04-01-02-02 Conduct vendor assessments Perform assessments using interviews or questionnaires with different roles in the organization. Evaluate their practices, deliveries, and software assurance processes. Include a maturity evaluation where needed. Development Security team, Vendor managers
SSS-01-04-01-02-03 Document and prioritize identified risks If suppliers have weak competences in software security, record vendor security risks, categorize them based on severity, and determine which risks require immediate mitigation or long-term monitoring. Development Security team, Procurement team, Vendors
SSS-01-04-01-02-04 Communicate expectations and monitor alignment Clearly communicate expectations to suppliers and monitor their compliance. Reassess periodically for critical or evolving projects. Post-deployment Procurement team, Security team, Project leads

References

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

[SSDF] Secure data protection processes and mechanisms (SSS-01-04-02)

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-01-04-02-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-01-04-02-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-01-04-02-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-01-04-02-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-01-04-02-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-01-04-02-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-1422)
NIST Secure Software Development Framework (PO.4.2)
OWASP SAMM: Software Assurance Maturity Model (I-DM-1-A)

[SSDF] Secure and restrict code access (SSS-01-04-03)

Secure all code forms—including source code, executable code, and configuration-as-code—using the principle of least privilege. Store code in a restricted-access repository, enforce version control and commit signing, conduct code owner reviews, and apply cryptographic protections. These measures ensure that only authorized personnel and tools can access or modify the code, safeguarding its integrity and preventing unauthorized access.

[SAMM] Protect application secrets in configuration and code (SSS-01-04-03-01)

Protect application secrets and credentials stored in configuration files and code to ensure compliance with the principle of least privilege and maintain production system security. Developers should not have direct access to production secrets. Implement mechanisms to safeguard secrets, such as assigning authorized personnel to add secrets to configuration files during deployment, adhering to the separation of duty principle, and encrypting all production secrets stored in configuration files and ensuring encryption-at-rest. Avoid storing production secrets in configuration files used for development or testing environments, as these typically have lower security postures. Additionally, ensure that sensitive credentials and secrets are not left unprotected in code repositories. Use purpose-built tools for secure storage and key management to enforce access controls, allowing only authorized personnel responsible for production deployments to handle these secrets. This approach minimizes the risk of unauthorized access and ensures the integrity and confidentiality of sensitive data.

Operations

ID Operation Description Phase Agent
SSS-01-04-03-01-01 Use secret management tools Implement tools like HashiCorp Vault, AWS Secrets Manager, or Azure Key Vault to securely store and manage production secrets, ensuring encryption at rest. Development DevOps team, Security team
SSS-01-04-03-01-02 Encrypt secrets in configuration files Encrypt any secrets included in configuration files before deployment. Use encryption keys stored in secure key management systems. Deployment DevOps team, Security team
SSS-01-04-03-01-03 Enforce separation of duties Ensure only authorized personnel can add or access production secrets in configuration files. Developers should not have direct access to production credentials. Deployment Security team, Operations team
SSS-01-04-03-01-04 Restrict secrets to appropriate environments Separate secrets for production, testing, and development environments. Do not reuse production secrets in lower-security environments like development or testing. Development Security team, Development teams

References

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