Если вирус модифицирует firmware хост-контроллера USB, то результат
11 Авг 2014 - 12:39 Случайный_Гость
Если вирус модифицирует firmware хост-контроллера USB, то результат может быть
значительно серъезнее: получится bus-master устройство, вышедшее из подчинения
центрального процессора и способное выполнять чтение и запись памяти по любым
адресам. Уместно вспомнить, что для некоторых дискретных контроллеров USB
(например Renesas), загружаемое при каждом старте Firmware может храниться
в составе BIOS. Сказанное отностится ко многим дискретным контроллерам, не
только к контроллерам USB. А вот ресурсы в составе южного моста чипсета менее
открыты для таких действий.
Что это даст вирусу? Два примера:
Защиту памяти, используемую в технологии виртуализации VT-x так обойти можно:
при VT-x супервизор мониторит настройку bus-master устройств гостевыми задачами
в расчете на то, что устройство будет обращаться только по запрограммированным
адресам (то есть полностью подчиняется хосту).
Защиту памяти, используемую в технологии виртуализации VT-d так обойти нельзя:
там каждое bus-master устройство снабжается своим модулем DMA remapping,
который контролирует финальный результат - адреса, формируемые устройством,
а не последовательность его инициализации. Ситуация "некорректный bus-master
адрес при корректной настройке устройства" здесь будет перехвачена.
Если вирус модифицирует firmware хост-контроллера USB, то результат может быть
значительно серъезнее: получится bus-master устройство, вышедшее из подчинения
центрального процессора и способное выполнять чтение и запись памяти по любым
адресам. Уместно вспомнить, что для некоторых дискретных контроллеров USB
(например Renesas), загружаемое при каждом старте Firmware может храниться
в составе BIOS. Сказанное отностится ко многим дискретным контроллерам, не
только к контроллерам USB. А вот ресурсы в составе южного моста чипсета менее
открыты для таких действий.
Что это даст вирусу? Два примера:
Защиту памяти, используемую в технологии виртуализации VT-x так обойти можно:
при VT-x супервизор мониторит настройку bus-master устройств гостевыми задачами
в расчете на то, что устройство будет обращаться только по запрограммированным
адресам (то есть полностью подчиняется хосту).
Защиту памяти, используемую в технологии виртуализации VT-d так обойти нельзя:
там каждое bus-master устройство снабжается своим модулем DMA remapping,
который контролирует финальный результат - адреса, формируемые устройством,
а не последовательность его инициализации. Ситуация "некорректный bus-master
адрес при корректной настройке устройства" здесь будет перехвачена.