Google a présenté le projet OSS Rebuild pour détecter les changements cachés dans les paquets

L'entreprise Google a présenté le projet OSS Rebuild, destiné à identifier les modifications cachées dans les paquets prêts à l'emploi publiés dans les dépôts. Le travail d'OSS Rebuild est basé sur le concept de constructions reproductibles et consiste à vérifier la conformité du paquet publié dans le dépôt avec le paquet obtenu par reconstruction à partir du code source de référence, correspondant à la version déclarée du paquet. Le code de l'outil est écrit en langage Go et est distribué sous licence Apache 2.0.

Actuellement, OSS Rebuild prend en charge la vérification des paquets des dépôts NPM (JavaScript/TypeScript), PyPI (Python) et Crates.io (Rust). À l'avenir, le nombre de dépôts pris en charge devrait être élargi. En pratique, l'outil permet d'identifier les variantes d'attaques de type « supply chain », où, après la compromission de comptes d'accompagnement ou une subversion au sein du projet, une mise à jour malveillante est publiée dans le dépôt. Dans ce cas, le code dans le dépôt source du projet principal reste correct, tandis que les modifications malveillantes ne sont apportées qu'aux paquets prêts à l'emploi.

Le système génère automatiquement un scénario pour la construction reproductible du paquet sélectionné, en utilisant l'heuristique et en ajustant les paramètres pour garantir l'identité des artefacts livrés dans le paquet. Si la reproduction automatique du paquet publié dans le dépôt échoue, il est possible d'ajouter manuellement une spécification de construction. Une fois que le paquet a pu être reproduit, l'outil OSS Rebuild conserve une description du processus de construction pour la vérification des nouvelles versions du paquet. De plus, des informations pour la vérification à l'aide du cadre SLSA sont publiées.

Après avoir effectué la vérification d'une version spécifique du paquet, des données d'attestation sont générées, pouvant être utilisées par d'autres pour évaluer les paquets déjà vérifiés. La vérification peut s'effectuer via l'exécution d'un utilitaire en ligne de commande ou en comparant un hash, sauvegardé dans un stockage cloud séparé. L'infrastructure pour la vérification des paquets peut être déployée sur votre propre le serveur. Il est également possible d'accéder aux informations sur les vérifications effectuées par Google pour plusieurs milliers de paquets.

Comme exemples de différentes méthodes d'attaque contre lesquelles OSS Rebuild pourrait protéger, on cite l'ajout d'un backdoor dans XZ, l'injection de code malveillant dans le client JavaScript officiel pour la cryptomonnaie Solana et l'insertion de modifications via le gestionnaire d'actions changed-files :

  • Dans le cas du projet XZ, le code dans le référentiel ne contenait pas de modifications suspectes, et les composants malveillants formant le backdoor étaient fournis dans des fichiers utilisés dans un ensemble de tests pour vérifier le bon fonctionnement du décompresseur XZ. Le backdoor s'activait au niveau du système de construction, tandis que le code source XZ correspondant à celui du référentiel. Les macros m4 activant le backdoor pour l'outil Automake n'étaient incluses que dans l'archive finale du code et étaient absentes du référentiel. Pour détecter de telles attaques, OSS Rebuild utilise une analyse dynamique des artefacts fournis dans le package, des chemins d'exécution et des opérations suspectes.
  • L'insertion de modifications malveillantes dans la bibliothèque @solana/web3.js a eu lieu en raison de la compromission du compte du mainteneur, en utilisant des méthodes d'ingénierie sociale et de phishing. Une nouvelle version a été publiée dans le référentiel NPM, incluant des modifications malveillantes. Dans le référentiel Git du projet, cette version n'avait pas été créée et les modifications malveillantes étaient uniquement présentes dans le package résultant. La protection dans ce cas consiste à détecter dans le package du code absent dans le référentiel principal.
  • La compromission du référentiel du gestionnaire changed-files a permis de mener une attaque sur des projets utilisant changed-files pour suivre les changements de fichiers et de répertoires dans une infrastructure d'intégration continue basée sur GitHub Actions. Pour se protéger contre l'insertion de modifications après la compromission de l'environnement de construction, OSS Rebuild applique une surveillance des changements et des activités suspectes dans des environnements de construction standardisés et épurés.

Source : opennet.ru

Acheter un hébergement fiable pour les sites avec protection DDoS, serveurs VPS VDS 🔥 Acheter un hébergement fiable pour les sites avec protection DDoS, serveurs VPS VDS | ProHoster