Ленарт Потэрынг прапанаваў новую архітэктуру верыфікаванай загрузкі Linux

Ленарт Потэрынг (Lennart Poettering) апублікаваў прапанову па мадэрнізацыі працэсу загрузкі Linux-дыстрыбутываў, накіраванае на рашэнне наяўных праблем і спрашчэнне арганізацыі паўнавартаснай верыфікаванай загрузкі, якая пацвярджае дакладнасць ядра і базавага сістэмнага асяроддзя. Неабходныя для ўжывання новай архітэктуры змены ўжо ўключаны ў кодавую базу systemd і закранаюць такія кампаненты, як systemd-stub, systemd-measure, systemd-cryptenroll, systemd-cryptsetup, systemd-pcrphase і systemd-creds.

Прапанаваныя змены зводзяцца да стварэння адзінай універсальнай выявы UKI (Unified Kernel Image), які аб'ядноўвае выява ядра Linux, апрацоўшчык для загрузкі ядра з UEFI (UEFI boot stub) і загружанае ў памяць сістэмнае асяроддзе initrd, ужывальнае для пачатковай ініцыялізацыі на стадыі дамантавання. Замест выявы RAM-дыска initrd у UKI можа быць запакаваная і ўся сістэма, што дазваляе ствараць цалкам верыфікаваныя сістэмныя асяроддзі, загружаныя ў аператыўную памяць. UKI-выява афармляецца ў выглядзе выкананага файла ў фармаце PE, які можа быць загружаны не толькі пры дапамозе традыцыйных загрузнікаў, і напроста выкліканы з прашыўкі UEFI.

Магчымасць выкліку з UEFI дазваляе выкарыстоўваць праверку цэласнасці і дакладнасці па лічбавым подпісе, якая ахоплівае не толькі ядро, але і змесціва initrd. Пры гэтым падтрымка выкліку з традыцыйных загрузнікаў дазваляе захаваць такія магчымасці, як пастаўка некалькіх версій ядра і аўтаматычны адкат на працоўнае ядро ​​ў выпадку выяўлення праблем з новым ядром пасля ўсталёўкі абнаўлення.

У цяперашні час у большасці дыстрыбутываў Linux падчас ініцыялізацыі выкарыстоўваецца ланцужок «прашыўка → завераная лічбавым подпісам Microsoft shim-праслойка → завераны лічбавым подпісам дыстрыбутыва загрузнік GRUB → заверанае лічбавым подпісам дыстрыбутыва ядро ​​Linux → не заверанае асяроддзе initrd → каранёвая ФС». Адсутнасць верыфікацыі initrd у традыцыйных дыстрыбутывах стварае праблемы з бяспекай, бо сярод іншага ў дадзеным асяроддзі ажыццяўляецца выманне ключоў для расшыфроўкі каранёвай ФС.

Верыфікацыя выявы initrd не падтрымліваецца бо дадзены файл фармуецца на лакальнай сістэме карыстача і не можа быць завераны лічбавым подпісам дыстрыбутыва, што моцна ўскладняе арганізацыю праверкі пры выкарыстанні рэжыму SecureBoot (для запэўнення initrd карыстачу неабходна згенераваць свае ключы і загрузіць іх у прашыўку UEFI). Акрамя таго, існуючая арганізацыя загрузкі не дазваляе ўжываць інфармацыю з рэгістраў TPM PCR (Platform Configuration Register) для кантролю цэласнасці кампанентаў прасторы карыстача, акрамя shim, grub і ядры. З наяўных праблем таксама згадваецца ўскладненне абнаўлення загрузніка і адсутнасць магчымасці абмежавання доступу да ключоў у TPM для старых версій АС, сталых неактуальнымі пасля ўсталёўкі абнаўлення.

Асноўныя мэты ўкаранення новай архітэктуры загрузкі:

  • Прадастаўленне цалкам верыфікаванага працэсу загрузкі, які ахоплівае ўсе этапы ад прашыўкі да прасторы карыстальніка, і пацвярджае дакладнасць і цэласнасць загружаных кампанентаў.
  • Прывязка кантраляваных рэсурсаў да рэгістраў TPM PCR з падзелам па ўладальніках.
  • Магчымасць папярэдняга разліку значэнняў PCR на аснове выкарыстоўваных пры загрузцы ядра, initrd, канфігурацыі і лакальнага ідэнтыфікатара сістэмы.
  • Абарона ад Rollback-нападаў, звязаных з адкатам на мінулую ўразлівую версію сістэмы.
  • Спрашчэнне і павышэнне надзейнасці абнаўленняў.
  • Падтрымка абнаўленняў АС, якія не патрабуюць паўторнага прымянення або лакальнай падрыхтоўкі рэсурсаў, абароненых TPM.
  • Гатоўнасць сістэмы для правядзення выдаленай атэстацыі для пацверджання карэктнасці загружанай АС і налад.
  • Магчымасць прымацавання канфідэнцыйных дадзеных да вызначаных стадый загрузкі, напрыклад, выманне з TPM ключоў шыфравання для каранёвай ФС.
  • Прадастаўленне бяспечнага, аўтаматычнага і працавальнага без удзелу карыстальніка працэсу разблакіроўкі ключоў для расшыфроўкі дыска з каранёвай часткай.
  • Выкарыстанне чыпаў, якія падтрымліваюць спецыфікацыю TPM 2.0, з магчымасцю адкату на сістэмы без TPM.

Крыніца: opennet.ru

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