Megjelent a TUF 1.0 (The Update Framework) keretrendszer, amely biztonságos eszközöket biztosít a frissítések elérhetőségének ellenőrzésére és letöltésére. A projekt fő célja, hogy megvédje az ügyfeleket a tárolókra és az infrastruktúrákra irányuló tipikus támadásokkal szemben, beleértve a rosszindulatú frissítések terjesztésének megakadályozását, amelyek a digitális aláírásokhoz szükséges kulcsok megszerzése vagy a tároló kompromittálása után készülnek. A projektet a Linux Foundation irányítása alatt fejlesztik, és a frissítések biztonságos szállításának javítására alkalmazzák olyan projektekben, mint a Docker, Fuchsia, Automotive Grade Linux, Bottlerocket és PyPI (a PyPI letöltések és metadaták ellenőrzésének bevezetésére a közeljövőben számíthatunk). A TUF referenciakódját Python nyelven írták, és az Apache 2.0 licenc alatt terjesztik.
A projekt keretében könyvtárak, fájlformátumok és eszközök sorozata fejlődik, amelyek könnyen integrálhatók a meglévő alkalmazásfrissítő rendszerekbe, biztosítva a védelmet a szoftverfejlesztők kulcsainak kompromittálása esetén. A TUF használatához elegendő a szükséges metadaták hozzáadása a tárolóhoz, és a kliensek kódjába integrálni a TUF által biztosított fájlok letöltésére és ellenőrzésére szolgáló eljárásokat.
A TUF keretrendszer feladatai közé tartozik a frissítés megjelenésének ellenőrzése, a frissítés letöltése és annak integritásának ellenőrzése. A frissítések telepítési rendszere közvetlenül nem érintkezik a TUF által kezelt metadatákkal, amelyek ellenőrzéséért és letöltéséért a TUF felel. Az alkalmazásokkal és frissítési rendszerekkel való integráláshoz alacsony szintű API-t ajánlunk a metadaták elérésére, valamint a ngclient magas szintű kliens API-ját, amely kész az alkalmazásokkal való integrálásra.
A TUF elleni támadások közé tartozik az öreg verziók frissítésekkel való helyettesítése, hogy megakadályozzák a sebezhetőségek javítását a szoftverben, vagy hogy a felhasználót visszaállítsák egy régi, sebezhető verzióra, valamint a kompromittált kulccsal helyesen aláírt rosszindulatú frissítések terjesztése, valamint DoS-támadások végrehajtása az ügyfeleken, például végtelen frissítéssel történő lemezfeltöltéssel.
A szoftverszolgáltató infrastruktúrájának kompromittálódása ellen a tároló vagy alkalmazás állapotáról szóló különálló, ellenőrizhető nyilvántartások fenntartásával védekeznek. Az ellenőrizhető TUF metaadatok tartalmazzák azokat a kulcsokkal kapcsolatos információkat, amelyekben megbízhatunk, a fájlok integritásának értékeléséhez szükséges kriptográfiai hash-eket, a metaadatok hitelesítéséhez szükséges további digitális aláírásokat, a verziószámokkal kapcsolatos információkat és a nyilvántartások élettartamára vonatkozó adatokat. Az ellenőrzéshez használt kulcsoknak korlátozott élettartama van, és folyamatos frissítést igényelnek, hogy megakadályozzák a régi kulcsokkal történő aláírást.
A teljes rendszer kompromittálódásának kockázatát a bizalommegosztási modell alkalmazásával csökkentik, amelyben minden fél csak arra a területre van korlátozva, amelyért közvetlenül felelős. A rendszer egy hierarchikus szereplői modellt használ saját kulcsaival, például a gyökérszerep aláírja a tároló metaadataiért felelős szerepek kulcsait, a frissítések időpontjára és a célzott összeállításokra vonatkozó adatokat, míg az összeállításért felelős szerep aláírja az átadott fájlok hitelesítésével kapcsolatos szerepeket.

A kulcsok kompromittálódása ellen a kulcsok gyors visszavonásának és cseréjének mechanizmusa védi. Minden egyes kulcsban csak a minimálisan szükséges jogköröket összpontosítják, és a hitelesítési műveletekhez több kulcs használata szükséges (egyetlen kulcs kiszivárgása nem teszi lehetővé azonnal a kliens támadását, míg az egész rendszer kompromittálásához az összes résztvevő kulcsának birtoklása szükséges). A kliens csak olyan fájlokat fogadhat el, amelyek később készültek, mint a már korábban kapott fájlok, és az adatok csak a hitelesített metaadatokban megadott mérethez képest tölthetők le.
A TUF 1.0.0 kiadása teljesen átírt és stabilizált referencia-implementációt kínál a TUF specifikációhoz, amely kész példaként használható saját implementációk létrehozásához vagy integrálásához. Az új implementáció lényegesen kevesebb kódot tartalmaz (1400 sor a 4700 helyett), egyszerűbben karbantartható, és könnyen bővíthető, például ha specifikus hálózati verem, tárolási rendszerek vagy titkosítási algoritmusok támogatásának hozzáadására van szükség.
Forrás: opennet.ru
