Avalikustati TUF 1.0 raamistik (The Update Framework), mis pakub tööriistu turvaliseks uuenduste kontrollimiseks ja allalaadimiseks. Projekti põhieesmärk on kaitsta kliente tüüpiliste rünnakute eest hoidlatele ja infrastruktuuridele, sealhulgas takistada kurjategijate petturlike uuenduste levikut, mis on loodud pärast digitaalallkirjade võtmete hankimist või hoidla kompromiteerimist. Projekt areneb Linux Foundationi juhtimise all ja seda rakendatakse, et suurendada uuenduste turvalisust sellistes projektides nagu Docker, Fuchsia, Automotive Grade Linux, Bottlerocket ja PyPI (PyPI-s oodatakse allalaadimise ja metaandmete kontrollimise rakendamist peagi). TUF viiterakenduse kood on kirjutatud Pythonis ja see on levitatud Apache 2.0 litsentsi alusel.
Projekt arendab välja raamatukogude, failivormingute ja utiliitide seeriat, mis integreeruvad olemasolevatesse rakenduste uuendamise süsteemidesse, tagades kaitse, kui tarkvaraarendajate jaoks vajalikke võtmeid ohustatakse. TUF-i kasutamiseks piisab vajalikud metaandmed oma reposse lisamisest ning TUF-i pakutud protseduuride integreerimisest kliendikoodis failide allalaadimise ja kontrollimise jaoks.
TUF raamistik vastutab uuenduste kontrollimise, allalaadimise ja nende terviklikkuse kinnitamise eest. Uuenduste installimissüsteem ei seostu otseselt täiendavate metaandmetega, mille kontrollimise ja allalaadimise eest vastutab TUF. Rakenduste ja uuendamise süsteemidega integreerimiseks pakutakse madala taseme API-d, mis annab juurdepääsu metaandmetele, ja kõrge taseme kliendi API-d ngclient, mis on valmis ökosüsteemi integreerimiseks.
TUF suudab ennetada mitmeid rünnakute vorme, sealhulgas vana versiooni asendamist uuendustega eesmärgiga takistada haavatavuste parandamist tarkvaras või kasutaja tagasiviimist vanale haavatavale versioonile, samuti kuritarvitused, mis edendavad pahatahtlikke uuendusi, mis on õigesti allkirjastatud kompromiteeritud võtmega, ja DoS-rünnakud klientide vastu, sealhulgas ketta täitmine lõputute uuendustega.
Tarkvarapakkuja infrastruktuuri kompromiteerimise kaitse saavutatakse, säilitades eraldi kontrollitavad kirjed repositooriumi või rakenduse olekust. Kontrollitavad TUF metaandmed sisaldavad teavet usaldusväärsete võtmete kohta, krüptograafilisi räsimärke failide terviklikkuse hindamiseks, täiendavaid digitaalallkirju metaandmete kinnitamiseks, versiooninumbrite teavet ja andmeid kirje eluea kohta. Verifitseerimiseks kasutatavatele võtmetele on määratud piiratud kehtivusaeg ning nende pidev uuendamine on vajalik, et kaitsta end vanade võtmete allkirjastamise eest.
Risk of compromising the entire system is reduced through a trust-separation model, where each party is limited to the area for which they are directly responsible. The system employs a hierarchy of roles with their own keys; for example, the root role signs keys for roles responsible for metadata in the repository, data regarding the time of update creation, and target builds. In turn, the role responsible for builds signs roles related to the validation of delivered files.

To prevent key compromise, a mechanism for immediate revocation and replacement of keys is utilized. Each individual key encompasses only the minimally necessary permissions, and multiple keys are required for validation operations (the leakage of a single key does not allow for immediate attacks on the client, and compromising the entire system requires seizing keys from all participants). The client can only accept files created later than those already received, and data is uploaded only in accordance with the size specified in the validated metadata.
Avaldatud TUF 1.0.0 väljaanne pakub täiesti ümber kirjutatud ja stabiliseeritud TUF spetsifikatsiooni, mida saab kasutada valmistootena oma rakenduste loomisel või integreerimiseks oma projektidesse. Uus teostus sisaldab oluliselt vähem koodi (1400 rida 4700 asemel), on lihtsam hooldada ja seda on kerge laiendada, näiteks vajadusel spetsiifiliste võrgu- ja salvestussüsteemide või krüpteerimisalgoritmide toe lisamiseks.
Allikas: opennet.ru
