Avaldatud on TUF 1.0 (The Update Framework) raamiosa, mis pakub vahendeid vĂ€rskenduste turvaliseks kontrollimiseks ja allalaadimiseks. Projekti peamine eesmĂ€rk on kaitsta klienti tĂŒĂŒpiliste rĂŒnnakute eest ladude ja infrastruktuuri osas, sealhulgas takistada kurjategijate valevĂ€rskenduste edendamist, mis on loodud pĂ€rast ligipÀÀsu saamist digitaalsed allkirjastamisvĂ”tmed vĂ”i repositooriumi kompromiteerimist. Projekti arendab Linux Foundation, et suurendada vĂ€rskenduste turvalisust sellistes projektides nagu Docker, Fuchsia, Automotive Grade Linux, Bottlerocket ja PyPI (PyPI-s oodatakse allalaadimise ja metainformatsiooni kontrollimise kaasamist peagi). TUF-i viidatud teostuse kood on kirjutatud Pythonis ja levitatakse Apache 2.0 litsentsi alusel.
Projekt arendab rida raamatukogusid, failivorme ja utiliite, mis saavad hĂ”lpsasti integreeruda olemasolevatesse rakenduste uuendamise sĂŒsteemidesse, pakkudes kaitset olukordades, kus arendajate vĂ”tmed on kompromiteeritud. TUF-i kasutamiseks on piisav lisada vajalikud metainformatsioonid repositooriumisse ning integreerida client-koodis TUF-i pakutavad protseduurid failide allalaadimiseks ja kontrollimiseks.
TUF raamiosa vastutab vĂ€rskenduste ilmumise jĂ€lgimise, vĂ€rskenduste allalaadimise ja nende terviklikkuse kontrollimise eest. VĂ€rskenduste installimise sĂŒsteem ei kattub otseselt tĂ€iendavate metainformatsioonidega, mille kontrollimise ja allalaadimise vĂ”tab enda kanda TUF. Rakendustega ja uuendussĂŒsteemidega integreerimiseks pakutakse madala taseme API-d metainformatsioonidele ning kĂ”rge taseme klient API-d ngclient, mis on valmis integratsiooniks rakendustega.
RĂŒnnakutest, millele TUF suudab vastu seista, on mĂ€rgitud vanade vĂ€ljaannete asendamine vĂ€rskenduste nĂ€ol, et takistada turvaauguste parandamist tarkvaras vĂ”i tagasiviimist kasutaja vanale haavatavale versioonile, samuti pahatahtlike vĂ€rskenduste edendamine, mis on Ă”igesti allkirjastatud kompromiteeritud vĂ”tme abil, ning DoS-rĂŒnnakute lĂ€biviimine klientide suhtes, nĂ€iteks kettaruumi tĂ€itmine lĂ”putu vĂ€rskendamisega.
Tarkvara pakkuja infrastruktuuri kompromiteerimise kaitse saavutatakse eraldi kontrollitavate salvestuste sĂ€ilitamise kaudu, mis kajastavad repositooriumi vĂ”i rakenduse olekut. Kontrollitavad TUF metaandmed sisaldavad teavet usaldusvÀÀrsete vĂ”tmete kohta, krĂŒptograafilisi rĂ€si failide terviklikkuse hindamiseks, tĂ€iendavaid digiallkirju metaandmete kinnitamiseks, versiooninumbrite andmeid ja salvestuste eluea teavet. Verifitseerimiseks kasutatavad vĂ”tmed on piiratud eluaegadega ja nende pidev uuendamine on vajalik, et kaitsta neid vanade vĂ”tmete allkirjastamise eest.
Kogu sĂŒsteemi kompromiteerimise riski vĂ€hendatakse usaldusmudeli kasutamisega, kus iga osaline on piiratud ainult nende aladega, mille eest nad otse vastutavad. SĂŒsteemis kasutatakse rollide hierarhiat koos oma vĂ”tmetega, nĂ€iteks allkirjastab juureroll vĂ”tmed, mis vastutavad repositooriumi metaandmete, vĂ€rskenduste loomise ajaga seotud andmete ja sihtversioonide eest; omakorda allkirjastab versioonide eest vastutav roll need rollid, mis on seotud edastatavate failide kinnitamisega.

VĂ”tmete kompromiteerimise kaitsmiseks kasutatakse vĂ”tmete kiire tagasivĂ”tmise ja asendamise mehhanismi. Igas eraldi vĂ”tmes koondatakse ainult minimaalset vajalikku volitust, ja allkirjastamistegevuste jaoks on vaja mitme vĂ”tme kasutamist (ĂŒksikvĂ”tme leke ei vĂ”imalda kohe klienti rĂŒnnata, ning kogu sĂŒsteemi kompromiteerimiseks on vajalik kĂ”igi osaliste vĂ”tmete haaramine). Klient vĂ”ib aktsepteerida ainult faile, mis on loodud hiljem kui juba varem saadud failid, ja andmed laaditakse ainult vastavalt tĂ€iendatud metaandmetes mÀÀratud suurusele.
TUF 1.0.0 avaldatud vĂ€ljaanne pakub tĂ€ielikult ĂŒmberkirjutatud ja stabiliseeritud TUF spetsifikatsiooni nĂ€idisrakendust, mida saab kasutada oma rakenduste loomisel vĂ”i oma projektidesse inteerimisel. Uus rakendus sisaldab mĂ€rgatavalt vĂ€hem koodi (1400 rida selle asemel, et 4700), on lihtsam hooldada ja seda on lihtne laiendada, nĂ€iteks kui on vajalik toetada spetsiifilisi vĂ”rgu kuhjatusi, salvestussĂŒsteeme vĂ”i krĂŒpteerimisalgoritme.
Allikas: opennet.ru
