Со времен вируса «Чернобыль» (CHI) аппаратная защита от несанкционированной записи чипа с низкоуровневым программным обеспечением (с недавних пор — UEFI BIOS) стала важнейшей задачей компьютерной безопасности. Учитывая, что современные платформы в обязательном порядке обеспечивают технологию обновления BIOS в среде Windows, которая появилась почти 15 лет тому назад, можно заметить, что аспект уязвимости неразрывно связан с проблемой ограничения доступа к SM RAM.

Intel ставит заслон

Попытка компании Intel кавалерийским наскоком раз и навсегда поставить заслон на пути зловредного ПО потерпела крах. Первоначально предложенный метод базировался на использовании битов BIOSWE и BLE, запрещающих запись и доступ соответственно. Механизм блокирования доступа использовал генерацию сигнала SMI в качестве сигнала тревоги, когда сторонняя программа пыталась разрешить запись. При этом вычислительный поток, инициировавший разрешение записи, прерывался сигналом SMI, и платформа силами UEFI предпринимала попытку недопустить перезапись BIOS. Для этого процедура обработки SMM запрещала запись, устанавливая бит BIOSWE=0 (восстанавливая исходное значение, переписанное вредоносной программой).

Метод защиты BIOS, основанный на использовании битов BIOSWE и BLE

Мультипроцессорность и защита BIOS

Метод, базирующийся не на запрете записи, а на защите с помощью System Management Interrupt содержал существенный недостаток. Дело в том, что параллельно работающие потоки (логические процессоры) могут начать модификацию BIOS до того, как процедура обработки SMM сможет блокировать доступ. Другими словами один вредоносный поток разрешает запись, устанавливая BIOSWE=1, затем UEFI вмешивается и восстанавливает исходное значение BIOSWE=0, генерируя SMI. Но вмешательство UEFI не может быть мгновенным, так как речь идет об обработке прерывания. Таким образом, в течение некоторого времени будет иметь место ситуация BIOSWE=1, и за это время параллельно работающий поток может исказить содержимое чипа BIOS ROM.

Технология защиты BIOS с помощью механизма SMM

Защита с применением SMM-режима

Начиная с набора логики 9-й серии, компания Intel предложила новый механизм защиты, который подразумевает, что перезапись BIOS доступна только для процедур, выполняемых в режиме SMM, то есть гарантированно являющаяся частью UEFI BIOS. В такой ситуации нет места для злоупотребления мультипроцессорностью, так как запись BIOS разрешена только тогда, когда все логические процессоры переведены в SMM. Это правило контролируется, если бит SMM_BWP=1. Сам же бит SMM_BWP запрещен для изменения после его установки, выполненной низкоуровневым программным обеспечением до очередного аппаратного сброса.

Получается, что и новый и старый механизмы защиты BIOS используют SMM, но принципиально по-разному. Важно подчеркнуть, что как новый, так и старый механизмы работоспособны только при условии поддержки их со стороны UEFI, но в новом действительно нет уязвимости, связанной с многопоточной атакой на BIOS ROM.


22.01.2018