Na voljo je TUF 1.0, okvir za organiziranje varne dostave posodobitev

Objavljena je bila izdaja TUF 1.0 (The Update Framework), ki zagotavlja orodja za varno preverjanje in prenos posodobitev. Glavni cilj projekta je zaščititi odjemalca pred tipičnimi napadi na repozitorije in infrastrukturo, vključno z zoperstavljanjem promoviranju fiktivnih posodobitev s strani napadalcev, ustvarjenih po pridobitvi dostopa do ključev za generiranje digitalnih podpisov ali ogrožanju repozitorija. Projekt je razvit pod okriljem Linux Foundation in se uporablja za izboljšanje varnosti dostave posodobitev v projektih, kot so Docker, Fuchsia, Automotive Grade Linux, Bottlerocket in PyPI (vključitev preverjanja prenosa in metapodatkov v PyPI se pričakuje v Bližnja prihodnost). Referenčna izvedbena koda TUF je napisana v Pythonu in se distribuira pod licenco Apache 2.0.

Projekt razvija vrsto knjižnic, datotečnih formatov in pripomočkov, ki jih je mogoče preprosto integrirati v obstoječe sisteme za posodabljanje aplikacij, kar zagotavlja zaščito v primeru ogrožanja ključa s strani razvijalcev programske opreme. Za uporabo TUF je dovolj, da dodate potrebne metapodatke v repozitorij in integrirate postopke, ki jih nudi TUF za prenos in preverjanje datotek, v kodo odjemalca.

Ogrodje TUF prevzame naloge preverjanja posodobitve, prenosa posodobitve in preverjanja njene celovitosti. Sistem za namestitev posodobitev ne posega neposredno v dodatne metapodatke, katerih preverjanje in nalaganje izvaja TUF. Za integracijo z aplikacijami in sistemi za namestitev posodobitev je na voljo nizkonivojski API za dostop do metapodatkov in implementacija visokonivojskega odjemalskega API-ja ngclient, pripravljenega za integracijo z aplikacijami.

Med napadi, ki jim lahko prepreči TUF, so nadomeščanje starih izdaj pod krinko posodobitev, da bi preprečili popravljanje ranljivosti programske opreme ali uporabnikovo vrnitev na staro ranljivo različico, pa tudi spodbujanje zlonamernih posodobitev, pravilno podpisanih z ogroženo ključni, DoS napadi na odjemalce, kot je polnjenje diska z neskončnimi posodobitvami.

Zaščita pred ogrožanjem infrastrukture ponudnika programske opreme je dosežena z vzdrževanjem ločenih, preverljivih zapisov o stanju repozitorija ali aplikacije. Metapodatki, ki jih je preveril TUF, vključujejo informacije o ključih, ki jim je mogoče zaupati, kriptografske zgoščene vrednosti za oceno celovitosti datotek, dodatne digitalne podpise za preverjanje metapodatkov, informacije o številkah različic in informacije o življenjski dobi zapisov. Ključi, ki se uporabljajo za preverjanje, imajo omejeno življenjsko dobo in zahtevajo stalno posodabljanje za zaščito pred oblikovanjem podpisa s starimi ključi.

Zmanjšanje tveganja ogroženosti celotnega sistema je doseženo z uporabo modela deljenega zaupanja, v katerem je vsaka stran omejena le na področje, za katerega je neposredno odgovorna. Sistem uporablja hierarhijo vlog z lastnimi ključi, na primer korenska vloga podpisuje ključe za vloge, ki so odgovorne za metapodatke v repozitoriju, podatke o času generiranja posodobitev in ciljnih sklopov, v zameno vloga, odgovorna za sklope, znake vloge, povezane s potrjevanjem dostavljenih datotek.

Na voljo je TUF 1.0, okvir za organiziranje varne dostave posodobitev

Za zaščito pred zlorabo ključev se uporablja mehanizem za takojšnji preklic in zamenjavo ključev. Vsak posamezen ključ vsebuje le minimalna potrebna pooblastila, operacije avtentikacije pa zahtevajo uporabo več ključev (puščanje posameznega ključa ne omogoča takojšnjega napada na odjemalca, za ogrožanje celotnega sistema pa morajo biti ključi vseh udeležencev ujet). Odjemalec lahko sprejme samo datoteke, ki so novejše od predhodno prejetih datotek, podatki pa se prenesejo samo v skladu z velikostjo, navedeno v certificiranih metapodatkih.

Objavljena izdaja TUF 1.0.0 ponuja popolnoma na novo napisano in stabilizirano referenčno izvedbo specifikacije TUF, ki jo lahko uporabite kot že pripravljen primer pri ustvarjanju lastnih izvedb ali za integracijo v svoje projekte. Nova izvedba vsebuje občutno manj kode (1400 vrstic namesto 4700), je enostavnejša za vzdrževanje in jo je mogoče enostavno razširiti, na primer, če je treba dodati podporo za določene omrežne sklade, sisteme za shranjevanje ali algoritme šifriranja.

Vir: opennet.ru

Dodaj komentar