Lennart Poettering a propus o nouă arhitectură pentru bootarea verificată Linux

Lennart Poettering a publicat o propunere de modernizare a procesului de încărcare. 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.

Abilitatea de a apela de la UEFI vă permite să utilizați o verificare a integrității semnăturii digitale care acoperă nu numai nucleul, ci și conținutul initrd-ului. În același timp, suportul pentru apelarea de la bootloadere tradiționale vă permite să păstrați caracteristici precum livrarea mai multor versiuni ale nucleului și rollback-ul automat la un nucleu funcțional dacă sunt detectate probleme cu noul nucleu după instalarea actualizării.

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

Verificarea imaginii initrd nu este acceptată deoarece acest fișier este generat pe sistemul local al utilizatorului și nu poate fi certificat cu o semnătură digitală a kitului de distribuție, ceea ce complică foarte mult organizarea verificării atunci când se utilizează modul SecureBoot (pentru a verifica initrd, utilizatorul trebuie să-și genereze propriile chei și să le încarce în firmware-ul UEFI). În plus, organizarea actuală de pornire nu permite utilizarea informațiilor din registrele TPM PCR (Platform Configuration Register) pentru a controla integritatea componentelor spațiului utilizator, altele decât shim, grub și kernel. Printre problemele existente, sunt menționate și complexitatea actualizării bootloader-ului și incapacitatea de a restricționa accesul la chei în TPM pentru versiunile mai vechi ale sistemului de operare care au devenit irelevante după instalarea actualizării.

Principalele obiective ale introducerii noii arhitecturi de încărcare sunt:

  • Furnizarea unui proces de pornire complet verificat, care se întinde de la firmware la spațiul utilizatorului, confirmând validitatea și integritatea componentelor pornite.
  • Conectarea resurselor controlate la registrele TPM PCR, separate de proprietar.
  • Abilitatea de a precalcula valorile PCR pe baza nucleului, initrd, configurație și ID-ul sistemului local utilizat în timpul pornirii.
  • Protecție împotriva atacurilor de rollback asociate cu revenirea la o versiune vulnerabilă anterioară a sistemului.
  • Simplificați și creșteți fiabilitatea actualizărilor.
  • Suport pentru actualizări ale sistemului de operare care nu necesită re-aplicare sau furnizare locală a resurselor protejate prin TPM.
  • Sistemul este pregătit pentru certificarea de la distanță pentru a confirma corectitudinea sistemului de operare și a setărilor încărcate.
  • Abilitatea de a atașa date sensibile la anumite etape de pornire, de exemplu, extragerea cheilor de criptare pentru sistemul de fișiere rădăcină din TPM.
  • Furnizarea unui proces sigur, automat și fără utilizator pentru deblocarea cheilor pentru a decripta o unitate de partiție rădăcină.
  • Utilizarea de cipuri care acceptă specificația TPM 2.0, cu capacitatea de a reveni la sisteme fără TPM.

Sursa: opennet.ru

Cumpărați găzduire de încredere pentru site-uri cu protecție DDoS, servere VPS VDS 🔥 Cumpără găzduire web fiabilă cu protecție DDoS, servere VPS VDS | ProHoster