Trois façons de renforcer la sécurité de votre chaîne d’approvisionnement logicielle


04 janvier 2024L’actualité des hackersPiratage éthique / Évaluation de la vulnérabilité

La quatrième section du « Décret exécutif sur l’amélioration de la cybersécurité du pays » a présenté à de nombreuses personnes du secteur de la technologie le concept de « chaîne d’approvisionnement logicielle » et sa sécurisation. Si vous créez un logiciel et espérez un jour le vendre à une ou plusieurs agences fédérales, vous avoir faire attention à cela. Même si vous n’envisagez jamais de vendre à un gouvernement, comprendre votre chaîne d’approvisionnement logicielle et apprendre à la sécuriser vous rapportera des dividendes grâce à une base de sécurité plus solide et aux avantages qu’elle offre. Cet article examinera trois façons de booster votre Sécurité de la chaîne d’approvisionnement logicielle.

Quelle est votre chaîne d’approvisionnement logicielle ? Il s’agit essentiellement de tout ce qui entre dans la création d’un logiciel : depuis l’IDE dans lequel le développeur écrit le code, jusqu’aux dépendances tierces, en passant par les systèmes de construction et les scripts, jusqu’au matériel et au système d’exploitation sur lesquels il s’exécute. Des instabilités et des vulnérabilités peuvent être introduites, de manière malveillante ou non, depuis la création jusqu’au déploiement et même au-delà.

1 : Gardez vos secrets secrets

Certains des incidents de cybersécurité les plus importants de 2023 se sont produits parce que de mauvais acteurs trouvé secrets en texte brut. Les secrets, dans ce contexte, sont des éléments tels que des combinaisons de nom d’utilisateur et de mot de passe, des clés API, des clés de signature, etc. Ces clés des royaumes corporatifs ont été retrouvées là où elles ne devraient pas être.

Sourcegraph a été mis à jour lorsqu’ils ont publié du code sur une instance publique contenant un jeton d’accès codé en dur. Le jeton a été utilisé pour créer d’autres comptes et donner aux utilisateurs un accès gratuit à l’API Sourcegraph. Un groupe de hackers a eu accès à un environnement de débogage interne de Microsoft et trouvé une clé de signature dans un vidage sur incident qui leur permet de créer des informations d’identification de messagerie.

Des outils comme GitGuardian vous permettent de vérifier votre code, à la fois ancien et à la pointe de la technologie, pour détecter les secrets publiés accidentellement ou les tentatives de publication. Il est important de savoir quels secrets ont pu être divulgués et d’y remédier, ainsi que de mettre en place des protections sous la forme d’outils automatisés et de révisions de code pour garantir que d’autres clés ne soient pas divulguées.

2 : Utilisez SCA pour vous aider à créer votre nomenclature

Dans le domaine de la fabrication, une nomenclature (BOM) est un inventaire complet qui comprend toutes les matières premières, composants et directives nécessaires à la construction, à la fabrication ou à la réparation d’un produit ou d’un service. Les réglementations et les meilleures pratiques en matière de cybersécurité adoptent l’idée d’une nomenclature logicielle qui assure la transparence et la provenance de tous les éléments entrant dans la création de votre logiciel.

Mais vous ne pouvez tout simplement pas créer une nomenclature à partir de votre liste de dépendances déclarées.

Les référentiels de packages tels que NPM, PyPI et l’incorporation de frameworks et de bibliothèques open source ont été salués pour avoir rendu le développement de logiciels plus efficace sans avoir à réinventer les roues. Au lieu de cela, les développeurs pouvaient trouver des packages gratuits implémentant les fonctionnalités dont ils avaient besoin et les intégrer facilement dans leur logiciel.

Ils ont également exposé les développeurs à un réseau croissant de dépendances. Vous aurez peut-être l’impression que « des tortues jusqu’en bas » car vos dépendances ont des dépendances qui ont des dépendances… Vous pouvez même avoir des sous-dépendances sur quatre versions différentes du même package, qui présentent toutes des vulnérabilités différentes.

Les outils d’analyse de la composition logicielle analysent automatiquement la base de code de votre projet et identifient tous les composants externes que vous utilisez, y compris toutes les tortues jusqu’au bout. Ils effectuent ensuite des vérifications pour s’assurer que ces composants sont à jour, sécurisés et conformes aux exigences de licence.

Cela permet non seulement d’identifier les dépendances qui ont des exploits connus afin que vous puissiez les mettre à jour ou les remplacer, mais c’est également d’une grande aide lorsque vous devez générer une nomenclature propre pour inspection par les clients potentiels et les régulateurs.

3 : Allez vous pirater

Le piratage éthique est plus ancien que la plupart des récents diplômés CS. Comme indiqué dans un récent webinaire sur le piratage éthiqueil s’agit « d’identifier et d’exploiter les vulnérabilités des systèmes ou des réseaux informatiques de manière responsable et légal manière. » Notez l’accent mis sur « responsable » et « licite ».

Essentiellement, les pirates éthiques utilisent la plupart des mêmes techniques que les pirates « chapeau noir » pour trouver et exploiter les vulnérabilités d’un système. La différence sur laquelle on ne saurait trop insister est qu’ils le font avec autorisation. Ils s’en tiennent aux systèmes qu’ils ont été autorisés à pirater, puis documentent tout pour que leurs découvertes puissent être reproduites et analysées par l’équipe/client à qui ils les rapportent.

Même si cela peut souvent intervenir à un stade ultérieur du processus de développement, cela reste important. S’ils peuvent déterminer vos dépendances et créer leur propre SCA qui identifie les dépendances vulnérables, la partie est terminée. S’ils parviennent à trouver un point d’entrée non surveillé, la partie est terminée. S’ils testent une application Web et trouvent du code de débogage produisant une sortie confidentielle dans la console, la partie est terminée. Certaines vulnérabilités peuvent être un obstacle, d’autres peuvent nécessiter simplement la suppression d’une ligne de code de débogage.

Intégrer le piratage éthique au processus de publication, rejoindre des programmes de primes aux bogues et bien plus encore peut vous assurer que vous corrigez les problèmes avant de devoir vous en excuser, les signaler aux régulateurs et effectuer le nettoyage.

Résumé

Que vous essayiez de plaire aux régulateurs ou aux clients, renforcer la sécurité de votre chaîne d’approvisionnement logicielle vous permettra de passer plus de temps à vendre vos logiciels et moins de temps à vous en excuser. Et même si ces trois conseils vous donnent une bonne base, vous pouvez en trouver bien plus dans le cadre de sécurité SLSA. Travailler le cadre et sécuriser votre chaîne d’approvisionnement est la façon dont vous obtenez (selon les mots du site SLSA) « de ‘assez sûr’ à être aussi résilient que possible, à n’importe quel maillon de la chaîne. »

Vous avez trouvé cet article intéressant ? Suivez-nous sur Twitter et LinkedIn pour lire plus de contenu exclusif que nous publions.





ttn-fr-57