DApps: beveiligingsproblemen, hacks en preventieve maatregelen PlatoBlockchain Data Intelligence. Verticaal zoeken. Ai.

DApps: beveiligingsproblemen, hacks en preventieve maatregelen 

Leestijd: 4 minuten

Decentralisatie in alle lagen van de bevolking is de nieuwe code van het komende tijdperk. DApps zijn hier om een ​​revolutie teweeg te brengen in de manier waarop we apps gebruiken, door gegevensprivacy en eigendomskwaliteiten samen te voegen. 

Laten we de diepte van de blog ingaan.

Wat zijn DApps?

DApps zijn gedecentraliseerde applicaties die blockchain gebruiken om gegevens via een gedistribueerd netwerk te verwerken en transacties uit te voeren. In tegenstelling tot gecentraliseerde apps, worden DApps beheerd door peer-to-peer-netwerken. 

Zodra de ontwikkelaar de codebase voor de DApp vrijgeeft, kunnen er verschillende apps bovenop worden gebouwd. Er is geen enkele autoriteit en dus ook geen enkel storingspunt aangezien het P2P-netwerk ze uitvoert. 

DApp helpt bij het maken van tal van applicaties, zoals webapplicaties, games & entertainment, apps voor sociale media, enz.       

Aanzienlijke kenmerken van DApp

Hier zijn een paar tips over de belangrijkste kenmerken van DApp

  • Ze zijn open-sourcecode en worden door de gebruiker beheerd. Dit betekent dat eventuele wijzigingen of nieuwe toevoegingen worden gestemd en doorgevoerd. 
  • Decentralisatie is het kernaspect waardoor alle details in het openbaar gedistribueerde grootboek worden bewaard.
  • DApps gebruiken tokens die eigen zijn aan het platform om gebruikers te belonen voor deelname of mijnbouw.

Nieuws over het gebruik van DApps

Volgens de rapporten van dapprad is, groeit het aantal gebruikers dat zich bezighoudt met gedecentraliseerde applicaties elk jaar met 396%, met nu 2.4 miljoen. 

Waarvan gaming-DApps goed waren voor meer dan 50% van de gebruikersactiviteit in het eerste kwartaal van 1, en NFT's een enorme verzameling van ongeveer $ 2022 miljard opleverden. 

Beveiligingsproblemen met DApp-codering

Nu we op de hoogte waren van het algemene idee van DApp, laten we nu enkele van de veelvoorkomende technische fouten onderzoeken die ermee gepaard gaan.

Handtekeningcontrole: Het gebruik van het controleformaat “case_=> true” in de @verificateur functie van DApp-codering verbiedt de overdrachtstransactie terwijl andere transactietypen worden toegestaan.

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

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

Maar met dit type code kan elke gebruiker transacties uitvoeren, behalve overboekingstransacties. Door de openbare sleutel in het veld "senderPublicKey" in te voeren zonder handtekeningen toe te voegen, geeft het alle gebruikers toegang om een ​​transactie uit te voeren. 

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

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

Daarom is het van cruciaal belang om de aanwezigheid van een handtekeningcontrole in de DApp-codering te garanderen om de genoemde kwetsbaarheid te voorkomen.

Sleutels invoeren: De bewerkingen in de DApp hebben betrekking op de sleutelwaardeopslag. De veelgemaakte fout is dat een ontwikkelaar naar de ene sleutel zou schrijven en die van de andere zou lezen. Wees dus voorzichtig bij het schrijven van sleutels. 

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

Een andere fout is dat in plaats van standaardwaarden te geven, het niet suggestief is om waarden uit de variabelen zoals value() of extract() te lezen.

Gecontroleerde transacties: DApp-bewerkingen omvatten verschillende onderling afhankelijke bewerkingen die achter elkaar worden uitgevoerd. In dergelijke gevallen is het veilig om de functie "waitForTxWithNConfirmations" te hebben om eenmaal bevestigingen te ontvangen nadat de eerste transactie aan het blok is toegevoegd.

Algemene problemen met DApps

Laag liquiditeitsniveau van DApps: Lage liquiditeitsniveaus op gedecentraliseerde applicaties maken het moeilijk om tokens te kopen of verkopen tegen de verwachte prijs, wat leidt tot slippen. Slippage is het verschil tussen de verwachte en uitgevoerde prijzen, wat kan leiden tot een verlies aan fondsen.

Gebruikers kunnen de liquiditeit van de activa volgen op basis van hun handelsvolumes en slimme beslissingen nemen voordat ze een token kopen of verkopen. 

Beveiligingsinbreuk of -fout:  DApps werken via slimme contracten en die met bugs in hun codering zijn ideale doelen voor hackers. Onder extreme marktomstandigheden of als gevolg van code-exploits wordt de devaluatie of het verlies van geld in DApps onvermijdelijk.

Het controleren van de code door externe bedrijven levert meer op om dit probleem op te lossen. 

Phishing-app: Als er een compromis is in de codering van de DApp, worden phishing-links verspreid op hun officiële sites. Door er onbewust op te klikken, halen ze al het geld uit de gebruikersportefeuilles. 

Controleer daarom URL's dubbel voordat u het geld uit uw portemonnee toevoegt of de portemonnee-informatie invoert. 

Status van DApp-hacks en oplichting in 2022

Het nadeel van DApps is dat ze kwetsbaar zijn voor hacks. Uit de gegevens die door DAppRadar zijn gepubliceerd, waren alleen al de DApp-zwendel goed voor een verlies van $ 1.2 miljard. 

Hoogtepunten van de belangrijkste hack-evenementen zijn onder meer:

Ronin bridge-hack: Door toegang te krijgen tot de validator-knooppunten, kon de hacker neptransacties smeden in Axie Infinity's Ronin bridge-netwerk dat leidde tot een verlies van $ 600 miljoen. 

Wormgat protocol: De hacker maakte misbruik van een beveiligingsfout in de Wormhole-protocolcode, wat resulteerde in een verlies van 325 miljoen dollar. 

Hier leest u hoe u veilige en preventieve methoden kunt gebruiken voor DApp-beveiliging

Het overwinnen van beveiligingsfouten lost het grootste deel van het probleem op voor: DApps. Er zijn een paar manieren om het op te lossen. 

  1. Neem auditdiensten op: Een grondige coderingsanalyse door een accountantskantoor als QuillAudits elimineert de bugs van het grondniveau. 
  2. Penetratietesten: Penetratietesten krijgen de overhand bij het vinden van verborgen kwetsbaarheden/knooppunten, het testen van API's en het ontdekken van nieuwe aanvalspaden. 

Algemene preventieve maatregelen voor DApp-beveiliging

  1. Handhaaf het geheim van de private seed-zin om toegang te krijgen tot het geld uit de portemonnee
  2. De authenticiteit en legitimiteit van de DApp-website verifiëren
  3. Pas op voor links of teksten met grammaticale fouten.

114 keer bekeken

Tijdstempel:

Meer van Quillhash