Трудноустранимые уязвимости в GRUB2, позволяющие обойти UEFI Secure Boot
Автор
Сообщение
news_bot ®
Стаж: 6 лет 9 месяцев
Сообщений: 27286
Раскрыта информация о 8 уязвимостях в загрузчике GRUB2, позволяющих обойти механизм UEFI Secure Boot и добиться запуска неверифицированного кода, например, осуществить внедрение вредоносного ПО, работающего на уровне загрузчика или ядра.
Напомним, что в большинстве Linux-дистрибутивов для верифицированной загрузки в режиме UEFI Secure Boot используется небольшая прослойка shim, заверенная цифровой подписью Microsoft. Данная прослойка верифицирует GRUB2 собственным сертификатом, что позволяет разработчикам дистрибутивов не заверять каждое обновление ядра и GRUB в Microsoft. Уязвимости в GRUB2 позволяют добиться выполнения своего кода на этапе после успешной верификации shim, но до загрузки операционной системы, вклинившись в цепочку доверия при активном режиме Secure Boot и получив полный контроль за дальнейшим процессом загрузки, в том числе для загрузки другой ОС, модификации компонентов операционной системы и обхода защиты Lockdown.
Как и в случае с прошлогодней уязвимостью BootHole, для блокирования проблемы недостаточно обновить загрузчик, так как атакующий, независимо от используемой операционной системы, может для компрометации UEFI Secure Boot использовать загрузочный носитель со старой уязвимой версией GRUB2, заверенной цифровой подписью. Проблема решается только обновлением списка отозванных сертификатов (dbx, UEFI Revocation List), но в этом случае будет потеряна возможность использования старых установочных носителей c Linux.
На системах с прошивками, в которых обновлён список отозванных сертификатов, в режиме UEFI Secure Boot можно будет загрузить только обновлённые сборки дистрибутивов Linux. Дистрибутивам же потребуется обновить инсталляторы, загрузчики, пакеты с ядром, fwupd-прошивки и shim-прослойку, сгенерировав для них новые цифровые подписи. Пользователи должны будут обновить установочные образы и иные загрузочные носители, а также загрузить список отозванных сертификатов (dbx) в прошивку UEFI. До обновления dbx в UEFI система остаётся уязвимой независимо от установки обновлений в ОС. Статус устранения уязвимостей можно оценить на данных страницах: Ubuntu, SUSE, RHEL, Debian.
Для решения проблем, возникающих при распространении отозванных сертификатов, в будущем планируется задействовать механизм SBAT (UEFI Secure Boot Advanced Targeting), поддержка которого реализована для GRUB2, shim и fwupd, и начиная со следующих выпусков будет использоваться вместо функциональности, предоставляемой пакетом dbxtool. SBAT разработан совместно с Microsoft и подразумевает добавление в исполняемые файлы компонентов UEFI новых метаданных, которые включают информацию о производителе, продукте, компоненте и версии. Указанные метаданные заверяются цифровой подписью и могут дополнительно включаться в списки разрешённых или запрещённых компонентов для UEFI Secure Boot. Таким образом, SBAT позволит при отзыве манипулировать номерами версий компонентов без необходимости перегенерации ключей для Secure Boot и без формирования новых подписей для ядра, shim, grub2 и fwupd.
Выявленные уязвимости:
- CVE-2020-14372 - при помощи команды acpi в GRUB2 привилегированный пользователь локальной системы может загрузить модифицированные таблицы ACPI, разместив SSDT (Secondary System Description Table) в каталоге /boot/efi и изменив настройки в grub.cfg. Несмотря на активность режима Secure Boot, предложенный SSDT будет выполнен ядром и может использоваться для отключения защиты LockDown, блокирующей пути обхода UEFI Secure Boot. В итоге атакующий может добиться загрузки свого модуля ядра или запуска кода через механизм kexec, без проверки цифровой подписи.
- CVE-2020-25632 - обращение к уже освобождённой области памяти (use-after-free) в реализации команды rmmod, проявляющееся при попытке выгрузить любой модуль без учёта связанных с ним зависимостей. Уязвимость не исключает создание эксплоита, который может привести к выполнению кода в обход верификпации Secure Boot.
- CVE-2020-25647 - запись за границы буфера в функции grub_usb_device_initialize(), вызываемой при инициализации USB-устройств. Проблема может быть эксплуатирована через подключение специально подготовленного USB-устройства, выдающего параметры, размер которых не соответствует размеру буфера, выделенного для структур USB. Атакующий может добиться выполнения кода, не верифицированного в Secure Boot, через манипуляции с USB-устройствами.
- CVE-2020-27749 - переполнение буфера в функции grub_parser_split_cmdline(), которое может быть вызвано указанием в командной строке GRUB2 переменных, размером более 1 КБ. Уязвимость позволяет добиться выполнения кода в обход Secure Boot.
- CVE-2020-27779 - команда cutmem даёт возможность атакующему удалить диапазон адресов из памяти для обхода Secure Boot.
- CVE-2021-3418 - изменения в shim_lock создали дополнительный вектор для эксплуатации прошлогодней уязвимости CVE-2020-15705. При установке в dbx сертификата, используемого для подписи GRUB2, GRUB2 позволял загрузить любое ядро напрямую без проверки подписи.
- CVE-2021-20225 - возможность записи данных за пределы буфера при запуске команд с очень большим числом опций.
- CVE-2021-20233 - возможность записи данных за границу буфера из-за неверного расчёта размера буфера при использовании кавычек. При расчёте размера предполагалось, что для экранирования одинарной кавычки требуется три символа, хотя на деле необходимо четыре.
===========
Источник:
OpenNet.RU
===========
Похожие новости
- Главная ссылка к новости (https://www.openwall.com/lists...)
- OpenNews: Критическая уязвимость в загрузчике GRUB2, позволяющая обойти UEFI Secure Boot
- OpenNews: В обновлении GRUB2 выявлена проблема, приводящая к невозможности загрузки
- OpenNews: Дистрибутивы устранили проблемы с обновлением GRUB2
- OpenNews: Релиз менеджера загрузки GNU GRUB 2.04
- OpenNews: Методы отключения защиты Lockdown в Ubuntu для удалённого обхода UEFI Secure Boot
Похожие новости:
- Дистрибутивы устранили проблемы с обновлением GRUB2
- [Информационная безопасность] Security Week 32: уязвимость в GRUB2
- В обновлении GRUB2 выявлена проблема, приводящая к невозможности загрузки
- Критическая уязвимость в загрузчике GRUB2, позволяющая обойти UEFI Secure Boot
- [Настройка Linux, Графические оболочки, Планшеты] Установка Ubuntu на Microsoft Surface Pro
- [Настройка Linux] Замена дисков меньшего объёма на диски большего объёма в Linux
- Релиз менеджера загрузки GNU GRUB 2.04
- [Java, Проектирование и рефакторинг] Lombok возвращает величие Java (перевод)
- Debian тестирует поддержку UEFI Secure Boot
- [Assembler, Настройка Linux, Системное программирование] Загрузка ядра Linux. Часть 1 (перевод)
Теги для поиска: #_grub, #_secureboot
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете прикреплять файлы к сообщениям
Вы не можете скачивать файлы
Текущее время: 22-Ноя 20:28
Часовой пояс: UTC + 5
Автор | Сообщение |
---|---|
news_bot ®
Стаж: 6 лет 9 месяцев |
|
Раскрыта информация о 8 уязвимостях в загрузчике GRUB2, позволяющих обойти механизм UEFI Secure Boot и добиться запуска неверифицированного кода, например, осуществить внедрение вредоносного ПО, работающего на уровне загрузчика или ядра. Напомним, что в большинстве Linux-дистрибутивов для верифицированной загрузки в режиме UEFI Secure Boot используется небольшая прослойка shim, заверенная цифровой подписью Microsoft. Данная прослойка верифицирует GRUB2 собственным сертификатом, что позволяет разработчикам дистрибутивов не заверять каждое обновление ядра и GRUB в Microsoft. Уязвимости в GRUB2 позволяют добиться выполнения своего кода на этапе после успешной верификации shim, но до загрузки операционной системы, вклинившись в цепочку доверия при активном режиме Secure Boot и получив полный контроль за дальнейшим процессом загрузки, в том числе для загрузки другой ОС, модификации компонентов операционной системы и обхода защиты Lockdown. Как и в случае с прошлогодней уязвимостью BootHole, для блокирования проблемы недостаточно обновить загрузчик, так как атакующий, независимо от используемой операционной системы, может для компрометации UEFI Secure Boot использовать загрузочный носитель со старой уязвимой версией GRUB2, заверенной цифровой подписью. Проблема решается только обновлением списка отозванных сертификатов (dbx, UEFI Revocation List), но в этом случае будет потеряна возможность использования старых установочных носителей c Linux. На системах с прошивками, в которых обновлён список отозванных сертификатов, в режиме UEFI Secure Boot можно будет загрузить только обновлённые сборки дистрибутивов Linux. Дистрибутивам же потребуется обновить инсталляторы, загрузчики, пакеты с ядром, fwupd-прошивки и shim-прослойку, сгенерировав для них новые цифровые подписи. Пользователи должны будут обновить установочные образы и иные загрузочные носители, а также загрузить список отозванных сертификатов (dbx) в прошивку UEFI. До обновления dbx в UEFI система остаётся уязвимой независимо от установки обновлений в ОС. Статус устранения уязвимостей можно оценить на данных страницах: Ubuntu, SUSE, RHEL, Debian. Для решения проблем, возникающих при распространении отозванных сертификатов, в будущем планируется задействовать механизм SBAT (UEFI Secure Boot Advanced Targeting), поддержка которого реализована для GRUB2, shim и fwupd, и начиная со следующих выпусков будет использоваться вместо функциональности, предоставляемой пакетом dbxtool. SBAT разработан совместно с Microsoft и подразумевает добавление в исполняемые файлы компонентов UEFI новых метаданных, которые включают информацию о производителе, продукте, компоненте и версии. Указанные метаданные заверяются цифровой подписью и могут дополнительно включаться в списки разрешённых или запрещённых компонентов для UEFI Secure Boot. Таким образом, SBAT позволит при отзыве манипулировать номерами версий компонентов без необходимости перегенерации ключей для Secure Boot и без формирования новых подписей для ядра, shim, grub2 и fwupd. Выявленные уязвимости:
=========== Источник: OpenNet.RU =========== Похожие новости
|
|
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете прикреплять файлы к сообщениям
Вы не можете скачивать файлы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете прикреплять файлы к сообщениям
Вы не можете скачивать файлы
Текущее время: 22-Ноя 20:28
Часовой пояс: UTC + 5