Артем Гавриченков, технический директор Qrator Labs
Артем Гавриченков,
технический директор Qrator Labs
25.10.2018

17 июля 2018 года серверы известного производителя компьютерных игр - компании Ubisoft оказались под массированным киберштурмом. В результате разрушительной DDoS-атаки практически все онлайн-игры Ubisoft, среди которых были такие известные, как Far Cry 5 и For Honor, начали испытывать серьезные проблемы со связностью. Расследование инцидента заняло у Ubisoft немало времени - полтора дня полного простоя бизнеса и отсутствия подключения пользователей ко всем играм производителя. Одно то, что компании пришлось выплатить приличную компенсацию игрокам, затронутым атакой, в виде тысяч дополнительных очков и других призов, свидетельствует о существенных прямых потерях для бизнеса Ubisoft, не говоря уже о косвенных.

Давайте разберемся, почему процесс обнаружения проблем занял у ведущего игрока индустрии более суток и почему этот случай является совершенно типичным для игровой индустрии.

Гонимые временем

Любая компания - разработчик игр представляет собой образец динамичного развития, что связано с целым рядом факторов, главный из которых - ожидания геймеров. Например, если отсрочить выпуск новой версии Windows, то в принципе никто из пользователей не расстроится, а большинство даже обрадуется. В то же время задержка релиза компьютерной игры на год - это катастрофа для преданных фанатов, опоздание же более чем на два года (если речь не идет о Half Life 3) может вылиться в колоссальные проблемы с лояльностью пользователей и даже банкротство выпускающей компании.

Все это приводит к возникновению основной проблемы индустрии с точки зрения безопасности. Дело в том, что здесь, как и везде, при неизменности бюджета качество является обратной функцией от времени, то есть чем меньше времени есть на производство, тем ниже будет качество. Соответственно, чем меньше времени остается до выпуска игры, тем больше углов "срезается" (в надежде исправить ошибки в дальнейшем) и тем выше вероятность, что компания будет испытывать проблемы с безопасностью как написанного программного кода, так и всей инфраструктуры.

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

Спасает индустрию лишь тот факт, что на анализ программы и поиск в ней ошибок требуется некоторое время, зачастую существенное. А поскольку выпущенный игровой релиз сравнительно быстро становится неактуальным, то у злоумышленников есть достаточно короткое окно времени для поиска уязвимостей и их эксплуатации. Однако здесь ситуация может поменяться с развитием и использованием в нападении методов искусственного интеллекта. Применять ИИ для автоматизации тех или иных аспектов нападения можно очень широко. Скажем, в процессе поиска уязвимостей на сервере существенная доля времени взломщиков уходит на фаззинг (англ. fuzzing) - механический подбор тех или иных случайных комбинаций символов и параметров, при срабатывании которых у сервиса могут возникать проблемы. Фаззинг достаточно хорошо автоматизируется средствами того, что принято называть машинным обучением. Открытого инструментария на эту тему еще нет, но рано или поздно он появится, что приведет к сокращению окна обнаружения уязвимостей и еще большему росту проблем "игровиков" на этом фоне.

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

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

Ярким примером того, насколько легкомысленно игровые компании относятся к безопасности, стала организация массированной DDoS-атаки на серверы PlayStation Network, Xbox Live и Blizzard в августе 2014 года. Ответственность за нападение на игровые сети взяла на себя известная группировка Lizard Squad. Целью атаки было заявлено требование к Sony увеличить расходы на обеспечение необходимого уровня безопасности игроков, чему компания не уделяла должного внимания. Показательно, что PlayStation Network уже взламывалась в апреле 2011 года: тогда злоумышленникам удалось похитить данные 77 млн кредитных карт пользователей. Однако на тот момент никаких активных действий со стороны Sony не последовало, и компания отделалась лишь извинениями перед пользователями, подарив им по несколько бесплатных игр. Именно поэтому новая атака 2014 года декларировала своей целью именно привлечение внимания корпорации, оперирующей данными сотен миллионов пользователей, к проблемам с безопасностью ее сервисов.

Нельзя не отметить, что архитектурный подход к построению инфраструктуры игровых компаний и ее масштабированию также доставляет немало проблем. Существенная доля специалистов, занимающихся обеспечением инфраструктуры игрового бизнеса, считают, что при размещении ресурсов на Amazon или в любом другом публичном облаке всегда можно докупить и оперативно развернуть набор дополнительных виртуальных контейнеров в случае, если слишком много пользователей находятся онлайн. Пока речь идет о легитимном трафике, этот подход работает, ведь "живые" пользователи - это "живые" деньги для бизнеса. Однако в случае организации DDoS-атаки компании также придется оплачивать и весь "мусорный" трафик, ведь ни одно публичное облако не будет отрабатывать паразитные пакеты бесплатно: потребление процессорного времени, охлаждение, электропитание - за все это кто-то должен платить.

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

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

Более того, неосмотрительность разработчиков онлайн-игр на данный момент создает проблемы не только им, но и всему интернету. В частности, известный игровой протокол Steam, разработанный и поддерживаемый компанией Valve, уязвим перед DDoS-атаками с использованием техники амплификации (amplification). Используя серверы Steam как промежуточное звено, можно усиливать атаки на третьих лиц в несколько раз. Таким образом, проблема приобретает глобальный характер, и игровая индустрия становится опасной для остального бизнеса в интернете.

Делаем ставки, господа

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

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

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

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

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

С одной стороны, безопасность является прямой ответственностью поставщиков, производителей программного обеспечения и издателей. С другой - обязанностью и задачей уже самих пользователей становится соблюдение правил цифровой гигиены в интернете: обязательное изменение установленных по умолчанию паролей, своевременная установка обновлений программного обеспечения, использование антивирусных программ. Кроме того, если пользователь всерьез увлекается играми, ему крайне необходимо иметь резервный IP-адрес, желательно другого провайдера. С этого адреса геймер будет только участвовать в играх, и больше никакая активность с него не будет производиться.

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

Мнения авторов рубрики "Точка зрения" могут не совпадать с позицией редакции ComNews.ru, не влияют на выбор и освещение новостей в других частях газеты