Les gestionnaires de paquets vérifiaient déjà les signatures, mais la recherche a montré que les systèmes de mise à jour populaires partageaient encore des modes de défaillance profonds : métadonnées périmées, miroirs malveillants, retour en arrière, données sans fin et compromission d'une clé unique pouvaient tromper les clients.
Le choix de conception de TUF a été de cesser de traiter la confiance des mises à jour comme une seule signature. Sa spécification répartit la responsabilité entre des rôles, utilise des métadonnées avec versions et expiration, et minimise les dommages causés par la compromission de clés en ligne grâce à la délégation et à des seuils.
Les travaux sur TUF ont commencé fin 2009, en s'appuyant sur la recherche sur les attaques contre les gestionnaires de paquets et sur le programme de mise à jour Thandy de Tor. La CNCF a accepté TUF le 24 octobre 2017 et l'a fait passer au statut Graduated le 18 décembre 2019.
Ne laissez pas une seule clé tout signifier
La séparation des rôles limitait ce qu'un attaquant pouvait faire avec une clé volée.
Les métadonnées timestamp et snapshot rendaient détectables les vues périmées ou incohérentes du dépôt.
Le framework sécurisait les mises à jour sans définir de format de paquet universel.
Les délégations permettaient aux grands dépôts de répartir l'autorité de signature sans abandonner la racine de confiance.
Une norme de mise à jour sécurisée peut préserver le flux de travail de chaque gestionnaire de paquets si elle standardise les métadonnées de confiance qui l'entourent.
Suites
TUF est devenu un projet CNCF au statut Graduated et un modèle de référence pour la sécurité des mises à jour. Son schéma de métadonnées fondé sur les rôles a influencé les systèmes de chaîne d'approvisionnement ultérieurs parce qu'il résolvait le problème des mises à jour sans remplacer chaque gestionnaire de paquets.
VÉRIFIEZ LES SOURCES
Les sources
- The Update Framework Specification The Update Framework · theupdateframework.io ·
- The Update Framework (TUF) Cloud Native Computing Foundation · cncf.io