Автор: Дамокл
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. Аналіз безпеки гри
Захист ігрового коду:,
Процес аналізу:
Оскільки різні движки мають різні режими аналізу, після отримання гри EXE вам спочатку потрібно визначити движок, який використовує гра. Визначивши основну інформацію про гру, ми можемо визначити, що гра розроблена за допомогою UE27.2.
Імпортуйте гру в IDA та виявіть, що код гри не було посилено, а змінні GWorld можна швидко знайти за допомогою пошуку коду функцій UE27.
І можна виявити, що рядок також не зашифрований.
Таким чином, після підтвердження того, що Gworld можна знайти за допомогою підпису, а гра не зашифрована, ви можете створити її за допомогою деяких інструментів SDK Dump, витягнувши підпис NamePool.
Після отримання гри SDK аналіз можна прискорити.
Висновок аналізу:
BigTime отримав 0 балів за захист ігрового коду, що означає відсутність захисту взагалі. У традиційних іграх вихідний код часто захищений спеціальним шифруванням, упаковкою та іншими методами. Оскільки BigTime не має надійного базового захисту коду гри, поріг і вартість аналізу коду зловмисниками дуже низькі. Якщо є плагіни, це несправедливо по відношенню до звичайних гравців і може завдати шкоди економічній моделі гри. Вплив.
Основи гри проти чітерства:
Процес аналізу:
З точки зору базового виявлення чітерства, ми в основному перевіряємо з двох аспектів, чи є у грі антидебагінг, а з іншого – чи має гра захист від читання та запису.
Використовуйте CE для приєднання, коли гра відкрита, і встановіть точку зупинки на загальній функції. Виявляється, що гра не виходить, або запитує
Я змінив «Здоров’я» в грі через CE і виявив, що це може набути чинності, і в грі немає спливаючих вікон чи підказок. (Змінити стан лише для більш інтуїтивно зрозумілого відображення. Це поле, як правило, зберігається на сервері, і воно не має жодного ефекту, якщо змінити його локально)
Висновок аналізу:
BigTime має 0 балів щодо можливостей захисту від шахрайства. Якщо є зловмисники, вони можуть шахраювати за бажанням.
Причина, чому тестується лише захист від налагодження та читання-запису, полягає в тому, що для плагіна пошук даних і впровадження функцій можна досягти лише шляхом налагодження, читання та запису. Якщо дві найпростіші можливості захисту відсутні, то деякі ін’єкції, підхоплення та інші виявлення будуть безглуздими.
проблеми з логікою гри
Процес аналізу:
Для ігор типу MMO, розроблених на основі UE, переваги маніпуляцій з локальними даними є дуже низькими, тому що UE має добре налагоджений механізм синхронізації між кожним актором та іншими атрибутами та перевіркою на стороні сервера Аналізуючи вихідний код, очевидно, що BigTime не використовує механізм синхронізації атрибутів належним чином, як-от функція Comboindex, можна знайти запис а потім ви зможете налагодити комбіновану функцію. (Конкретні операції вплинуть на справедливість і не будуть продемонстровані)
Висновок аналізу:
Загальні проблеми з безпекою логіки гри BigTime не надто помітні, але все ж існують певні ризики безпеці, тому оцінка безпеки логіки становить 4 бали.
Існує відсутність механізму синхронізації для деяких конфіденційних атрибутів, і більше має бути зашифровано на стороні сервера.
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 серед учасників проекту та користувачів і сприяти розвитку безпеки галузі.