Даступны TUF 1.0, фрэймворк для арганізацыі бяспечнай дастаўкі абнаўленняў

Апублікаваны выпуск фрэймворка TUF 1.0 (The Update Framework), які прадстаўляе сродкі для бяспечнай праверкі наяўнасці і загрузкі абнаўленняў. Асноўнай мэтай праекта з'яўляецца абарона кліента ад тыпавых нападаў на рэпазітары і інфраструктуры, уключаючы процідзеянне прасоўванні зламыснікамі фіктыўных абнаўленняў, створаных пасля атрымання доступу да ключоў для фарміравання лічбавых подпісаў або кампраметацыі рэпазітара. Праект развіваецца пад эгідай арганізацыі 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

Дадаць каментар