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 ?

  1. AGarder petits les numéros de version des bibliothèques à usage interne pour les distinguer facilement des paquets du dépôt public
  2. 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
  3. 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.

S'entraîner sur ce thème Retour au thème

Autres questions sur Cyberattaques et défense en pratique

  1. Dans l'incident SolarWinds, découvert en décembre 2020, des attaquants se sont introduits dans l'environnement de build d'un logiciel d'administration informatique et du code malveillant a été inséré dans des mises à jour légitimes. Ces mises à jour ont été distribuées avec la signature de code légitime du développeur. Quel est l'enseignement le plus approprié de cet incident ?
  2. On a découvert que des fichiers contenant des informations sur des clients, placés dans un stockage objet dans le cloud, pouvaient être lus par n'importe qui sur Internet. Quelle association entre une cause typique de ce genre de fuite et une mesure pour éviter qu'elle ne se reproduise est appropriée ?
  3. Une clé d'accès avec des privilèges d'administrateur autorisant toutes les opérations (un identifiant valable longtemps) avait été écrite dans un fichier de configuration et fournie à un traitement par lots exécuté dans le cloud. Quelle révision est la plus appropriée pour réduire les dommages si cette clé fuit ?
  4. Un attaquant a obtenu le mot de passe d'un employé, a répété la connexion des dizaines de fois et a inondé le smartphone de l'employé de notifications demandant une approbation. Agacé, l'employé a appuyé machinalement sur « Approuver ». Quelle contre-mesure à cette attaque est la plus appropriée ?
  5. Quelle est la raison correcte pour laquelle l'authentification par clés d'accès (passkeys) FIDO2 (WebAuthn) est considérée comme plus résistante à l'hameçonnage que les mots de passe à usage unique (OTP) ?