Skip to content
KitploitKITPLOIT
FerramentasBlog
Enviar
FerramentasBlog
Enviar

Ferramentas de Hacking, PenTest e Cibersegurança para o seu Arsenal de Segurança!

Kitploit é um diretório de ferramentas de hacking, cibersegurança e pentesting. Descubra as últimas atualizações de projetos para encontrar vulnerabilidades, analisar sistemas, automatizar testes e fortalecer sua segurança.

··Feeds·Contato·Privacidade·© 2026 Kitploit

Diretório de Ferramentas

Categorias

Ver todas as categorias
Loading categories
BlockChainConstruction — BlockChain Security Construction | Kitploit
Ferramentas/GitHubGitHub/al1ex/blockchainconstruction
Vulnerability AnalysisCode AnalysisNetwork SecurityCryptographyLearning & EducationCurated Resources
GitHubal1ex/blockchainconstruction

BlockChainConstruction

BlockChain Security Construction

Ver Repositório
31há 5 anosAinda não revisado

Mais Populares

Ver todos →

Descubra as ferramentas mais usadas pela nossa comunidade.

Explore todas as ferramentas

Navegue pela nossa coleção de ferramentas

Ver todas as ferramentas →
Compartilhar

Prefácio

Neste artigo, apresentamos principalmente vários aspectos da auditoria de cadeia pública que merecem atenção. Para auditores de segurança e desenvolvedores de cadeias públicas, este é um projeto digno de referência e reflexão.

Arquitetura

Antes de apresentar a construção do sistema de cadeia pública, vamos dar uma olhada na arquitetura do blockchain:

Era Blockchain 1.0:

Arquitetura: conforme mostrado na figura abaixo

Produtos representativos: bitcoin, reborn coin, dogcoin, Leyte coin, MasterCard coin, etc

blockchain

Era Blockchain 2.0:

Arquitetura: conforme mostrado na figura abaixo

Produtos representativos: Ethereum, lisk, hyperledger, etc

Principais mudanças:

  • Camada de aplicação: adição de contrato inteligente
  • Camada de incentivo: redução do tempo de bloco para 16 segundos
  • Camada de consenso: adição de dpos, POS, pbft
  • Camada de dados: expansão do bloco, suporte ao envio de dados e variáveis, uso de algoritmo de criptografia otimizado e árvore de Merkle

blockchain

Era Blockchain 2.0

Arquitetura: conforme mostrado na figura abaixo

Produtos representativos: EOS, VaR, AE, ash, ELA, dfinity

Principais mudanças: os cenários de aplicação do blockchain em todos os setores da sociedade fora do setor financeiro podem atender a uma lógica de negócios mais complexa

blockchain

Construção de Segurança

A seguir, faremos uma breve introdução aos problemas dignos de consideração na construção de segurança da cadeia pública blockchain, de acordo com a arquitetura do blockchain. Cerca de 75% dos problemas já causaram incidentes de segurança em cadeias públicas, sendo também alguns pontos dignos de atenção na auditoria de segurança de cadeias públicas. Aqui, nós os apresentamos na forma de perguntas para despertar nossa reflexão. Se você quiser discutir mais a fundo, pode fazê-lo diretamente na issue:

Camada de dados

A camada de dados é a tecnologia da camada inferior, e suas principais funções são armazenamento de dados, implementação de contas e transações e segurança. O armazenamento de dados é baseado principalmente na árvore de Merkle, que é realizada pela estrutura de bloco e cadeia. A maioria deles é persistida por banco de dados kV, como bitcoin e leveldb adotados pela Ethereum.

A camada de dados merece reflexão sobre os seguintes pontos:

  1. O design da estrutura de dados do bloco da cadeia pública é razoável?
  2. O algoritmo de criptografia da cadeia pública atende aos requisitos da criptografia?
  3. O design da árvore de Merkle é razoável?
  4. O design CRUD do nó da árvore de Merkle é razoável?
  5. O design da lógica de verificação de timestamp do bloco da cadeia pública é razoável?
  6. Segurança do armazenamento de dados do banco de dados da cadeia pública e dos dados CURD?
  7. O algoritmo de geração de chave pública/mnemônica é seguro o suficiente?
  8. As chaves públicas/mnemônicas são criptografadas?
  9. Há algum uso indevido/resíduo de memória nas chaves públicas/mnemônicas?

