Dostupan je TUF 1.0, okvir za organizovanje bezbedne isporuke ažuriranja

Objavljeno je izdanje TUF 1.0 (Okvir ažuriranja) koje pruža alate za sigurnu provjeru i preuzimanje ažuriranja. Glavni cilj projekta je zaštititi klijenta od tipičnih napada na spremišta i infrastrukturu, uključujući suprotstavljanje promociji od strane napadača fiktivnih ažuriranja kreiranih nakon dobijanja pristupa ključevima za generiranje digitalnih potpisa ili kompromitacije spremišta. Projekat je razvijen pod pokroviteljstvom Linux fondacije i koristi se za poboljšanje sigurnosti isporuke ažuriranja u projektima kao što su Docker, Fuchsia, Automotive Grade Linux, Bottlerocket i PyPI (uključivanje verifikacije preuzimanja i metapodataka u PyPI se očekuje u bliskoj budućnosti). TUF referentni implementacioni kod je napisan u Python-u i distribuiran pod licencom Apache 2.0.

Projekat razvija seriju biblioteka, formata datoteka i uslužnih programa koji se lako mogu integrirati u postojeće sisteme ažuriranja aplikacija, pružajući zaštitu u slučaju ključnog kompromisa od strane programera. Da biste koristili TUF, dovoljno je dodati potrebne metapodatke u spremište i integrirati procedure predviđene u TUF-u za preuzimanje i provjeru datoteka u klijentski kod.

TUF okvir preuzima zadatke provjere ažuriranja, preuzimanja ažuriranja i provjere njegovog integriteta. Sistem instalacije ažuriranja ne ometa direktno dodatne metapodatke, čiju verifikaciju i učitavanje preuzima TUF. Za integraciju sa aplikacijama i instalacijske sisteme za ažuriranje, nudi se API niskog nivoa za pristup metapodacima i implementacija klijentskog API-ja ngclient visokog nivoa, spreman za integraciju sa aplikacijama.

Među napadima kojima se TUF može suprotstaviti su zamjena starih izdanja pod krinkom ažuriranja kako bi se blokiralo ispravljanje ranjivosti softvera ili korisnikovo vraćanje na staru ranjivu verziju, kao i promocija zlonamjernih ažuriranja ispravno potpisanih korištenjem kompromitovanog ključ, DoS napadi na klijente, kao što je punjenje diska beskrajnim ažuriranjima.

Zaštita od kompromitovanja infrastrukture dobavljača softvera postiže se održavanjem odvojenih, provjerljivih zapisa o stanju spremišta ili aplikacije. Metapodaci koje je TUF verificirao uključuju informacije o ključevima kojima se može vjerovati, kriptografske hešove za procjenu integriteta datoteka, dodatne digitalne potpise za provjeru metapodataka, informacije o brojevima verzija i informacije o životnom vijeku zapisa. Ključevi koji se koriste za verifikaciju imaju ograničen vijek trajanja i zahtijevaju stalno ažuriranje kako bi se zaštitili od formiranja potpisa starih ključeva.

Smanjenje rizika od kompromitacije cjelokupnog sistema postiže se korištenjem modela zajedničkog povjerenja, u kojem je svaka strana ograničena samo na područje za koje je direktno odgovorna. Sistem koristi hijerarhiju uloga s vlastitim ključevima, na primjer, korijenska uloga označava ključeve za uloge odgovorne za metapodatke u spremištu, podatke o vremenu generiranja ažuriranja i ciljne sklopove, zauzvrat ulogu odgovornu za sklopove označava uloge povezane sa certifikacijom isporučenih datoteka.

Dostupan je TUF 1.0, okvir za organizovanje bezbedne isporuke ažuriranja

Za zaštitu od kompromitacije ključa koristi se mehanizam za brzo opoziv i zamjenu ključeva. Svaki pojedinačni ključ sadrži samo minimalna potrebna ovlaštenja, a operacije provjere autentičnosti zahtijevaju korištenje nekoliko ključeva (curenje jednog ključa ne dozvoljava trenutni napad na klijenta, a da bi se kompromitirao cijeli sistem, ključevi svih učesnika moraju biti uhvaćen). Klijent može prihvatiti samo datoteke koje su novije od prethodno primljenih datoteka, a podaci se preuzimaju samo prema veličini navedenoj u certificiranim metapodacima.

Objavljeno izdanje TUF-a 1.0.0 nudi potpuno prepisanu i stabilizovanu referentnu implementaciju TUF specifikacije koju možete koristiti kao gotov primjer prilikom kreiranja vlastitih implementacija ili za integraciju u svoje projekte. Nova implementacija sadrži znatno manje koda (1400 linija umjesto 4700), lakša je za održavanje i može se lako proširiti, na primjer, ako je potrebno dodati podršku za specifične mrežne stekove, sisteme za skladištenje ili algoritme šifriranja.

izvor: opennet.ru

Dodajte komentar