TUF 1.0 қол жетімді, жаңартуларды қауіпсіз жеткізуді ұйымдастыруға арналған құрылым

Жаңартуларды қауіпсіз тексеруге және жүктеп алуға арналған құралдарды қамтамасыз ететін TUF 1.0 (Жаңарту негізі) шығарылымы жарияланды. Жобаның негізгі мақсаты клиентті репозиторийлер мен инфрақұрылымға типтік шабуылдардан қорғау, оның ішінде сандық қолтаңбаларды генерациялау үшін кілттерге қол жеткізгеннен кейін жасалған жалған жаңартулардың шабуылдаушыларының жылжытуына қарсы тұру немесе репозиторийді бұзу болып табылады. Жоба Linux Foundation демеушілігімен әзірленген және Docker, Fuchsia, Automotive Grade Linux, Bottlerocket және PyPI сияқты жобаларда жаңартуларды жеткізу қауіпсіздігін жақсарту үшін пайдаланылады (PyPI жүйесінде жүктеп алуды тексеру және метадеректерді қосу жақын болашақ). TUF анықтамалық іске асыру коды Python тілінде жазылған және Apache 2.0 лицензиясы бойынша таратылады.

Жоба бағдарламалық жасақтаманы әзірлеушілер тарапынан негізгі ымыраға келген жағдайда қорғауды қамтамасыз ететін қолданбаларды жаңарту жүйелеріне оңай біріктірілетін кітапханалар, файл пішімдері мен утилиталар сериясын әзірлеуде. TUF пайдалану үшін репозиторийге қажетті метадеректерді қосу және файлдарды жүктеу және тексеру үшін TUF-те берілген процедураларды клиенттік кодқа біріктіру жеткілікті.

TUF құрылымы жаңартуды тексеру, жаңартуды жүктеп алу және оның тұтастығын тексеру тапсырмаларын алады. Жаңартуларды орнату жүйесі қосымша метадеректерге тікелей кедергі жасамайды, олардың тексеруі мен жүктелуін TUF жүзеге асырады. Қолданбалармен біріктіру және жаңартуды орнату жүйелері үшін метадеректерге қол жеткізуге арналған төменгі деңгейлі API және қолданбалармен біріктіруге дайын жоғары деңгейлі клиент API ngclient іске асыру ұсынылады.

TUF қарсы тұра алатын шабуылдардың қатарында бағдарламалық жасақтаманың осал тұстарын түзетуге немесе пайдаланушының ескі осал нұсқаға кері қайтарылуына тосқауыл қою үшін жаңартулар атын жамылған ескі шығарылымдарды ауыстыру, сондай-ақ бұзылған бағдарламалық жасақтаманы пайдаланып дұрыс қол қойылған зиянды жаңартуларды жылжыту жатады. кілті, клиенттерге DoS шабуылдары, мысалы, дискіні шексіз жаңартулармен толтыру.

Бағдарламалық қамтамасыз ету провайдерінің инфрақұрылымының бұзылуынан қорғау репозиторийдің немесе қолданбаның күйінің бөлек, тексерілетін жазбаларын жүргізу арқылы қол жеткізіледі. TUF арқылы тексерілген метадеректерге сенуге болатын кілттер туралы ақпаратты, файлдардың тұтастығын бағалауға арналған криптографиялық хэштерді, метадеректерді тексеруге арналған қосымша сандық қолтаңбаларды, нұсқа нөмірлері туралы ақпаратты және жазбалардың қызмет ету мерзімі туралы ақпаратты қамтиды. Тексеру үшін пайдаланылатын кілттердің қызмет ету мерзімі шектеулі және ескі кілттер арқылы қолтаңбаны қалыптастырудан қорғау үшін тұрақты жаңартуды қажет етеді.

Бүкіл жүйенің ымыраға келу қаупін азайту ортақ сенім үлгісін пайдалану арқылы қол жеткізіледі, онда әрбір тарап тек өзі тікелей жауапты болатын саламен шектеледі. Жүйе өз кілттері бар рөлдер иерархиясын пайдаланады, мысалы, репозиторийдегі метадеректерге жауапты рөлдер үшін түбірлік рөл белгілерінің кілттері, жаңартуларды және мақсатты жинақтарды құру уақыты туралы деректер, өз кезегінде, құрастыру белгілеріне жауапты рөл жеткізілген файлдарды сертификаттаумен байланысты рөлдер.

TUF 1.0 қол жетімді, жаңартуларды қауіпсіз жеткізуді ұйымдастыруға арналған құрылым

Кілттердің ымырасынан қорғау үшін кілттерді жедел қайтарып алу және ауыстыру механизмі қолданылады. Әрбір жеке кілт тек ең аз қажетті өкілеттіктерді қамтиды, ал аутентификация операциялары бірнеше кілттерді пайдалануды талап етеді (бір кілттің ағуы клиентке дереу шабуыл жасауға мүмкіндік бермейді және бүкіл жүйені бұзу үшін барлық қатысушылардың кілттері болуы керек). қолға түсті). Клиент тек бұрын қабылданған файлдарға қарағанда соңғы файлдарды қабылдай алады және деректер тек сертификатталған метадеректерде көрсетілген өлшемге сәйкес жүктеледі.

TUF 1.0.0 нұсқасының жарияланған шығарылымы TUF спецификациясының толығымен қайта жазылған және тұрақтандырылған анықтамалық орындалуын ұсынады, оны сіз өзіңіздің іске асыруларыңызды жасағанда немесе жобаларыңызға біріктіру үшін дайын мысал ретінде пайдалана аласыз. Жаңа іске асыруда айтарлықтай аз код бар (1400 орнына 4700 жол), қызмет көрсету оңай және оңай ұзартылуы мүмкін, мысалы, белгілі бір желі стектерін, сақтау жүйелерін немесе шифрлау алгоритмдерін қолдауды қосу қажет болса.

Ақпарат көзі: opennet.ru

пікір қалдыру