KernelCI обеспечит автоматизированное тестирование ядра Linux

KernelCI обеспечит автоматизированное тестирование ядра Linux

KernelCI обеспечит автоматизированное тестирование ядра Linux

Многие специалисты сходятся во мнении, что слабым местом Linux является недостаточно качественное тестирование. Однако теперь разработчики могут исправить это с помощью KernelCI, фреймворка для автоматического тестирования ядра Linux.

На прошедшей недавно в Лиссабоне конференции Linux Kernel Plumbers одной из самых обсуждаемых тем стало усовершенствование автоматического тестирования Linux-ядра.

В результате ведущие разработчики Linux объединили свои усилия для создания фреймворка KernelCI, который стал частью проекта Linux Foundation.

Напомним, что ядро Linux разрабатывает целое сообщество энтузиастов, выступающих за открытый исходный код. В процессе работы они используют Linux Kernel Mailing List (LKML).

Проблема такого метода заключается в недостатке сотрудничества по части использованного для тестирования софта. Рассел Карри, один из разработчиков ядра Linux, указывает на несостоятельность текущей системы тестирования, а также приводит в пример проекты GitHub и GitLab, на которых этот процесс организован гораздо лучше.

В этой ситуации задача KernelCI — обеспечить проверку работы Linux на большом количестве устройств, а также объединить усилия всех разработчиков, тестирующих ядро Linux.

Контроллер памяти AMD научили обходить аппаратную изоляцию

Исследователь Кристофер Домас опубликовал PoC-проект skitter-creek-bath-salts, демонстрирующий обход аппаратной защиты памяти на процессорах AMD Family 16h. Техника манипулирует настройками контроллера DRAM и позволяет обращаться к областям, которые должны быть недоступны даже операционной системе, ядру и коду с привилегиями ring 0.

Обычно программные и аппаратные механизмы контролируют доступ по физическим адресам.

Но последнюю точку в маршруте ставит контроллер памяти: он переводит адрес в конкретные координаты DRAM — канал, ранг, банк, строку и столбец.

Домас показал, что изменение одного регистра может перенастроить это преобразование уже после срабатывания вышестоящих средств защиты. В результате появляется альтернативный адрес, ведущий к тем же ячейкам DRAM. Охраняемый вход остаётся заперт, но контроллер внезапно рисует вторую дверь прямо в стене.

 

Чтобы система не рухнула, PoC отключает прерывания, подготавливает кеш и таблицы трансляции, ненадолго меняет схему адресации, читает или записывает нужные данные, а затем возвращает исходные настройки.

Для поиска адресов-двойников проект использует линейную алгебру и SMT-решатель Z3. Инструменты восстанавливают связь между обычным и изменённым отображением памяти, после чего вычисляют алиас для защищённой области.

Исследователь продемонстрировал потенциальный доступ к памяти AMD Platform Security Processor, включая данные fTPM, защищённой области System Management Mode, состояниям процессора C6 и хранилищу микрокода. Последний сценарий допускает не только извлечение копии патча, но и её возможное изменение перед восстановлением состояния ядра.

PoC проверяли только на AMD Family 16h. Данных об аналогичной уязвимости в новых AMD, Intel, ARM или RISC-V нет.

RSS: Новости на портале Anti-Malware.ru