Socket - Sécuriser les logiciels open source contre les attaques de la chaîne d'approvisionnement grâce à l'analyse de packages de nouvelle génération

Publié: 2022-05-30

Avec l'avènement et l'omniprésence d'Internet, les entreprises comptent de plus en plus sur la numérisation pour survivre et prospérer dans l'environnement commercial actuel. Mais avec les avantages apportés par les avancées technologiques, ces entreprises doivent faire face à des problèmes. La violation de la cybersécurité est un problème important pour les entreprises, qui peut causer beaucoup de dégâts. Ainsi, pour résoudre ce problème, Socket a lancé sa plateforme de cybersécurité pour aider les entreprises à se protéger contre les attaques de la chaîne d'approvisionnement logicielle. Ces entreprises utilisent la plate-forme de cybersécurité pour protéger leurs applications logicielles et leurs services critiques contre les logiciels malveillants et les menaces de sécurité provenant du code open source.

Lisez aussi : 7 raisons pour lesquelles la gestion des ressources est importante pour les petites entreprises

Fondée par Feross Aboukhadijeh, la société a été fondée en 2021 avec la vision de protéger les écosystèmes open source pour les entreprises. L'accent était mis sur les logiciels open source, qui permettent aux équipes de créer des applications puissantes en un temps plus court. De plus, n'importe qui dans le groupe peut inspecter et contribuer au code. Aboukhadijeh s'est rendu compte qu'en tant que communauté généralement confiante, certains attaquants profitent de cette confiance et de cette ouverture pour mener des attaques effrontées sur la chaîne d'approvisionnement. Il y a eu une croissance sans précédent de l'ampleur des logiciels malveillants open source. Tel est le taux d'augmentation que les inquiétudes ont circulé concernant l'utilisation continue des logiciels open source.

Il y a des raisons pour lesquelles des approches éprouvées et fiables n'ont pas fonctionné pour protéger l'open source. L'ensemble du secteur de la sécurité a toujours été préoccupé par la recherche de vulnérabilités connues, une approche trop réactive pour arrêter une attaque active de la chaîne d'approvisionnement. Les expositions peuvent prendre des semaines ou des mois pour être découvertes.

Dans la culture actuelle de développement rapide, une dépendance malveillante peut être mise à jour, fusionnée et exécutée en production en quelques jours, voire quelques heures. Ce n'est pas assez de temps pour qu'un CVE soit créé et fasse son chemin dans les outils d'analyse des vulnérabilités que les équipes utilisent.

Les attaques et les vulnérabilités de la chaîne d'approvisionnement sont très différentes et nécessitent des solutions très différentes :

️ Des vulnérabilités sont accidentellement introduites par un mainteneur open source. Parfois, il est acceptable d'expédier une vulnérabilité à la production si elle a un faible impact.

️ Les attaques de la chaîne d'approvisionnement sont intentionnellement introduites par un attaquant. Il n'est JAMAIS acceptable d'envoyer des logiciels malveillants pour montrer. Vous devez l'attraper AVANT de l'installer ou d'en dépendre.

Les équipes qui souhaitent faire face aux attaques de la chaîne d'approvisionnement ont actuellement deux options :

  • Faites un audit complet - Lisez chaque ligne de code dans toutes les dépendances. Très peu d'entreprises le font, mais c'est l'étalon-or pour prévenir les attaques de la chaîne d'approvisionnement. Il faut une équipe à plein temps pour gérer ce processus - les audits, les mises à jour, la liste blanche et l'application des correctifs de sécurité critiques. Cette approche est hors de portée de tous sauf des entreprises les plus importantes ou des applications les plus critiques pour la sécurité. C'est beaucoup de travail, c'est lent et c'est cher.
  • Ne rien faire - Croisez les doigts et espérez le meilleur. C'est l'option que la plupart des équipes choisissent. Sur la plupart des unités, n'importe quel développeur peut installer n'importe quelle dépendance pour faire le travail, et personne ne regarde même le code dans ces dépendances avant d'approuver la demande d'extraction. Comme on pouvait s'y attendre, cette approche laisse les entreprises entièrement vulnérables aux attaques de la chaîne d'approvisionnement.

Aucune des deux approches n'est idéale.

