Автор: Дамокл

1. Обзор

BigTime вызвал ажиотаж в GameFi после запуска токена 10 октября 2023 года. Команда начала обращать внимание на BigTime в сентябре, но не смогла провести анализ из-за отсутствия квалификации. После того, как недавно был снижен порог регистрации, мы начали. провести серию анализов безопасности и анализа на BigTime Testing, включая подделку атрибутов игрового клиента, тестирование вредоносных вызовов GameRPC, аудит контрактов токенов и т. д. В результате общей оценки игры мы обнаружили, что игра имеет низкую безопасность, а стоимость мошенничества для злоумышленников невелика. И игру легко анализировать. Если команда проекта хочет продолжить работу с игрой, улучшение безопасности и справедливости игры должно стать главным приоритетом в последующих операциях.

2. Игровой фон

Оцененная версия игры: v0.28-CL#78459.

Тип игры и игровой движок: MMORPG, UE4.27.

Возможные проблемы с игровым процессом:

1. Нелегальное перемещение (вредоносные пакеты через RPC для телепортации, ускорения и т.п.)

2. Ускорение (внутриигровое мировое время, функция времени в рамках UE)

3. Цикл комбо/навыков в один клик

4. Ускорение ковки NFT

5. Манипулирование случайными числами NFT

6.Множественные расчеты после завершения копирования

3. Анализ безопасности игры

Защита игрового кода:,

Процесс анализа:

  1. Поскольку разные движки имеют разные режимы анализа, после получения игрового EXE-файла сначала необходимо определить движок, используемый игрой. Определив основную информацию об игре, мы можем определить, что игра была разработана с использованием UE27.2.

  1. Импортируйте игру в IDA и обнаружите, что код игры не был усилен, а переменные GWorld можно быстро найти с помощью поиска кода функции UE27.

И можно обнаружить, что строка тоже не зашифрована.

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

После получения игрового SDK анализ можно ускорить.

Вывод анализа:

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

Основы игры

Процесс анализа:

  1. Что касается базового обнаружения мошенничества, мы в основном проверяем два аспекта: есть ли в игре защита от отладки и есть ли в игре защита от чтения и записи.

  2. Используйте CE для подключения, когда игра открыта, и установите точку останова для общей функции. Обнаружено, что игра не выходит или не выдает запрос.

  1. Я изменил Здоровье в игре через CE и обнаружил, что оно может вступить в силу и в игре нет всплывающих окон или подсказок. (Изменение состояния предназначено только для более интуитивного отображения. Это поле обычно хранится на сервере и не оказывает никакого эффекта при локальном изменении)

Вывод анализа:

  1. BigTime имеет 0 баллов по возможностям защиты от мошенничества. Если есть злоумышленники, они могут обманывать по своему желанию.

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

проблемы с игровой логикой

Процесс анализа:

Для игр типа MMO, разработанных на основе UE, преимущества от подделки локальных данных очень малы. Причина в том, что UE имеет хорошо отлаженный механизм синхронизации между каждым Актером и другими атрибутами и проверки на стороне сервера. анализ игры. Глядя на исходный код, становится очевидным, что BigTime не использует механизм синхронизации атрибутов должным образом. Некоторые данные все еще реализованы, например, функция Comboindex. Установив точку останова записи в индексе комбинации, вы можете найти запись. функция, а затем вы можете отладить комбинированную функцию. (Конкретные операции повлияют на справедливость и не будут продемонстрированы)

Вывод анализа:

  1. Общие проблемы с безопасностью игровой логики BigTime не очень заметны, но определенные риски безопасности все же существуют, поэтому оценка логической безопасности составляет 4 балла.

  2. Для некоторых конфиденциальных атрибутов отсутствует механизм синхронизации, и многие другие атрибуты необходимо шифровать на стороне сервера.

RPC-анализ игры

Поскольку вопрос RPC является относительно деликатным, анализ временно не будет проводиться без разрешения стороны проекта. Текущий уровень защиты BigTime RPC равен 0, и после тестирования выяснилось, что сервер распознает некоторые пакеты RPC, а их оценка безопасности равна 0. Группе проекта рекомендуется провести детальный аудит общей безопасности RPC. На рисунке ниже показана некоторая информация о RPC.

Анализ безопасности WEB3:

обзор:

Как цепную игру, Bigtime можно разделить на две части с точки зрения дизайна Web3, а именно: базовую часть токена Bigtime и часть внутриигровой экономической системы WEB3. Эта часть дизайна относительно отделена от других игр. Игра отвечает за генерацию токенов и создание NFT, а также за развертывание контракта токенов с фиксированным обращением на ETH.

Безопасность контракта токена:

Основная информация токена следующая:

Контракт токена BigTime использует токены Mint в кошельке с мультиподписью, а затем развертывает их с фиксированным запасом. Поскольку текущие функции контракта токена просты, базовой безопасности контракта достаточно. Наблюдая за информацией Tx кошелька владельца, вы можете видеть, что кошелек владельца перевел некоторые токены в несколько кошельков после получения токенов.

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

Безопасность внутриигровой экономической системы:

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

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

О Дамокле

Damocles labs — это команда безопасности, созданная в 2023 году, специализирующаяся на безопасности индустрии Web3. Ее бизнес-контент включает в себя: аудит кода контракта, аудит бизнес-кода, тестирование на проникновение, аудит кода GameFi, анализ уязвимостей GameFi, анализ плагинов GameFi. GameFi против мошенничества.

Мы продолжим усердно работать в индустрии безопасности Web3 и публиковать как можно больше аналитических отчетов, чтобы повысить осведомленность о безопасности GameFi среди участников проекта и пользователей, а также способствовать развитию безопасности отрасли.