Критическая уязвимость UEFI поставила под угрозу миллионы компьютеров и серверов
В прошивках UEFI обнаружили критическую уязвимость, которая потенциально позволяет злоумышленникам выполнять вредоносный код ещё до запуска операционной системы. Проблема затрагивает кодовую базу TianoCore EDK II, используемую производителями при разработке прошивок для компьютеров и серверов. По данным исследователей, уязвимый код мог находиться в проекте около 16 лет.
UEFI отвечает за инициализацию аппаратных компонентов и запуск операционной системы. Уязвимости на этом уровне особенно опасны: при успешной атаке вредоносный код может получить контроль над процессом загрузки и оказаться вне досягаемости многих стандартных средств защиты.
Ошибка связана с сетевой загрузкой
Уязвимость обнаружили в драйвере PXE, который позволяет запускать компьютеры и серверы через сеть. Ошибка обработки специально сформированных ICMP-пакетов может привести к выходу за границы памяти и потенциальному выполнению произвольного кода в среде прошивки.
Для успешной атаки необходимо соблюдение определённых условий, связанных с сетевой загрузкой и доступностью уязвимого компонента. Поэтому наличие проблемы в исходном коде само по себе не означает, что каждый компьютер с UEFI можно взломать удалённо.
Какие устройства находятся под угрозой
TianoCore EDK II используется в разработке прошивок различными производителями, поэтому потенциально уязвимыми могут оказаться самые разные устройства. При этом фактический масштаб проблемы зависит от конкретной реализации UEFI, версии прошивки и используемых функций.
Наибольшее внимание к уязвимости следует уделить администраторам серверов и корпоративных сетей, где применяется загрузка по PXE. Домашние компьютеры, которые запускают операционную систему с локального SSD или жёсткого диска, менее подвержены описанному сценарию атаки.
Как защитить компьютер или сервер
Исправление для исходного кода EDK II подготовлено, однако производителям оборудования необходимо интегрировать его в собственные прошивки и выпустить соответствующие обновления BIOS/UEFI. До установки исправлений администраторам рекомендуется отключить PXE-загрузку на устройствах, которым она не нужна, а в остальных случаях ограничить доступ к соответствующим сетевым интерфейсам.
Обновление прошивки следует устанавливать только из официальных источников производителя оборудования.
Обнаруженная проблема показывает, что уязвимости могут сохраняться в фундаментальных компонентах компьютерных систем годами. При этом устранение подобных ошибок требует не только исправления исходного кода, но и выпуска обновлений для уже работающих устройств.