DApp: problemi di sicurezza, hack e misure preventive  PlatoBlockchain Data Intelligence. Ricerca verticale. Ai.

DApp: problemi di sicurezza, hack e misure preventive 

Tempo per leggere: 4 verbale

Il decentramento in ogni ambito della vita è il nuovo codice della prossima era. Le DApp sono qui per rivoluzionare il modo in cui gestiamo le app, unendo la privacy dei dati e le qualità di proprietà. 

Entriamo nel profondo del blog.

Cosa sono le DApp?

Le DApp sono applicazioni decentralizzate che utilizzano la blockchain per elaborare i dati attraverso una rete distribuita ed eseguire transazioni. A differenza delle app centralizzate, le DApp sono gestite da reti peer-to-peer. 

Una volta che lo sviluppatore rilascia la base di codice per la DApp, è possibile creare diverse app su di essa. Non esiste un'unica autorità, e quindi nessun singolo punto di errore mentre la rete P2P li gestisce. 

DApp aiuta a creare numerose applicazioni come applicazioni Web, giochi e intrattenimento, app di social media, ecc.       

Caratteristiche significative di DApp

Ecco alcuni suggerimenti sugli attributi chiave di DApp

  • Sono codice open-source e sono controllati dall'utente. Ciò significa che eventuali modifiche o nuove aggiunte vengono votate e implementate. 
  • Il decentramento è l'aspetto centrale attraverso il quale tutti i dettagli sono tenuti nel libro mastro distribuito pubblicamente.
  • Le DApp utilizzano token nativi della piattaforma per premiare gli utenti che partecipano o li estraggono.

Notizie sull'utilizzo delle DApp

Secondo quanto riferito da DAppRadar, il numero di utenti che utilizzano applicazioni decentralizzate cresce del 396% ogni anno, arrivando a 2.4 milioni. 

Tra cui le DApp di gioco rappresentano oltre il 50% dell'attività degli utenti nel primo trimestre del 1 e gli NFT hanno realizzato un'enorme raccolta di circa $ 2022 miliardi. 

Problemi di sicurezza della codifica DApp

Avendo conosciuto l'idea generale di DApp, esploriamo ora alcuni degli errori tecnici comuni ad essi associati.

Controllo della firma: L'uso del formato di controllo "case_=> true" nel file @verificatore la funzione di codifica DApp vieta la transazione di trasferimento consentendo altri tipi di transazione.

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

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

Ma utilizzando questo tipo di codice, qualsiasi utente può eseguire transazioni tranne le transazioni di trasferimento. Inserendo la chiave pubblica nel campo "senderPublicKey" senza aggiungere firme, dà accesso a qualsiasi utente per eseguire una transazione. 

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

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

Pertanto, è fondamentale garantire la presenza di un controllo della firma nella codifica DApp per essere privo della suddetta vulnerabilità.

Inserimento chiavi: Le operazioni nella DApp coinvolgono l'archiviazione del valore-chiave. L'errore comune è che uno sviluppatore scriva su una chiave e la legga da un'altra. Pertanto, è necessario prestare attenzione durante la scrittura delle chiavi. 

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 ...
}

Un altro errore è che invece di fornire valori predefiniti, il tentativo di leggere i valori dalle variabili come value() o extract() non è suggeribile.

Transazioni controllate: Le operazioni DApp comportano diverse operazioni interdipendenti da eseguire in sequenza. In tali casi, è sicuro avere la funzione "waitForTxWithNConfirmations" per ricevere le conferme una volta che la prima transazione è stata aggiunta al blocco.

Problemi generici relativi alle DApp

Basso livello di liquidità delle DApp: I bassi livelli di liquidità sulle applicazioni decentralizzate rendono difficile l'acquisto o la vendita di token al prezzo previsto, causando lo slippage. Lo slippage è la differenza tra i prezzi previsti ed eseguiti, che può portare a una perdita di fondi.

Gli utenti possono monitorare la liquidità degli asset in base ai loro volumi di trading e prendere decisioni intelligenti prima di acquistare o vendere un token. 

Violazione o fallimento della sicurezza:  Le DApp funzionano tramite contratti intelligenti e quelle con bug nella loro codifica sono obiettivi ideali per gli hacker. In condizioni di mercato estreme oa causa di exploit del codice, la svalutazione o la perdita di fondi nelle DApp diventa inevitabile.

L'audit del codice da parte di aziende di terze parti è più utile per superare questo problema. 

DApp di phishing: Se c'è una compromissione nella codifica della DApp, sui loro siti ufficiali vengono fatti circolare link di phishing. Facendo clic su di essi inconsapevolmente, drenano tutti i fondi dai portafogli degli utenti. 

Pertanto, ricontrolla gli URL prima di aggiungere i fondi dai tuoi portafogli o inserire le informazioni del portafoglio. 

Stato di hack e truffe DApp nel 2022

Lo svantaggio delle DApp è il fatto che sono vulnerabili agli hack. Dai dati pubblicati da DAppRadar, le sole truffe DApp hanno rappresentato una perdita di 1.2 miliardi di dollari. 

I punti salienti dei principali eventi di hacking includono,

Modifica del ponte Ronin: Ottenendo l'accesso ai nodi del validatore, l'hacker è stato in grado di falsificare transazioni Axie Infinity's Rete di ponti Ronin che ha portato a una perdita di $ 600 milioni. 

Protocollo del wormhole: L'hacker ha sfruttato una falla di sicurezza nel codice del protocollo Wormhole, provocando una perdita di 325 milioni di dollari. 

Ecco come rimanere sicuri e metodi preventivi da adottare per la sicurezza delle DApp

Il superamento delle falle di sicurezza risolve la maggior parte del problema per DApp. Ci sono alcuni modi per risolverlo. 

  1. Accetta i servizi di revisione: Un'approfondita analisi del codice da parte di una società di revisione come QuillAudit elimina gli insetti dal livello del suolo. 
  2. Test di penetrazione: I test di penetrazione prendono il sopravvento nel trovare vulnerabilità nascoste/di nodo, testare le API e scoprire nuovi percorsi di attacco. 

Misure preventive generali per la sicurezza DApp

  1. Mantieni la segretezza della frase seme privata per accedere ai fondi dal portafoglio
  2. Verifica dell'autenticità e della legittimità del sito Web DApp
  3. Diffidate dei link o dei testi con errori grammaticali.

114 Visualizzazioni

Timestamp:

Di più da quillhash