De la sécurité des applications à la sécurité de la chaîne d’approvisionnement logicielle : une nouvelle approche est nécessaire

Tous Les Articles

L'approche traditionnelle de la sécurisation des produits logiciels se concentre sur l'élimination des vulnérabilités du code personnalisé et sur la protection des applications contre les risques connus liés aux dépendances tierces. Cependant, cette méthode est inadéquate et ne parvient pas à répondre à l’ensemble des menaces posées par la chaîne d’approvisionnement des logiciels. Négliger de sécuriser chaque aspect de cette chaîne, de la production à la distribution et au déploiement, expose les organisations à des attaques telles que les logiciels malveillants, les violations de données et le vol de propriété intellectuelle. Ignorer cette étape critique constitue un grave mépris pour la sécurité de l'organisation.

Dans cet article, nous examinerons la tendance croissante des cyberattaques dirigées contre la chaîne d'approvisionnement en logiciels, ainsi que les récentes avancées réglementaires et les cadres de bonnes pratiques apparus en réponse à ce danger croissant. Nous mettrons également en lumière la nécessité d’une nouvelle stratégie pour sécuriser votre chaîne d’approvisionnement logicielle, une stratégie qui surpasse les mesures de sécurité des applications actuelles. Nous illustrerons pourquoi les investissements actuels dans la sécurité des applications offrent une certaine protection, mais n'atténuent pas complètement vos risques de cybersécurité dans ce domaine. Enfin, nous exposerons ce qui est nécessaire pour les compléter pour une protection complète.

Pour le livre blanc complet cliquez ici >>>

Pourquoi il est important de sécuriser la chaîne d'approvisionnement en logiciels

L'utilisation d'outils tiers, de bibliothèques et de logiciels open source dans le développement de logiciels augmente à la fois la complexité de la chaîne d'approvisionnement logicielle et le risque de vulnérabilités et d'attaques potentielles. Les attaquants peuvent cibler un maillon spécifique de la chaîne d’approvisionnement pour accéder à des informations sensibles ou perturber les opérations. Ces attaques peuvent avoir un impact significatif sur les organisations et leurs partenaires de la chaîne d'approvisionnement. 

Les conséquences de plusieurs attaques de la chaîne d'approvisionnement logicielle a fait la une des journaux ces dernières années. En conséquence, Gartner a prédit Récemment, d'ici 2025, 45 % des organisations dans le monde auront subi des attaques sur leurs chaînes d'approvisionnement logicielles, soit un triplement par rapport à 2021. 

Alors que la sécurité de la chaîne d’approvisionnement logicielle attire de plus en plus l’attention, divers fournisseurs de solutions de sécurité des applications se redéfinissent et proposent des solutions dans ce domaine. Mais la sécurité de la chaîne d’approvisionnement logicielle est-elle simplement un nouveau terme désignant la sécurité des applications traditionnelles, ou s’agit-il d’un segment de marché distinct doté de caractéristiques et de technologies uniques ? La mise en place d'un programme de sécurité des applications (AppSec) est-elle suffisante pour assurer la sécurité de la chaîne d'approvisionnement logicielle, ou les organisations doivent-elles adopter des normes et des technologies distinctes pour garantir la sécurité de leurs logiciels et de leur chaîne d'approvisionnement ? Cette question sera approfondie dans l’article.

Cadres de réglementation et de bonnes pratiques émergents

La Décret exécutif américain sur la cybersécurité et d'autres réglementations similaires reflètent l'importance croissante de la sécurité de la chaîne d'approvisionnement logicielle et la nécessité pour les organisations de prendre des mesures appropriées pour protéger leurs logiciels et leur chaîne d'approvisionnement. L’intérêt croissant manifesté par les principaux acteurs pour l’introduction collective de mesures visant à lutter contre la menace est une évolution positive et témoigne d’une reconnaissance croissante de la nécessité d’une approche coordonnée et à l’échelle de l’industrie pour faire face à cette menace croissante.

Certaines des initiatives clés visant à assurer la sécurité de la chaîne d'approvisionnement en logiciels comprennent : l'amélioration des pratiques de développement de logiciels ; améliorer la visibilité de la chaîne d'approvisionnement ; mettre en œuvre des pratiques sécurisées d’approvisionnement en logiciels ; et développer des capacités de renseignement sur les menaces. Dans l'ensemble, ces initiatives visent à accroître la sécurité des logiciels et de la chaîne d'approvisionnement en réduisant le risque d'attaques et en garantissant que les logiciels sont exempts de vulnérabilités et de codes malveillants.

