ĂshtĂ« publikuar versioni i kornizĂ«s TUF 1.0 (The Update Framework), qĂ« ofron mjete pĂ«r kontrollin e sigurt tĂ« disponueshmĂ«risĂ« dhe shkarkimit tĂ« azhornimeve. QĂ«llimi kryesor i projektit Ă«shtĂ« mbrojtja e klientit nga sulmet tipike ndaj depozitave dhe infrastrukturave, duke pĂ«rfshirĂ« parandalimin e shpĂ«rndarjes sĂ« azhornimeve tĂ« rreme nga hakerĂ«t pas fitimit tĂ« aksesit nĂ« çelĂ«sat pĂ«r krijimin e nĂ«nshkrimeve digjitale ose kompromiseve tĂ« depozitave. Projekti zhvillohet nĂ«n ombrellĂ«n e organizatĂ«s Linux Foundation dhe pĂ«rdoret pĂ«r rritjen e sigurisĂ« sĂ« shpĂ«rndarjes sĂ« azhornimeve nĂ« projekte tĂ« tilla si Docker, Fuchsia, Automotive Grade Linux, Bottlerocket dhe PyPI (pĂ«rfshirja e verifikimit tĂ« shkarkimeve dhe metadata nĂ« PyPI pritet sĂ« shpejti). Kodi i implementimit referues tĂ« TUF Ă«shtĂ« shkruar nĂ« gjuhĂ«n Python dhe shpĂ«rndahet nĂ«n licencĂ«n Apache 2.0.
Projekti po zhvillon një seri bibliotekash, formatesh skedash dhe utilitesh që mund të integrohen lehtësisht në sistemet ekzistuese të përditësimit të aplikacioneve, duke ofruar mbrojtje në rast kompromise të çelësave nga ana e zhvilluesve të softuerit. Për të përdorur TUF, mjafton të shtoni metadatat e nevojshme në depo, ndërsa në kodin e klientit duhet të integrohen procedurat e ofruara nga TUF për ngarkimin dhe verifikimin e skedarëve.
Korniza TUF merr përsipër detyrat e kontrollit të shfaqjes së përditësimeve, ngarkimit të përditësimeve dhe verifikimit të integritetit të tyre. Sistemi i instalimit të përditësimeve nuk përzihet drejtpërdrejt me metadatës e tjera, verifikimi dhe ngarkimi i të cilave merr përsipër TUF. Për integrimin me aplikacionet dhe sistemet e instalimit të përditësimeve, ofrohet një API i nivelit të ulët për qasje në metadatat dhe realizimi i një API të klientit të nivelit të lartë ngclient, i gatshëm për integrim me aplikacionet.
TUF mund të përballojë me sulme si vendosja e versioneve të vjetra si përditësime, në mënyrë që të bllokohet rregullimi i dobësive në softuer ose për ta detyruar përdoruesin të kthehet në një version të vjetër të dobët, si dhe përhapjen e përditësimeve të dëmshme, të cilat janë nënshkruar saktësisht me një çelës të komprometuar, duke kryer sulme DoS ndaj klientëve, siç është mbushja e diskut me një përditësim të pafund.
Mbrojtja nga komprometimi i infrastrukturĂ«s sĂ« ofruesit tĂ« softuerit arrihet duke mbajtur regjistrime tĂ« veçanta tĂ« verifikueshme pĂ«r gjendjen e depozitĂ«s ose aplikacionit. Metadatot e verifikueshme TUF pĂ«rfshijnĂ« informacion mbi çelĂ«sat e besueshĂ«m, hash-e kriptografikĂ« pĂ«r tĂ« vlerĂ«suar integritetin e skedarĂ«ve, nĂ«nshkrime tĂ« tjera dixhitale pĂ«r tĂ« vĂ«rtetuar metadatot, tĂ« dhĂ«na pĂ«r numrat e versioneve dhe tĂ« dhĂ«na pĂ«r kohĂ«n e jetĂ«s sĂ« regjistrimeve. ĂelĂ«sat e pĂ«rdorur pĂ«r verifikim kanĂ« njĂ« jetĂ« tĂ« kufizuar dhe kĂ«rkojnĂ« azhurnim tĂ« vazhdueshĂ«m pĂ«r tĂ« mbrojtur nga formimi i nĂ«nshkrimeve me çelĂ«sa tĂ« vjetĂ«r.
Reducimi i rrezikut të komprometimit të sistemit tërësor realizohet përmes përdorimit të një modeli me ndarje besimi, ku secila palë është e kufizuar vetëm në atë fushë për të cilën është drejtpërdrejt përgjegjëse. Në sistem përdoret një hierarki rolesh me çelësa të vetë, për shembull, roli rrënjë nënshkruan çelësat për rolet që janë përgjegjëse për metadatën në repositor, të dhënat mbi kohën e krijimit të përditësimeve dhe ndërtimet përkatëse; gjithashtu, roli përgjegjës për ndërtimet nënshkruan rolet që lidhen me verifikimin e skedarëve të shpërndarë.

Për të mbrojtur nga komprometimi i çelësave përdoret një mekanizëm i shkëputjes dhe zëvendësimit të çelësave. Në çdo çelës të veçantë përqendrohen vetëm autorizimet minimale të nevojshme, ndërsa për operacionet e verifikimit kërkohet përdorimi i disa çelësave (shkelja e një çelësi të vetëm nuk lejon menjëherë sulmin ndaj klientit, por për të komprometuar sistemin e gjithë duhet të kapeshin çelësat e të gjithë pjesëmarrësve). Klienti mund të pranojë vetëm skedarët që janë krijuar pas skedarëve që ka marrë më parë, dhe të dhënat ngarkohen vetëm në përputhje me madhësinë e caktuar në metadatën e nënshkruar.
Botimi i publikimit TUF 1.0.0 ofron një zbatim të rishkruar dhe të stabilizuar të specifikimeve TUF, të cilin mund ta përdorni si një shembull të gatshëm për të krijuar zbatime të tjera ose për ta integruar në projektet tuaja. Zbatimi i ri ka në mënyrë të konsiderueshme më pak kod (1400 rreshta në vend të 4700), është më i thjeshtë për t'u mbajtur dhe mund të zgjeroni lehtë, për shembull, kur është e nevojshme të shtoni mbështetje për staket specifike të rrjetit, sisteme ruajtjeje ose algoritme enkriptimi.
Burimi: opennet.ru
