Processus de Génération

Model | Implémentation | Génération Sécurisée | Processus de Génération

Benefit

Un risque limité d’erreur humaine lors du process de génération minimisant les problèmes de sécurité

Activity

Définissez le processus de génération en le divisant en un ensemble d’instructions claires devant être suivies soit par une personne, soit par un outil automatisé. La définition du processus de génération décrit l’ensemble du processus de bout en bout afin que la personne ou l’outil puisse le suivre de façon cohérente chaque fois et produise le même résultat. La définition est stockée de façon centralisée et est accessible à tous les outils ou personnes concernées. Évitez d’en stocker plusieurs copies car elles peuvent devenir incohérentes ou périmées.

La définition du processus n’inclut aucun secret (particulièrement ceux nécessaires pendant le processus de génération).

Examinez tous les outils de génération en veillant à ce qu’ils soient activement maintenus par les fournisseurs et à jour avec les derniers correctifs de sécurité. Durcissez la configuration de chaque outil pour qu’il soit aligné avec les conseils des fournisseurs et les bonnes pratiques de l’industrie.

Détermine une valeur pour chaque artefact générépour l’utiliser ultérieurement pour vérifier son intégrité, comme une signature ou une valeur de hachage. Protégez cette valeur et, si l’artefact est signé, le certificat privé de signature .

Assurez-vous que les outils de génération sont régulièrement mis à jour et correctement durcis.

Question

Votre processus complet de génération est-il formellement décrit?

Quality criteria

Vous avez assez d'informations pour recréer les processus de génération
Votre documentation sur la génération est à jour
Votre documentation de la génération est stockée dans un emplacement accessible
Des sommes de contrôle sur les artefacts produits sont créées pendant la génération pour permettre une vérification ultérieure
Vous durcissez les outils utilisés lors du processus de génération

Answers

Non
Oui, pour certaines applications
Oui, pour au moins la moitié des applications
Oui, pour la plupart ou toutes les applications

Benefit

Un processus de génération efficace avec des outils de sécurité intégrés

Activity

Automatisez le processus de génération pour que les compilations puissent être exécutées de manière cohérente à tout moment. Le processus de génération ne devrait généralement nécessiter aucune intervention, réduisant encore la probabilité d’erreurs humaines.

L’utilisation d’un système automatisé augmente la dépendance à la sécurité des outils de génération et rend le durcissement et le maintien des outils encore plus critique. Portez une attention particulière aux interfaces de ces outils, telles que les portails web et la façon dont ils peuvent être verrouillés. L’exposition d’un outil de génération au réseau pourrait permettre à un acteur malveillant d’altérer l’intégrité du processus. Cela pourrait permettre, par exemple, d’intégrer du code malveillant dans un logiciel.

Le processus automatisé peut avoir besoin d’accéder à des informations d’identification et à des secrets requis pour construire le logiciel, tels que le certificat de signature de code ou à certains répertoires. Gérez cela avec précaution. Signez les artefacts générés en utilisant un certificat qui identifie l’organisation ou l’unité commerciale qui l’a construit, afin que vous puissiez vérifier l’intégrité.

Enfin, ajoutez des vérifications de sécurité automatisées appropriées (par exemple en utilisant des outils SAST) dans la chaîne afin de tirer parti de l’automatisation et des avantages liés à la sécurité.

Question

Le processus de génération est-il entièrement automatisé ?

Quality criteria

Le processus de génération à proprement parler ne nécessite aucune interaction humaine
Vos outils de génération sont durcis conformément aux bonnes pratiques et aux conseils du fournisseur
Vous chiffrez les secrets requis par les outils de génération et contrôlez les accès selon le principe du moindre privilège

Answers

Non
Oui, pour certaines applications
Oui, pour au moins la moitié des applications
Oui, pour la plupart ou toutes les applications

Benefit

Garantie que le logiciel généré est conforme aux niveaux de référence de sécurité

Activity

Définissez des contrôles de sécurité appropriés à effectuer pendant le processus de génération, ainsi que des critères minimums pour passer la génération- ceux-ci peuvent différer selon les profils de risque des différentes applications. Incluez les vérifications de sécurité respectives dans la génération et imposez la fin de son processus au cas où les critères prédéfinis ne seraient pas respectés. Déclenchez des avertissements pour les problèmes en dessous du seuil et enregistrez-les dans un système centralisé pour les suivre et prendre des mesures. Si c’est raisonnable, implémentez un mécanisme d’exception pour contourner ce comportement si le risque d’une vulnérabilité particulière a été accepté ou atténué. Toutefois, assurez-vous que ces cas sont approuvés de façon explicite avant tout et consignez leur occurrence avec une justification.

Si des limitations techniques empêchent l’organisation d’arrêter la génération automatiquement, assurez les mêmes effets par le biais d’autres mesures telles qu’une politique claire et un audit régulier.

Gérez la signature de code sur un serveur centralisé séparé qui n’expose pas le certificat au système exécutant la génération. Dans la mesure du possible, utilisez une méthode déterministe qui produit des artefacts reproductibles octet par octet.

Question

Avez-vous mis en place des contrôles de sécurité automatisés dans vos processus de génération?

Quality criteria

La génération échoue si l'application ne répond pas à une référence minimale de sécurité prédéfinie
Vous avez défini une sévérité maximale pour les vulnérabilités
Vous enregistrez les avertissements et les échecs dans un système centralisé
Vous sélectionnez et configurez les outils pour évaluer chaque application par rapport à ses exigences de sécurité au moins une fois par an

Answers

Non
Oui, pour certaines applications
Oui, pour au moins la moitié des applications
Oui, pour la plupart ou toutes les applications

Stream Guidance

There's no guidance for this Stream, yet. Be the first to provide Community guidance!

Want to contribute?

Complete this Google Form with guidance for this Stream.



To learn more about Stream guidance for the SAMM model, see the Stream guidance page.