Новость из категории: Информация, Игры

Античиты уровня ядра: что они видят на вашем ПК

Античиты уровня ядра: что они видят на вашем ПК

Установка сетевого шутера всё чаще заканчивается не кнопкой «Играть», а предложением поставить драйвер и перезагрузить компьютер. После перезагрузки в трее появляется значок защиты, которая стартует вместе с системой и висит там, даже когда игра закрыта. Вокруг этого спорят уже несколько лет, а внятного объяснения, что именно происходит на вашей машине, обычно не хватает.

Если коротко: античит уровня ядра ставит подписанный драйвер, работающий на том же уровне привилегий, что и сама Windows. Оттуда ему видны список процессов, обращения к памяти игры, загруженные драйверы и попытки посторонних программ вмешаться в игру. Добраться до документов и переписки такой драйвер тоже способен, ограничений со стороны операционной системы у него нет. Разбираемся, зачем защите столько власти и чем она отличается от античитов, живущих в обычном пользовательском режиме.

Античиты уровня ядра: что они видят на вашем ПК

Нулевое кольцо: чем драйвер отличается от программы



Windows делит исполняемый код на уровни доступа. Обычные приложения работают в пользовательском режиме и общаются с железом через системные вызовы: операционная система решает, что им можно, а что нет. Драйверы работают в режиме ядра и обращаются к памяти и устройствам напрямую, без посредника.

Разница тут не теоретическая. Приложение из пользовательского режима не увидит чужой драйвер, не проверит целостность системных таблиц и не заметит, если кто-то подменил обработчик системного вызова. Драйвер всё это видит. На нулевое кольцо разработчики защиты пошли не от хорошей жизни: софт, который они ловят, переехал туда раньше.

Плата за такой доступ известна каждому, кто хоть раз ловил синий экран после обновления игры. Ошибка в драйвере роняет не приложение, а систему целиком. Конфликты с гипервизором, с утилитами разгона и с ПО для мониторинга железа растут из того же корня: античит стоит на одном уровне с ядром ОС и спорит с ним за одни и те же ресурсы.

Античиты уровня ядра: что они видят на вашем ПК

Что попадает в поле зрения драйвера



Конкретный набор проверок у каждой защиты свой, но источники данных примерно совпадают.

Процессы и потоки. Драйверу видно всё запущенное, включая то, что спрятано от диспетчера задач.

Дескрипторы доступа. Защита отслеживает, кто открыл хендл к процессу игры и с какими правами. Попытка постороннего процесса прочитать игровую память фиксируется именно здесь.

Загруженные драйверы и их подписи. Отозванный или самоподписанный драйвер в системе повод для флага, даже если он к играм отношения не имеет.

Целостность кода в памяти. Защита периодически сверяет исполняемые страницы процесса с эталоном и ловит правки на лету.

Идентификаторы железа. Серийные номера накопителей, MAC-адрес, параметры платы. Из них собирается отпечаток, по которому банят не аккаунт, а машину.

Признаки виртуализации и отладки. Запущенный гипервизор, подключённый отладчик ядра, включённый тестовый режим подписи драйверов.

Обратите внимание, чего в этом списке нет: содержимого файлов, истории браузера, паролей. Технических барьеров для доступа к ним у кода в ring 0 не существует, удерживает разработчиков репутационный риск, а не архитектура.

Античиты уровня ядра: что они видят на вашем ПК

Внутри процесса или снаружи: главный водораздел



Логика проверок становится понятнее, если посмотреть на неё со стороны того, что защита ищет.

Один класс постороннего софта встраивается прямо в процесс игры: подгружает свою библиотеку в её адресное пространство, перехватывает вызовы графического API, дорисовывает поверх кадра собственные элементы. Возможностей у такого подхода максимум, но и следов он оставляет везде: чужой модуль в списке загруженных, изменённые таблицы импорта, правки в исполняемых страницах.

Другой класс работает снаружи. Отдельный процесс читает память игры системными вызовами, ничего в неё не пишет, с отрисовкой не пересекается, а результат выводит в своём окне. Внутри игрового процесса следов нет, зато остаётся сам факт обращения к чужой памяти.

Различие настолько принципиальное, что по нему сортируют позиции даже каталоги узкого игрового софта: скажем, в подборках, где собраны приватные читы для Rust, внешние решения и инжект-загрузчики идут отдельными категориями, потому что от архитектуры зависит и заметность для защиты, и нагрузка на систему. Для темы разговора важен вывод: драйвер режима ядра перекрывает оба сценария сразу, а защита пользовательского уровня надёжно ловит только первый.

Античиты уровня ядра: что они видят на вашем ПК

Почему пользовательского уровня перестало хватать



Античит без драйвера делает примерно то же самое, но из ring 3: перечисляет процессы, ищет известные сигнатуры, проверяет целостность собственного кода. Плюсы очевидны. Перезагрузка не нужна, систему такая защита не роняет, вопросов о приватности почти не вызывает.

Минус ровно один, и он решающий. Всё, что работает в режиме ядра, для неё невидимо. Драйвер способен убрать процесс из списка, подменить результат системного вызова и отдать античиту заранее нарисованную картину. Гонка ушла уровнем ниже, защита пошла следом, и обратной дороги пока не видно.

Античиты уровня ядра: что они видят на вашем ПК

Приватность, стабильность и здравый смысл



Претензии игроков сводятся к двум пунктам. Первый: постоянно работающий драйвер с полными правами это лишняя поверхность атаки, и найденная в нём дыра открывает машину не одному лишь её владельцу. Второй: обычный пользователь не может проверить, чем занят закрытый код в ядре, ему остаётся верить компании на слово.

Аргумент противоположной стороны такой же прямой. Без ядра защита слепа, а сервер без защиты пустеет за пару месяцев, потому что честные игроки уходят первыми.

Практические выводы простые. Смотрите, позволяет ли конкретная защита выгружаться после выхода из игры, некоторые это умеют. Не смешивайте машину для соревновательных игр с рабочей, где лежат чужие данные. При появлении синих экранов открывайте дамп: имя сбойного драйвера в нём указано прямым текстом, и половина таких случаев лечится обновлением, а не переустановкой Windows. И держите включёнными Secure Boot и штатную проверку подписи драйверов: часть защит без них просто не стартует, и это тот случай, когда требование обосновано.

Частые вопросы



Античит уровня ядра работает, когда игра закрыта?

Драйвер загружается вместе с системой и остаётся в памяти. Некоторые защиты позволяют выгрузить его вручную, после чего для запуска игры потребуется перезагрузка.

Может ли такой драйвер читать мои личные файлы?

Технически да, привилегий у него достаточно. Ограничивает разработчиков не операционная система, а публичность: любая утечка такого рода стоила бы им продукта.

Из-за чего античит вызывает синий экран?

Чаще всего из-за конфликта с другим низкоуровневым софтом: утилитами разгона, мониторингом датчиков, виртуальными приводами. Имя виновника видно в дампе памяти.

Рейтинг статьи

Оценка
0/5
голосов: 0
Ваша оценка статье по пятибальной шкале:
 
 
   

Поделиться

Похожие новости

Комментарии

^ Наверх