Temps de lecture : 5 min
En juillet 2017, la cyberattaque ayant entrainée la plus grande compromission de données était due une application Web non sécurisée et obsolète. Ce vol de données aurait pu être facilement évitée si la plate-forme « Apache Struts », sur laquelle cette application Web s'exécutait, avait été tout simplement mise à jour avec la version la plus récente. On parle ici bien sûr de l’attaque massive d'Equifax qui a touché plus de 145 millions de clients. La vulnérabilité utilisée pour exposer les données avait été découverte en mars 2017 et l'attaque contre Equifax a commencé en mai mais n'a été révélée qu'en juillet. Avec le recul, cette attaque est devenue un exemple dans l'importance de sécuriser la chaîne d'approvisionnement des logiciels.
Découvrez dans cet article que La sécurisation de la chaîne logistique logicielle va bien au-delà du développement des applications !
Les incidents majeurs de sécurité coûtent cher
Le vol de données ainsi que tout autre attaque majeure peuvent avoir un impact financier très important. Ce coût peut si important qu’il peut mettre en péril une entreprise ors il est surprenant de constater que bon nombre de compagnies concernées ne modifient leur attitude en matière de sécurité qu'après qu'une attaque ait été rendue publique. Un rapport de Kaspersky Labs de 2018 a montré que le vol de données affectant les petites et moyennes entreprises coûte en moyenne 114 000 dollars, alors qu'à l'échelle d’une grande entreprise, elles peuvent coûter en moyenne 1,2 million de dollars.
Dans un autre rapport, Kaspersky souligne que l’un des principaux moyens de prévenir le vol de données consiste à appliquer des correctifs et à mettre à jour ses logiciels. C’est une solution assez simple, mais elle exige d’abord l’entreprise soit consciente des risques de sécurité potentiels. Mais pour être à même d’évaluer un risque de sécurité dans sa globalité, il est impératif de connaitre l’inventaire complet de toutes vos applications d'entreprise, y compris les composants logiciels liés à votre d'infrastructure. C'est dans ce domaine que l'analyse de composition logicielle ou Software Compositon Analysis en anglais (SCA) peut vous aider. Mais comment savoir quand mettre à jour un logiciel si vous ne disposez pas de son code source ? Ors la plupart des composants logiciels de 2ième et 3ième niveaux qui composent bon nombre de stacks logicielles ont ces vulnérabilités « connues » mais qui vous sont « inconnues ». Comment s’assurer que ces codes ne contiennent pas de vulnérabilités ? Une nouvelle classe d’outils SCA apparait aujourd’hui qui permettent de détecter ces vulnérabilités dans ces composants logiciels enfouis de 2ième ou 3ième niveaux : Les SCA binaire.
Dans un autre rapport, Kaspersky souligne que l’un des principaux moyens de prévenir le vol de données consiste à appliquer des correctifs et à mettre à jour ses logiciels. C’est une solution assez simple, mais elle exige d’abord l’entreprise soit consciente des risques de sécurité potentiels. Mais pour être à même d’évaluer un risque de sécurité dans sa globalité, il est impératif de connaitre l’inventaire complet de toutes vos applications d'entreprise, y compris les composants logiciels liés à votre d'infrastructure. C'est dans ce domaine que l'analyse de composition logicielle ou Software Compositon Analysis en anglais (SCA) peut vous aider. Mais comment savoir quand mettre à jour un logiciel si vous ne disposez pas de son code source ? Ors la plupart des composants logiciels de 2ième et 3ième niveaux qui composent bon nombre de stacks logicielles ont ces vulnérabilités « connues » mais qui vous sont « inconnues ». Comment s’assurer que ces codes ne contiennent pas de vulnérabilités ? Une nouvelle classe d’outils SCA apparait aujourd’hui qui permettent de détecter ces vulnérabilités dans ces composants logiciels enfouis de 2ième ou 3ième niveaux : Les SCA binaire.
Analyse SCA Binaire : Une utilisation bien au-delà des équipes de développement logiciel
L'utilisation la plus courante des outils SCA est fait par les équipes de développement logiciels. Cela leur permet, dans un cadre de sécurité, de vérifier les logiciels open source et tiers qu’ils intègrent pour concevoir leur application. Cependant, les outils SCA, tels que GrammaTech CodeSentry, ne sont pas exclusivement des outils de développement logiciel. Bon nombre d’opérations sur les logiciels déployés dans une entreprise ne relèvent pas des équipes de développement.
Par exemple, l'infrastructure Web utilisée est-elle considérée comme faisant partie de la chaîne d'approvisionnement du logiciel lors du développement d’une application ? Cela devrait être le cas, mais il est très courant de voir que les équipes de développement logiciels supposent que, seul, le service informatique est responsable de la sécurité du site Web. Bien sûr, ce sont ces types de silos que l’approche DevSecOps tente de briser, mais ce n’est pas une réalité dans toutes les entreprises. Il y a aussi le problème des applications existantes et héritées qui sont antérieures aux pratiques de sécurité modernes.
Toute entreprise n’est sécurisée qu’à hauteur de l’application la moins sécurisée qu’elle utilise. Il est donc important de considérer la portée de l’analyse SCA va bien au-delà des équipes de développement logiciels. Les outils SCA basés sur l'analyse binaire peuvent aider les organisations à dresser l’inventaire complet des applications, ainsi que les sous-composants logiciels et leurs dépendances qui les composent (Software Bill Of Materials -SBOM), et ce même lorsque le code source n'est pas disponible pour certains composants logiciels. L’analyse SCA binaire permet également de détecter les vulnérabilités de sécurité connues associées à chaque composant.
Par exemple, l'infrastructure Web utilisée est-elle considérée comme faisant partie de la chaîne d'approvisionnement du logiciel lors du développement d’une application ? Cela devrait être le cas, mais il est très courant de voir que les équipes de développement logiciels supposent que, seul, le service informatique est responsable de la sécurité du site Web. Bien sûr, ce sont ces types de silos que l’approche DevSecOps tente de briser, mais ce n’est pas une réalité dans toutes les entreprises. Il y a aussi le problème des applications existantes et héritées qui sont antérieures aux pratiques de sécurité modernes.
Toute entreprise n’est sécurisée qu’à hauteur de l’application la moins sécurisée qu’elle utilise. Il est donc important de considérer la portée de l’analyse SCA va bien au-delà des équipes de développement logiciels. Les outils SCA basés sur l'analyse binaire peuvent aider les organisations à dresser l’inventaire complet des applications, ainsi que les sous-composants logiciels et leurs dépendances qui les composent (Software Bill Of Materials -SBOM), et ce même lorsque le code source n'est pas disponible pour certains composants logiciels. L’analyse SCA binaire permet également de détecter les vulnérabilités de sécurité connues associées à chaque composant.
La solution d’Analyse Binaire CodeSentry
CodeSentry utilise une technique d’analyse binaire approfondie et paramétrable pour créer une nomenclature logicielle détaillée (SBOM) et ainsi que la liste des vulnérabilités connues pour tous les composants détectés, y compris dans les dépendances. CodeSentry suit en permanence ces vulnérabilités tout au long du cycle de vie du logiciel. La SBOM peut être intégrée à chaque application, ce qui rend les demandes d'audit plus fiables. Le principe d'analyse utilisé dans CodeSentry permet d’avoir une précision et un rappel élevés, ce qui en d’autres termes signifie un taux de faux positifs et de faux négatifs très bas.
L’avantage de l’analyse binaire dans la création d’une SBOM complète est que le code source n’est pas nécessaire. L'analyse binaire fournit également une image beaucoup plus précise des composants, des dépendances et des vulnérabilités. Les vulnérabilités détectées peuvent être évaluées sur une base de risque et d'impact pouvant donner lieu à des mises à jour logicielles voire même entrainer des modifications des composants eux-mêmes si nécessaire.
En résumé
La sécurisation de la chaîne logistique logicielle doit s'étendre au-delà des seules équipes de développement logiciels et doit s’appliquer à tous les logiciels en exploitation dans l'entreprise. À mesure que les industriels adoptent des pratiques de sécurité plus sophistiquées, il est important de tenir compte des systèmes existants ou hérités et des risques qui y sont associés. Cela est particulièrement vrai pour les applications destinées au public et les plates-formes associées sur lesquelles elles s'exécutent. L'analyse de composition logicielle binaire est particulièrement adaptée pour fournir une SBOM complète et fiable des applications utilisées ainsi que de l’ensemble des composants logiciels Open Source ou Tiers et leurs dépendances qui les composent ainsi que des vulnérabilités qui y sont associées. La SBOM généré par GrammaTech CodeSentry peut être utilisée pour conduire et justifier les améliorations de la sécurité dans la chaîne logistique logicielle.