Le cadre de mise à jour, un moyen de vérifier et de télécharger en toute sécurité les mises à jour

Il a été annoncé le sortie de la nouvelle version 1.0 de The Update Framework, mieux connu sous le nom de TUF et qui se caractérise par être un cadre qui fournit un moyen de vérifier et de télécharger les mises à jour en toute sécurité.

L'objectif principal du projet est de protéger le client des attaques typiques aux référentiels et à l'infrastructure, y compris la lutte contre la promotion de fausses mises à jour par des attaquants créés après avoir obtenu l'accès à des clés pour générer des signatures numériques ou compromettre le référentiel.

À propos de TUF

Le projet développe un certain nombre de bibliothèques, de formats de fichiers et d'utilitaires qui peuvent être facilement intégrés dans les systèmes de mise à jour d'applications existants, offrant une protection en cas de compromission des clés par les développeurs de logiciels. Pour utiliser TUF, il suffit d'ajouter les métadonnées nécessaires au référentiel et d'intégrer les procédures fournies dans TUF pour charger et vérifier les fichiers dans le code client.

Le cadre TUF se charge de rechercher une mise à jour, de télécharger lemettre à jour et vérifier son intégrité. Le système d'installation de la mise à jour ne croise pas directement les métadonnées supplémentaires, qui sont vérifiées et téléchargées par TUF.

Pour l'intégration avec les applications et les systèmes d'installation de mise à jour, une API de bas niveau pour accéder aux métadonnées et la mise en œuvre d'une API client de haut niveau ngclient, prête pour l'intégration d'applications, sont fournies.

Parmi les attaques que TUF peut contrer sont les substitution de version sous couvert de mises à jour pour bloquer les correctifs de vulnérabilités dans le logiciel ou ramener l'utilisateur à une version vulnérable précédente, ainsi que la promotion de mises à jour malveillantes correctement signé à l'aide d'une clé compromise, effectuant des attaques DoS sur les clients, comme remplir le disque avec une mise à jour sans fin.

Protection contre la compromission de l'infrastructure du fournisseur de logiciels est réalisé en conservant des enregistrements vérifiables distincts de l'état du référentiel ou de l'application.

Les Les métadonnées vérifiées par TUF incluent des informations clés fiables, des hachages cryptographiques pour évaluer l'intégrité des fichiers, des signatures numériques supplémentaires pour vérifier les métadonnées, les informations sur le numéro de version et les informations sur la durée de vie des enregistrements. Les clés utilisées pour la vérification ont une durée de vie limitée et nécessitent une mise à jour constante pour se protéger contre la signature avec d'anciennes clés.

La réduction du risque de compromettre l'ensemble du système est obtenue grâce à l'utilisation d'un modèle de confiance partagée, dans lequel chaque partie est limitée uniquement à la zone dont elle est directement responsable.

Le système utilise une hiérarchie de rôles avec leurs propres clés, par exemple, le rôle root signe les clés des rôles responsables des métadonnées dans le référentiel, des données sur l'heure de formation des mises à jour et des builds cibles, à son tour, le rôle responsable des builds signe les rôles associés à la certification du fichiers livrés.

Pour vous protéger contre la compromission des clés, utilise un mécanisme de révocation et de remplacement rapides des clés. Chaque clé individuelle ne concentre que le minimum de pouvoirs nécessaires, et les opérations de notarisation nécessitent l'utilisation de plusieurs clés (la fuite d'une seule clé ne permet pas une attaque immédiate sur le client, et pour compromettre l'ensemble du système, il faut capturer les clés de tous les Participants).

Le client ne peut accepter que les fichiers créés après les fichiers précédemment reçus, et les données sont téléchargées uniquement en fonction de la taille spécifiée dans les métadonnées certifiées.

La version publiée de TUF 1.0.0 offre une implémentation de référence entièrement réécrite et une version stabilisée de la spécification TUF que vous pouvez utiliser comme exemple prêt à l'emploi lors de la création de vos propres implémentations ou de l'intégration dans vos projets.

La nouvelle implémentation contient beaucoup moins de code (1400 lignes au lieu de 4700), il est plus facile à maintenir et peut être facilement étendu, par exemple, si vous avez besoin d'ajouter la prise en charge de piles réseau, de systèmes de stockage ou d'algorithmes de chiffrement spécifiques.

Le projet est développé sous les auspices de la Fondation Linux et est utilisé pour améliorer la sécurité de la livraison des mises à jour dans des projets tels que Docker, Fuchsia, Automotive Grade Linux, Bottlerocket et PyPI (l'inclusion de la vérification des téléchargements et des métadonnées dans PyPI est attendue prochainement).

Enfin, si cela vous intéresse de pouvoir en savoir un peu plus, vous pouvez consulter les détails dans le lien suivant.


Soyez le premier à commenter

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont marqués avec *

*

*

  1. Responsable des données: Miguel Ángel Gatón
  2. Finalité des données: Contrôle du SPAM, gestion des commentaires.
  3. Légitimation: votre consentement
  4. Communication des données: Les données ne seront pas communiquées à des tiers sauf obligation légale.
  5. Stockage des données: base de données hébergée par Occentus Networks (EU)
  6. Droits: à tout moment, vous pouvez limiter, récupérer et supprimer vos informations.