Обновить
7
Евгений@xtalread⁠-⁠only

Пользователь

Отправить сообщение
В продакшен коде есть правило avoid magic numbers. sizeof(uint16_t) указывает на сущность, за ней стоящую. 2 — ничего не значащая цифра, затрудняющая понимание кода другим человеком.
Небольшая поправка. Вместо
ec.bytePointer += 2;
надо написать так:
ec.bytePointer += sizeof(uint16_t);
В том и дело, что нужно с EPT/RVI. Иначе будет сделан вывод о том, что система скомпрометирована.

Спасибо.
Вы правы, абсолютная защита невозможна. Но можно сильно затруднить задачу обхода защиты. Например, для обхода вышеприведенного метода обнаружения автор руткита может реализовать свой гипервизор. Чтобы детектор-гипервизор, стартующий поверх запущенного руткита-гипервизора, ничего не заподозрил, придется проэмулировать технологию виртуализации. Это почти неосуществимая задача, которая по плечу лишь большим корпорациям.
И наоборот, если руткит-гипервизор попытается запуститься при включенном детекторе-гипервизоре, то не сможет этого сделать и будет обнаружен.

В режим гипервизора (root mode) можно перейти только с нулевого кольца. Без исключений.

Информация

В рейтинге
Не участвует
Откуда
Россия
Зарегистрирован
Активность