TUF 1.0 is beschikbaar, een raamwerk voor het organiseren van veilige levering van updates

De release van TUF 1.0 (The Update Framework) is gepubliceerd en biedt tools voor het veilig controleren op updates en het downloaden ervan. Het belangrijkste doel van het project is om de klant te beschermen tegen typische aanvallen op repositories en infrastructuur, inclusief het tegengaan van de promotie door aanvallers van fictieve updates die zijn gemaakt nadat ze toegang hadden gekregen tot sleutels voor het genereren van digitale handtekeningen of het compromitteren van de repository. Het project is ontwikkeld onder auspiciën van de Linux Foundation en wordt gebruikt om de beveiliging van de update-levering te verbeteren in projecten zoals Docker, Fuchsia, Automotive Grade Linux, Bottlerocket en PyPI (de opname van downloadverificatie en metadata in PyPI wordt verwacht in de toekomst). nabije toekomst). De TUF-referentie-implementatiecode is geschreven in Python en gedistribueerd onder de Apache 2.0-licentie.

Het project ontwikkelt een reeks bibliotheken, bestandsformaten en hulpprogramma's die eenvoudig kunnen worden geïntegreerd in bestaande updatesystemen voor applicaties, waardoor bescherming wordt geboden in geval van belangrijke compromissen aan de kant van softwareontwikkelaars. Om TUF te gebruiken, volstaat het om de benodigde metadata aan de repository toe te voegen en de procedures uit TUF voor het downloaden en verifiëren van bestanden in de clientcode te integreren.

Het TUF-framework neemt de taken op zich van het controleren op een update, het downloaden van de update en het verifiëren van de integriteit ervan. Het update-installatiesysteem interfereert niet direct met aanvullende metadata, waarvan de verificatie en het laden wordt uitgevoerd door TUF. Voor integratie met applicaties en update-installatiesystemen wordt een low-level API voor toegang tot metadata en een implementatie van een high-level client-API ngclient, klaar voor integratie met applicaties, aangeboden.

Tot de aanvallen die TUF kan tegengaan behoren onder meer het vervangen van oude releases onder het mom van updates om de correctie van softwarekwetsbaarheden of het terugdraaien van de gebruiker naar een oude, kwetsbare versie te blokkeren, evenals het promoten van kwaadaardige updates die correct zijn ondertekend met behulp van een gecompromitteerde versie. sleutel, DoS-aanvallen op clients, zoals het vullen van de schijf met eindeloze updates.

Bescherming tegen compromittering van de infrastructuur van de softwareleverancier wordt bereikt door afzonderlijke, verifieerbare registraties bij te houden van de status van de repository of applicatie. Door TUF geverifieerde metadata omvatten informatie over sleutels die kunnen worden vertrouwd, cryptografische hashes om de integriteit van bestanden te evalueren, aanvullende digitale handtekeningen om metadata te verifiëren, informatie over versienummers en informatie over de levensduur van records. De sleutels die voor verificatie worden gebruikt, hebben een beperkte levensduur en moeten voortdurend worden bijgewerkt om te beschermen tegen handtekeningvorming door oude sleutels.

Het verkleinen van het risico op compromittering van het hele systeem wordt bereikt door het gebruik van een gedeeld vertrouwensmodel, waarbij elke partij beperkt is tot het gebied waarvoor zij direct verantwoordelijk is. Het systeem maakt gebruik van een hiërarchie van rollen met hun eigen sleutels, bijvoorbeeld de hoofdrol tekent sleutels voor rollen die verantwoordelijk zijn voor metagegevens in de repository, gegevens over het tijdstip van genereren van updates en doelassemblages, op zijn beurt tekent de rol die verantwoordelijk is voor assemblages rollen die verband houden met de certificering van aangeleverde bestanden.

TUF 1.0 is beschikbaar, een raamwerk voor het organiseren van veilige levering van updates

Ter bescherming tegen sleutelcompromis wordt een mechanisme gebruikt voor het onmiddellijk intrekken en vervangen van sleutels. Elke individuele sleutel bevat slechts de minimaal noodzakelijke bevoegdheden, en authenticatieoperaties vereisen het gebruik van verschillende sleutels (het lekken van een enkele sleutel staat geen onmiddellijke aanval op de client toe, en om het hele systeem in gevaar te brengen, moeten de sleutels van alle deelnemers worden gebruikt). gevangen genomen). De klant kan alleen bestanden accepteren die recenter zijn dan eerder ontvangen bestanden, en gegevens worden alleen gedownload volgens de grootte die is opgegeven in de gecertificeerde metadata.

De gepubliceerde release van TUF 1.0.0 biedt een volledig herschreven en gestabiliseerde referentie-implementatie van de TUF-specificatie die u kunt gebruiken als kant-en-klaar voorbeeld bij het maken van uw eigen implementaties of voor integratie in uw projecten. De nieuwe implementatie bevat aanzienlijk minder code (1400 regels in plaats van 4700), is eenvoudiger te onderhouden en kan eenvoudig worden uitgebreid als het bijvoorbeeld nodig is om ondersteuning toe te voegen voor specifieke netwerkstacks, opslagsystemen of encryptie-algoritmen.

Bron: opennet.ru

Voeg een reactie