Эксперт назвал способы защиты от распространенных способов взлома компьютерных игр

Эксперт назвал способы защиты от распространенных способов взлома компьютерных игр

Изображение: Ahmed Atef (unsplash)

Руководитель группы безопасности приложений Swordfish Security Владислав Павловский выступил на Международной конференции по практической кибербезопасности OFFZone. с кейсом «Как пройти Stardew Valley за 4 минуты через code injection». Это практический кейс о том, как взламывают игровые приложения, и что можно этому противопоставить.

Как баги в исходном коде позволяют взламывать игровое ПО и наносить вред GameDev-командам, автор кейса рассказал на примере несложного взлома популярной «игры в фермера». Command Injection и оставление средств дебага в конечной версии игры позволяет даже просто опытным игрокам с навыками программирования проникать в код и с помощью инъекции кода нарушать логику игры. Хакеры же могут и вовсе добавить вредоносный код, и последствия такой «инъекции» могут быть катастрофическими.

— «Stardew Valley в своей основе – одиночная игра, и нарушение её логики приносит разве что дополнительные возможности для развлечения игрока. Но в тех видеоиграх, где изменение логики может привести к соревновательному преимуществу, идёт настоящая борьба “меча и щита”. С одной стороны, хакеры стремятся всеми силами найти и эксплуатировать уязвимости, которые дают нечестное преимущество, а продаваемые «читы» для игр стали настоящими удобными программными продуктами, создаваемые официально зарегистрированными юридическими лицами. Например, в Дании есть компания, занимающаяся ПО для «читерства», которая в 2021 году официально декларировала примерно 1 миллион долларов прибыли. С другой стороны, разработчики игр самостоятельно или с привлечением сторонних компаний создают системы, специально нацеленные на поиск “читеров” , — рассказал Владислав Павловский, руководитель группы безопасности приложений Swordfish Security

Эксперт перечислил основные уязвимости игрового ПО:

— получение от сервера игры информации, которая по умолчанию не должна отправляться игроку (что приводит к «читам» вида maphack в RTS (Real Time Strategy – стратегия реального времени), wallhack или radarhack в шутерах (от англ. shooter – жанр игр, в который игровой процесс основывается на сражениях с использованием огнестрельного оружия)

— недостаточная проверка данных, которые клиент игры передаёт на сервер («читы», при которых игроки начинают летать, проходить сквозь стены или бегать/ехать быстрее, чем другие участники – характерно для гонок и других игр, где нужно проходить трассу быстрее других, но применяется и в других жанрах)

— автоматизация пользовательского ввода с целью получить лучший результат, чем при ручном вводе (самый популярный пример – Aim bot в шутерах, который позволяет прицелиться в соперника и произвести летальный выстрел быстрее)

В последнее время борьба между «читами» и системами их обнаружения шла на уровне внедрения программ на компьютер игрока. Когда «античиты» стали обнаруживать использование сторонней программы, «читы» стали предлагаться к установке в виде системных драйверов и на уровне BIOS/UEFI компьютера. Когда игры (к неудовольствию игроков) стали требовать администраторского доступа к ядру операционной системы, хакеры стали предлагать к установке аппаратные модули MDA (Memory Direct Access – прямой доступ к памяти), которые умеют считывать память компьютера, на котором запущена игра и передавать информацию на другой компьютер, на котором запущен «чит»

На текущий момент разработчики начинают выходить из этой «гонки вооружений» и применять современные технологии машинного обучения с целью выявлять аномальные случаи поведения игроков и в дальнейшем – блокировки аккаунта или принудительного перевода игрока в «читерский пул» – при подборе последующих матчей нечестный игрок начнёт играть с точно такими же игроками. Примером такой системы можно назвать «античит» Vacnet для игры Counter Strike 2, для которого версию 3.0 начали тестировать и внедрять в августе 2024 года. Правда, технология ещё обкатывается и критикуется игроками – время от времени поступают жалобы на несправедливые блокировки, в частности, от одного игрока, который в качестве эксперимента включил высокую чувствительность мыши и бесцельно долгое время водил мышкой по кругу – игра посчитала такое действие нечестным и заблокировала его.

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

Swordfish Security
Автор: Swordfish Security
Лидер рынка стратегического консалтинга в области цифровой трансформации процессов разработки защищенного ПО и внедрения технологических практик DevSecOps
Комментарии: