Saatavilla on TUF 1.0, kehys päivitysten turvallisen toimituksen järjestämiseen

TUF 1.0 (The Update Framework) on julkaistu, ja se tarjoaa työkaluja päivitysten turvalliseen tarkistamiseen ja lataamiseen. Projektin päätavoitteena on suojata asiakasta tyypillisiltä tietovarastoja ja infrastruktuuria vastaan ​​kohdistuvilta hyökkäyksiltä, ​​mukaan lukien hyökkääjien mainostaminen kuvitteellisille päivityksille, jotka on luotu saatuaan pääsyn avaimiin digitaalisten allekirjoitusten luomiseksi tai tietovaraston vaarantamiseksi. Projekti on kehitetty Linux-säätiön alaisuudessa, ja sitä käytetään parantamaan päivitysten toimituksen turvallisuutta projekteissa, kuten Docker, Fuchsia, Automotive Grade Linux, Bottlerocket ja PyPI (latausten vahvistuksen ja metatietojen sisällyttämistä PyPI:ssä odotetaan lähitulevaisuudessa). TUF-viitetoteutuskoodi on kirjoitettu Pythonissa ja jaettu Apache 2.0 -lisenssillä.

Hankkeessa kehitetään sarja kirjastoja, tiedostomuotoja ja apuohjelmia, jotka voidaan helposti integroida olemassa oleviin sovelluspäivitysjärjestelmiin ja jotka tarjoavat suojan ohjelmistokehittäjien keskeisissä kompromisseissa. TUF:n käyttöä varten riittää, että arkistoon lisätään tarvittavat metatiedot ja integroidaan asiakaskoodiin TUF:n sisältämät tiedostojen lataamisen ja tarkistamisen toiminnot.

TUF-kehys vastaa päivityksen tarkistamisesta, päivityksen lataamisesta ja sen eheyden tarkistamisesta. Päivityksen asennusjärjestelmä ei suoraan häiritse ylimääräisiä metatietoja, joiden varmentamisesta ja lataamisesta vastaa TUF. Integrointia varten sovellusten ja päivitysasennusjärjestelmien kanssa tarjotaan matalan tason API metatietojen käyttöä varten ja korkean tason asiakassovellusliittymän ngclient -toteutus, joka on valmis integroitavaksi sovellusten kanssa.

Hyökkäyksiin, joita TUF voi torjua, ovat vanhojen julkaisujen korvaaminen päivitysten varjolla ohjelmiston haavoittuvuuksien korjaamisen tai käyttäjän palauttamisen estämiseksi vanhaan haavoittuvaan versioon sekä haitallisten päivitysten edistäminen, jotka on allekirjoitettu oikein suojatulla versiolla. avain, DoS-hyökkäykset asiakkaita vastaan, kuten levyn täyttäminen loputtomilla päivityksillä.

Suojaus ohjelmistotoimittajan infrastruktuurin vaarantumista vastaan ​​saavutetaan ylläpitämällä erillisiä, todennettavissa olevia tietueita arkiston tai sovelluksen tilasta. TUF:n vahvistama metatieto sisältää tietoa avaimista, joihin voidaan luottaa, salaustiivisteitä tiedostojen eheyden arvioimiseksi, ylimääräisiä digitaalisia allekirjoituksia metatietojen tarkistamiseksi, tietoja versionumeroista ja tietoja tietueiden eliniästä. Vahvistamiseen käytettävien avainten käyttöikä on rajoitettu, ja ne vaativat jatkuvaa päivitystä suojatakseen vanhojen avainten allekirjoitusten muodostusta.

Koko järjestelmän kompromissiriskin vähentäminen saavutetaan käyttämällä jaettua luottamusmallia, jossa kumpikin osapuoli rajoittuu vain sille alueelle, josta se on suoraan vastuussa. Järjestelmä käyttää roolihierarkiaa omilla avaimillaan, esimerkiksi päärooli merkitsee avaimet arkiston metatiedoista vastaaville rooleille, tiedot päivitysten ja kohdekokoonpanojen luomisajankohdasta, ja kokoonpanoista vastaava rooli puolestaan ​​merkitsee. toimitettujen tiedostojen sertifiointiin liittyvät roolit.

Saatavilla on TUF 1.0, kehys päivitysten turvallisen toimituksen järjestämiseen

Avainten vaarantumisen estämiseksi käytetään mekanismia avainten nopeaan peruutukseen ja vaihtamiseen. Jokainen yksittäinen avain sisältää vain tarvittavat vähimmäistehot ja todennustoiminnot vaativat useiden avainten käyttöä (yhden avaimen vuoto ei salli välitöntä hyökkäystä asiakasta vastaan ​​ja koko järjestelmän vaarantamiseksi kaikkien osallistujien avaimet on vangittu). Asiakas voi hyväksyä vain tiedostoja, jotka ovat uudempia kuin aiemmin vastaanotettuja tiedostoja, ja tiedot ladataan vain sertifioiduissa metatiedoissa määritellyn koon mukaan.

Julkaistu TUF 1.0.0 -julkaisu tarjoaa täysin uudelleen kirjoitetun ja vakiintuneen TUF-määrittelyn referenssitoteutuksen, jota voit käyttää valmiina esimerkkinä luodessasi omia toteutuksiasi tai integroitaessasi projekteihin. Uusi toteutus sisältää huomattavasti vähemmän koodia (1400 riviä 4700:n sijaan), on helpompi ylläpitää ja helposti laajennettavissa esimerkiksi jos on tarpeen lisätä tuki tietyille verkkopinoille, tallennusjärjestelmille tai salausalgoritmeille.

Lähde: opennet.ru

Lisää kommentti