TUF 1.0 ist verfügbar, ein Framework zur Organisation der sicheren Bereitstellung von Updates

Die Veröffentlichung von TUF 1.0 (The Update Framework) wurde veröffentlicht und bietet Tools für die sichere Suche nach und das Herunterladen von Updates. Das Hauptziel des Projekts besteht darin, den Kunden vor typischen Angriffen auf Repositorys und Infrastruktur zu schützen, einschließlich der Bekämpfung der Förderung fiktiver Updates durch Angreifer, die erstellt wurden, nachdem sie Zugriff auf Schlüssel zur Generierung digitaler Signaturen oder zur Kompromittierung des Repositorys erhalten hatten. Das Projekt wird unter der Schirmherrschaft der Linux Foundation entwickelt und dient dazu, die Sicherheit der Update-Bereitstellung in Projekten wie Docker, Fuchsia, Automotive Grade Linux, Bottlerocket und PyPI zu verbessern (die Einbeziehung von Download-Verifizierung und Metadaten in PyPI wird erwartet nahe Zukunft). Der TUF-Referenzimplementierungscode ist in Python geschrieben und wird unter der Apache 2.0-Lizenz vertrieben.

Das Projekt entwickelt eine Reihe von Bibliotheken, Dateiformaten und Dienstprogrammen, die problemlos in bestehende Anwendungsaktualisierungssysteme integriert werden können und Schutz im Falle einer Schlüsselkompromittierung seitens der Softwareentwickler bieten. Um TUF zu verwenden, reicht es aus, die erforderlichen Metadaten zum Repository hinzuzufügen und die in TUF bereitgestellten Verfahren zum Herunterladen und Überprüfen von Dateien in den Client-Code zu integrieren.

Das TUF-Framework übernimmt die Aufgabe, nach einem Update zu suchen, das Update herunterzuladen und seine Integrität zu überprüfen. Das Update-Installationssystem greift nicht direkt in zusätzliche Metadaten ein, deren Überprüfung und Laden von TUF übernommen wird. Für die Integration mit Anwendungen und Update-Installationssystemen werden eine Low-Level-API für den Zugriff auf Metadaten und eine Implementierung einer High-Level-Client-API ngclient angeboten, die für die Integration mit Anwendungen bereit ist.

Zu den Angriffen, denen TUF entgegenwirken kann, gehört das Ersetzen alter Versionen unter dem Deckmantel von Updates, um die Behebung von Softwareschwachstellen oder das Rollback des Benutzers auf eine alte anfällige Version zu blockieren, sowie die Förderung bösartiger Updates, die mithilfe einer kompromittierten Version korrekt signiert wurden Schlüssel, DoS-Angriffe auf Clients, wie z. B. das Auffüllen der Festplatte mit endlosen Updates.

Der Schutz vor einer Gefährdung der Infrastruktur des Softwareanbieters wird durch die Führung separater, überprüfbarer Aufzeichnungen über den Status des Repositorys oder der Anwendung erreicht. Zu den von TUF verifizierten Metadaten gehören Informationen zu vertrauenswürdigen Schlüsseln, kryptografische Hashes zur Bewertung der Integrität von Dateien, zusätzliche digitale Signaturen zur Überprüfung von Metadaten, Informationen zu Versionsnummern und Informationen zur Lebensdauer von Datensätzen. Die zur Verifizierung verwendeten Schlüssel haben eine begrenzte Lebensdauer und müssen zum Schutz vor Signaturbildung durch alte Schlüssel ständig aktualisiert werden.

Die Reduzierung des Risikos einer Kompromittierung des gesamten Systems wird durch die Verwendung eines Shared-Trust-Modells erreicht, bei dem jede Partei nur auf den Bereich beschränkt ist, für den sie direkt verantwortlich ist. Das System verwendet eine Hierarchie von Rollen mit eigenen Schlüsseln, zum Beispiel signiert die Root-Rolle Schlüssel für Rollen, die für Metadaten im Repository verantwortlich sind, Daten zum Zeitpunkt der Generierung von Updates und Zielassemblys, wiederum die Rolle, die für Assembly-Signaturen verantwortlich ist Rollen im Zusammenhang mit der Zertifizierung gelieferter Dateien.

TUF 1.0 ist verfügbar, ein Framework zur Organisation der sicheren Bereitstellung von Updates

Zum Schutz vor Schlüsselkompromittierung wird ein Mechanismus zum sofortigen Widerruf und Austausch von Schlüsseln eingesetzt. Jeder einzelne Schlüssel enthält nur die minimal erforderlichen Befugnisse, und Authentifizierungsvorgänge erfordern die Verwendung mehrerer Schlüssel (das Durchsickern eines einzelnen Schlüssels ermöglicht keinen sofortigen Angriff auf den Client, und um das gesamte System zu kompromittieren, müssen die Schlüssel aller Teilnehmer vorhanden sein gefangen). Der Client kann nur Dateien akzeptieren, die aktueller sind als die zuvor empfangenen Dateien, und die Daten werden nur entsprechend der in den zertifizierten Metadaten angegebenen Größe heruntergeladen.

Die veröffentlichte Version von TUF 1.0.0 bietet eine vollständig neu geschriebene und stabilisierte Referenzimplementierung der TUF-Spezifikation, die Sie als vorgefertigtes Beispiel bei der Erstellung Ihrer eigenen Implementierungen oder zur Integration in Ihre Projekte verwenden können. Die neue Implementierung enthält deutlich weniger Code (1400 Zeilen statt 4700), ist einfacher zu warten und kann problemlos erweitert werden, wenn beispielsweise Unterstützung für bestimmte Netzwerkstacks, Speichersysteme oder Verschlüsselungsalgorithmen erforderlich ist.

Source: opennet.ru

Kommentar hinzufügen