TUF 1.0 ist verfügbar, ein Framework für die sichere Bereitstellung von Updates

Die Veröffentlichung des TUF-Frameworks 1.0 (The Update Framework) bietet Mittel zur sicheren Überprüfung der Verfügbarkeit und des Herunterladens von Updates. Das Hauptziel des Projekts besteht darin, den Client vor typischen Angriffen auf Repositories und Infrastrukturen zu schützen, einschließlich der Bekämpfung von Angriffen durch Angreifer, die falsche Updates verbreiten, die nach dem Zugriff auf die Schlüssel zur Erstellung digitaler Signaturen oder durch die Kompromittierung des Repositories erstellt wurden. Das Projekt entwickelt sich unter der Schirmherrschaft der Linux Foundation und wird zur Verbesserung der Sicherheit bei der Lieferung von Updates in Projekten wie Docker, Fuchsia, Automotive Grade Linux, Bottlerocket und PyPI (die Implementierung der Verifizierung von Downloads und Metadaten in PyPI wird in naher Zukunft erwartet). Der Referenzcode für die TUF-Implementierung ist in Python geschrieben und steht unter der Apache 2.0-Lizenz.

Das Projekt entwickelt eine Reihe von Bibliotheken, Dateiformaten und Tools, die sich leicht in bestehende Systeme zur Anwendungserneuerung integrieren lassen und Schutz bieten, falls die Schlüssel auf der Seite der Softwareentwickler kompromittiert werden. Um TUF zu verwenden, genügt es, die erforderlichen Metadaten in das Repository hinzuzufügen und die in TUF bereitgestellten Verfahren für das Herunterladen und die Verifizierung von Dateien in den Client-Code zu integrieren.

Das TUF-Framework übernimmt die Aufgaben der Überprüfung von Updates, des Herunterladens von Updates und der Verifizierung ihrer Integrität. Das System zur Installation von Updates steht nicht in direktem Zusammenhang mit den zusätzlichen Metadaten, deren Überprüfung und Herunterladen TUF übernimmt. Für die Integration mit Anwendungen und Update-Systemen wird eine Low-Level-API für den Zugriff auf Metadaten sowie eine hochgradig integrierbare Client-API (ngclient) angeboten.

Zu den Angriffen, gegen die TUF gewappnet ist, gehören das Ersetzen alter Versionen durch scheinbare Updates, um die Behebung von Sicherheitsanfälligkeiten zu blockieren oder den Benutzer auf eine alte, anfällige Version zurückzusetzen, sowie die Verbreitung von schädlichen Updates, die korrekt mit einem kompromittierten Schlüssel signiert sind, und DoS-Angriffe auf Clients, wie das übermäßige Füllen des Datenträgers mit endlosen Updates.

Der Schutz vor der Kompromittierung der Infrastruktur von Softwareanbietern wird durch die Aufrechterhaltung separater, verifizierbarer Aufzeichnungen über den Status des Repositories oder der Anwendung erreicht. Die verifizierbaren TUF-Metadaten enthalten Informationen über vertrauenswürdige Schlüssel, kryptografische Hashes zur Prüfung der Integrität von Dateien, zusätzliche digitale Signaturen zur Beglaubigung der Metadaten, Informationen über Versionsnummern und Lebensdauerdaten der Aufzeichnungen. Die zur Verifizierung verwendeten Schlüssel haben eine begrenzte Lebensdauer und erfordern eine ständige Aktualisierung, um sich vor der Signatur durch alte Schlüssel zu schützen.

Die Verringerung des Risikos einer Kompromittierung des gesamten Systems wird durch die Verwendung eines Modells mit geteilter Vertrauensstellung erreicht, bei dem jede Partei nur auf den Bereich beschränkt ist, für den sie direkt verantwortlich ist. Im System wird eine Hierarchie von Rollen mit eigenen Schlüsseln verwendet, zum Beispiel signiert die Root-Rolle die Schlüssel für die Rollen, die für die Metadaten im Repository verantwortlich sind, sowie Informationen über die Erstellung von Updates und Zielassemblierungen, während die Rolle, die für die Assemblierungen verantwortlich ist, die Rollen signiert, die mit der Beglaubigung der gelieferten Dateien verbunden sind.

TUF 1.0 ist verfügbar, ein Framework für die sichere Bereitstellung von Updates

Um den Schutz vor der Kompromittierung von Schlüsseln zu gewährleisten, wird ein Mechanismus für die sofortige Rücknahme und den Austausch von Schlüsseln eingesetzt. Jeder einzelne Schlüssel konzentriert sich nur auf die minimal erforderlichen Berechtigungen, und für Beglaubigungsoperationen müssen mehrere Schlüssel verwendet werden (der Verlust eines einzelnen Schlüssels ermöglicht es nicht, sofort den Kunden anzugreifen, und um das gesamte System zu gefährden, müssten die Schlüssel aller Beteiligten erlangt werden). Der Kunde kann nur Dateien akzeptieren, die später erstellt wurden als bereits zuvor erhaltene Dateien, und Daten werden nur in dem gemäß den beglaubigten Metadaten festgelegten Umfang hochgeladen.

Die veröffentlichte Version TUF 1.0.0 bietet eine vollständig neu geschriebene und stabilisierte Referenzimplementierung der TUF-Spezifikation, die als fertiges Beispiel bei der Erstellung eigener Implementierungen oder für die Integration in eigene Projekte verwendet werden kann. Die neue Implementierung enthält wesentlich weniger Code (1400 Zeilen statt 4700), ist einfacher zu warten und kann leicht erweitert werden, beispielsweise zur Unterstützung spezifischer Netzwerkstacks, Speichersysteme oder Verschlüsselungsalgorithmen.

Quelle: opennet.ru

60GB SSD 8Gb DDR4