HACONTI: Desafios dasegurança cibernética  em Smart Contracts

07/11/2024

HACONTI: Desafios dasegurança cibernética  em Smart Contracts

Por Juan Schällibaum, Application Security Engineer em Ualá

Introdução

Os contratos inteligentes (ou Smart Contracts) estão transformando a forma como fazemos transações e gerenciamos ativos digitais na blockchain de Ethereum. No entanto, como qualquer produto de software, eles apresentam problemas de segurança. Um exemplo claro disso foi o DAO Hack em 2016, em que um invasor aproveitou uma vulnerabilidade para roubar 3,54 milhões de Ether, destacando a importância de manter uma segurança robusta nesses contratos.

Neste artigo, exploraremos algumas das vulnerabilidades mais comuns que afetam os contratos inteligentes. Apresentaremos também o HACONTI, uma plataforma gratuita que oferece desafios de segurança cibernética em contratos inteligentes, projetada para ajudar os desenvolvedores a melhorarem a segurança de seus contratos, e os especialistas em segurança a treinarem na avaliação desses sistemas críticos.

Vulnerabilidades em Smart Contracts

Existem vários tipos de vulnerabilidades que afetam os contratos inteligentes. Entre os mais importantes estão os seguintes:

  • Reentrancy: Permite que um invasor execute repetidamente uma função dentro do contrato antes que a primeira execução termine, manipulando o comportamento do contrato.
  • Estouro de inteiros: Ocorre quando uma operação aritmética excede o intervalo de um tipo de dados, causando um comportamento inesperado.
  • Denegação de Serviço (DoS): Um ataque de DoS pode bloquear o acesso a funções críticas ou esgotar o gás do contrato, impedindo o seu bom funcionamento.
  • Falhas nos controles de acesso: Permite que usuários não autorizados acessem funções que deveriam ser restritas, comprometendo a integridade do sistema.
  • Informações privadas na Blockchain: As informações armazenadas na blockchain são públicas e a confidencialidade pode ser comprometida se não forem devidamente criptografadas.
    Chamadas inseguras para contratos externos: O uso de delegatecall() com contratos não confiáveis, pode permitir que o estado interno do contrato que faz a chamada seja manipulado.
Leer también:

HACONTI – Desafios da segurança cibernética

HACONTI (Hackeie o contrato não tão inteligente) é uma plataforma web que oferece desafios de segurança cibernética baseados em contratos inteligentes desenvolvidos em Solidity. Cada nível ou desafio da plataforma consiste em um contrato inteligente com alguma vulnerabilidade que deve ser explorada para sua resolução.

A plataforma possui um total de trinta níveis, agrupados em três categorias diferentes, cada um com uma dificuldade associada. Duas das características mais notáveis ​​de HACONTI são a abundante informação contextual fornecida sobre as vulnerabilidades dos níveis e o sistema de pontos inovador que apresenta.

Menu principal de HACONTI

(Acesso livre, não requer assinatura)

Categorias dos desafios

  • Categoria 1 (Introdutória): Níveis projetados para familiarizar os jogadores com Ethereum e contratos inteligentes, e fornecer habilidades básicas para implantar e interagir com contratos em Solidity sem experiência anterior.

  • Categoria 2 (Vulnerabilidades simples): Níveis focados no ensino sobre vulnerabilidades específicas, associadas a um SWC (Smart Contract Weakness Classification) e/ou SCSVS (Smart Contract Security Verification Standard) determinado.

  • Categoria 3 (Vulnerabilidades complexas e encadeadas): Níveis mais difíceis que combinam várias vulnerabilidades simples, que devem ser exploradas em cadeia para completá-los, testando as habilidades adquiridas na resolução dos níveis anteriores.

Informações contextuais dos desafios

Cada nível indica seu estado (resolvido ou não), sua dificuldade e categoria associada, e inclui uma lista de objetivos de realização e o código-fonte do contrato vulnerável com o qual deve haver interação para passar de nível.

Vista do nível “Reentrada”

Além disso, os níveis da Categoria 1 incluem um tutorial detalhado para sua resolução, e os níveis das Categorias 2 e 3 incluem:

As opiniões expressas pelos autores deste blog são próprias e não refletem necessariamente as opiniões de LACNIC.

Inscrever-se
Notificar de

0 Comments
mais antigos
mais recentes Mais votado
Feedbacks embutidos
Ver todos os comentários