Lisez aussi : 10 raisons pour lesquelles les tests de logiciels sont un domaine de carrière en pleine croissance aujourd'hui

Lors du développement de l'application Wormhole (un outil de transfert de fichiers crypté de bout en bout), l'entreprise a dû relever les défis de la sélection, de la gestion et de la mise à jour des dépendances open source au milieu d'un assaut constant d'attaques de la chaîne d'approvisionnement. Cela a conduit à la nécessité d'une solution désastreuse au problème. Et donc, la société a enquêté sur ce que font réellement les attaquants une fois qu'ils ont compromis un paquet. Presque toutes les attaques de chaîne d'approvisionnement dans l'écosystème JavaScript ont suivi un schéma familier. Une fois que l'attaquant a pris le contrôle d'un paquet, il a ajouté des scripts d'installation, des connexions réseau, des commandes shell, un accès au système de fichiers ou du code obscurci. D'autres ont utilisé l'ingénierie sociale, comme le typo-squatting ; cela a fourni la bonne direction pour une solution. La solution innovante suppose que tous les packages open source peuvent être malveillants et fonctionnent en arrière pour détecter de manière proactive les signes de packages compromis. L'entreprise a cherché le moyen le plus simple d'atténuer ce risque sans nuire à la convivialité. Et donc, ils ont décidé d'aider les développeurs à utiliser l'open source en toute sécurité sans sacrifier la vitesse de développement. Au cours des mois suivants, Socket a vu le jour avec ses packages open source populaires.

L'entreprise peut détecter les signes révélateurs d'une attaque de la chaîne d'approvisionnement en analysant de manière statique les packages open source et leurs dépendances. Il alerte ensuite les développeurs lorsque les packages changent de manière pertinente pour la sécurité, en mettant en évidence des événements tels que l'introduction de scripts d'installation, le code obscurci ou l'utilisation d'API privilégiées telles que le shell, le réseau, le système de fichiers et les variables d'environnement. Par exemple, pour détecter si un paquet utilise le réseau, Socket regarde si les modules fetch(), Node's net, dgram, DNS, HTTP ou HTTPS sont utilisés dans le paquet ou l'une de ses dépendances. Si une nouvelle version d'un package - en particulier une version mineure ou un correctif - ajoute du code pour communiquer avec le réseau, c'est un énorme drapeau rouge. Et ainsi, les problèmes de package sont détectés.

La réponse des clients aux produits et services numériques de l'entreprise a été exceptionnelle ! La société a protégé des milliers d'organisations et des dizaines de milliers de référentiels en deux mois depuis son lancement.

Les clients de l'entreprise sont des entreprises qui souhaitent se protéger des attaques. Il ne faut que quelques minutes pour se protéger des attaques de la chaîne d'approvisionnement en installant l'application de l'entreprise.

Histoire suivante : Kaaruka – Une nouvelle marque de vêtements pour les amateurs d'art !

Message aux clients et aux téléspectateurs :

« Les bibliothèques open source sont plus populaires que jamais. Le code open source représentant 80 à 90 % de la plupart des bases de code, il est essentiel de le gérer efficacement pour réduire le risque de sécurité d'une organisation. Les attaques de la chaîne d'approvisionnement logicielle ont explosé l'année dernière et les composants open source sont de plus en plus utilisés comme vecteurs. L'utilisation de dépendances tierces sans vérification appropriée peut entraîner des piratages, des violations et divers problèmes de sécurité. Socket détecte les attaques de la chaîne d'approvisionnement avant qu'une catastrophe ne se produise, évitant ainsi les problèmes de sécurité causés par le code open source en temps réel. Socket offre bien plus qu'une analyse de base des vulnérabilités. En s'intégrant directement dans le flux de travail du développeur, Socket empêche les attaques auxquelles vous ne vous attendez pas : logiciels malveillants, code caché, fautes de frappe et packages trompeurs. Socket aide les développeurs à prendre en charge la santé de leurs dépendances en leur indiquant quel open source ils utilisent, ce qu'il fait (ou pourrait faire) et quels composants sont les plus à risque. En faisant apparaître les informations de sécurité directement en ligne dans GitHub et d'autres systèmes de contrôle de code source, les développeurs peuvent éviter les problèmes de sécurité avant de les mettre en production. »