DApps: problemas de segurança, hacks e medidas preventivas PlatoBlockchain Data Intelligence. Pesquisa vertical. Ai.

DApps: problemas de segurança, hacks e medidas preventivas 

Tempo de leitura: 4 minutos

A descentralização em todas as esferas da vida é o novo código da próxima era. Os DApps estão aqui para revolucionar a forma como operamos aplicativos, mesclando privacidade de dados e qualidades de propriedade. 

Vamos entrar na profundidade do blog.

O que são DApps?

DApps são aplicativos descentralizados que usam blockchain para processar dados por meio de uma rede distribuída e executar transações. Ao contrário dos aplicativos centralizados, os DApps são operados por redes ponto a ponto. 

Uma vez que o desenvolvedor libera a base de código para o DApp, vários aplicativos podem ser construídos sobre ela. Não existe uma autoridade única e, portanto, nenhum ponto único de falha à medida que a rede P2P as executa. 

O DApp ajuda a criar vários aplicativos, como aplicativos da Web, jogos e entretenimento, aplicativos de mídia social etc.       

Características significativas do DApp

Aqui estão algumas dicas sobre os principais atributos do DApp

  • Eles são código-fonte aberto e são controlados pelo usuário. Isso significa que quaisquer alterações ou novas adições são votadas e implementadas. 
  • A descentralização é o aspecto central através do qual todos os detalhes são mantidos no livro-razão distribuído publicamente.
  • Os DApps empregam tokens nativos da plataforma para recompensar os usuários por participar ou minerá-los.

Notícias sobre o uso de DApps

De acordo com os relatórios de dapprad é, o número de usuários envolvidos em aplicativos descentralizados está crescendo 396% a cada ano, agora com 2.4 milhões. 

Entre os quais os DApps de jogos representam mais de 50% da atividade do usuário no primeiro trimestre de 1, e os NFTs fizeram uma enorme coleção de cerca de US$ 2022 bilhões. 

Problemas de segurança de codificação do DApp

Tendo conhecido a ideia geral do DApp, vamos agora explorar alguns dos erros técnicos comuns associados a eles.

Verificação de assinatura: O uso do formato de verificação “case_=> true” no @verificador função de codificação DApp proíbe a transação de transferência, permitindo outros tipos de transação.

{-# STDLIB_VERSION 3 #-}
{-# CONTENT_TYPE EXPRESSION #-}
{-# SCRIPT_TYPE ACCOUNT #-}

match (tx) {
	case t:TransferTransaction => false
	case _ => true # NEVER DO THIS!
}

Mas usando esse tipo de código, qualquer usuário pode realizar transações, exceto transações de transferência. Ao inserir a chave pública no campo “senderPublicKey” sem adicionar assinaturas, dá acesso a qualquer usuário para executar uma transação. 

{-# STDLIB_VERSION 3 #-}
{-# CONTENT_TYPE EXPRESSION #-}
{-# SCRIPT_TYPE ACCOUNT #-}

match (tx) {
	case t:TransferTransaction => false
	case _ => sigVerify(tx.bodyBytes, tx.proofs[0], tx.senderPublikey)
}

Portanto, é crucial garantir a presença de uma verificação de assinatura na codificação do DApp para que seja desprovido da vulnerabilidade mencionada.

Teclas de digitação: As operações no DApp envolvem o armazenamento de valor-chave. O erro comum é que um desenvolvedor escreveria em uma chave e leria isso de outra. Portanto, deve-se ter cuidado ao escrever as chaves. 

let NONE = "NONE"

func keyVoteByAddress(votingId: Int, address: String) = "voting_" + votingId + "_vote_" + address


@Callable(i)
func vote(id: Int) => {
	let voteKey = keyVoteByAddress(id, i.caller.toBase58String())
	let vote = getString(this, voteKey).valueOrElse(NONE)

	# alternative option

	let vote = match getString(this, voteKey){
    	case s: String => s
    	case _ => NONE
	}

	if (vote == NONE) then ...
	else ...
}

Outro erro é que, em vez de fornecer valores padrão, tentar ler valores de variáveis ​​como value() ou extract() não é sugestionável.

Transações controladas: As operações do DApp envolvem várias operações interdependentes para serem executadas em sequência. Nesses casos, é seguro ter a função “waitForTxWithNConfirmations” para receber as confirmações assim que a primeira transação for adicionada ao bloco.

Problemas genéricos relacionados com DApps

Baixo nível de liquidez de DApps: Baixos níveis de liquidez em aplicativos descentralizados dificultam a compra ou venda de tokens pelo preço esperado, causando derrapagens. Slippage é a diferença entre os preços esperados e executados, o que pode levar a uma perda de fundos.

Os usuários podem rastrear a liquidez dos ativos com base em seus volumes de negociação e tomar decisões inteligentes antes de comprar ou vender um token. 

Violação ou falha de segurança:  Os DApps funcionam por meio de contratos inteligentes e aqueles com bugs em sua codificação são alvos ideais para hackers. Sob condições extremas de mercado ou devido a explorações de código, a desvalorização ou perda de fundos em DApps se torna inevitável.

A auditoria do código por empresas terceirizadas faz um bem maior para superar esse problema. 

DApp de phishing: Se houver um comprometimento na codificação do DApp, links de phishing são divulgados em seus sites oficiais. Ao clicar neles sem saber, eles drenam todos os fundos das carteiras dos usuários. 

Portanto, verifique os URLs antes de adicionar os fundos de suas carteiras ou inserir as informações da carteira. 

Status dos hacks e golpes do DApp em 2022

A desvantagem dos DApps é o fato de serem vulneráveis ​​a hacks. A partir dos dados publicados pelo DAppRadar, apenas os golpes do DApp representaram uma perda de US$ 1.2 bilhão. 

Os destaques dos principais eventos de hack incluem,

Truque da ponte Ronin: Obtendo acesso aos nós validadores, o hacker conseguiu forjar transações falsas em Axie Infinity's rede ponte Ronin que levou a uma perda de US $ 600 milhões. 

Protocolo do buraco de minhoca: O hacker explorou uma falha de segurança no código do protocolo Wormhole, resultando em uma perda de US$ 325 milhões. 

Veja como se manter seguro e métodos preventivos a serem adotados para a segurança do DApp

A superação de falhas de segurança resolve a maior parte do problema para DApps. Existem algumas maneiras de resolver isso. 

  1. Contratar serviços de auditoria: Uma análise de codificação completa por uma empresa de auditoria como QuillAuditorias elimina os bugs do nível do solo. 
  2. Teste de penetração: O teste de penetração ganha vantagem ao encontrar vulnerabilidades ocultas/node, testar APIs e descobrir novos caminhos de ataque. 

Medidas preventivas gerais para segurança do DApp

  1. Mantenha o sigilo da frase semente privada para acessar os fundos da carteira
  2. Verificando a autenticidade e legitimidade do site DApp
  3. Desconfie de links ou textos com erros gramaticais.

114 Visualizações

Carimbo de hora:

Mais de Quilhash