Согласно данным закрытого отчёта Statista, в 2023 году на вирусы-вымогатели в игровой индустрии пришлось более $184 млн официально зарегистрированных убытков. Наиболее громкие из них: атаки на польскую компанию-разработчика CD Projekt Red (автора Cyberpunk 2077, Witcher 3 и других), а также на Insomniac Games, создающую игры для вселенной Marvel. Здесь хакеры зашифровали доступ к полным версиям исходных кодов новых версий игр, платёжным данным клиентов, информации по персоналу и инвесторам.
В России подобные инциденты скрываются. Однако благодаря исследованию ГК «Солар» известно, что игровая индустрия — один из трёх лидеров по количеству утечек данных в 2023 году. На неё пришлось около 10% из общих 91,8 терабайт утекших данных.
Есть все основания полагать, что ситуация с безопасностью будет ухудшаться. Огромной доли инцидентов удастся избежать, если заниматься безопасностью игрового ПО ещё на этапе разработки. О том, как лучше всего это делать, рассказал Юрий Шабалин, ведущий архитектор Swordfish Security.
Почему и как атакуют игры
На российском рынке игрового ПО 70% разработки занимает сегмент мобильных устройств, 20% — компьютерные игры и около 10% — игры для консолей. Есть мнение, что у наших программистов получаются лучшие в мире мобильные хиты, а для более комплексных и глубоких компьютерных игр не хватает опыта и денег.
Сейчас всё стало ещё сложнее из-за политической обстановки: рынок уменьшился в разы. Но нужно понимать, что безопасность — не то, на чём стоит экономить. Тем более что потери при инцидентах могут быть впечатляющими.
Оценивая защищённость ПО, эксперты по безопасности учитывают несколько направлений:
- инфраструктура;
- сетевое взаимодействие;
- код программного обеспечения;
- логика взаимодействия с пользователем.
Все эти четыре аспекта должны быть покрыты хотя бы основными практиками безопасности, иначе работа по остальным не имеет смысла. По первым трём игровое ПО схоже с другими программными продуктами, поэтому подробнее рассмотрим четвёртый.
В отличие от любого другого ПО, логика игровых продуктов не ограничена ничем, кроме воли автора. В играх нет жёстких правил, в чатах общаются без формальностей, например, как в банковских приложениях. И сохранность персональных данных — ответственность самих игроков. В этом мире человек живёт: общается и делится персональными данными, часто предполагая, что в вымышленном мире угрозы тоже вымышленные.
Виды атак на игровое ПО
Существует два основных вида атак на игровое ПО:
Первый нацелен на производителей и владельцев. Злоумышленники получают доступ к конфиденциальной информации, платёжным и инвестиционным данным, а также исходному коду разрабатываемых игр. И перед ними открываются возможности: начиная от перепродажи данных конкурентам, заканчивая банальным шантажом компании. Аналогично и при доступе к серверной инфраструктуре: когда злоумышленник атакует компанию, он может внести хаос в процесс игры, модифицировав что-то на серверах, и устроить игровой «простой». В каждом из случаев больше всего страдает компания-владелец.
Второй вид направлен на пользователей. Их аккаунты интересны тем, что там лежат деньги и их просто достать. У каждого пользователя есть профиль: к нему привязана карта, номер телефона, почта, данные аутентификации, которыми могут воспользоваться мошенники. И часто бывает так, что все эти сведения применяются для работы с другими сервисами, которые тоже можно атаковать. Ну а игры, в которых предусмотрена монетизация в реальные деньги или из реальных денег в игровую валюту и есть возможность ввода-выводы средств, покупки скинов, — это «пещера сокровищ» для мошеннических схем.
На практике чаще всего бывает так, что уязвимости именно в игровой индустрии бьют и по пользователям, и по компаниям одновременно. Взять хотя бы то, что проблемы игроков напрямую отражаются на монетизации игр и на выручке компании. И это представляет большую сложность в выставлении приоритетов и выбора методов анализа этого типа ПО.
По теме: Diablo IV стала самой быстро продаваемой игрой Blizzard
Типы уязвимостей игрового ПО
Наше исследование по анализу защищённости мобильных приложений показало, что 60,3% российских приложений содержат уязвимости критического и высокого уровня. Приложения в категории Entertainment — 78,9%, Gambling — 76,5%. Разберём подробно, какие типы уязвимостей существуют:
Читерские «приёмы». Это целый кластер эксплойтов уязвимостей в направлении логического взаимодействия. Они основаны на встраивании в игровой процесс для получения выгоды: преимуществ перед соперниками, выигрыша, бонусов и т.д. Жизнеспособность таких атак (каждая оценивается в среднем в $50–200, а в одной игре их может быть сотни и даже тысячи) связана с проблемами безопасности, и от них страдают и пользователи, и производители игр.
Люди, играющие бесплатно и вредящие приложениям. Речь идёт о безответственных пользователях, грубых конкурентах и недобросовестных хакерах. Из-за них появляются пиратские копии игр, взломанные или поддельные серверы лицензирования, вредоносное ПО в виде бэкдоров, вирусы в модифицированных версиях, подключения к ботнету и ряд других вредоносных механик. И это проблемы не только разработчиков, но и пользователей, безопасность которых оказывается под ударом.
Уязвимости программного кода, которые вызывают технические проблемы. В мае 2023 исследователи безопасности из мальтийской консалтинговой фирмы ReVuln обнаружили критические уязвимости с повреждением памяти и переполнением буфера в CryEngine 3, Unreal Engine 3, Hydrogen Engine и id Tech 4. Это игровые движки, которые используются в видеоиграх: Quake 4, Crysis 2, Homefront, Brink, Monday Night Combat,«Enemy Territory: Quake Wars, «Sanctum», Breach, Nexuiz и др.
Такие уязвимости используют для запуска удалённого выполнения кода или атак типа «отказ в обслуживании» против игровых клиентов и серверов путём отправки им вредоносных пакетов данных.
Для эксплойтов злоумышленнику не нужен ни доступ к игроку, ни дополнительные права. При этом мошенник может настроить, например, вредоносный сервер для одной из игр и занести его в список на главном сервере — в базу данных доступных игровых серверов, к которой обращаются клиенты. Это позволит ему скомпрометировать компьютеры любых игроков, которые присоединятся к мошенническому серверу. Снова мы видим, что в опасности и компания, и игроки.
По теме: Премии по страхованию от кибератак за год выросли на 80%
Как обезопасить игровое ПО
Помимо вопроса затрат, важный критерий успешности проекта — выручка компании, которая базируется на показателе Time-to-Market (ТТМ, готовность к выходу на рынок). Многие производители жертвуют мерами по защищённости продукта в пользу скорости разработки, чтобы оперативнее «отбить» вложения.
Однако растущее число инцидентов, исков от геймеров, риски оттока игроков, потенциальная угроза репутации и повышенное внимание к уровню безопасности ПО со стороны государства заставляет разработчиков искать компромиссы.
Принять решение помогают подсчёты. Возьмём, например, команду разработки игры из 21 человека. Представим, что показатель TTM у игры 180 дней, а бюджета на безопасность нет.
Допустим, что стоимость одной хакерской атаки — 18,5 млн рублей (в более сложных случаях — около 50 млн). Учитываем, что пока разработчик закроет «дыры» нападений может быть несколько. Кроме того, во время взлома могут разойтись бесплатные версии игры, а это миллионы недополученной прибыли.
С хорошим сканером безопасности, где лицензия на год обойдётся в 3–3,5 млн рублей, решить основные проблемы с ИБ можно, сдвинув TTM всего на 30 дней. Подсчитать сложно, всё зависит от масштабов проблемы. Но в среднем расходы с приобретённой лицензией будут ниже — примерно 8–12 млн рублей за одну хакерскую атаку.
По теме: Разработчик удаленных рабочих столов AnyDesk сообщил
о взломе серверов
Основные правила защиты ПО в сфере gamedev
Эти правила сведут к минимуму вероятность возникновения инцидентов:
- Следите за тем, какие данные хранит приложение. Это касается как серверной стороны, так и клиентской части. Особое внимание уделяйте аутентификационным данным и персональной информации пользователей.
- Тестируйте игру перед релизом и анализируйте защищённость. Если уязвимости будут выявлены, потратьте время на анализ их критичности, прежде чем делать релиз. Если будут найдены критичные, отложите релиз до исправления.
- Используйте безопасные протоколы для передачи данных между устройствами. Для безопасной передачи данных подходят протоколы HTTPS/TLS с версией не ниже 1.3.
- Контролируйте доступ. Игрок не должен иметь возможность добраться до настроек сервера, к примеру или видеть данные других игроков (которые ему видеть не положено).
- Пристально оценивайте инфраструктурную безопасность. Игровой сервер должен быть надёжным и защищенным от атак снаружи.
- Настройте и используйте фильтрацию и модерацию в игре. Это сократит время на устранение вредоносного контента, если он появится.
Лайфхаки для разработчиков
Эти лайфхаки полезно знать разработчикам игр, чтобы эффективно предупреждать и устранять инциденты:
- Процесс создания игр не сильно отличается от процесса разработки Web-приложений (исключая специфику, конечно). Поэтому к ним можно применять практически все те же практики, что и для другого ПО. Посмотрите на примеры выстроенных процессов и подумайте, что из этого можно относительно беспроблемно включить в процесс разработки.
- Как правило, первыми выбирают практики анализа компонент с открытым исходным кодом (SCA) и статического анализа (SAST). Сюда же можно добавить поиск секретов: как от внутренних сервисов, так и от внешних. Часто это позволяет избежать большого количества проблем.
- Хорошим стартом, чтобы понять текущий уровень защищённости, может стать проведение внешнего тестирования на проникновение. Причём как для инфраструктурной части (настройка и безопасность серверов, периметр компании и т.д.), так и для анализа самого приложения. Это позволит понять, какие проблемы существуют и что с ними делать.
- Не приобретайте сразу энтерпрайз-инструменты для безопасности. Начните с open source-решений. Они помогут понять, как выстроить процесс и устранить проблемы.
- Подключите мониторинг: собирайте обратную связь от игроков и внимательно читайте комментарии о появлении читов, подозрительной активности пользователей и других негативных реакций. Если в комментариях несколько раз упоминается чей-то ник, рекомендуем проанализировать этого игрока.
Фото на обложке:
Нашли опечатку? Выделите текст и нажмите Ctrl + Enter
Материалы по теме
- Пройти курс «Старт работы на Яндекс Маркете»
- 1 Мошенники стали чаще маскировать фишинг под письма от работодателя
- 2 В Positive Technologies назвали среднюю стоимость хакерской атаки в 2025 году
- 3 Хакеры из КНДР украли миллиарды долларов в криптовалюте, выдавая себя за рекрутеров и IT-специалистов
- 4 Российский хакер получил пять лет тюрьмы в США за кражу 120 тыс. биткоинов
ВОЗМОЖНОСТИ
28 января 2025
03 февраля 2025
28 февраля 2025