Vous trouverez ci-dessous un bref aperçu des principales initiatives :

  1. SP 800-21 du NIST Secure Software Development Framework (SSDF) vise à renforcer la sécurité de la chaîne d’approvisionnement en logiciels pour les fournisseurs gouvernementaux américains. Il propose des pratiques de développement sécurisées pour le SDLC des organisations afin de minimiser les vulnérabilités et les menaces futures. Les lignes directrices sont personnalisables et indépendantes du secteur. Lis ça whitepaper pour en savoir plus sur l'impact du SSDF sur l'industrie du logiciel.
  2. L'Office of Management and Budget (OMB) des États-Unis a publié, en 2022, deux notes sur la sécurité de la chaîne d'approvisionnement logicielle et le rôle des SBOM pour garantir la sécurité et l'intégrité de la chaîne d'approvisionnement logicielle. Les organisations doivent se conformer d’ici 2024 et assurer la sécurité de leurs logiciels et de leur chaîne d’approvisionnement. Les agences fédérales doivent mettre en œuvre des lignes directrices, notamment en partageant des informations et en obtenant des artefacts auprès des fournisseurs.
  3. Les niveaux de la chaîne d'approvisionnement pour les artefacts logiciels (SLSA) Framework est un ensemble complet de contrôles et de normes de sécurité conçus pour garantir l’intégrité des chaînes d’approvisionnement logicielles. Il a été développé par OpenSSF, Google et d'autres acteurs de la cybersécurité. En suivant ce cadre de bout en bout, les modifications non autorisées des progiciels peuvent être évitées. L’adoption du SLSA peut aider à se protéger contre les attaques courantes de la chaîne d’approvisionnement. 
  4. La loi européenne sur la cyber-résilience vise à améliorer la cyber-résilience des organisations dans l’UE. Cela oblige les organisations à mettre à disposition des SBOM pour tous les produits logiciels qu'elles utilisent afin de les aider à identifier et à traiter rapidement les vulnérabilités de sécurité potentielles. La loi exige également que les organisations signalent les vulnérabilités à ENISA/CERT-UE
  5. Le Centre pour la sécurité Internet (CIS) a développé le CIS Software Supply Chain Security Guide, qui couvre les phases de la chaîne d'approvisionnement logicielle, de la contribution du code à la livraison aux consommateurs finaux. Le guide fournit les meilleures pratiques pour sécuriser la chaîne d'approvisionnement logicielle, notamment l'établissement d'un programme de sécurité, la mise en œuvre de pratiques de développement sécurisées, la réalisation régulière d'évaluations de sécurité des fournisseurs, la mise en œuvre de contrôles de sécurité pour la distribution et le déploiement et la surveillance continue des vulnérabilités et des attaques.
  6. magasin de signatures est un projet open source axé sur la sécurisation des chaînes d'approvisionnement en logiciels. Il fournit une méthode pour mieux sécuriser les chaînes d’approvisionnement en logiciels de manière ouverte, transparente et accessible. La clé pour sécuriser les chaînes d’approvisionnement logicielles réside dans la signature numérique des différents artefacts qui composent les applications. Sigstore vise à rendre la signature de logiciels omniprésente et plus facile en fournissant une solution simplifiée et plus rapide, par rapport aux solutions de signature numérique traditionnelles. Le projet crée également un journal d'activité ouvert et immuable.

L'objectif et les tâches de la discipline AppSec

L'équipe AppSec des organisations de producteurs de logiciels matures se concentre sur la sécurisation des logiciels via la formation des développeurs, la révision du code, l'analyse automatique et la surveillance des dépendances. Les outils les plus courants sont les tests de logiciels d'application statiques et dynamiques (SAST et DAST) pour tester les applications, et l'analyse de la composition logicielle (SCA) pour détecter les vulnérabilités connues dans les dépendances open source. 

