Cyberattaques et défense en pratique
Une entreprise utilise une bibliothèque à usage interne nommée acme-utils, placée dans son dépôt de paquets interne (registre privé). Un attaquant a enregistré dans un dépôt de paquets public un paquet du même nom, acme-utils, avec un numéro de version plus élevé, et il s'est avéré que, selon les paramètres de build, l'environnement de build interne pouvait récupérer le paquet de l'attaquant. Quelle contre-mesure à cette « confusion de dépendances » (dependency confusion) est la plus appropriée ?
- AGarder petits les numéros de version des bibliothèques à usage interne pour les distinguer facilement des paquets du dépôt public
- BPlacer les paquets à usage interne dans un espace de noms géré par l'organisation, configurer cet espace de noms pour qu'il ne soit récupéré que depuis le dépôt interne, et figer les versions et les valeurs de hachage avec un fichier de verrouillage
- CLes paquets des dépôts publics sont contrôlés et fiables ; il n'est donc pas nécessaire de configurer le dépôt depuis lequel on les récupère
Afficher la réponse et l'explication
Réponse : B. Placer les paquets à usage interne dans un espace de noms géré par l'organisation, configurer cet espace de noms pour qu'il ne soit récupéré que depuis le dépôt interne, et figer les versions et les valeurs de hachage avec un fichier de verrouillage
La confusion de dépendances est une forme d'attaque par la chaîne d'approvisionnement logicielle. Certains gestionnaires de paquets consultent plusieurs dépôts et, selon leurs paramètres, choisissent le numéro de version le plus élevé quand un même nom existe ; les attaquants en abusent pour faire récupérer un paquet malveillant portant le même nom qu'un paquet interne. La contre-mesure consiste à utiliser pour les paquets internes un espace de noms (scope) géré par l'organisation, à ne lier cet espace de noms qu'au dépôt interne et à indiquer explicitement depuis quel dépôt chaque paquet est récupéré. En outre, figer les versions et les valeurs de hachage des dépendances avec un fichier de verrouillage empêche qu'elles soient remplacées à l'insu de tous par autre chose. Enregistrer le premier l'espace de noms de l'organisation dans le dépôt public aide aussi à empêcher l'usurpation.
Continuer : 9 autres questions sur Cyberattaques et défense en pratique