Camada de rede

O principal objetivo da camada de rede é realizar a interação de informações entre os nós da rede blockchain. A essência do blockchain é uma rede ponto a ponto (P2P). Cada nó pode receber informações e também produzir informações. Os nós mantêm a comunicação ao manter um blockchain comum. Na rede blockchain, cada nó pode criar um novo bloco. Depois que o novo bloco é criado, outros nós serão notificados por broadcast. Por sua vez, outros nós verificarão o nó. Quando mais de 51% dos usuários da rede blockchain passarem pela verificação, o novo bloco será adicionado à cadeia principal.

Há vários pontos que merecem reflexão sobre a camada de rede

  1. O design do algoritmo de descoberta de nós da cadeia pública é razoável?

  2. O design dos nós da cadeia pública é razoável?

  3. O design do mecanismo de punição é razoável?

  4. O design do protocolo de comunicação é razoável?

  5. O design do processamento de solicitações do nó da cadeia pública é razoável?

  6. Há um limite no tamanho do pacote de processamento de solicitações?

  7. O design do mecanismo de comunicação de transações da cadeia pública é razoável?

  8. O mecanismo de sincronização de dados de blocos é razoável?

  9. O design da lógica de processamento de transações é razoável?

Camada de consenso

A camada de consenso permite que nós altamente dispersos cheguem a um consenso sobre a eficácia dos dados do bloco em um sistema descentralizado. Todo blockchain em execução precisa de um algoritmo de consenso para garantir a eficácia e a ordem da saída dos blocos. Os algoritmos de consenso comuns incluem pow, POS, dpos, Poa, POC, etc.

No nível de consenso, devemos considerar os seguintes pontos:

  1. O design do algoritmo de consenso da cadeia pública é seguro?

  2. O design da verificação de consenso da cadeia pública é razoável?

  3. O design do confisco de consenso da cadeia pública é razoável?

  4. O design da taxa de serviço da cadeia pública é razoável?

  5. O design de mineração da cadeia pública é razoável?

  6. O design de ajuste dinâmico da dificuldade do bloco é razoável?

  7. O design da lógica de verificação da dificuldade do bloco é razoável?

  8. Design de reorganização da cadeia, reinicialização da cadeia, bifurcação da cadeia, etc?

Camada de incentivo

O objetivo da camada de incentivo da cadeia pública é fornecer certas medidas de incentivo para encorajar os nós a participarem da verificação de segurança do blockchain e garantir o equilíbrio e o desenvolvimento saudável do ecossistema blockchain. Na cadeia pública descentralizada, é necessário estabelecer o mecanismo de incentivo correspondente para encorajar os nós de contabilidade participantes que cumprem as regras, e estabelecer o mecanismo de punição para punir os nós de contabilidade participantes que não cumprem as regras. A camada de incentivo do blockchain introduz fatores econômicos no sistema tecnológico do blockchain, o que melhora a eficiência da cooperação organizacional e da troca de valores dentro do ecossistema. O mecanismo de incentivo da cadeia pública é um mecanismo importante para garantir o desenvolvimento virtuoso do blockchain.

Há vários pontos dignos de nossa consideração sobre o nível de incentivo

  1. O design do mecanismo de emissão da cadeia pública é razoável?

  2. O design do mecanismo de punição da cadeia pública é razoável?

Camada de contrato

A camada de contrato encapsula todos os tipos de códigos de script e algoritmos do sistema blockchain, bem como os contratos inteligentes mais complexos gerados a partir deles. Se os três níveis de dados, rede e consenso, como a "máquina virtual" subjacente do blockchain, assumem respectivamente as funções de representação de dados, disseminação de dados e verificação de dados, a camada de contrato é a lógica de negócios e o algoritmo baseados na máquina virtual do blockchain, que é a base para realizar a programação flexível e a operação de dados do sistema blockchain. A maioria das criptomoedas digitais, incluindo bitcoin, usa código de script simples não Turing completo para programar e controlar o processo de transação, o que também é o rudimento do contrato inteligente. Com o desenvolvimento da tecnologia, existem linguagens de script Turing completas, como a Ethereum, que podem realizar contratos inteligentes mais complexos e flexíveis. O blockchain pode suportar muitas aplicações de sistemas financeiros e sociais macro.

