Le cadre de développement logiciel sécurisé (SSDF), AKA NIST SP800-218, est un ensemble de lignes directrices élaborées par le NIST en réponse au décret 14028, qui se concentre sur l'amélioration de la posture de cybersécurité des États-Unis, en particulier concernant la sécurité de la chaîne d'approvisionnement logicielle.
SSDF est un cadre de bonnes pratiques, pas une norme. Bien que particulièrement pertinent pour les organisations qui développent des logiciels pour le gouvernement américain, le SSDF profite à toute organisation de développement de logiciels.
Cet article passe en revue les quatre pratiques SSDF et explique comment utiliser Scribe Sécurité pour aider à les mettre en œuvre en fournissant des outils permettant aux personnes et aux processus de respecter les normes de sécurité dans le SDLC.
Scribe Security est une plateforme de sécurisation des chaînes d'approvisionnement logicielles.
Protéger le logiciel (PS)
La pratique PS aborde la menace de falsification et d'accès non autorisé pesant sur tous les composants logiciels. Les contrôles PS visent à garantir la sécurité des logiciels tout au long de leur cycle de vie de développement. Celles-ci incluent la protection de toutes les formes de code, la vérification de l’intégrité des versions logicielles, ainsi que l’archivage et la protection de chaque version logicielle.
Scribe aide à gérer les contrôles PS grâce aux fonctionnalités suivantes :
- Signature du code source et des artefacts de construction : cela permet de garantir l'intégrité et l'authenticité du code et des artefacts de construction, conformément à l'accent mis par le SSDF sur la protection du code contre les accès non autorisés et la falsification. La signature continue du code tout au long du processus de développement permet de garantir que l'intégrité des versions logicielles n'a pas été altérée.
- Suivi de la provenance : surveillance de l'origine et de l'historique des composants logiciels pour un approvisionnement sécurisé, contribuant ainsi à protéger le logiciel contre les vulnérabilités résultant de composants compromis.
- Surveillance de l'intégrité du logiciel pendant le SDLC : des contrôles continus de l'intégrité tout au long du SDLC empêchent les attaquants potentiels dans les outils et les pipelines de développement.
- Chaînes d'outils de sécurité automatisées : la mise en œuvre de chaînes d'outils qui automatisent certains aspects du processus de sécurité peut réduire les erreurs humaines et garantir une application cohérente des pratiques de sécurité.
- Critères de contrôle de sécurité des logiciels : définir et utiliser des critères pour vérifier la sécurité des logiciels lors de leur développement est crucial pour garantir la conformité aux normes organisationnelles et identifier les vulnérabilités potentielles.
- Environnements de développement sécurisés : le maintien d'environnements de développement, de construction et de test sécurisés est essentiel pour prévenir les vulnérabilités et protéger le processus de développement logiciel.
- Appliquez une politique de contrôle d'accès au code source, aux outils de développement et aux registres d'artefacts logiciels : restreindre l'accès aux utilisateurs autorisés peut empêcher toute utilisation non autorisée et toute falsification.
Produire des logiciels bien sécurisés (PW)
La pratique PW corrige les vulnérabilités introduites dans le logiciel tout au long du SDLC. Cela comprend la conception de logiciels pour répondre aux exigences de sécurité, l'examen de la conformité des conceptions, la réutilisation du code sécurisé, la configuration des processus de construction pour la sécurité et le test du code exécutable pour détecter les vulnérabilités.
Scribe aide à gérer les contrôles PW grâce aux fonctionnalités suivantes :
- Analyse de la composition logicielle (SCA) : identification et gestion des composants open source et tiers pour atténuer les risques associés aux dépendances logicielles.
- Vulnérabilité et veille sur la réputation : surveillance continue des vulnérabilités et évaluation de la réputation des composants logiciels pour garantir leur fiabilité.
- Analyse des risques : évaluer et surveiller les risques potentiels de sécurité et de licence associés aux dépendances open source, gérer la nomenclature logicielle (SBOM) et les avis Vulnerability Exploitability eXchange (VEX).
- Collecte de preuves liées à la sécurité à partir du SDLC : analyse des données dans l'ensemble du SDLC pour une gestion éclairée des risques.
- Politiques de développement sécurisées : codifier les directives pour les processus et procédures de développement de logiciels et mesurer les KPI au sein des équipes et des projets de développement de logiciels.
Répondre aux vulnérabilités (RV)
La pratique RV consiste à identifier les vulnérabilités résiduelles dans les versions logicielles et à y répondre de manière appropriée. RV implique soit de résoudre les vulnérabilités, soit de les atténuer, soit de fournir des conseils aux parties prenantes.
Scribe aide à gérer les contrôles RV grâce aux fonctionnalités suivantes :
- Collecte de preuves à partir du SDLC : collecte de métadonnées dans l'ensemble du SDLC qui crée un instantané de tous les actifs, outils, dépendances et étapes de processus pour chaque version logicielle de l'organisation.
- Knowledge Graph pour SDLC Intelligence : permet d'analyser l'impact des nouvelles vulnérabilités, des dépendances problématiques ou des contributeurs de code problématiques sur l'ensemble du portefeuille de projets à l'aide de graphiques de connaissances.
- Identification et priorisation continue des vulnérabilités : outils automatisés pour identifier et hiérarchiser les vulnérabilités.
- Surveillance et amélioration continues : mécanismes de surveillance continue pour détecter les vulnérabilités nouvellement publiées après la publication dans le portefeuille de logiciels de l'organisation.
Préparer l'organisation (PO)
La pratique PO vise le niveau organisationnel. Les personnes, les processus et la technologie sont prêts à effectuer un développement logiciel sécurisé.
Scribe aide à gérer les contrôles de bons de commande grâce aux fonctionnalités suivantes :
- Politique en tant que code (GitOps) : la mise en œuvre de politiques de sécurité sous forme de code permet d'établir des garde-fous cohérents pour la sécurité dans l'ensemble du SDLC. Cela correspond à l'accent mis par le SSDF sur l'intégration de la sécurité à chaque étape du développement logiciel.
- Conformité avec des cadres tels que SLSA, SSDF PS et des initiatives personnalisées : le respect de ces cadres garantit que le développement de logiciels s'aligne sur les normes de sécurité reconnues, renforçant ainsi l'engagement de l'organisation en faveur du développement de logiciels sécurisé.
- Communication améliorée : faciliter une communication et une collaboration efficaces entre les équipes sur la base de données probantes réelles et de KPI comme vérité fondamentale commune pour garantir que les exigences de sécurité sont bien comprises et intégrées dans le processus de développement.
- Surveillance et audit continus : mécanismes de surveillance et d'audit continus pour garantir le respect continu des pratiques et politiques de sécurité.
Conclusion
Scribe Security est une plateforme de sécurisation des chaînes d'approvisionnement logicielles. Il est conçu pour répondre à tous les aspects de sécurité liés à la protection des artefacts logiciels et de l'usine logicielle. Il permet une gestion complète et holistique des risques liés aux produits logiciels au sein et entre les organisations et peut servir de centre de confiance logiciel entre les producteurs de logiciels et les consommateurs.
Scribe est aussi un moyen de conformité et prend en charge le cadre SSDF. Il permet de se conformer à d'autres bonnes pratiques telles que SLSA, aux normes spécifiques de l'industrie et aux initiatives d'organisations personnalisées.
Ce contenu vous est proposé par Scribe Security, l'un des principaux fournisseurs de solutions de sécurité de bout en bout pour la chaîne d'approvisionnement logicielle, offrant une sécurité de pointe aux artefacts de code ainsi qu'aux processus de développement et de livraison de code tout au long des chaînes d'approvisionnement logicielles. En savoir plus.