DApps: Varnostna vprašanja, vdori in preventivni ukrepi PlatoBlockchain Data Intelligence. Navpično iskanje. Ai.

DApps: varnostne težave, vdori in preventivni ukrepi 

Čas branja: 4 min

Decentralizacija na vseh področjih življenja je nova koda prihajajoče dobe. DApps so tukaj, da revolucionirajo naše upravljanje aplikacij, združujejo zasebnost podatkov in lastnosti lastništva. 

Pojdimo v globino bloga.

Kaj so DApps?

DApps so decentralizirane aplikacije, ki uporabljajo blockchain za obdelavo podatkov prek porazdeljenega omrežja in izvajanje transakcij. Za razliko od centraliziranih aplikacij, DApps upravljajo omrežja enakovrednih. 

Ko razvijalec izda kodno osnovo za DApp, je mogoče na njej zgraditi več aplikacij. Ni enotnega organa in s tem niti ene same točke napake, saj jih upravlja omrežje P2P. 

DApp pomaga ustvariti številne aplikacije, kot so spletne aplikacije, igre in zabava, aplikacije za družbene medije itd.       

Pomembne značilnosti DApp

Tukaj je nekaj napotkov o ključnih lastnostih DApp

  • So odprtokodne kode in jih nadzoruje uporabnik. To pomeni, da so vse spremembe ali novi dodatki izglasovani in izvedeni. 
  • Decentralizacija je ključni vidik, prek katerega se vse podrobnosti hranijo v javno distribuirani knjigi.
  • DApps uporabljajo žetone, ki so izvirni iz platforme, da nagrajujejo uporabnike za sodelovanje ali njihovo rudarjenje.

Novice o uporabi DApps

Po poročilih DAppRadar, se število uporabnikov, ki se ukvarjajo z decentraliziranimi aplikacijami, vsako leto poveča za 396 % in jih je zdaj 2.4 milijona. 

Med katerimi igralne DApps predstavljajo več kot 50 % uporabniške dejavnosti v prvem četrtletju leta 1, NFT-ji pa so ustvarili ogromno zbirko v višini približno 2022 milijard USD. 

Varnostne težave kodiranja DApp

Ker poznamo celotno idejo DApp, zdaj raziščimo nekaj pogostih tehničnih napak, povezanih z njimi.

Preverjanje podpisa: Uporaba oblike preverjanja »case_=> true« v @verifikator funkcija kodiranja DApp prepoveduje transakcijo prenosa, medtem ko dovoljuje druge vrste transakcij.

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

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

Toda z uporabo te vrste kode lahko vsak uporabnik izvaja transakcije, razen prenosnih transakcij. Z vnosom javnega ključa v polje »senderPublicKey« brez dodajanja podpisov omogoči dostop vsem uporabnikom za izvedbo transakcije. 

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

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

Zato je ključnega pomena zagotoviti prisotnost preverjanja podpisa v kodiranju DApp, da je brez omenjene ranljivosti.

Vnos ključev: Operacije v aplikaciji DApp vključujejo shranjevanje ključa in vrednosti. Pogosta napaka je, da bi razvijalec pisal na en ključ in to bral iz drugega. Zato morate biti previdni pri pisanju ključev. 

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

Druga napaka je, da namesto podajanja privzetih vrednosti poskus branja vrednosti iz spremenljivk, kot sta value() ali extract(), ni sugestilen.

Nadzorovane transakcije: Operacije DApp vključujejo več soodvisnih operacij, ki se izvajajo v zaporedju. V takšnih primerih je varno imeti funkcijo »waitForTxWithNConfirmations« za prejemanje potrditev enkrat po dodajanju prve transakcije v blok.

Splošne težave, povezane z DApps

Nizka raven likvidnosti DApps: Nizke ravni likvidnosti v decentraliziranih aplikacijah otežujejo nakup ali prodajo žetonov po pričakovani ceni, kar povzroča zdrs. Zdrs je razlika med pričakovano in izvršeno ceno, ki lahko vodi do izgube sredstev.

Uporabniki lahko spremljajo likvidnost sredstev na podlagi obsega trgovanja in sprejemajo pametne odločitve pred nakupom ali prodajo žetona. 

Kršitev varnosti ali okvara:  Aplikacije DApp delujejo prek pametnih pogodb in tiste z napakami v kodiranju so idealne tarče za hekerje. V ekstremnih tržnih razmerah ali zaradi izkoriščanja kode postane devalvacija ali izguba sredstev v DApps neizogibna.

Revizija kode s strani tretjih podjetij je večja korist pri premagovanju te težave. 

DApp za lažno predstavljanje: Če pride do kompromisa pri kodiranju aplikacije DApp, se povezave do lažnega predstavljanja razširijo na njihovih uradnih straneh. Ko jih nevede kliknejo, iz uporabnikovih denarnic izčrpajo vsa sredstva. 

Zato dvakrat preverite URL-je, preden dodate sredstva iz svojih denarnic ali vnesete podatke o denarnici. 

Stanje vdorov in prevar v DApp v letu 2022

Slaba stran DApps je dejstvo, da so ranljivi za vdore. Po podatkih, ki jih je objavil DAppRadar, so samo prevare DApp povzročile 1.2 milijarde dolarjev izgube. 

Poudarki večjih hekerskih dogodkov vključujejo,

Roninov most: Ko je heker pridobil dostop do vozlišč validatorja, je lahko ponaredil lažne transakcije Axie Infinity's Omrežje mostov Ronin, ki je povzročilo izgubo v višini 600 milijonov dolarjev. 

Protokol črvine: Heker je izkoristil varnostno napako v kodi protokola Wormhole, kar je povzročilo 325 milijonov dolarjev izgube. 

Tukaj je opisano, kako ostati varen in preventivne metode, ki jih je treba sprejeti za varnost DApp

Odprava varnostnih pomanjkljivosti reši večji del problema za DApps. Obstaja nekaj načinov, kako to urediti. 

  1. Izkoristite storitve revizije: Temeljita analiza kodiranja s strani revizijske družbe, kot je QuillAudits odpravlja hrošče s tal. 
  2. Preskus penetracije: Testiranje prodora ima prednost pri iskanju skritih ranljivosti/ranljivosti vozlišč, testiranju API-jev in odkrivanju novih poti napada. 

Splošni preventivni ukrepi za varnost DApp

  1. Ohranite tajnost zasebne semenske fraze za dostop do sredstev iz denarnice
  2. Preverjanje pristnosti in legitimnosti spletnega mesta DApp
  3. Bodite pozorni na povezave ali besedila s slovničnimi napakami.

114 Ogledov

Časovni žig:

Več od Quillhash