Devemos considerar os seguintes pontos sobre a camada de contrato:

  1. Design de segurança da máquina virtual do contrato?

  2. Implantação / execução / interface do contrato?

  3. Segurança relacionada a contratos inteligentes?

Camada de aplicação

A camada de aplicação encapsula vários cenários e casos de aplicação do blockchain, o que é semelhante a vários programas de software em computadores. É um produto que os usuários comuns podem realmente usar diretamente, e também pode ser entendido como o navegador de produtos de arquitetura B/S.

Devemos considerar os seguintes pontos sobre a camada de aplicação (apenas cadeia pública, não wallet App/Exchange/DEFI, etc.):

Relacionado a contas

  1. Design da lógica CRUD da conta da carteira?

  2. Verificar a permissão de importação e exportação da carteira?

  3. Design da complexidade da senha da carteira?

  4. Verificar a validade do endereço da conta da carteira?

Relacionado a RPC

  1. A interface RPC pública precisa de uma rede pública externa?

  2. A autoridade da interface RPC da cadeia pública está claramente dividida?

  3. A interface RPC pública tem operações de classe sensível?

  4. A interface RPC pública trata exceções?

  5. O limite máximo de processamento de dados da interface RPC da cadeia pública?

  6. As solicitações da interface RPC da cadeia pública codificam e decodificam dados?

  7. O SSL está habilitado para o processamento de solicitações RPC da cadeia pública?

Relacionado a concorrência

  1. Design de processamento de solicitações de alta concorrência na cadeia pública?

  2. Definir o número máximo de conexões?

  3. A interface Web UI da cadeia pública permite acesso remoto?

  4. Há uma vulnerabilidade de classe web na interface webui da cadeia pública?

  5. A interface webui da cadeia pública tem permissão para armazenar informações de senha localmente?

Camada de código

É verdade que não existe uma "camada de código" na cadeia pública. Aqui, o autor a propõe principalmente para classificar os problemas que podem precisar ser considerados no processo de desenvolvimento da cadeia pública:

  1. Recursos da linguagem de desenvolvimento da cadeia pública, como readall (), recursos de append na leitura de dados na linguagem go

  2. Versão da linguagem de desenvolvimento da cadeia pública, por exemplo, algumas versões da linguagem go têm execução remota de comandos

  3. Codificação de especificações de desenvolvimento da cadeia pública, como ponteiro nulo, fatiamento (slicing), tratamento de exceções e outras operações

  4. Processamento de criptografia e descriptografia da cadeia pública, como codificação e decodificação de alta complexidade sem verificação de comprimento

  5. Processamento de conversão de tipos de dados, como hextobyte, integer. Parseint(), etc

  6. Design de lógica de negócios básica, por exem

Outros itens

Além das questões acima dignas de consideração no nível da arquitetura do blockchain, também precisamos considerar os seguintes problemas de segurança:

Segurança do nó

  1. O armazenamento de dados é criptografado?

  2. A permissão de arquivo é razoável?

  3. O ambiente de execução é seguro?

  4. O nó não é iniciado como root?

  5. Há um serviço web vulnerável no lado do nó?

  6. Há alguma configuração insegura no lado do servidor do nó?

  7. Há uma vulnerabilidade de acesso não autorizado no lado do servidor do nó?

  8. A senha da conta SSH está vazada no lado do servidor do nó?

Ataque de poder computacional

  1. Ataque de 51%

  2. Bifurcação dura da cadeia pública

  3. Sequestro de computação (worms infectam máquinas de mineração)

Biblioteca de terceiros

Verificar se são usadas bibliotecas de terceiros com vulnerabilidades, como Jackson databind, fastjson, etc

Middleware

Uso de middleware vulnerável, como a versão inferior do tendermint

Demanda de cross chain

  1. O modo de cross chain é confiável e adequado?

  2. Esquema de implementação de cross chain isomórfico & cross chain heterogêneo?

  3. Repetir os problemas de segurança da seção acima

Manutenção

  • Al1ex@Heptagram

Discussão

Participe diretamente da discussão dos problemas relacionados na issue

Baixar ferramenta