Античитерская гонка вооружений

Почему разработчики не могут победить читеров

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

Поэтому, когда мы сталкиваемся с мошенниками, людьми, которые по тем или иным причинам полностью разрушают всякое чувство справедливости, мы злимся. Делают ли они это из-за болезненного чувства превосходства или из-за простого троллинга, мошенники имеют и могут уничтожить целые сообщества, если их не остановить. Если даже 2% населения используют читы, средний игрок будет сталкиваться с ними в каждой второй игре с лобби из десяти игроков; ставка только растет с увеличением лобби.

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

Тем не менее, по мере того, как программисты разрабатывали более совершенное и комплексное античитерское программное обеспечение, они обнаружили, что мошенники делают то же самое. Мошенники реагировали на новые обновления, выявляя новые дыры и возможности для использования, а разработчики отвечали им, исправляя свое программное обеспечение, только для того, чтобы мошенники находили новый эксплойт и повторяли цикл снова и снова. Чит-клиент, который работал два дня назад, вероятно, не работает сегодня, а античит, который на прошлой неделе был недоступен, теперь совершенно бесполезен. Битва постоянно развивается, обе стороны разрабатывают новые техники и реагируют друг на друга в течение нескольких часов - гонка вооружений без финиша.

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

Основы

Фундаментальный подход к борьбе с читами в онлайн-играх заключается в использовании авторитетных серверов или запуске игры таким образом, чтобы игроки практически не влияли на состояние игры. Вместо того, чтобы клиент игрока сообщал серверу его текущее состояние здоровья, количество боеприпасов или положение на карте, сервер хранит все данные и вместо этого передает их клиенту. В тех случаях, когда игрок должен отправлять данные на сервер, такие как движение, стрельба из пистолета или прицеливание куда-то, сервер гарантирует, что они не конфликтуют с текущими данными, которыми он обладает. Любое несоответствие, например, невероятно быстрое изменение движения или неожиданное изменение здоровья, помечается как потенциальный обман. За сервером остается последнее слово о ходе игры в соответствии с диапазонами и ограничениями, установленными разработчиком.

Тем не менее, простой авторитетный серверный дизайн на самом деле намного сложнее в использовании. Задержка - это побочный эффект номер один при выполнении ввода данных игроком через алгоритмы обнаружения читов, и он так же пагубен для игрового процесса, как и сами читеры. Это не особо важно для более медленных пошаговых игр, но для динамичных шутеров и платформеров, где античиты наиболее востребованы, задержка должна быть сведена к минимуму. Игры часто уступают игроку приличный контроль в обмен на более плавный игровой процесс. Кроме того, авторитетные серверы могут проверять только единицы и нули, а не людей или сценарии, отправляющие входные данные. Пока вводимые данные соответствуют правилам, установленным сервером, они будут приняты. Такие читы, как aimbot, которые кажутся очевидными большинству людей, им трудно обнаружить, поскольку компьютер видит только быстрые изменения значений X и Y, которые могут выдать себя за опытного игрока, а не за несколько убийств, которые в результате этого возникают. Эксплойты, которые изменяют данные только на стороне клиента, такие как wallhacks, отображающие врагов сквозь стены, также будут выполняться полностью незамеченными авторитетным сервером. Разработчики игр должны выйти за рамки этой базовой концепции и создать более комплексное античитерское программное обеспечение, чтобы решить эти проблемы.

Профилактические меры

Проактивные подходы к античитерскому программному обеспечению направлены на устранение самих читов на уровне кода, устраняя их до того, как они повлияют на игровой процесс. Сканируя файлы на предмет известных читов, обнаруживая дыры, в которые вставляются скрипты, и, как правило, выявляя отрывочную активность на самом компьютере клиента, идеальное программное обеспечение идентифицирует и блокирует читера, как только он активирует свои читы. Популярные античиты, такие как Punkbuster, Valve Anti-Cheat и Battleye, работают по этой модели, используя специальную команду разработчиков, которая постоянно обновляет и улучшает программное обеспечение. В сочетании с хорошо продуманным авторитетным сервером этот вид античита должен обеспечивать комплексную защиту от читеров.

Это гораздо более трудный подвиг, чем кажется. Разработчики сравнили разработку проактивных античитов с бесконечной беговой дорожкой, где независимо от того, как часто они выпускают обновления и исправления, процент читеров всегда остается неизменным. Тот, кто развивается быстрее, побеждает, и из-за более высокой рабочей силы на стороне читеров они, как правило, побеждают. Будь то адаптация инфраструктуры читов для обхода античит-сканирования, изменение способа маскировки внутри файлов или даже разработка совершенно нового подхода, читеры подобны вирусам, которые постоянно становятся лучше и умнее. Хотя они могут не знать тонкостей работы античита, им нужно всего лишь найти один или несколько недостатков в системе, на которых можно будет строить свои читы. С другой стороны, разработчики должны готовить свои античиты в темноте, не зная точно, где и как их античиты будут взломаны, пока это не произойдет. Борьба по-прежнему остается несправедливой.

