Este artigo é um envio da comunidade. O autor é Zhangchi Qin, auditor de contratos inteligentes na empresa de segurança em blockchain, Salus Security.
As opiniões expressas neste artigo são do colaborador/autor e não refletem necessariamente as da Binance Academy.
TLDR:
Os projetos GameFi enfrentam vários desafios de segurança que podem ser classificados como problemas on-chain e off-chain.
Os desafios de segurança on-chain envolvem principalmente o gerenciamento de tokens ERC-20 e NFTs, a segurança de "pontes" entre blockchains (cross-chain bridges) e a governança de organizações autônomas descentralizadas (DAOs).
Por outro lado, os desafios off-chain estão geralmente relacionados a interfaces da web e servidores.
Os projetos GameFi devem priorizar medidas de segurança, como auditorias rigorosas, varreduras de vulnerabilidades e testes de invasão, além de implementar as melhores práticas operacionais e controles empresariais.
Introdução
O GameFi combina a tecnologia blockchain com jogos para criar plataformas descentralizadas que contam com moedas digitais e ativos dentro do jogo. Normalmente, essa combinação apresenta um modelo play-to-earn (P2E) que permite aos jogadores ganhar recompensas em criptomoedas. O GameFi também oferece aos jogadores a verdadeira propriedade e controle total sobre seus ativos dentro do jogo.
Embora o setor GameFi esteja ganhando popularidade, ele enfrenta sérias ameaças de ataques de hackers o tempo todo. Alguns projetos podem priorizar a velocidade em detrimento da qualidade, e, consequentemente, não ter medidas de segurança robustas. Isso aumenta os riscos de perdas significativas tanto para a comunidade quanto para os criadores e desenvolvedores.
Por que a segurança é tão importante no setor GameFi?
O GameFi teve um crescimento significativo em 2021, com seu modelo P2E oferecendo aos jogadores novas oportunidades financeiras dentro dos jogos. Em 2022, os projetos move-to-earn destacaram ainda mais o potencial de crescimento do GameFi. Em 2022, o GameFi foi o setor de destaque no mercado de criptomoedas, representando aproximadamente 9,5% do investimento total da indústria e apresentando um crescimento anual de mais de 118%.
O GameFi é diferente dos jogos tradicionais, já que há mais em jogo para os usuários e ataques de hackers podem causar perdas significativas. Em casos extremos, violações de segurança podem levar ao fim de um projeto.
Em 2022, um exemplo disso foi quando hackers exploraram uma brecha de segurança em um node de chamada de procedimento remoto (Remote Procedure Call - RPC) para obter uma assinatura no projeto GameFi Axie Infinity. Isso permitiu que eles realizassem saques não autorizados, roubando um total de quase US$ 600 milhões em ETH. Qualquer vulnerabilidade em um projeto GameFi pode resultar em perdas enormes tanto para investidores quanto para jogadores, por isso a segurança é tão importante no setor GameFi.
Desafios de segurança on-chain
Vulnerabilidades dos tokens ERC-20
Os tokens ERC-20 são frequentemente usados em projetos GameFi como moeda virtual para compras no jogo, mecanismos de recompensa para jogadores e como meio de troca.
A emissão e gestão inadequadas de tokens ERC-20 podem trazer riscos de segurança. Durante o processo de emissão, é possível surgir uma vulnerabilidade comum conhecida como "reentrancy" (ou "ataque de reentrada"). Ataques podem explorar a falha lógica em um contrato para executar repetidamente uma função específica, resultando na emissão infinita de tokens.
Como moedas universais dos jogos, a estabilidade e quantidade dos tokens ERC-20 determinam a jogabilidade e sustentabilidade de um jogo. Por isso, os projetos devem garantir a lógica dos códigos e controlar rigorosamente o fornecimento total de tokens ERC-20.
Em 2022, o DeFi Kingdoms, um projeto GameFi P2E, foi alvo de um ataque que envolveu a emissão de tokens ERC-20. Alguns jogadores exploraram a vulnerabilidade lógica para emitir tokens nativos que estavam bloqueados, o que fez com que o preço dos tokens caísse drasticamente.
Vulnerabilidades dos NFTs
Em projetos GameFi, os NFTs são usados principalmente como ativos virtuais do jogo, como equipamentos, acessórios e brindes. Eles oferecem aos jogadores a real propriedade de seus ativos e conseguem manter um valor estável por meio do controle da inflação e da escassez. Contudo, a utilização inadequada dos NFTs pode trazer vulnerabilidades de segurança.
O valor dos NFTs está relacionado à raridade dos equipamentos ou acessórios, o que leva os jogadores a buscar os NFTs mais raros. Durante o processo de criação de NFTs, informações relacionadas aos blocos, como timestamps (data/hora), podem ser usados como uma fonte de aleatoriedade fraca para gerar NFTs com diferentes níveis de raridade. Um minerador pode manipular o timestamp do bloco para, de forma fraudulenta, emitir NFTs mais raros.
Mesmo uma fonte confiável de aleatoriedade, como o Chainlink VRF (Verifiable Random Function), não elimina todos os riscos. Usuários mal-intencionados podem cancelar operações durante a emissão de NFTs indesejados e repetir o processo até conseguirem criar um NFT raro.
Ao negociar e transferir NFTs, os jogadores podem enfrentar possíveis vulnerabilidades nos contratos inteligentes. Por exemplo, a função safeTransferFrom() é usada para transferir NFTs padrão ERC-721. Quando o destinatário é um endereço de contrato, a função onERC721Received() será acionada para um callback (chamada de retorno). Existe, portanto, o risco potencial de ataques de reentrada, onde os hackers podem controlar a lógica da função onERC721Received().
Esse risco também se aplica aos NFTs ERC-1155, onde a função safeTransferFrom() aciona a função onERC1155Received(), permitindo que os hackers realizem um ataque de reentrada.
Vulnerabilidades de bridges
Cross-chain bridges são usadas no setor GameFi para permitir que os usuários troquem ativos do jogo em diferentes redes. Elas também são essenciais para aprimorar as experiências e a liquidez de projetos GameFi.
Um grande risco de cross-chain bridges no GameFi vem das inconsistências que podem existir entre os ativos dos jogos. Os contratos em ambos os lados da bridge devem garantir que a quantidade correta de ativos seja aceita e queimada. No entanto, devido a brechas nos contratos de verificação e contabilidade, os invasores podem explorá-los para criar uma grande quantidade de ativos "do nada".
Vulnerabilidades na governança de DAOs
Muitos projetos GameFi são gerenciados por DAOs, o que pode introduzir o risco de centralização se a maioria dos tokens de governança pertencer a poucos participantes com muitos tokens. Contratos inteligentes que estabelecem as regras de governança das DAOs abrem outra porta para possíveis vulnerabilidades, uma vez que os invasores podem encontrar maneiras de acessar o tesouro da DAO.
Desafios de segurança off-chain
A maioria dos projetos GameFi ainda depende de servidores centralizados off-chain para operações de back-end, interfaces da web ou aplicativos para dispositivos móveis. Esses servidores armazenam informações críticas, incluindo dados de jogos e contas, e são vulneráveis a ataques de hackers, como invasões e malwares como Trojan.
No caso dos NFTs, os metadados contêm informações descritivas importantes e são armazenados off-chain como arquivos JSON. No entanto, muitos projetos GameFi armazenam seus metadados de NFTs em seus próprios servidores centralizados em vez de utilizar uma infraestrutura descentralizada como o IPFS. Isso aumenta a possibilidade de manipulação de metadados por parte de terceiros ou invasores, o que pode caracterizar violação dos direitos dos jogadores.
No contexto de cross-chain bridges, hackers podem obter assinaturas de validadores ou chaves privadas através de invasões ou ataques de phishing. Eles podem comprometer toda a infraestrutura e aproveitar uma vulnerabilidade para controlar os ativos do jogo.
Durante a transmissão de dados, um invasor pode executar um ataque "man-in-the-middle" e inserir códigos maliciosos em um pacote de rede. Ao modificar o pacote de dados, os hackers podem realizar falsas recargas e usar o valor da compra para obter mais itens do jogo.
As interfaces de front-end proporcionam aos invasores mais uma forma de invadir o sistema. Caso ocorra uma falha de segurança no ranking de um jogo, os invasores podem obter informações confidenciais de outros usuários.
Maneiras de melhorar a segurança
Para garantir a segurança dos projetos GameFi, é crucial ter cautela em todas as etapas. Garantir o uso de códigos de contrato inteligente impecáveis é a base de um projeto GameFi bem-sucedido — isso inclui programação de alta qualidade, auditorias regulares e a verificação formal do contrato inteligente.
A segurança dos servidores e outros componentes de infraestrutura é um fator igualmente crítico; testes de segurança devem ser realizados para identificar possíveis vulnerabilidades. Em sistemas baseados em blockchain e DApps, os testes de segurança usam recursos da Web3. Portanto, são necessárias precauções específicas para carteiras digitais e protocolos descentralizados.
Os projetos GameFi também devem aderir a outras práticas recomendadas, incluindo um processo de tempo de execução segura e de resposta de emergência. O primeiro processo é usado para monitorar eventos de segurança, aprimorar a segurança do ambiente e oferecer recompensas para usuários que reportam bugs.
Ao mesmo tempo, é importante que os projetos desenvolvam um processo completo de resposta a emergências, que inclua ações como contenção de perdas, rastreamento de ataques e análise de problemas.
Considerações finais
As vulnerabilidades de segurança em projetos GameFi vão além das mencionadas neste artigo e muitos incidentes têm demonstrado que alguns desenvolvedores ignoram ou subestimam os riscos de segurança. O setor GameFi é um componente importante do futuro dos jogos. Sendo assim, os projetos devem sempre estar atentos às questões de segurança e priorizar os interesses de suas comunidades.
Leituras adicionais
Aviso de Risco e Isenção de Responsabilidade: este conteúdo é apresentado a você “no estado em que se encontra“ apenas para fins informativos e educacionais, sem qualquer tipo de garantia. O conteúdo não deve ser interpretado como aconselhamento financeiro, jurídico ou profissional e não tem o objetivo de recomendar a compra de qualquer produto ou serviço específico. Recomendamos que você consulte profissionais especializados. No caso de contribuições e artigos enviados por colaboradores terceirizados, note que as opiniões expressas pertencem ao respectivo autor e não refletem necessariamente as opiniões da Binance Academy. Para mais detalhes, por favor leia nosso aviso aqui. Os preços dos ativos digitais podem ser voláteis. O valor do seu investimento pode aumentar ou diminuir e você pode não recuperar o valor investido. Você é o único responsável por suas decisões de investimento e a Binance Academy não se responsabiliza por nenhuma de suas possíveis perdas. Este material não deve ser interpretado como aconselhamento financeiro, jurídico ou profissional. Para mais informações, por favor consulte nossos Termos de Uso e Aviso de Risco.