Kernel anti-cheats are currently the main trump card for developers in the war against cheaters. They operate at the kernel level, control every process in the system, and can stop most known methods of bypassing protection. However, this effectiveness comes at a price: risks of data leaks, vulnerabilities with maximum privilege levels, and constant interference with your PC's operation. In our article, we will discuss how kernel anti-cheats work, why they cause so much controversy in the gaming community, and whether the victory over cheaters is really worth such a price.
Несколько недель назад игровое сообщество Battlefield столкнулось с новой непонятной преградой, блокирующей доступ к игре. Тем самым ограждением к бета-тесту стал новый античит от Electronic Arts – Javelin. Он имеет куда больше требований, чем банальная установка вместе с игрой. Кроме повышенных системных требований, античит подобной архитектуры заинтересован в получении полного доступа к компьютеру игрока.
В итоге единственной жертвой становятся сами геймеры. С одной стороны читеры стараются обходить такие ограничения. С другой — разработчики нарушают вашу приватность и скачивают с вашего компьютера всю необходимую информацию. А с третьей: подобные нарушения личного пространства играют на руку хакерам, специализирующимся на продаже личных данных. И всё это происходит на фоне дискуссий по поводу необходимости верификации игроков ради борьбы с читерами!
История появления kernel-античитов
Первые античиты работали в пользовательском режиме и имели те же права, что и сама игра. Их задачи сводились к проверке контрольных сумм файлов, поиску известных модификаций и сканированию памяти игрового процесса. Такие системы, как PunkBuster или ранние версии VAC, были эффективны в эпоху, когда большинство читов представляли собой измененный исходный код или пользовательские модификации.
Для понимания эволюции античитов полезно рассмотреть уровни прав доступа в компьютере:
- Ring 3 — пользовательский режим (user-mode). Здесь запускаются обычные программы — браузеры, игры, офисные приложения. У них ограниченный доступ к ресурсам: они не могут напрямую обращаться к оборудованию или вносить изменения в ядро. Для работы с системными функциями они обращаются к ядру через системные вызовы.
- Ring 2 — среда для работы драйверов или сетевых стеков с повышенными правами, но без доступа ко всему ядру. В этом секторе читов никогда не существовало.
- Ring 1 предназначен для кода операционной системы, не требующий полного доступа к ядру, но взаимодействующий с оборудованием и управляет его ресурсами. До 2013 года читы работали исключительно на этом уровне.
- Ring 0 — режим ядра (kernel-mode). Здесь работают сама операционная система и драйверы. Программы в этом режиме имеют полный доступ к памяти, процессору и оборудованию, могут изменять работу любых процессов и взаимодействовать с устройствами напрямую.
Изображение было взято с сайта Википедия
Ситуация изменилась в 2010 году, когда разработчики читов начали использовать среду разработки Windows и делать читы, замаскированные под драйверы. Это позволило им работать на уровне Ring 1. А в 2013 году читеры представили первые читы на уровне Ring 0. Это позволило хакерам перехватывать системные вызовы, скрывать процессы и напрямую изменять память игр, оставаясь незамеченными для user-mode античитов. Появление драйверных читов фактически обесценило традиционные методы защиты.
Ответом разработчиков стала разработка собственных драйверов защиты, работающих в режиме ядра. Первыми kernel-античитами стали модифицированные BattlEye и Easy Anti-Cheat. Их работа на нулевом уровне позволяла выявлять драйверы-читы, контролировать целостность системных структур и блокировать опасные вызовы на низких уровнях.
Однако гонка вооружений продолжилась. Читеры научились пользоваться специальными DMA-платами —устройствами, напрямую подключающиеся к компьютеру, для считывания и изменения содержимого оперативной памяти, минуя процессор и систему безопасности. Такой способ почти невозможно отследить обычным античитом.
Другой метод — использование второго компьютера: основной ПК запускает игру, а второй обрабатывает вывод изображения (например, через карту захвата) и передаёт обратно скорректированные данные для наведения или обнаружения врагов. Поскольку второй компьютер не взаимодействует напрямую с игрой, обнаружить вмешательство становится крайне сложно.
Изображение было сделано ИИ Sora
Самым сложным способом принято считать использование гипервизоров, работающих на так называемом уровне Ring -1. Это программный слой, находящийся «ниже» операционной системы и способный управлять её работой, подменяя данные ещё до того, как они попадут в саму ОС. Но работа в такой среде крайне опасна. Неотлаженный код может спровоцировать «синий экран смерти» (BSOD) с последующей утечкой памяти и повреждением компьютера.
В ответ на такие подходы разработчики античитов начали теснее интегрироваться с аппаратными механизмами защиты, проверять прошивки подключённых устройств и запускаться на самых ранних этапах загрузки системы, чтобы не дать читам возможность запуститься раньше них.
Важной вехой противостояния стал запуск в 2016 году FaceIt Anti-Cheat для своих серверов по Counter-Strike: Global Offensive. Он стал одним из первых kernel-античитов, требующих постоянной работы в фоне. FaceIt активно использовал как анализ памяти на уровне ядра, так и собственные изобретения, ориентированные на выявление нестандартных паттернов ввода и поведения игрока. Благодаря этому новые способы обхода kernel-античитов на серверах FaceIt почти перестали работать. Потому сервера FaceIt принято считать одними из самых безопасных для игры в Counter-Strike.
Однако полностью избавиться от читеров не удалось: специалисты системы выявляли только те программы, ранее упоминавшиеся на публичных и закрытых форумах. Даже FaceIt AC не в состоянии обнаружить полностью приватные и персонализированные читы. К счастью, таких разработок крайне мало, они стоят очень дорого, и потому встречаются в реальных матчах крайне редко.
Чтобы понять, насколько эти системы эффективны и требовательны, необходимо подробнее рассмотреть их принцип работы и то, какие условия они предъявляют к аппаратному и программному обеспечению игрока.
Как работают Kernel-античиты?
Kernel-античит работает в режиме ядра, на уровне Ring 0 — наивысшем уровне привилегий в архитектуре процессора, обеспечивающий полный доступ к памяти, драйверам, аппаратным устройствам и системным структурам операционной системы. Такой доступ необходим, чтобы выявлять читы, работающих аналогичном уровне и способных оставаться невидимыми для обычных средств защиты.
Изображение было сделано ИИ Sora
Работа kernel-античита начинается с загрузки подписанного драйвера в ядро при запуске игры или даже при старте системы. Драйвер отслеживает состояние системы, анализируя содержимое как пользовательской, так и системной памяти, выявляя внедрённый код, подделки структур данных или скрытые процессы. Для этого он может перехватывать системные вызовы, контролируя попытки обращения к памяти игры, инъекций кода, запуска отладчиков и других потенциально опасных действий.
Для современных kernel-античитов требуются актуальные версии операционных систем и функции аппаратной защиты. В их число входят следующее:
- Secure Boot — технология защиты, встроенная в BIOS. Она проверяет цифровые подписи загрузочных файлов, драйверов и компонентов системы. А также предотвращает запуск изменённых или неподписанных элементов, защищая от руткитов и вредоносных загрузчиков.
- TPM 2.0 (Trusted Platform Module) — специальный чип в материнской плате. Хранит ключи шифрования, пароли и сертификаты, а также проверяет целостность системы при запуске, предотвращая её загрузку, если она была модифицирована.
- VBS (Virtualization-Based Security) — технология Windows, использующая аппаратную виртуализацию для изоляции критически важных процессов и хранения секретных данных в защищённой среде, недоступной даже при компрометации основной операционной системы.
Эти технологии создают барьер, блокирующий запуск и работу вредоносных или модифицированных компонентов системы, тем самым повышая безопасность и усложняя использование читов на самых низких уровнях. Но несмотря на развитие средств безопасности, полностью закрыть вопрос с читами ни разработчикам не удалось. Но неспособность выявлять самые изощренные способы обхода не является их главной проблемой. Настоящая угроза кроется в глубокой интеграции античита в систему.
Риски для античита и игроков
Kernel-античит требует от пользователя не только современного оборудования и актуальной операционной системы, но и готовности передать программе с максимальными системными привилегиями практически полный доступ к устройству, а также допустить постоянную работу фоновых процессов, способных вмешиваться в работу системы.
Такие античиты собирают большой объём информации: уникальные аппаратные идентификаторы, список запущенных процессов и драйверов, сетевые параметры, технические данные о конфигурации системы и даже историю нажатия клавиш. Компании вроде BattlEye и Easy Anti-Cheat в своей политике конфиденциальности прямо указывают, какие данные они собирают и как их используют, подчёркивая, что обработка ведётся с соблюдением Европейского Закона, регулирующего обработку и защиту персональных данных физических лиц в Европейском Союзе и Европейской экономической зоне.
Но не все разработчики столь прозрачны. Яркий пример — Vanguard, античит для игр Riot Games. С момента появления он вызывал подозрения, вплоть до обвинений в том, что это потенциально шпионская программа, работающая в интересах китайской разведки. Технические специалисты неоднократно заявляли, что не могут установить, какие именно данные и в каком объёме передаются на серверы Riot.
Права на изображение принадлежат Riot Games
Проблемы проявились и в самой архитектуре программы: несмотря на работу в Ring 0, Vanguard не использует весь потенциал режима ядра и не способен корректно выявлять сложные методы обхода. Для его разработки применялась библиотека Driver Device Kit — набор инструментов для создания драйверов, предназначенный исключительно для Windows. В результате игры с Vanguard либо не запускаются на других операционных системах, либо работают без защиты. А пользователи Windows сталкивались с BSOD'ами, так как античит влиял на стабильность и производительность ядра.
С этим ничего нельзя было сделать. Исходный код подтверждает, что разработчики избегали использования альтернативных инструментов. В комментариях к коду дан следующий ответ:
«Because we don't know how PE files work».
Portable Executable (PE) — формат файлов, используемый в Windows для хранения .exe, .dll, .sys и других типов, загружаемых и выполняемых операционной системой.
Кроме того, античит выполняет сбор информации о «железе» игрока только один раз. Если после этого пользователь что-либо поменяет, то во время игры почти гарантированно случится BSOD, утечка памяти, и, возможно, потребуется переустановка Windows.
Риски безопасности усиливаются тем, что уязвимости в kernel-античите могут быть использованы для кибератак. Характерный пример — инцидент с драйвером mhyprot2.sys от kernel-античита в Genshin Impact. Подписанный легитимным сертификатом драйвер позволял злоумышленникам завершать процессы антивирусов и выполнять произвольный код в Ring 0. Это приводило к отключению защиты, установке вируса-вымогателя и заражению корпоративных сетей. Причём наличие самой игры на устройстве не требовалось — достаточно было установленного клиента или драйвера.
Изображение было сделано ИИ Sora
Потому требования kernel-античита к пользователю на предоставление полного доступа к системе и передачу большого объёма данных разработчику чревато серьёзными рисками. Любая ошибка в реализации или уязвимость превращает инструмент борьбы с нарушителями в потенциальное место для атаки с максимальным уровнем привилегий.
Иные способы защиты игроков
Самым влиятельным способом защиты принято считать продажу игры по полной цене. В дорогих проектах многие потенциальные читеры опасаются потерять вложенные средства в случае бана. Особенно если аккаунт невозможно восстановить или передать. Но такой эффект сохраняется лишь при активной поддержке античита и регулярных обновлениях, а при снижении внимания разработчиков к проекту страх утраты аккаунта быстро исчезает.
Аналогичным методом является верификация игроков. Привязка аккаунта уникальному идентификатору затрудняет создание множества учётных записей и повторный вход в игру после бана. Этот способ активно используется на серверах FaceIt, где доступ к рейтинговым матчам возможен только после подтверждения своей личности при помощи официального документа, что снижает количество «свежих» аккаунтов читеров. Однако такой метод требует доверия к разработчику в вопросах хранения личных данных.
Изображение было взято с сайта FaceIt. Права принадлежат ESL и Savvy Games Group.
Ещё один подход заключается в государственном регулировании. В Китае и Южной Корее создание, продажа и использование читов приравнены к киберпреступлениям, за которые можно получить реальные сроки и крупные штрафы. Жёсткие меры эффективно бьют по организованным группам разработчиков, но они работают только в странах с развитым законодательством в сфере кибербезопасности и не влияют на пользователей из других регионов. К тому же, из указанных азиатских стран мы по-прежнему получаем самые вопиющие ситуации вокруг читов, перетекающих в громкие скандалы с требованиями оградить Китай и Южную Корею от всех остальных игроков.
Самым неочевидным, но наиболее эффективным способом борьбы с читерством является облачный гейминг. При таком подходе игра полностью запускается на удалённом сервере, а пользователю передаётся только видеопоток. Это делает установку клиентских читов невозможной, но требует стабильного и быстрого интернет-соединения, а также лишает игрока возможности глубокой настройки клиента.
В конкретной игре каждый из приведенных инструментов имеет своё влияние. Но самую важную роль в борьбе с читерами играет позиция игрового сообщества. Ведь именно от настроений игроков зависит, какие методы защиты будут восприняты положительно, а какие воспримут в штыки.
Готовы на всё ради честной игры
В игровом сообществе давно сформировалась нулевая терпимость к читерам. Для многих геймеров нечестная игра воспринимается как прямая угроза удовольствию от матчей, а само присутствие нарушителей в онлайне способно испортить впечатление даже от любимого проекта. Особенно смелые и дерзкие игроки открыто требуют от разработчиков радикальных мер, вплоть до уголовного преследования и ограничения доступа нарушителям на всех уровнях. При этом значительная часть аудитории готова идти на серьёзные уступки в вопросах приватности и удобства, лишь бы сохранить честную соревновательную среду.
Недавнее исследование организации PlaySafe ID, проведённое среди более двух тысяч геймеров из Великобритании и США, показало, что проблема читерства в онлайн-играх достигла масштабов, напрямую влияющих на поведение игроков и их отношение к играм. Согласно результатам опроса, большинство участников заявили, что сталкивались с читерами и это стало причиной частичного или полного сокращения трат на внутриигровые покупки. А некоторые вовсе задумывались об уходе из игры, где обитают читеры.
Несмотря на риски потери приватности, 73% респондентов заявили в готовности пройти верификацию личности, например через паспорт, если это обеспечит честную игру. А 83% опрошенных отметили, что с большей вероятностью будут играть в проекты, открыто заявляющих о своей защите от читеров. Ещё один важный вывод исследования — 79% опрошенных считают, что наказание за читерство должно распространяться на все игры, а не ограничиваться лишь конкретным тайтлом, в котором был зафиксирован факт нарушения.
Изображение было взято с сайта PlaySafe ID.
Хотя исследование PlaySafe ID и демонстрирует чёткий запрос игроков на честную игру и готовность жертвовать приватностью ради безопасности, его результаты нельзя считать полностью объективными. Выборка всего из двух стран и ограниченное количество респондентов не позволяют экстраполировать выводы на всё мировое игровое сообщество. Более того, вся методология исследования заключалась только в поверхностном опросе добровольцев. В ряде важных метрик нет дополнительных вопросов, что могут проверить утверждения респондентов на достоверность. Например, организаторы не выясняли как игроки поняли, что противостояли читеру, в какой игре с ним сталкивались и был ли нарушитель наказан. Поэтому такие исследования стоит воспринимать не как подробную аналитику, а часть информационной кампании, продвигающей идею обмена приватности на безопасность.
И в качестве опровержения, наш главный редактор Виталий Казунов в Telegram-канале провёл аналогичный опрос подписчиков на готовность предоставить паспортные данные ради борьбы с читерами. В исследовании приняло участие более 10 500 человек и 67% оказались «Решительно против» подобной инициативы.
Изображение было взято с Telegram-канала «iXBT без комментариев».
В дискуссии о читерстве можно найти материалы, ставящие под сомнение привычные взгляды игрового сообщества. Например, популярный тезис о том, что «читы снижают удовольствие от игры» был разобран факультетом компьютерных наук при Университете Висконсин-Мэдисон. Тогда испытуемых заставляли использовать весь функционал читов, даже если часть возможностей им была неинтересна. Этот же эффект подробно разбирается в опубликованной статье, где показано, что восприятие удовольствия от читов сильно зависит от контекста и личного отношения игрока, а не от самого факта нарушения правил.
Analysis
Kernel-античиты становятся неотъемлемой частью современной индустрии онлайн-игр. Они демонстрируют высокую эффективность против большинства методов обхода защиты, однако остаются уязвимыми перед самыми сложными и дорогими решениями, а также несут потенциальные риски для самих игроков из-за глубокой интеграции в систему.
История их развития показывает, что гонка между разработчиками и читерами не имеет финальной точки: новые методы обхода неминуемо вызывают появление новых средств защиты. При этом любые технологические меры остаются лишь частью более широкого комплекса решений в борьбе с жульничеством в играх.
Главный вывод — прогресс в борьбе с читерством должен идти рука об руку с прозрачностью и ответственностью перед игроками. Будь это честное признание проблемы и принятие мер по её решению, или запрос предоставить данные геймеров и их устройств. Есть только один неоспоримый факт: если бы таких античитов не было — ситуация с читерством усугубилась бы ещё быстрее.