Эти более активные меры также вызывают озабоченность в отношении конфиденциальности и безопасности. По мере того, как читеры стали лучше маскировать свои читы и подвиги, античиты стали более агрессивными, пытаясь их найти. Программное обеспечение Vanguard от Riot Games, выпущенное в качестве обязательного античита для всех, кто играет в Valorant, в прошлом году вызвало массовый протест средств массовой информации из-за его постоянного доступа на уровне ядра. Проще говоря, это означает, что программное обеспечение имеет доступ ко всему на компьютере в любое время, включая личные файлы и контроль над самим оборудованием. Другие античиты, такие как Easy Anti-Cheat, Battleye и Faceit, также работают на этом уровне доступа, хотя и только во время запуска игры. Не только компании, запускающие эти программы, могут украсть ценные данные, но и любые злонамеренные третьи стороны, которым удастся использовать доступ на уровне ядра, предоставленный клиентом, также могут это сделать. Огромная угроза безопасности, которую представляют эти античиты, независимо от того, находятся ли они в надежных руках, заставляет многих требовать более безопасного и эффективного программного обеспечения.

Поведенческие меры

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

Функционально поведенческие античиты пытаются увидеть читеров так, как это делали бы люди, используя множество различных сигналов и точек данных, чтобы определить наличие читов. Люди улавливают и учитывают многие не поддающиеся количественной оценке концепции, такие как уверенность, позиционная осведомленность и многие другие, на которые компьютеры пока не способны, и в результате они намного лучше распознают мошенников. Мы знаем, когда фильм выглядит слишком хорошо, чтобы быть правдой, и мы знаем, когда у кого-то есть стены, основываясь на том, как они играют; это трудно выразить словами, но нельзя отрицать наличие некоторого уровня интуиции. Настоящие люди очень хорошо умеют определять, как мошенник играет, на основе опыта, особенно с помощью таких эксплойтов, как wallhacks, и в результате система отчетности остается одним из наиболее эффективных подходов к борьбе с читерами. Идеальный поведенческий античит должен обладать интуицией профессионала в киберспорте, но вычислительной мощностью суперкомпьютера, способной обрабатывать тысячи случаев одновременно. Как люди пытались этого добиться?

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

Но в последнее время появилось решение, позволяющее воспроизвести то, что собиралась FairFight, на гораздо более детальном уровне: машинное обучение. Обучая программное обеспечение думать, как опытные игроки, особенно с точки зрения визуального распознавания, цель состоит в том, чтобы создать античитерское программное обеспечение с той же интуицией и возможностями обнаружения читов. Valve была заметным сторонником этого подхода, применяя его в CS: GO, чтобы определять прицеливание и спинботтинг, даже не касаясь клиента. Создав свой набор данных на основе своей программы Overwatch, усилия сообщества по просмотру видеозаписей игрового процесса и сообщению о подозрительных игроках, они в конечном итоге создали VACnet, который теперь является краеугольным камнем их подхода к борьбе с читами. VACnet, в настоящее время предназначенный для изучения в первую очередь аймботтеров и спинботтеров, анализирует кадры игрового процесса, применяет алгоритмы для обнаружения мошенничества, а затем объединяет все свои выводы в обвинительный или невиновный приговор. Что отличает VACnet от предыдущего, более примитивного программного обеспечения, так это сложность его анализа. Вместо того, чтобы просто смотреть на канал убийства, он смотрит на то, как игрок двигался и действовал сам, определяя такие факторы, как позиционирование по X и Y, расстояние уничтожения и использование оружия, как точки данных для алгоритма глубокого обучения. По сути, это продолжение идей, предложенных FairFight, но с технологией, которая их поддерживает.

Лучшая часть этих программ машинного обучения заключается в том, что они постоянно совершенствуются по мере того, как в них загружается все больше и больше данных, и для их улучшения не требуется особого взаимодействия с разработчиком. Это освобождает разработчиков от «беговой дорожки», позволяя им разрабатывать более долгосрочные решения вместо того, чтобы постоянно исправлять исправления, и приводит к улучшению общих усилий по борьбе с читами. В то время как VACnet сегодня ориентирован на прицеливание и спинботтинг, Valve планирует в будущем расширить его в сторону wallhacks, надеясь, что в процессе этого будут обнаружены более изощренные читеры. Riot Games также выбрала такой подход для своего программного обеспечения Vanguard, стремясь разработать свои алгоритмы глубокого обучения для Valorant и их будущих игр. Античиты на основе нейронных сетей - это величайшее современное достижение в индустрии античитов и открытое будущее для игр без читов.

Будущее битв

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

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