Забавный тренд последних лет в индустрии производства ПК — это установка светодиодов во все комплектующие системного блока. Каким-то образом возникла идея, что круто выглядящий системник будет к тому же работать немного быстрее.
Пытаясь отключить светодиоды на своей новой видеокарте от Gigabyte, Грэм Сазерленд обнаружил, что эта светодиодная подсветка представляет собой неожиданную угрозу безопасности.
Ключевым моментом в этой уязвимости является драйвер видеокарты. Обычно, ожидается, что драйвер — это слой абстракции, который предоставляет пользовательскому ПО безопасный интерфейс для работы с критическими функциями аппаратных компонентов ПК. Вместо этого, драйвер от Gigabyte оказался скорее просто оболочкой, открывающей всю SMBus шину напрямую на уровень пользовательского кода. Это было сделано намеренно, чтобы программа, работающая под правами обычного пользователя, могла беспрепятственно обращаться с помощью bit-bang к led-контроллеру WS2812. В результате образовалась дыра в слоях безопасности, целью которых является недопущение выполнения вредоносного кода на голом железе. Вишенкой на этом торте является обнаруженный PIC микроконтроллер, подключенный к SMBus шине, который может быть перепрограммирован, предоставляя хакеру постоянное хранилище, неведомое для операционной системы и центрального процессора.
Очень рекомендуем прочитать оригинальную цепочку постов в Твиттере, т.к. она показывает, как именно функционирует механизм, позволяющий установить бэкдор на ПК под видом невинного контроллера светодиодного освещения.
Фото материнской платы от Gani01 [Public domain].