Fin d'une ressource ouverte : Dissiper le fantasme
Publié: 2022-03-31Poursuivant la divulgation de la vulnérabilité Log4j en décembre 2021 et la nouvelle circonstance d'un développeur sabotant ses propres bibliothèques Javascript - 'color.js' et 'faker.js', l'état des logiciels informatiques open source a été remis en question.
Avec une réunion très médiatisée à la propriété White sur l'open source et les ordres du gouvernement du président américain Biden, certains ont même suggéré que c'était la « conclusion de l'open open source ». Bien qu'il puisse être tentant de considérer une vulnérabilité majeure comme un signe d'ouverture de l'offre restant en quelque sorte déficiente, la vérité est loin de là.
Les logiciels open source ne sont ni plus ni moins sûrs que les progiciels d'entreprise. En réalité, la plupart des logiciels informatiques professionnels comportent ou fonctionnent éventuellement sur des systèmes open source. L'offre ouverte signifie uniquement que le logiciel est formulé de manière à ce que le code d'offre soit accessible à toute personne qui le souhaite.
Ce que nous avons vu avec la réponse Log4j de l'équipe Apache Log4j est précisément ce que nous espérions voir - une équipe qui prend au sérieux le progiciel qu'elle développe et qui répond actuellement aux désirs de sa fondation. Considérant qu'ils sont bénévoles, ce genre de réponse est révélateur du plaisir de la propriété que nous voyons fréquemment à l'intérieur des communautés de ressources ouvertes.
Plutôt que d'inciter à la fermeture de l'open source, un incident comme Log4j est plus susceptible d'améliorer l'amélioration de l'open source dans son ensemble - un peu de la même manière que Heartbleed a amélioré les méthodes de progression des deux groupes de croissance de source ouverte et fermée. Donc, si l'open source est répertorié ici pour continuer à l'être, que devraient faire les entreprises pour mieux détecter et atténuer les vulnérabilités ?
Aborder la protection des logiciels informatiques au niveau organisationnel
Parfaitement, la stratégie d'identification et d'atténuation des vulnérabilités nous oblige à définir certains rôles dès le départ. La plupart des individus souhaitent que leurs fournisseurs de progiciels, c'est-à-dire les personnes qui développent les logiciels informatiques dont ils dépendent, vérifient ces logiciels. Le résultat final de ces tests serait un ensemble de résultats mettant en évidence les faiblesses du logiciel fourni par le fournisseur. Dans un monde formidable, chacune de ces faiblesses serait résolue avant l'expédition et la livraison du programme.
Dans la planète authentique, même ainsi, certaines de toutes ces faiblesses seront prédéfinies, certaines seront marquées comme "aucun programme à corriger" et certaines seront résolues avec optimisme dans un lancement à long terme. Quelle est la liste des faiblesses, et lesquelles ont fini par être définies, n'est pas un petit quelque chose qu'un fournisseur divulgue habituellement. De plus, aucun outil ne peut découvrir toutes les faiblesses, et certains ne font le travail que si vous avez le code de ressource, bien que d'autres personnes exigent un logiciel en cours d'exécution.
Vous remarquerez qu'aucune mention n'a été faite du mot «vulnérabilité» dans ce document, car il a une indication spécifique et fondamentale. Dans l'application, une vulnérabilité est simplement une faiblesse qui peut être exploitée ou qui a une opportunité réaliste d'exploitation.
La plupart des vulnérabilités, mais pas toutes, sont divulguées via une procédure centralisée reconnue comme les bases de données nationales sur les vulnérabilités, ou uniquement la NVD. Même si le NVD a ses racines aux États-Unis et est pris en charge par les autorités américaines, le contenu du NVD est accessible à tous et reproduit dans plusieurs endroits internationaux. D'un point de vue de la gouvernance, vérifier les améliorations apportées au contenu de la NVD est un excellent moyen de se tenir au courant des meilleures nouvelles divulgations de vulnérabilités.
Le problème est que les mises à jour NVD sont plus lentes que la couverture médiatique, donc avec des vulnérabilités clés comme Log4Shell, HeartBleed et Dirty Cow, l'équipe trouvant la vulnérabilité pourrait éventuellement créer un titre de marque pour la vulnérabilité dans un effort pour élargir la conscience de la difficulté. Produire un plan de gouvernance qui filtre la protection médiatique de ces cyber-rassemblements n'est certainement pas une pratique fantastique.
Si la couverture médiatique comme entrée dans l'administration de la vulnérabilité est une mauvaise idée, et que le NVD est un peu graduel pour présenter tous les faits, quelle est alors la politique de gouvernance la plus efficace ? Cela proviendra d'une forme d'outil de sécurité connu sous le nom de "Software Composition Analysis", ou SCA. Un logiciel SCA semble être à la fois le code source d'une application, ou l'exécutable ou les bibliothèques qui définissent l'application, et tente de déterminer quelles bibliothèques open source ont été utilisées pour créer ce logiciel.
La liste de ces bibliothèques de personnes est connue sous le nom de SBOM, ou Computer Bill of Materials. En supposant que l'application SCA fasse son travail efficacement, une politique de gouvernance peut être établie qui mappe les détails NVD au SBOM afin que vous sachiez quoi corriger… Sauf qu'il y a néanmoins ces faits NVD latents à prendre en compte.
Certains des instruments SCA beaucoup plus performants résolvent ce problème en générant des avis qui alertent de manière proactive les clients lorsqu'il y a une entrée NVD en attente, mais dans lesquels les détails de cette entrée NVD sont augmentés par le fournisseur SCA. Certains des équipements les plus à la pointe de la technologie se consacrent également au dépistage ou à la validation des variantes du logiciel informatique concernées par la divulgation de la vulnérabilité.

