Почему Valve Anti-Cheat (VAC) не может остановить kernel-читы?
Вы задаетесь вопросом, почему система Valve Anti-Cheat (VAC) не может предотвратить читы на базе ядра (Ring 0)? Узнайте техническую подоплеку проблемы читерства в CS2 и различия между Ring 3 и Ring 0.
Столкновение с читерами в соревновательных играх в Steam, особенно в Counter-Strike 2 (CS2), несомненно, является самым большим кошмаром каждого игрока. Многие игроки спрашивают: «Почему такая огромная компания, как Valve, не может полностью покончить с читами?» или «Почему система VAC не работает?». В частности, читы «уровня ядра» (kernel-level), продающиеся на рынке по баснословным ценам, играют с системой VAC как с игрушкой.
Так почему же Valve Anti-Cheat (VAC) оказывается бессилен против этих читов на уровне оборудования и ядра? Чтобы понять ответ на этот вопрос, нам нужно поближе познакомиться с тем, как работают операционные системы компьютеров и их «уровни полномочий».
Что такое Ring 3 (пользовательский режим) и Ring 0 (режим ядра)?
Операционная система вашего компьютера (например, Windows) разделена на разные уровни полномочий (кольца) в целях безопасности и стабильности:
Ring 3 (пользовательский режим): это область, в которой работают обычные приложения (Discord, Google Chrome, Steam и большинство игр). Программы в этой области не могут напрямую вмешиваться в работу оборудования или сердца операционной системы.
Ring 0 (режим ядра): это сердце операционной системы. Здесь работают драйверы видеокарты, антивирусные программы и самые фундаментальные коды системы. У них есть полный доступ и права контроля над всем, что есть в компьютере.
Именно здесь начинается основная проблема: Valve Anti-Cheat (VAC) работает в вашей системе на уровне Ring 3 (пользовательский режим). Однако современное и дорогое чит-программное обеспечение разработано для работы на уровне Ring 0 (режим ядра).
Как kernel-читы обходят VAC?
В компьютерных науках есть золотое правило: «Программное обеспечение с более низкими полномочиями не может проверять или видеть программное обеспечение с более высокими полномочиями».
Чит, работающий на уровне ядра (Ring 0), укореняется в самых глубоких частях операционной системы. Когда VAC, работающий в Ring 3, сканирует память игры в поисках читов, kernel-чит обманывает операционную систему и отправляет VAC сообщение: «Здесь все чисто, читов нет». Поскольку полномочия VAC ограничены, для него технически невозможно обнаружить эту ложь. Короче говоря, kernel-чит становится невидимым для VAC.
Как Riot Vanguard и другие добиваются успеха?
Античит-система Valorant Riot Vanguard или системы Easy Anti-Cheat (EAC) от Epic Games работают на вашем компьютере на уровне Ring 0 (режим ядра). То есть они сражаются на том же поле боя, на том же уровне полномочий, что и читерское ПО. Благодаря этому их показатели обнаружения и блокировки читов на уровне ядра намного выше.
Почему Valve не сделает VAC на уровне ядра?
Вопрос, который игроки задают чаще всего: «Тогда почему Valve не сделает античит уровня ядра, такой как Vanguard?». Для этого есть несколько философских и технических причин:
Проблемы конфиденциальности и безопасности: программа, работающая на уровне ядра, теоретически может получить доступ ко всем вашим файлам, паролям и банковской информации на вашем компьютере. Кроме того, уязвимость в системе безопасности, которая может возникнуть в этом античит-софте, может привести к захвату вашего компьютера злонамеренными хакерами или вызвать сбой системы (синий экран). Valve избегает этого, чтобы не нарушать конфиденциальность пользователей.
Совместимость с Linux и Steam Deck: Valve вложила огромные средства в экосистему Linux с помощью SteamOS и Steam Deck. Глубокая античит-система, написанная специально для ядра Windows, представляет собой структуру, которую очень сложно запустить на Linux. Valve хочет, чтобы в ее игры можно было свободно играть на любой платформе.
Каково решение Valve? (Искусственный интеллект и защита на стороне сервера)
Вместо того чтобы вступать в войну на уровне ядра, Valve стремится решить проблему с помощью серверной части и искусственного интеллекта (ИИ).
VACnet (система защиты от читов Valve на базе ИИ) анализирует движения мыши игроков, скорость прицеливания и поведение. ИИ обнаруживает миллисекундные реакции или отслеживание за стенами (Wallhack, Aimbot), которые невозможны для человека, на стороне сервера. Другими словами, как бы чит ни скрывал себя на компьютере, он выдает себя благодаря «сверхчеловеческим» движениям, которые он отправляет на сервер. Она также стремится защитить обычных игроков, сопоставляя читеров между собой с помощью системы Trust Factor.