Pour faire face à l’évolution du paysage des menaces, plusieurs solutions plus récentes ont été conçues et adoptées. L'une de ces solutions consiste à utiliser des outils de détection de secrets, qui aident les organisations à identifier les secrets tels que les informations d'identification, les clés API et les données sensibles qui peuvent avoir été involontairement divulguées dans le code. De plus, de nouveaux outils d'analyse ont été créés pour détecter les vulnérabilités des conteneurs et de l'infrastructure en tant que code (IaC) dans les environnements de cloud computing, permettant aux organisations de garantir la sécurité de leurs applications lors de leur transition vers le cloud.

Pour gérer la vaste gamme d'outils de sécurité, des solutions d'orchestration ont vu le jour pour fournir une vue unifiée de la sécurité dans l'ensemble du SDLC. Ces solutions centralisent la gestion des outils et des politiques de sécurité, rationalisant le processus de sécurité et réduisant le risque de vulnérabilités manquées.

Le tri, la déduplication et la priorisation des alertes de sécurité font partie des défis majeurs auxquels sont confrontés les propriétaires d'AppSec. Il peut être difficile de gérer le volume d’alertes et de déterminer celles qui nécessitent une attention immédiate et celles qui peuvent être ignorées. De plus, les propriétaires d'AppSec doivent évaluer l'impact des vulnérabilités sur leurs systèmes spécifiques, ce qui nécessite une compréhension approfondie de la pile technologique et des applications.

L'approche AppSec couvre le SDLC depuis l'écriture du code jusqu'à la construction, l'empaquetage et les tests et est cruciale pour réduire les vulnérabilités du code personnalisé et des composants open source, atténuant ainsi la responsabilité des producteurs et des opérateurs de logiciels. Les principaux fournisseurs dans ce domaine incluent Veracode, Checkmarx, Snyk, Synopsis et Fossa.

Le diagramme ci-dessous offre un aperçu simplifié du marché AppSec, mettant en avant plusieurs acteurs clés. 

Diagramme

Une vue simplifiée du paysage du marché AppSec

Même si les solutions AppSec peuvent être efficaces pour détecter les vulnérabilités connues et les modèles de code non sécurisés, elles ont tendance à être réactives plutôt que proactives ; ils ne réduisent pas de manière proactive la surface d’attaque. De plus, le volume élevé d’alertes faussement positives générées par les scanners peut compliquer la tâche des développeurs qui doivent se concentrer sur les problèmes de sécurité les plus critiques. Le processus d'analyse peut également prendre du temps et perturber le calendrier de développement, ajoutant des frictions au processus de développement et ralentissant la sortie de nouveaux logiciels.

Le rôle émergent de la sécurité de la chaîne d’approvisionnement logicielle

Les solutions AppSec négligent les zones du SDLC qui peuvent être vulnérables aux attaques et qui affectent la chaîne d'approvisionnement logicielle. Ces domaines incluent les outils de développement, les référentiels de code, les systèmes de gestion de code source, les serveurs de build et les systèmes de registre d'artefacts, qui peuvent contenir des vulnérabilités et des erreurs de configuration.

D'un autre côté, du point de vue des consommateurs de logiciels, une préoccupation commune est que les logiciels tiers peuvent introduire des vulnérabilités de sécurité difficiles à détecter et à atténuer. Il est important que les consommateurs évaluent et vérifient minutieusement les logiciels qu'ils utilisent, ainsi que les surveillent et les mettent à jour régulièrement pour réduire ces risques.

Pour surmonter ces défis, les producteurs de logiciels comme les consommateurs doivent adopter une approche plus large. Les producteurs de logiciels doivent s'intégrer à toutes les étapes du SDLC et tirer parti des outils automatisés pour répondre aux menaces de sécurité.

  • Gestion de la posture CI/CD – Pour sécuriser la chaîne d’approvisionnement logicielle, un SDLC sécurisé est crucial. La gestion de la posture CI/CD automatise la découverte et applique les pratiques de sécurité. La visibilité sur SDLC et l’utilisation sécurisée de l’infrastructure dans les environnements de développement constituent aujourd’hui un défi pour les entreprises. La gestion de la posture CI/CD doit inclure l'authentification du serveur, les restrictions sur les dépôts/compartiments publics et l'expiration des clés. Limiter les pratiques de développement risquées, telles que l'exécution de ressources non vérifiées et le référencement d'images modifiées en externe, améliore la sécurité des logiciels et réduit le risque d'attaque de la chaîne d'approvisionnement.
  • Attestation et provenance – Le maintien de la sécurité de la chaîne d'approvisionnement des logiciels nécessite une attestation (vérification de l'authenticité du logiciel) et un suivi de la provenance (origine, propriété et garde). L'attestation et la provenance éclairent les décisions de confiance, réduisant ainsi les risques de falsification, les vulnérabilités et la sécurité inadéquate lors du développement tout en garantissant la conformité aux normes de l'industrie.
    Pour mettre en œuvre efficacement l'attestation et la provenance, les preuves provenant de sources telles que les gestionnaires de code source, les outils CI, les serveurs de build, etc. doivent être collectées et signées cryptographiquement. Les preuves incluent l’identité du développeur, la preuve de révision du code, les hachages de fichiers/artefacts et l’état de sécurité des outils. Les politiques relatives aux attestations garantissent un développement et une construction sécurisés, une validation de falsification et une conformité aux normes telles que SSDF et SLSA.
    Les API et solutions d'observabilité existantes ne peuvent pas collecter de preuves, signer des attestations et créer des traces de provenance. De nouveaux agents doivent être développés pour retracer les données générées pendant le SDLC et signer les preuves d'intégrité et d'authenticité.