Néanmoins, bien que le logiciel SCA puisse combler le fossé entre la divulgation et l'identification, il convient de noter qu'il présente une limitation fondamentale. Si le programme SCA n'a pas analysé tous vos programmes, il ne peut au mieux signaler de nouvelles divulgations de vulnérabilité que pour un sous-ensemble de vos programmes.
Du point de vue de la couverture de la gouvernance, il obtient ensuite une opération informatique pour établir tous les logiciels et une fonctionnalité d'approvisionnement pour s'assurer que toutes les applications, telles que les mises à jour et les téléchargements gratuits, les deux apparaissent sous un SBOM et que le SBOM est validé en appliquant Logiciel SCA. Étant donné que le programme est disponible à la fois dans les formats source et binaire, il est important que les équipes de gouvernance qui s'engagent dans cette voie choisissent le logiciel SCA qui peut efficacement exécuter des logiciels informatiques dans toutes les variétés et tous les formats. Ces types de plan de gouvernance aideraient à identifier les nouvelles divulgations de vulnérabilités et l'impact sur l'entreprise, mais laisseraient le rôle de l'atténuation productive à une politique unique, étant donné que l'atténuation exigerait des tests logiciels.
S'assurer de la sécurité de sa propre ingénierie n'est qu'un point, mais l'élégance de l'open-ressource est qu'il est conçu pour être collaboratif.
Pour paraphraser Abraham Lincoln, la ressource ouverte est le savoir-faire du peuple, par les individus et pour les individus. Le mouvement open source à la mode a été lancé sur le principe de base selon lequel si vous n'aimiez pas la façon dont le code fonctionnait, vous étiez libre de le modifier et de vous attaquer à toutes les lacunes de fonctionnalité qui finiraient par être perçues.
Un élément de la difficulté à laquelle nous sommes confrontés ces jours-ci est le sentiment que les consommateurs ou les utilisateurs finaux de projets open source se comportent comme si le défi de l'open supply était un vendeur d'applications métier.
Si vous regardez la liste des défis de toute entreprise de ressources ouvertes raisonnablement connue sur GitHub, vous verrez des demandes de fonction et des commentaires sur le moment où certains problèmes peuvent être résolus. Ces histoires de problèmes et ces griefs concernant la facilité d'entretien supposent implicitement qu'un responsable de produits répond à ces demandes de personnes et qu'elles seront ajoutées à une feuille de route et à un moment donné lancées, le tout sans frais.
En fait, les lacunes dans les fonctionnalités et même dans les bogues perçus signifient des chances de ne pas demander des services d'experts en programmation gratuits, mais comme une alternative pour contribuer aux réalisations à long terme du code qui est essentiellement crucial pour la personne qui se plaint.
Bien sûr, certaines personnes ne connaîtront pas le langage de programmation utilisé par le projet, mais s'attendre à ce que d'autres personnes accordent la priorité à une plainte d'un tiers inconnu plutôt qu'à des variantes qui résolvent les complications pour les contributeurs énergiques n'est pas réaliste. Autant que n'importe quoi du tout, les fonctionnalités de ressources ouvertes via l'altruisme des contributeurs.
Au-dessus de la modernité depuis longtemps, nous avons écouté les principaux contributeurs pour les ennuis spécifiques bien connus des emplois ouverts dans les ressources concernant les revenus réalisés par les grandes entreprises grâce à l'utilisation de leur progiciel. Bien qu'il soit facile de s'identifier à quelqu'un qui met son pouvoir dans une tâche uniquement pour qu'un tiers profite des tentatives, la réalité est que si ce troisième parti profite des tentatives d'une équipe de développement de ressources ouvertes, alors ils devraient contribuer à son succès à long terme.
S'ils ne le font pas, ils courent le risque que non seulement le code en question se transforme en méthodes sur lesquelles ils ne s'attendaient pas, mais aussi que lorsque les problèmes de protection sont identifiés et résolus, ils peuvent avoir des retards dans l'application des correctifs personnels. Après tout, si une petite entreprise ne prend pas le temps d'interagir avec les équipes produisant le logiciel informatique qui alimente son entreprise, il est possible qu'elle ne connaisse pas l'origine de tous les programmes qui alimentent son entreprise et ne puisse pas corriger de manière fiable ce.
La découverte de vulnérabilités dans l'offre ouverte n'est pas un problème, mais la détection de défauts de programme représentant une faiblesse qui pourrait être exploitée est un sujet important. Bien que les logiciels à source ouverte et à alimentation fermée aient un potentiel équivalent de problèmes de stabilité, avec une ressource ouverte, il est possible pour quiconque de déterminer tous ces problèmes. Dans cette optique, les organisations doivent prendre des mesures proactives - qui ne dépendent pas de la protection des médias - pour surveiller les vulnérabilités les plus récentes.
Tout aussi important, ils doivent jouer un rôle contributif aux tâches d'approvisionnement ouvertes dont ils sont récompensés, sinon ils pourraient être victimes de variations de code imprévues ou d'une prise de conscience retardée de correctifs importants.
Tim Mackey est stratège principal en matière de protection chez Synopsys .