Analyse de la porte dérobée xz
- Filippo Valsorda a observé plusieurs personnes en train de faire de la rétro-ingénierie de la porte dérobée xz et a partagé les premiers résultats de son analyse.
- Le hook
RSA_public_decrypt vérifie la signature d’une clé Ed448 fixe sur la clé d’hôte du serveur, puis transmet la charge utile au système.
- Il ne s’agit pas d’un contournement de l’authentification, mais d’une exécution de code à distance (RCE), utilisable une seule fois et non rejouable.
Attaque de la chaîne d’approvisionnement
- Cette attaque pourrait être l’attaque de la chaîne d’approvisionnement la mieux exécutée jamais décrite publiquement, malveillante, compétente et survenue dans l’upstream officiel d’une bibliothèque largement utilisée.
- L’attaque semble avoir été découverte par hasard, et l’on peut se demander combien de temps elle serait restée inaperçue autrement.
Extraction et vérification de la charge utile
- La charge utile est extraite de la valeur N (clé publique) transmise à
RSA_public_decrypt, vérifiée à l’aide d’une empreinte simple, puis déchiffrée avec une clé ChaCha20 fixe avant la vérification de la signature Ed448.
Fonction RSA_public_decrypt
RSA_public_decrypt assure une fonction de vérification de signature, même si son nom peut sembler étrange.
- La vérification d’une signature RSA effectue la même opération que le chiffrement RSA.
Certificats OpenSSH et contrôle par l’attaquant
- La clé publique
RSA_public_decrypt peut être contrôlée par l’attaquant avant l’authentification via l’utilisation de certificats OpenSSH.
- Les certificats OpenSSH incluent la clé publique du signataire, et OpenSSH vérifie la signature lors de l’analyse.
Script d’envoi d’une clé publique personnalisée vers le système backdooré
- Un script écrit par Keegan Ryan permet d’utiliser une fonction hook pour insérer une clé publique personnalisée dans le certificat afin qu’elle atteigne le système backdooré.
Garde-fous de la porte dérobée
- La porte dérobée revient à un fonctionnement normal si la charge utile est invalide ou si la signature de clé de l’attaquant ne peut pas être vérifiée.
- Cela signifie que, sauf découverte d’un bug, il n’est pas possible d’écrire un scanner fiable et réutilisable via le réseau.
Avis de GN⁺
- Ce type de porte dérobée représente une menace grave pour la sécurité des systèmes, et son impact peut être encore plus important lorsqu’elle est insérée dans une bibliothèque largement utilisée.
- Le fait que l’attaque ait été découverte par hasard met en lumière les faiblesses des systèmes de sécurité et souligne l’importance d’une surveillance et d’audits continus.
- Cet article peut contribuer à renforcer la sensibilisation à la sécurité de la chaîne d’approvisionnement logicielle et à alerter les développeurs comme les administrateurs système.
- Pour faire face à des menaces de sécurité comme les portes dérobées, il est recommandé d’utiliser des outils de sécurité open source ou des scanners de vulnérabilités. Par exemple, des outils comme OWASP ZAP ou Nessus peuvent être utiles.
- Lors de l’adoption de nouvelles technologies ou de nouveaux projets open source, il convient d’examiner rigoureusement les aspects de sécurité et de mettre en place des mesures appropriées pour protéger les systèmes contre ce type d’attaque.
Aucun commentaire pour le moment.