visão geral
BigTime causou furor na GameFi depois que o token foi lançado em 10 de outubro de 2023. A equipe começou a prestar atenção ao BigTime em setembro, mas não conseguiu realizar análises por falta de qualificação. para conduzir uma série de análises e análises de segurança no BigTime Testing, incluindo adulteração de atributos do cliente do jogo, testes de chamadas maliciosas do GameRPC, auditoria de contratos de token, etc. Através da avaliação geral do jogo, descobrimos que a segurança do jogo é fraca e o custo da trapaça é baixo para jogadores mal-intencionados. E o jogo é fácil de analisar. Se a equipe do projeto quiser continuar operando o jogo, melhorar a segurança e a imparcialidade do jogo deverá ser a primeira prioridade em operações posteriores.
Plano de fundo do jogo
Ø Versão do jogo para avaliação: v0.28-CL#78459
Ø Tipo de jogo e mecanismo de jogo: MMORPG, UE4.27
Ø Possíveis problemas de jogo:
Movimento ilegal (pacotes maliciosos através de RPC para teletransporte, aceleração, etc.)
Aceleração (hora mundial do jogo, função de tempo na estrutura UE)
Combinação de um clique/ciclo de habilidade de um clique
Forjamento NFT acelerado
Manipulação de números aleatórios NFT
Múltiplas liquidações após o término da cópia
Análise de segurança do jogo
Proteção do código do jogo:
Processo de análise: 1. Como motores diferentes possuem modos de análise diferentes, após obter o EXE do jogo, primeiro você precisa determinar o motor usado pelo jogo. Ao identificar as informações básicas do jogo, podemos determinar que o jogo foi desenvolvido usando UE4.27.2. .

2. Importe o jogo para o IDA e descubra que o código do jogo não foi reforçado, e a variável GWorld pode ser localizada rapidamente por meio da pesquisa de código de recurso do UE4.27


E pode-se descobrir que a string também não está criptografada.

Portanto, após confirmar que Gworld pode ser localizado por meio da assinatura e que o jogo não está criptografado, você pode despejá-lo por meio de algumas ferramentas SDK Dump extraindo a assinatura NamePool.

Após obter o SDK do jogo, a análise pode ser acelerada.
Conclusão da análise:
BigTime pontua 0 para proteção do código do jogo, o que significa nenhuma proteção. Em jogos tradicionais, o código-fonte costuma ser protegido por criptografia personalizada, empacotamento e outros métodos. Como o BigTime não possui uma proteção básica sólida do código do jogo, o limite e o custo para jogadores mal-intencionados analisarem o código são muito baixos. Se houver plug-ins, isso é injusto para os jogadores normais e pode causar danos ao modelo econômico do jogo. Influência.
Noções básicas do jogo anti-trapaça:
Processo de análise:
1. Em termos de detecção anti-cheat básica, testamos principalmente dois aspectos: um é se o jogo tem anti-depuração e o outro é se o jogo tem proteção de leitura e gravação.
2. Use CE para anexar quando o jogo estiver aberto e defina um ponto de interrupção na função geral e descubra que o jogo não sai ou avisa

3. Use CE para modificar a Saúde no jogo e descubra que ela pode entrar em vigor e não há pop-ups ou prompts no jogo. (Modificar Saúde é apenas para uma exibição mais intuitiva. Este campo geralmente é armazenado no servidor e não tem efeito quando modificado localmente)

Conclusão da análise:
1. A pontuação de habilidade anti-trapaça do BigTime é 0. Se houver usuários mal-intencionados, eles podem trapacear à vontade. 2. A razão pela qual testamos apenas antidepuração e proteção contra leitura e gravação é que, para um plug-in, a localização de dados e a implementação de funções só podem ser alcançadas por meio de depuração, leitura e gravação. Se faltarem os dois recursos de proteção mais básicos, algumas injeções, ganchos e outras detecções não terão sentido.
problemas de lógica do jogo
Processo de análise:
Para jogos do tipo MMO desenvolvidos com base no UE, os benefícios da adulteração de dados locais são muito baixos. A razão é que o UE possui um mecanismo de sincronização bem estabelecido para sincronização entre cada ator e outros atributos e verificação do lado do servidor. analisando o jogo Olhando para o código-fonte, é óbvio que o BigTime não usa o mecanismo de sincronização de atributos corretamente. Alguns dados ainda são implementados, como a função Comboindex. Ao definir um ponto de interrupção de gravação no índice de combinação, você pode encontrar a gravação. função e então você pode depurar a função combo. (Operações específicas afetarão a justiça e não serão demonstradas)


