Читы разрушают облик честной игры, подрывая доверие игроков к разработчикам. В ответ на это, разработчики находятся в постоянной борьбе с нарушителями, применяя все более изощренные методы защиты. Во второй части нашей статьи мы детально рассмотрим, борьбу создателей античитов и читеров, обсудим клиентские, серверные и гибридные античиты, приведем примеры реальных систем и вызовов, с которыми они сталкиваются. Кроме того, мы рассмотрим перспективные технологии античитов и их методы тестирования!
![](https://habrastorage.org/getpro/habr/upload_files/9af/9ff/eec/9af9ffeec859260055ba236874100e15.png)
Виды античитов и их основные функции
Для борьбы с читерством в видеоиграх разработчики используют различные виды античитов, каждый из которых решает специфические задачи для обеспечения честной и конкуретной игры. Античиты можно разделить на несколько основных категорий: клиентские, серверные и гибридные:
Клиентские античиты работают непосредственно на устройстве игрока и фокусируются на обнаружении установленного программного обеспечения и подозрительных изменений в памяти.
Серверные античиты, напротив, анализируют данные с игрового сервера и выявляют аномалии в поведении игроков, что делает их менее зависимыми от окружения игрока.
-
Гибридные анти-читы сочетают оба подхода для более комплексной защиты.
Эти системы важны для того, чтобы поддерживать баланс и честность в игровых сообществах, обеспечивая равные условия для всех игроков и защищая их от нарушителей, которые стремятся получить нечестное преимущество. Ниже рассмотрим каждый конкретнее.
![](https://habrastorage.org/getpro/habr/upload_files/480/a8d/96e/480a8d96e11b6aa207f628537bc7bb12.png)
Клиентские античиты
Клиентские античиты исследуют оперативную память и ищут установленные программы. Эти системы работают на уровне устройства игрока, выполняя глубокий анализ процессов и памяти. Примеры клиентских античитов включают:
Valve Anti-Cheat (VAC): Система, использующая детекторы сигнатур и эвристический анализ для выявления подозрительных программ и модификаций в игровой среде.
BattlEye: Античит платформа, которая активно сканирует память, процессы и файлы для обнаружения известных читов и иных манипуляций.
Easy Anti-Cheat (EAC): Программное обеспечение, которое устанавливается вместе с игрой и выполняет проверки на наличие запрещённых программ и изменений в игровых файлах.
![](https://habrastorage.org/getpro/habr/upload_files/8d7/6b9/4bd/8d76b94bd34c871964546a85a8ab5fe8.jpg)
Процесс работы клиентских античитов включает:
-
Мониторинг памяти: Клиентские античиты выполняют мониторинг оперативной памяти на наличие подозрительных паттернов и сигнатур. Этот процесс включает несколько ключевых шагов:
Сканирование памяти: Античит система периодически сканирует определённые сегменты оперативной памяти, где могут находиться читаемые данные игры. Система ищет паттерны, которые соответствуют известным читам.
Сигнатуры: Сигнатуры представляют собой уникальные идентификаторы кода, которые помогают системе обнаруживать запрещённое ПО. Они могут включать конкретные строки кода, функции или структуры данных.
Эвристический анализ (эвристическое сканирование): Помимо использования сигнатур, система может применять эвристический анализ для выявления подозрительного поведения. Это включает обнаружение аномального доступа к памяти или изменения данных, которые не происходят при нормальной игре.
Обратная трассировка: В некоторых случаях система может выполнять обратную трассировку, чтобы выяснить, какой процесс вызвал изменения в памяти. Это помогает выявить вредоносное ПО, которое пытается скрыть своё присутствие.
-
Анализ процессов: Определение запущенных программ, которые могут взаимодействовать с игрой, является важной частью работы клиентских античитов:
Мониторинг процессов: Система отслеживает все запущенные процессы на устройстве игрока, проверяя их на предмет взаимодействия с игрой. Это может включать просмотр списков запущенных программ и их атрибутов.
Идентификация опасных процессов: Античит определяет процессы, которые могут использоваться для читерства, такие как программы для автоматизации (боты), инжекторы кода и дебаггеры.
Интерцепция API: Система может перехватывать вызовы API (Application Programming Interface), которые могут быть использованы для манипуляции с игровыми данными. Например, вызовы для чтения или записи памяти игры.
Блокировка подозрительных процессов: Если античит обнаруживает подозрительный процесс, он может попытаться его закрыть или уведомить пользователя о потенциальной угрозе.
-
Обратное проектирование: Анализ кода игры для выявления потенциальных уязвимостей и запрещённых вмешательств включает следующие этапы:
Декомпиляция кода: Античит специалисты декомпилируют игровой код, чтобы понять его архитектуру и структуру. Это позволяет им определить, какие части кода наиболее уязвимы для атак.
Анализ сигнатур: После декомпиляции специалисты анализируют сигнатуры кода, которые могут использоваться читами. Они ищут подозрительные изменения или дополнительные модули, которые могут взаимодействовать с игрой.
Статический и динамический анализ: Статический анализ проверяет код на предмет уязвимостей без его выполнения, в то время как динамический анализ выполняется во время реального запуска игры, отслеживая поведение программы.
Обнаружение инжектирования кода: Эксперты проверяют, могут ли сторонние программы внедрять свой код в игру, и какие защита при этом используются для предотвращения таких вмешательств.
Динамическое обновление: Анти-читовые базы данных регулярно обновляются, чтобы включать новые сигнатуры и методы защиты.
![](https://habrastorage.org/getpro/habr/upload_files/5da/4d8/736/5da4d87364729bec2946d59668610aea.jpg)
Серверные античиты
Серверные античиты работают, используя информацию о игроках в режиме реального времени для статистического анализа. Они не сканируют файлы игрока и не требуют установки какого-либо ПО на стороне клиента. Примеры серверных античитов:
FairFight: Использует алгоритмы статистического анализа для определения честного и нечестного поведения в реальном времени. FairFight анализирует данные сессий игроков и сравнивает их с профилями среднего игрока
Overwatch's proprietary system: Blizzard использует собственную систему серверного анализа данных для выявления подозрительных паттернов в поведении игроков в таких играх, как Overwatch и World of Warcraft..
Процесс работы серверных античитов:
-
Сбор данных
Сбор данных является ключевым этапом в работе серверных античитов. Серверы собирают обширные данные о действиях игроков во время игры, включая:
Количество убийств и смертей: Отслеживаются все "боевые" взаимодействия игрока.
Использование оружия и способностей: Фиксируется, как часто и эффективно игрок использует оружие, способности или предметы.
Передвижение игрока: Записываются паттерны движения, такие как скорость, маршруты и частота прыжков.
Взаимодействие с объектами: Учитываются действия игрока по взаимодействию с игровыми объектами, например, открытие дверей, сбор предметов и т.д.
Коммуникация и поведение: Анализируются сообщения в чате, голосовая коммуникация и общее поведение игрока в игре.
Эти данные собираются постоянно и передаются на сервер для последующего анализа.
-
Анализ паттернов
Анализ паттернов заключается в сравнении собранных данных с нормальными распределениями производительности для выявления отклонений. Этот этап включает:
Создание профилей игроков: На основе собранных данных создаются профили, включающие средние показатели производительности для каждого игрока.
Сравнение с эталонными данными: Данные игроков сравниваются с эталонными показателями, полученными от среднего игрока или от группы игроков аналогичного уровня.
Использование алгоритмов машинного обучения: Алгоритмы машинного обучения могут использоваться для выявления сложных паттернов и предсказания вероятности использования читов.
-
Выявление аномалий
Выявление аномалий является критически важным для идентификации читеров. Это включает:
Определение статистических отклонений: Если производительность игрока значительно отклоняется от среднего, это может указывать на использование читов.
Анализ временных паттернов: Аномальные изменения в производительности за короткие периоды времени могут сигнализировать о включении или выключении читов.
Корреляция данных: Сравнение различных типов данных (например, скорость передвижения и точность стрельбы) для выявления нелогичных комбинаций.
Флаги подозрительных действий: Определенные действия, такие как нереально быстрая перезарядка оружия или мгновенные повороты на 180 градусов, могут автоматически помечаться как подозрительные.
-
Реакция в реальном времени
Реакция в реальном времени включает автоматические и полуавтоматические действия для предотвращения нечестной игры. Это может включать:
Автоматические оповещения: Система может автоматически уведомлять администраторов или модераторов о подозрительных действиях.
Теневой бан (он же Shadow ban): Временное ограничение функциональности игрока без его уведомления для дальнейшего наблюдения.
Ограничение функционала: Временное отключение определенных функций игры, таких как доступ к рейтинговым матчам.
Временные и постоянные баны: Если аномалии подтверждаются, игрок может быть временно или навсегда забанен.
Обратная связь с игроком: В некоторых случаях игрок может быть уведомлен о том, что его подозревают в читерстве.
![](https://habrastorage.org/getpro/habr/upload_files/3d9/5bf/c17/3d95bfc17474eb1dde879f6b05fb83e2.jpg)
Гибридные античиты
Гибридные античиты объединяют подходы как клиентских, так и серверных систем, обеспечивая более комплексную защиту от читеров. Эти системы комбинируют сильные стороны обеих технологий, чтобы создать более устойчивую и адаптивную защиту от нечестной игры.
Примеры гибридных античитов:
Riot Vanguard (Valorant): Vanguard является одним из наиболее известных примеров гибридного античита. Он включает в себя как клиентскую, так и серверную защиту. Клиентская часть Vanguard активно работает на устройстве игрока, выполняя глубокое сканирование процессов и памяти для обнаружения известных читов и манипуляций. Она также следит за изменениями в файлах игры и предотвращает запуск подозрительных программ.
Серверная часть Vanguard анализирует данные о поведении игроков в реальном времени, что позволяет обнаруживать аномалии и подозрительное поведение. Комбинированный подход позволяет системе быстро адаптироваться к новым видам читов и снижает количество ложных срабатываний.Epic Games Anti-Cheat System (Fortnite): Эта система использует гибридный подход, сочетая клиентские и серверные методы для защиты игры. На клиентской стороне античит активно проверяет наличие модификаций и подозрительных программ, которые могут взаимодействовать с игрой.
Серверная часть системы анализирует данные о действиях игроков, такие как скорость передвижения, точность стрельбы и использование ресурсов, чтобы выявлять потенциальные аномалии и нарушения. Синергия между клиентской и серверной частями позволяет эффективно бороться с читами, минимизируя ложные срабатывания и обеспечивая высокую точность обнаружения.
Технологии и методы:
Клиентская защита: Гибридные античиты на клиентской стороне могут использовать методы мониторинга системных ресурсов, проверки целостности файлов и процессов. Это включает в себя использование детекторов сигнатур для поиска известных читов, а также эвристического анализа для выявления новых и модифицированных читов. Дополнительно, клиентские античиты могут интегрироваться с системами защиты от инжектирования кода и манипуляций с памятью игры.
Серверная защита: Серверная часть гибридных античитов анализирует данные о поведении игроков, собирая информацию о производительности, статистике и взаимодействии с игровыми объектами. Эти данные анализируются в реальном времени для выявления аномальных паттернов и поведения, которые могут указывать на использование читов. Машинное обучение и алгоритмы статистического анализа помогают в создании профилей игроков и выявлении отклонений от нормального поведения.
Успешные примеры:
Valorant: Гибридная система Riot Vanguard значительно улучшила защиту от читеров, создав баланс между клиентскими и серверными методами. Это позволило эффективно выявлять и блокировать как известные, так и новые виды читов, значительно улучшив общий игровой опыт и поддерживая высокий уровень честности в игре.
![](https://habrastorage.org/getpro/habr/upload_files/043/067/5b3/0430675b3029577abdedbd96fa8dd0ed.jpg)
Fortnite: Epic Games Anti-Cheat System продемонстрировала эффективность в борьбе с читами, сочетая клиентскую защиту с серверным анализом. Это позволило поддерживать целостность игрового процесса и снизить количество случаев читерства, обеспечивая справедливые условия для всех игроков.
Взаимодействие между клиентскими и серверными аспектами гибридных античитов
-
Передача данных:
Клиентская часть античита регулярно передает информацию на сервер, включая результаты сканирования памяти, целостности файлов и других проверок. Эти данные могут быть зашифрованы для защиты от перехвата.
Серверные системы получают и анализируют эти данные в сочетании с другими метриками игры. Например, данные о результате скана памяти передаются серверу, где сравниваются с поведенческими данными и метриками производительности.
-
Синхронизация событий:
Информация о действиях игрока синхронизируется между клиентом и сервером в реальном времени. В случае обнаружения подозрительных действий на уровне клиента (например, сверхъестественная точность выстрелов), сервер может сравнить это с данными о реальной производительности и поведенческими паттернами данного игрока.
Если выявлено отклонение, комбинация доказательств с клиентской и серверной сторон служит более точной основой для принятия мер, таких как временный или постоянный бан.
Гибридные античиты предоставляют мощное средство для борьбы с читерством, обеспечивая более глубокую и многослойную защиту. Сочетание клиентских и серверных методов позволяет создать более устойчивую и адаптивную систему, способную эффективно справляться с современными угрозами в области игрового читерства.
Сравнение античитов
Функция |
Клиентский |
Серверный |
Гибридный |
---|---|---|---|
Основная функция |
Сканы оперативной памяти на предмет несанкционированного ПО |
Использует данные из игры для статистического анализа |
Комбинирует сканы памяти и статистический анализ данных |
Метод обнаружения |
Основан на сигнатурах, идентифицирует известные читы |
Основан на производительности, отслеживает статистику и действия игроков |
Идентификация по сигнатурам и производительный анализ |
Требование установки |
Требует установки на машину клиента |
Не требует установки на стороне клиента |
Требует установки клиентского компонента и взаимодействия с сервером |
Время активации |
Мгновенное, не требует настройки |
Требуется время для начального сбора данных |
Мгновенное, но с последующим долгосрочным анализом сервером |
Частота обновлений |
Регулярные обновления для обнаружения новых читов |
Менее частые обновления, сосредоточены на анализе данных |
Регулярные обновления как для клиентского, так и для серверного компонентов |
Эффективность |
Эффективен против известных читов, уязвим к новым или модифицированным читам |
Эффективен в долгосрочной перспективе, низкий уровень ложноположительных результатов |
Высокая эффективность за счет комбинации методов, уменьшение уязвимости к новым читам |
Недостатки |
Легко обходится новыми или неизвестными читами |
Требуется время для сбора и анализа данных игроков |
Более сложная установка и управление, сочетание недостатков клиентского и серверного анти-читов |
Недостатки различных типов анти-читов
Клиентские анти-читы:
Уязвимость к новым читам: Клиентские анти-читы могут эффективно обнаруживать известные читы, но часто оказываются бессильными против новых или модифицированных читов, особенно если они не обновляются регулярно.
Легкость обхода: Читеры могут обойти клиентские анти-читы, модифицируя или маскируя свои инструменты, что делает систему менее надежной.
Нужда в установке: Клиентские анти-читы требуют установки на машину игрока, что может создать дополнительные проблемы совместимости и вызвать неудобства у пользователей.
Частое обновление: Для поддержания эффективности клиентские анти-читы требуют частых обновлений, что может быть затруднительно для разработчиков и пользователей.
Серверные анти-читы:
Задержка в обнаружении: Серверные анти-читы могут иметь задержку в выявлении читерства, так как они зависят от сбора и анализа данных, что может замедлить реакцию на нарушения.
Сложность настройки: Настройка и поддержка серверных анти-читов могут быть сложными и требуют значительных ресурсов, включая мощное серверное оборудование и опытные команды разработчиков.
Проблемы с ложными срабатываниями: Серверные анти-читы могут порой вызывать ложные срабатывания, особенно в случае нестандартных игровых ситуаций, что может привести к ошибочному наказанию честных игроков.
Зависимость от данных: Эффективность серверных анти-читов во многом зависит от качества и полноты собранных данных. Если данные неполные или искаженные, это может снизить точность обнаружения читов
Клиентские анти-читы часто пропускают многое
Проверить каждое событие индивидуально невозможно, что оставляет открытые возможности для читеров использовать уязвимости. Если событие не контролируется сервером, это создаёт пространство для читов. Когда игровая студия проверяет множество событий на серверной стороне, шансы на манипуляции с читами уменьшаются, но даже несколько непроверенных событий могут стать источником уязвимостей.
Например, в шутерах от первого лица можно отслеживать количество выстрелов, но если скорость стрельбы не проверяется сервером, читеры могут заставить пули летать быстрее, чем предусмотрено. В отличие от клиентских решений, серверные античиты сталкиваются с другой проблемой: ложными срабатываниями. Необходимо так настроить античит, чтобы не наказывать легитимных игроков без причины. Юридические требования часто требуют 100% доказательств читерства, иначе можно столкнуться с юридическими последствиями из-за несправедливых банов, даже если большинство сигналов указывает на нечестное поведение.
![](https://habrastorage.org/getpro/habr/upload_files/719/32a/91c/71932a91c3a410ee0d82d8fe451bd003.jpg)
Как разработчики читов обходят решения по борьбе с читерством?
Чтобы обойти клиентские античиты, разработчики читов следят за отчетами о блокировках. Как только они замечают, что игроки с определенной сигнатурой чита получают баны, они отключают этот чит, переписывают его в течение одного-двух дней, чтобы сделать его неотличимым, и чит продолжает функционировать. Это по сути игра в кошки-мышки, где разработчики читов всегда находятся на шаг впереди, а поставщики анти-читов постоянно ищут обновления на рынке читов, обновляя свои базы данных по мере выявления новых читов. Такой подход, естественно, не идеален. Более проактивная стратегия, такая как внедрение серверных анти-читов, может вывести разработчиков игр вперед и бороться с читерством у самого его источника.Серверные решения делают читерство сложнее
Обойти серверные анти-читы значительно сложнее, так как они не зависят от "нахождения" читов на компьютере игрока, а ищут аномалии в игровом процессе. Когда идентифицируются новые читы, разработчикам анти-читов требуется авторизация от производителя игры, чтобы защитить новый игровой элемент. Это одно из преимуществ серверных анти-читов, которые можно настроить под новые читы без вмешательства в код программного обеспечения.
Избегание клиентских методов:
Шифрование и маскировка: Разработчики читов используют методы шифрования и маскировки, чтобы скрыть свое ПО от клиентских античитов.
Динамическое обновление: Читы постоянно обновляются, чтобы избежать обнаружения. Разработчики читов следят за обновлениями античитов и быстро адаптируют свои программы.
Обход серверных методов:
Манипуляция данными: Читеры могут пытаться манипулировать данными, отправляемыми на сервер, чтобы обойти проверки на стороне сервера.
Использование легитимных действий: Некоторые читы используют легитимные действия в игре, чтобы создать иллюзию нормального поведения и избежать обнаружения серверными античитами.
![](https://habrastorage.org/getpro/habr/upload_files/75b/de9/d2f/75bde9d2f7de5a5002a1cd1578af6997.jpg)
Как античит борется с конкретными типами читов
Античиты используют разнообразные методы для борьбы с различными типами читов. Рассмотрим, как они конкретно противодействуют аимботам, которые автоматически наводят прицел на противника и значительно упрощают процесс стрельбы.
Аимбот (Aimbot):
Аимботы автоматизируют наводку прицела на противника, что дает игрокам несправедливое преимущество. Античиты применяют несколько стратегий для их обнаружения и блокировки:
Анализ точности стрельбы: Античит может мониторить точность игрока в реальном времени. Например, в игре Valorant, система Riot Vanguard отслеживает данные о попаданиях и сравнивает их с нормальными паттернами для данного уровня навыка игрока. Если игрок продолжительно время демонстрирует идеальную точность стрельбы, особенно при стрельбе на дальние дистанции или в движущиеся цели, это может указывать на использование аимбота.
Мониторинг задержки прицеливания: В античитах, таких как BattleEye, используется мониторинг задержки прицеливания. Эти системы могут сравнивать реакцию игрока при наведении прицела с обычными задержками, которые характерны для ручного прицеливания. Если прицел мгновенно находит цель или с необычно высокой скоростью перемещается к противнику, это может быть признаком аимбота.
Обнаружение изменения памяти: Некоторые античиты, например, EasyAntiCheat, активно сканируют память игры и процессы на наличие программных инжекторов, которые могут модифицировать поведение игры. Аимботы часто требуют изменения данных в памяти игры для корректной работы. Если античит обнаруживает такие изменения или подозрительные сторонние программы, это может привести к обнаружению и блокировке читера.
Анализ игровых данных: Античит системы могут анализировать поведение игрока, включая его движение, скорость реакции и частоту попаданий. Fortnite использует систему Epic Games Anti-Cheat для мониторинга статистики игрока и выявления аномалий. Если игрок показывает аномально высокую точность или способность стрелять через объекты, это может сигнализировать о применении аимбота.
![](https://habrastorage.org/getpro/habr/upload_files/66e/219/ee0/66e219ee074b7bbbd16cd78ef424e159.jpg)
Wallhack:
Wallhack дает игрокам возможность видеть сквозь стены, объекты и другие препятствия, что значительно упрощает обнаружение противников и их расположения. Античиты используют несколько стратегий для его обнаружения и предотвращения:
Анализ поведения игрока: Античит системы, такие как FairFight, проводят анализ поведения игрока для выявления аномалий, связанных с использованием wallhack'ов. Например, если игрок часто стреляет через стены или делает очень точные прицелы в места, где нет видимых противников, это может указывать на использование wallhack'а.
Проверка визуальных данных: Некоторые античиты, такие как Riot Vanguard в Valorant, могут проверять визуальные данные, которые клиент игры отправляет на сервер. Они могут анализировать, как информация о том, что видит игрок, отличается от того, что видят другие игроки. Если данные об объектах в поле зрения игрока не совпадают с данными, видимыми другими игроками, это может сигнализировать о wallhack'е.
Мониторинг изменений графики: Античит системы, например EasyAntiCheat, могут проверять и блокировать модификации графического движка или изменение шейдеров, которые могут быть использованы для реализации wallhack'ов. Если античит обнаруживает изменение в графическом рендеринге, это может быть признаком использования чит-программ.
Проверка скрытых слоев и текстур: Некоторые античиты проверяют наличие несанкционированных текстур или скрытых слоев в графике игры. В Call of Duty: Warzone, система Ricochet Anti-Cheat может проверять текстуры и их рендеринг для выявления необычных паттернов, которые могут указывать на использование wallhack'а.
![](https://habrastorage.org/getpro/habr/upload_files/43d/30f/038/43d30f0387ffb6272cabc9f6c1a13c7b.jpg)
Сбор данных — ключевой момент в борьбе с читами
Поставщик античита должен точно понимать, какие события студия хочет отслеживать и использовать для выявления читерства. Это важно для точного определения, действительно ли игрок нарушает правила. Например, система VAC отслеживает широкий спектр данных, таких как использование подозрительных программ или скриптов, которые могут вмешиваться в работу игры. VAC также анализирует взаимодействие с игровыми файлами, поиск аномальных изменений или инъекционных действий, которые могут указывать на попытки обойти защиту.
После того как античит система соберет достаточно данных, игровая студия должна проверить, является ли событие, произведенное игроком, действительно аномальным в контексте всей игровой активности. В системе VAC, например, это может выглядеть как анализ больших массивов данных о поведении тысяч и миллионов игроков, чтобы выявить паттерны, характерные для чистой и нечестной игры. Если VAC обнаруживает, что игрок использует читы, это фиксируется как аномалия.
Затем необходимо принять решение о мерах наказания. VAC автоматически выдает бан на учетную запись игрока, что может варьироваться от временного до постоянного запрета на участие в игре. Поскольку этот процесс автоматизирован и базируется на сложных алгоритмах, студия может получать уведомления о применении наказаний и при необходимости проводить дополнительные проверки, чтобы исключить вероятность ложных положений.
![](https://habrastorage.org/getpro/habr/upload_files/ed0/39f/179/ed039f179ab389a182c48565385fcc7e.jpg)
Перспективные технологии и исследовательские направления в области античитов
Искусственный интеллект (ИИ)
-
Машинное обучение:
Алгоритмы машинного обучения используются для анализа больших массивов данных и выявления сложных паттернов, которые могут указывать на использование читов. Технически это включает обучение моделей на данных о нормальной игре и читерской активности, чтобы уметь различать их.
Игровые компании используют supervised и unsupervised методы обучения, такие как классификация и кластеризация, для анализа игровых метрик и выявления аномалий
Supervised Learning: Например, некоторые игровые компании, такие как Riot Games, используют supervised learning для анализа больших объемов данных и выявления подозрительных паттернов в игре Valorant. Их система Riot Vanguard использует модели машинного обучения, обученные на основе помеченных данных об обычных и читерских действиях, чтобы эффективно распознавать аномалии.
![](https://habrastorage.org/getpro/habr/upload_files/6d6/095/fe1/6d6095fe119d4a813594963d1c67194f.png)
Unsupervised Learning: Supercell, разработчик популярных мобильных игр, таких как Clash Royale и Brawl Stars, исследует возможности использования unsupervised learning для выявления аномалий на основе анализа игровых метрик и поведения игроков.
![](https://habrastorage.org/getpro/habr/upload_files/897/eb1/c81/897eb1c81f418c884977e1e9d6aefc25.png)
-
Генеративные модели:
Исследования в области генеративных моделей, таких как GAN (Generative Adversarial Networks), могут использоваться для симуляции различных видов читерских действий и тестирования античитовых алгоритмов на устойчивость к ним.
Исследовательские лаборатории в крупных компаниях, таких как Tencent и Ubisoft, активно экспериментируют с использованием GAN для симуляции читерских действий. Эти модели генерируют искусственные данные о подозрительном поведении, что позволяет обучать античит алгоритмы справляться с новыми угрозами.
Tencent изучает использование GAN для создания тренировочных наборов данных, которые помогают улучшить чувствительность их античитовых систем к новым формам читерства.
![](https://habrastorage.org/getpro/habr/upload_files/bbe/d1b/959/bbed1b9595ec3fe5141a080e3200916a.png)
Блокчейн
-
Децентрализованная верификация данных:
Блокчейн-технологии могут использоваться для хранения и верификации данных игровых сессий. Это обеспечивает неизменяемость данных и высокий уровень прозрачности. Примеры использования блокчейна:
njin: Эта блокчейн-платформа для видеоигр предоставляет децентрализованное хранилище данных игровых сессий. Каждое игровое событие записывается в блокчейн-систему, что позволяет проверить легитимность действий и предотвратить подмену данных.
GameCredits: Эта компания также исследует возможности интеграции блокчейна для верификации игровых данных, обеспечивая прозрачность и неизменяемость историй игр
-
Игровые смарт-контракты:
Смарт-контракты могут автоматически исполнять правила и санкции, типичные для античитов, например, автоматическое наложение штрафов за обнаруженное читерство. Примеры использования смарт контрактов:
Cryptokitties: Хоть это и не классическая видеоигра, Cryptokitties использует смарт-контракты для управления игровой механикой. Этот пример показывает, как смарт-контракты могут автоматически управлять правилами и санкциями в игре.
Chainlink: Chainlink работает над интеграцией смарт-контрактов для автоматического исполнения игровых правил и санкций, что помогает в борьбе с нечестной игрой.
![](https://habrastorage.org/getpro/habr/upload_files/4e2/56b/09a/4e256b09af55206573b4a0af47924b71.jpg)
Тестирование античитов
Тестирование античитов критически важно для обеспечения их надежности и эффективности. Тестирование проводится в несколько этапов:
-
Фазовый анализ:
Включает проверку различных фаз работы античита, от установки до взаимодействия с игровыми механиками.
Примеры: Проверка установки на различных операционных системах и взаимодействия с популярными игровыми платформами.
-
Испытание на ложноположительные и ложноотрицательные срабатывания:
Цель: Проверка точности античита в отличие честных игроков от читеров.
Примеры: Исследование служб безопасности, таких как BattlEye, проводит эмуляцию различных видов атак и анализирует реакцию системы.
-
Анализ производительности:
Проверяет, как античит влияет на производительность игры, особенно на слабых машинах.
Примеры: Проведение стресс-тестов во время интенсивного геймплея для выявления потенциальных лагов или снижения производительности.
-
Контрольная среда и стресс-тестирование:
Создание масштабных симуляций игровых сессий с участием тысяч игроков для проверки на устойчивость к массовым атакам и высокой нагрузке.
Примеры: Использование облачных платформ для симуляции тысяч одновременных игровых сессий и проверки работы античита в условиях высокой нагрузки.
Эти методы тестирования античитов обеспечивают их надежность и минимизируют риск ложноположительных и ложноотрицательных срабатываний, что является критически важным для поддержания честного игрового процесса.
![](https://habrastorage.org/getpro/habr/upload_files/ad1/52e/24d/ad152e24dfcb1c57f6321f475e0249b6.png)
Заключение
Борьба с читерством в игровой индустрии — это бесконечная игра в кошки-мышки между разработчиками игр и читерами. Процесс создания эффективных античитовых систем требует комплексного подхода, включающего как клиентские, так и серверные методы. Гибридные античиты предоставляют наиболее комплексное решение, сочетая сильные стороны обоих подходов для повышения общей эффективности.
Несмотря на значительные усилия, читеры продолжают искать новые способы обхода защиты. Это требует от разработчиков постоянного обновления и адаптации их античитовых систем. Перспективные технологии, такие как машинное обучение и блокчейн, предоставляют новые и мощные инструменты для повышения безопасности и честности в играх. Внедрение ИИ, например, позволяет анализировать огромные объемы данных и выявлять сложные паттерны читерства, а блокчейн обеспечивает неизменность и прозрачность данных игровых сессий.
Однако остается множество вызовов, включая уязвимость к новым видам читов и ложные срабатывания. Эти проблемы требует сложных и продуманных решений, которые способны минимизировать влияние читов и защитить игроков от несправедливых обвинений. Особенно важно эффективно тестировать античит системы, чтобы обеспечить их надежность и производительность, ставя под удар минимальное количество честных игроков.
Статья поддерживается командой Serverspace.
Serverspace — провайдер облачных сервисов, предоставляющий в аренду виртуальные серверы с ОС Linux и Windows в 8 дата-центрах: Россия, Беларусь, Казахстан, Нидерланды, Турция, США, Канада и Бразилия. Для построения ИТ-инфраструктуры провайдер также предлагает: создание сетей, шлюзов, бэкапы, сервисы CDN, DNS, объектное хранилище S3.
IT-инфраструктура | Кешбэк 17% по коду HABR
![](https://habrastorage.org/webt/yu/m0/up/yum0upvqpmb1rcchboht0xncbsw.png)
Комментарии (19)
SquareRootOfZero
06.08.2024 17:17Столько всего умные люди напридумывали. И не помогает ни*уя.
Darell_Ldark
06.08.2024 17:17Технически, помогает, просто не со 100% эффективностью.
Часть читеров отсеивается банально на уровне сканирования памяти приложения, часть читеров будет отсеяна серверными проверками, часть поймает античит и статический анализ. Читеры и разработчики игр похожи на то, что происходит в информационной безопасности - обороняющаяся сторона всегда в догонябщем положении. Поэтому я сомневаюсь, что когда-либо в принципе настанет время совсем без читеров.SquareRootOfZero
06.08.2024 17:17В "информационной безопасности" хакеры, конечно, находят иногда дыры в безопасности, а потом разработчики это исправят, и хакеры вынуждены искать новые дыры. А читерство в играх существует на фундаментальном, основополагающем уровне, читы существуют, поскольку клиент-серверная архитектура в основе своей это позволяет, с этим ничего не делают и, похоже, в обозримом будущем не сделают. А все эти "часть читеров отсеется на таком уровне, часть читеров отсеется на сяком уровне" - это как воду в сите носить: часть молекул воды, конечно, отсеется, но, в итоге, и воды не принесут, и на полу лужи будут.
Darell_Ldark
06.08.2024 17:17+1Почему ничего не делают?
Все симуляции, перемещения и любые другие операции выносят на сторону сервера. Помимо этого существуют разные механизмы дополнительной верификации, включая, но не ограничиваясь античитами. Почему Вы считаете, что с этим ничего не делают?SquareRootOfZero
06.08.2024 17:17Потому что стон по поводу читеров в интернетах стоит уже сколько [десятков] лет? Столько же, сколько прошло с того момента, как многопользовательские игры более-менее распространились. Этот стон у нас песней зовётся. А все материалы по борьбе с читами (и этот, как видите, не исключение) всё так же описывают, что сканируется какая-то память и т. п., выявляются какие-то распространённые читы, и потом выявленные читеры жестоко банятся. Анализируется точность стрельбы, и слишком точно стреляющие принимаются за читеров и жестоко банятся. Будем оптимистами и примем процент забаненных читеров за 99 - оставшегося одного процента с лихвой хватит, чтобы испохабить любую игру. Даже если в этот раз вашей игровой сессии читера не досталось - осознания того, что в любой момент может прилететь читер и раздать хедшоты с разворота, хватит, чтобы испоганить игру. А действительно решить проблему, я так понимаю, невозможно - разве что стриминговыми игровыми сервисами, либо какими-то залами сертифицированных и опечатанных игровых автоматов.
liquiddeath13
06.08.2024 17:17От статьи несёт генерацией, либо я слишком продвинулся в теме создания читов, что большинство описанных вещей для меня являются ну ооочень базовыми. Технологии создания читов ушли уже далеко вперед (существенно дальше, чем абуз гипервизора), а античиты.. античиты уже давно позади и в играх типа Valorant работают только мануал баны (да, детекты и впрямь имеются, вот только они актуальны исключительно для тех, кто в создании читов совсем ноль, как и в программировании в принципе, это объективное мнение на данный момент)
Ochkastiy_Lynch
06.08.2024 17:17Мне нравится тот факт, что люди с своими гомо-софтами будут играть в разные игры с большим потенциалом или крутыми механиками, но при этом ныть про то, как умирает геймдев и что разрабы занимаются ерундой вместо разработки достойных проектов.
diakin
Вообще непонятно. Вот есть спидхак. Сервер что, не анализирует как меняются координаты игрока? Скорость игрока (изменение его координат за единицу времени) вообще меняется в очень небольших пределах, если нет специальных способок. Ведь это простая проверка
if Deltacoord>DeltacoordLimit then Deltacoord=DeltacoordLimit
То же самое с уроном и всем остальным.
Или как?
MountainGoat
Это надо головой думать. А прилепить чужую приблуду на свой EXE это думать не надо.
DGN
Если проверку делать каждый шаг, то это в итоге огромная нагрузка на сервера, а они обычно и так лагают. Иногда лагают и каналы, честных юзеров обычно больше чем читеров, потому даётся возможность догнать после лага.
hello_my_name_is_dany
К тому же, в некоторых играх для оптимизации в комнате выбирается хост среди игроков, чей пк будет этим самым сервером, и если у него там читы, то особо-то и не помогут даже античиты на сервере
Darell_Ldark
Это никак не связано с оптимизацией. Это называется listen server и этот подход используется для того, чтобы не было необходимости хостить выделенный сервер, он же dedicated server.
Довод про то, что в этом случае античиты не помогут - это спорное заявление. Сильно зависит от типа античита, на каком уровне он работает (на уровне приложения или в kernel mode) и прочих параметрах. В целом, отследить использование читов в listen сервере возможно. Эффективно ли - вопрос.
upd: не указал еще про самый очевидный способ защиты - в клиентах игр очень часто используют так называемые "защищенные" значения, которые шифруются в памяти по определенным правилам, чаще всего используются обычные xor и сдвиги. Это позволяет в разы усложнить поиск значений в памяти приложения и, как следствие, ограничить использование программ навроде Cheat Engine. Но, опять же, это зависит от того, насколько хотят взломать - такие приемы уже давно научились распознавать и обходить по-своему.
hello_my_name_is_dany
Оптимизация - это более широкое понятие, чем улучшение кода по времени/памяти, поэтому это вполне себе оптимизация (инфраструктуры)
Согласен, только при ПОЛНОЙ обработке всех действий (в том числе и итоговая картинка экрана) на сервере компании разработчика читы действительно будут убиты, но в современных реалях это будет стоит очень дорого, а по сути превращаться в клауд-гейминг
Darell_Ldark
Изначально некорректно понял Ваш посыл. В такой постановке согласен.
Все верно. В целом, интересна судьба облачного гейминга - судя по тому, на что мы уже можем посмотреть, спрос на это пусть и есть, но не такой масштабный, если смотреть на игровой рынок в целом.
orefkov
Даже в облачном гейминге возможны читы, типа аим-ботов. Например, камера распознает картинку с экрана и эмулирует движения мыши. Да элементарно игрок в центре монитора рисует маркером перекрестье прицела - если в игре его нет, то это уже как бы чит.
Darell_Ldark
Дополню так же, что сервер и так обложен всеми проверками. Есть отдельные типы читов, создатели которых пытаются отреверсить логику работы сервера и находят разного рода уязвимости. Где-то это связано с ошибками обработки параметров от клиента, где-то находятся специфичные параметры, позволяющие проверки обойти и т.п. Не все так просто. Будь это так легко - античитов бы не было. Большая часть мультиплеерных игр и так не дает выполнять никаких операций на клиенте и все симуляции, включая перемещение, делаются на сервере.
diakin
Тогда и читов бы не было.
diakin
сколько там той проверки-то, по сравнению со всем остальным.