Специалист по безопасности в кибер пространстве Домас Кристофер, поделился своим открытием на конференции в Лас-Вегасе «Black Hat«, которая прошла 9 августа 2018 г.
Некоторые процессоры, построенные по архитектуре х86 с помощью команды к скрытому RISC чипу могут предоставить пользователю привилегии для получения корневых полномочий.
Как же перейти к режиму Бога?
Со слов Кристофера, завладеть доступом можно используя несуществующую команду LINUX
.byte 0x0f, 0x3f:
После выполнения команды кольца защиты ОС разрушаются, что даёт возможность контроля системы из окружения пользователя за 4 байт. 4 концентрических кольца и убывающие привилегий – такова архитектура информационной безопасности.
0 — ядро
1, 2 – драйверы устройств
3 – пользовательская среда и приложения
Режим, обнаруженный Кристофером, использует уязвимости в чипе с сокращенными наборами команд RISC, который располагается рядом с ядром процессора х86
Какие чипы не безопасны?
Согласно данных, ошибку можно обнаружить в процессорах архитектуры х86 VIA C3 Nehemiah, выпущенные в 2003г. используемые в интегрированных системах и тонких клиента. Стоит заметить, уязвимость может быть обнаружена и в других схемах.
Как была обнаружена уязвимость ?
Специалист нашёл эту уязвимость, проанализировав патенты компании. В одном из патентов было упомянуто о прыжках между колец 0, 3 для осуществления защиты от вирусов – эксплоитов в моделезависимых MSR регистрах.
После, исследователь осуществил установку семи тонких клиентов основанных на Nehemiah и подключил их к силовому реле. Реле потребовались для осуществления принудительной перезагрузки каждый двух минутный период, для предотвращения поломок. По истечении двух недель, были разработаны инструкции по получению прав «супер юзера» с помощью скрытого чипа RISC.
Эксперт опубликован на своём GITHUB все инструкции и инструменты для осуществления проверки процессоров.
Стоит добавить, в июне месяце 2018 г. инженерами Intel был опубликован отчет, в котором говорилось о новой уязвимости процессоров Intel Core, Xeon поколения от Sandy bridge. Брешь заключается в возможности приобретения доступа к значениям регистров, используемых другими процессами. В этих данных могут содержаться параметры, благодаря которым могут быть получены ключи шифрования.