DApps: problemy z bezpieczeństwem, hacki i środki zapobiegawcze PlatoBlockchain Data Intelligence. Wyszukiwanie pionowe. AI.

DApps: problemy z bezpieczeństwem, hacki i środki zapobiegawcze 

Czas czytania: 4 minuty

Decentralizacja w każdej dziedzinie życia to nowy kod nadchodzącej ery. DApps jest tutaj, aby zrewolucjonizować sposób, w jaki obsługujemy aplikacje, łącząc prywatność danych i cechy własności. 

Przejdźmy do głębi bloga.

Co to są aplikacje DApps?

DApps to zdecentralizowane aplikacje, które wykorzystują łańcuch bloków do przetwarzania danych za pośrednictwem sieci rozproszonej i wykonywania transakcji. W przeciwieństwie do scentralizowanych aplikacji, DApps są obsługiwane przez sieci peer-to-peer. 

Gdy programista wyda bazę kodu dla DApp, można na niej zbudować kilka aplikacji. Nie ma jednego organu, a zatem nie ma jednego punktu awarii, ponieważ obsługuje je sieć P2P. 

DApp pomaga tworzyć liczne aplikacje, takie jak aplikacje internetowe, gry i rozrywka, aplikacje społecznościowe itp.       

Znaczące cechy DApp

Oto kilka wskazówek dotyczących kluczowych atrybutów DApp

  • Są kodem typu open source i są kontrolowane przez użytkownika. Oznacza to, że wszelkie zmiany lub nowe dodatki są głosowane i wdrażane. 
  • Decentralizacja jest kluczowym aspektem, dzięki któremu wszystkie szczegóły są przechowywane w publicznie dystrybuowanej księdze.
  • DApps wykorzystują tokeny natywne dla platformy, aby nagradzać użytkowników za uczestnictwo lub wydobycie.

Wiadomości na temat korzystania z DApps

Według raportów autorstwa DAppRadar, liczba użytkowników korzystających ze zdecentralizowanych aplikacji rośnie każdego roku o 396%, do 2.4 miliona. 

Wśród których DApps do gier odpowiadał za ponad 50% aktywności użytkowników w I kwartale 1 r., a NFT pozyskały ogromną kolekcję około 2022 miliardów dolarów. 

Problemy z bezpieczeństwem kodowania DApp

Znając ogólną ideę DApp, przyjrzyjmy się teraz niektórym typowym błędom technicznym z nimi związanym.

Sprawdzenie podpisu: Użycie formatu czeku „przypadek_=> prawda” w @weryfikator funkcja kodowania DApp uniemożliwia transakcję transferową, jednocześnie zezwalając na inne typy transakcji.

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

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

Ale używając tego typu kodu, każdy użytkownik może wykonywać transakcje z wyjątkiem transakcji transferowych. Wpisując klucz publiczny w polu „senderPublicKey” bez dodawania podpisów, daje dostęp dowolnym użytkownikom do uruchomienia transakcji. 

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

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

Dlatego ważne jest, aby zapewnić obecność sprawdzania podpisu w kodowaniu DApp, aby być pozbawionym wspomnianej luki.

Wprowadzanie kluczy: Operacje w DApp obejmują magazyn klucz-wartość. Częstym błędem jest to, że programista pisałby do jednego klucza i czytał go z innego. Dlatego należy zachować ostrożność podczas pisania kluczy. 

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

Innym błędem jest to, że zamiast podawać wartości domyślne, próba odczytania wartości ze zmiennych takich jak value() lub extract() nie jest sugerowana.

Transakcje kontrolowane: Operacje DApp obejmują kilka współzależnych operacji, które są uruchamiane w sekwencji. W takich przypadkach bezpiecznie jest mieć funkcję „waitForTxWithNConfirmations”, aby otrzymywać potwierdzenia raz po dodaniu pierwszej transakcji do bloku.

Ogólne problemy związane z DApps

Niski poziom płynności DApps: Niski poziom płynności w zdecentralizowanych aplikacjach utrudnia kupowanie lub sprzedawanie tokenów po oczekiwanej cenie, powodując poślizg. Poślizg to różnica między oczekiwaną a realizowaną ceną, która może prowadzić do utraty środków.

Użytkownicy mogą śledzić płynność aktywów w oparciu o ich wolumeny handlowe i podejmować mądre decyzje przed zakupem lub sprzedażą tokena. 

Naruszenie lub awaria bezpieczeństwa:  DApps działają dzięki inteligentnym kontraktom, a te z błędami w kodowaniu są idealnymi celami dla hakerów. W ekstremalnych warunkach rynkowych lub z powodu wykorzystania kodu dewaluacja lub utrata środków w DApps stają się nieuniknione.

Audyt kodeksu przez firmy zewnętrzne przynosi większe korzyści w przezwyciężaniu tego problemu. 

Aplikacja phishingowa: Jeśli dojdzie do kompromisu w kodowaniu DApp, linki phishingowe są rozpowszechniane na ich oficjalnych stronach. Klikając je nieświadomie, wysysają wszystkie środki z portfeli użytkowników. 

Dlatego dokładnie sprawdź adresy URL przed dodaniem środków z portfela lub wprowadzeniem informacji o portfelu. 

Status hacków i oszustw DApp w 2022 r.

Minusem DApps jest fakt, że są one podatne na włamania. Z danych opublikowanych przez DAppRadar wynika, że ​​same oszustwa DApp spowodowały stratę w wysokości 1.2 miliarda dolarów. 

Najważniejsze wydarzenia związane z hackowaniem obejmują:

Hack mostka Ronina: Uzyskując dostęp do węzłów walidatora, haker był w stanie sfałszować fałszywe transakcje w Axie Infinity Sieć mostów Ronin, która doprowadziła do strat w wysokości 600 milionów dolarów. 

Protokół tunelu czasoprzestrzennego: Haker wykorzystał lukę w zabezpieczeniach kodu protokołu Wormhole, powodując stratę w wysokości 325 milionów dolarów. 

Oto jak zachować bezpieczeństwo i metody zapobiegawcze, aby zastosować zabezpieczenia DApp

Pokonywanie luk w zabezpieczeniach rozwiązuje większą część problemu dla DApps. Jest kilka sposobów na rozwiązanie tego problemu. 

  1. Podejmij usługi audytorskie: Dokładna analiza kodowania przez firmę audytorską, taką jak QuillAudyty eliminuje błędy z poziomu gruntu. 
  2. Testy penetracyjne: Testy penetracyjne zyskują przewagę w wyszukiwaniu ukrytych/węzłowych luk w zabezpieczeniach, testowaniu interfejsów API i odkrywaniu nowych ścieżek ataków. 

Ogólne środki zapobiegawcze dla bezpieczeństwa DApp

  1. Zachowaj tajemnicę prywatnej frazy seed, aby uzyskać dostęp do środków z portfela
  2. Weryfikacja autentyczności i legalności serwisu DApp
  3. Uważaj na linki lub teksty z błędami gramatycznymi.

114 odwiedzajacy

Znak czasu:

Więcej z Quillhash