Conclusão da análise:
1. O problema geral de segurança lógica do jogo do BigTime não é muito proeminente, mas ainda existem certos riscos de segurança, então a pontuação de segurança lógica é de 4 pontos.
2. Falta um mecanismo de sincronização para alguns atributos confidenciais e mais devem ser criptografados no lado do servidor.
Análise de RPC do jogo
Dado que a questão do RPC é relativamente sensível, a análise não será realizada temporariamente sem autorização da parte do projeto. A proteção de segurança atual do BigTime RPC é 0 e, após o teste, verifica-se que o servidor reconhecerá alguns pacotes RPC e sua pontuação de segurança é 0. Recomenda-se que a equipe do projeto conduza uma auditoria detalhada sobre a segurança geral do RPC. A imagem abaixo mostra algumas informações de RPC.

Análise de segurança WEB3:
visão geral:
Como um jogo em cadeia, Bigtime pode ser dividido em duas partes em termos de design Web3, a saber: a parte básica do token bigtime e a parte do sistema econômico WEB3 no jogo. Esta parte do design é relativamente separada de outros jogos. O jogo é responsável por gerar tokens e forjar NFTs e, ao mesmo tempo, implantar um contrato de token de circulação fixa na ETH.
Segurança do contrato de token:
As informações básicas do token são as seguintes:
Endereço:0x64Bc2cA1Be492bE7185FAA2c8835d9b824c8a194
Símbolo: BIGTIME
Proprietário: 0xc3322716475fba83bfc057112247a43f1a1f2c4c (GnosisSafe)
Fornecimento total: 5.000.000.000

O contrato de token BigTime usa tokens Mint em uma carteira com várias assinaturas e depois os implanta com um suprimento fixo. Como as atuais funções do contrato de token são simples, a segurança básica do contrato é suficiente. Observando as informações de Tx da carteira do Proprietário, você pode ver que a carteira do Proprietário transferiu alguns tokens para várias carteiras após adquirir os tokens.

A maioria dessas carteiras são carteiras com múltiplas assinaturas usando Safe. Com base nisso, pode-se constatar que os atuais riscos gerais de segurança relacionados aos tokens provêm principalmente do vazamento de chaves privadas e da existência de contas privilegiadas no lado do projeto. Embora sejam utilizadas assinaturas múltiplas, ainda existe um certo risco de roubo de moeda se a chave privada de uma conta privilegiada vazar.
Segurança do sistema econômico no jogo:
No BigTime, os jogadores podem entrar no espaço da guarda do espaço-tempo para realizar operações como forjar a ampulheta do tempo, carregar a ampulheta do tempo, etc. Algumas dessas funções que podem afetar diretamente o equilíbrio do mercado são armazenadas e executadas localmente. não está claro como o GS foi projetado. Mas esse comportamento é de alto risco. do seguinte modo


Existem muitas funções RPC como esta. Considerando o alto custo dos testes, não faremos nenhum teste de segurança por enquanto. Esperamos que a equipe do projeto possa fazer julgamentos rigorosos sobre esta parte do conteúdo do servidor.
Sobre Dâmocles
Damocles labs é uma equipe de segurança criada em 2023, com foco na segurança da indústria Web3. Seus negócios incluem: auditoria de código GameFi, mineração de vulnerabilidade GameFi, análise de plug-in GameFi, anti-trapaça GameFi, auditoria de código de contrato, auditoria de código comercial, testes de penetração, etc.
Continuaremos a trabalhar duro na indústria de segurança Web3 e produzir tantos relatórios de análise quanto possível para aumentar a conscientização sobre a segurança GameFi entre as partes e usuários do projeto e promover o desenvolvimento da segurança da indústria.
Twitter: https://twitter.com/DamoclesLabs
Discord: https://discord.gg/xd6H6eqFHz