Dans le même but, au-delà du SDLC, les producteurs et les consommateurs de logiciels doivent rechercher les moyens d’atteindre les objectifs suivants :

  • Conformité continue – La vérification continue permet de maintenir la conformité et de se protéger contre les vulnérabilités même après le déploiement. Cela implique une surveillance et une vérification continues de la sécurité des composants logiciels tout au long du processus de développement et de déploiement de logiciels. Un SBOM est un outil important de vérification continue qui répertorie les composants logiciels et leurs versions utilisées dans un projet. Les SBOM facilitent les analyses de vulnérabilité, aident les organisations à garder une longueur d'avance sur les menaces de sécurité potentielles et garantissent la conformité aux réglementations et normes telles que SSDF.
  • Partagez les SBOM et les attestations et surveillez les risques en continu – Disposer de SBOM et surveiller en permanence les risques potentiels est crucial pour maintenir la sécurité et la conformité des logiciels. Les SBOM offrent aux consommateurs un moyen de gérer les risques, de détecter les vulnérabilités, de rejeter les composants de mauvaise réputation et de garantir la sécurité de la chaîne d'approvisionnement grâce à l'attestation.

Les quatre points ci-dessus constituent les quatre pierres angulaires de la sécurité de la chaîne logistique logicielle et les critères de choix d'une solution dans ce domaine.

Diagramme

Paysage du marché de la sécurité de la chaîne d’approvisionnement logicielle à propos d’AppSec

Conclusion

Alors que le développement de logiciels et l’utilisation de composants tiers continuent de se développer, la nécessité d’une approche globale et intégrée de la sécurité de la chaîne d’approvisionnement logicielle est devenue de plus en plus importante. Les mesures AppSec traditionnelles sont toujours importantes, mais ne suffisent plus à protéger pleinement contre l'évolution du paysage des menaces, et les organisations doivent adopter une approche plus globale pour garantir la sécurité de leur chaîne d'approvisionnement logicielle. 

Pour surmonter l'évolution des défis de sécurité, nous assistons actuellement à l'évolution de la sécurité des applications vers la sécurité de la chaîne d'approvisionnement logicielle. Il comprend une nouvelle génération de technologies et de nouveaux outils qui tentent de relever ces défis. Les producteurs de logiciels doivent intégrer de nouvelles technologies de sécurité qui tirent parti des cadres et outils modernes, et ils doivent le faire à toutes les étapes du SDLC et utiliser des outils automatisés, tels que la gestion de la posture CI/CD, la technologie d'attestation et de provenance, la signature de code continue, une conformité et une gouvernance continues, ainsi que des SBOM précis et haute fidélité. Les consommateurs de logiciels devraient exiger des SBOM et d'autres attestations fondées sur des preuves concernant tous les aspects de sécurité des logiciels qu'ils utilisent de manière continue, avant et après le déploiement du logiciel en production pendant tout son cycle de vie.

Outils et solutions automatisés comme Scribe aider les organisations à atteindre un nouveau niveau de sécurité en fournissant une plate-forme d'assurance continue de la sécurité du code, fondée sur des preuves, qui peut attester de la fiabilité du cycle de vie du développement logiciel et des composants logiciels.

Pour le livre blanc complet cliquez ici >>>

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.