Леннарт Поттеринг предложил новую архитектуру верифицированной загрузки Linux

Discussion in 'Мировые новости. Обсуждения.' started by Suicide, 27 Oct 2022.

  1. Suicide

    Suicide Super Moderator
    Staff Member

    Joined:
    24 Apr 2009
    Messages:
    2,482
    Likes Received:
    7,063
    Reputations:
    693
    Леннарт Поттеринг (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.
     
    _________________________
Loading...