DApps: проблеми безпеки, хакі та профілактичні заходи PlatoBlockchain Data Intelligence. Вертикальний пошук. Ai.

DApps: проблеми безпеки, хакі та профілактичні заходи 

Час читання: 4 протокол

Децентралізація в кожній сфері життя є новим кодексом майбутньої ери. DApps тут, щоб революціонізувати те, як ми керуємо програмами, поєднуючи конфіденційність даних і якість власності. 

Давайте заглибимося в глибину блогу.

Що таке DApps?

DApps — це децентралізовані програми, які використовують блокчейн для обробки даних через розподілену мережу та виконання транзакцій. На відміну від централізованих програм, DApps керуються одноранговими мережами. 

Щойно розробник випустить кодову базу для DApp, на її основі можна створювати кілька програм. Немає єдиного органу влади, а отже, і єдиної точки відмови, оскільки ними керує мережа P2P. 

DApp допомагає створювати численні програми, такі як веб-програми, ігри та розваги, програми для соціальних мереж тощо.       

Важливі характеристики DApp

Ось кілька вказівок щодо ключових атрибутів DApp

  • Вони мають відкритий вихідний код і контролюються користувачами. Це означає, що будь-які зміни або нові доповнення голосуються та впроваджуються. 
  • Децентралізація є основним аспектом, завдяки якому всі деталі зберігаються в загальнодоступній книзі.
  • DApps використовують власні токени платформи, щоб винагороджувати користувачів за участь або майнінг.

Новини про використання DApps

Згідно з повідомленнями від DAppRadarкількість користувачів, які використовують децентралізовані додатки, щороку зростає на 396% і становить 2.4 мільйона. 

Серед яких на ігрові DApps припадає понад 50% активності користувачів у першому кварталі 1 року, а NFT зібрали величезний збір у розмірі близько 2022 мільярдів доларів. 

Проблеми безпеки кодування DApp

Знаючи про загальну ідею DApp, давайте тепер розглянемо деякі поширені технічні помилки, пов’язані з ними.

Перевірка підпису: Використання формату перевірки “case_=> true” у @verifier Функція кодування DApp забороняє транзакцію передачі, але дозволяє інші типи транзакцій.

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

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

Але використовуючи цей тип коду, будь-який користувач може виконувати транзакції, крім транзакцій переказу. Введення відкритого ключа в поле «senderPublicKey» без додавання підписів надає доступ будь-яким користувачам для виконання транзакції. 

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

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

Тому вкрай важливо забезпечити наявність перевірки підпису в кодуванні DApp, щоб уникнути згаданої вразливості.

Введення ключів: Операції в DApp включають зберігання ключ-значення. Поширена помилка полягає в тому, що розробник записує в один ключ і читає його з іншого. Тому слід бути обережним під час написання ключів. 

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

Інша помилка полягає в тому, що замість надання значень за замовчуванням, спроба прочитати значення зі змінних, таких як value() або extract(), неможлива.

Контрольовані операції: Операції DApp включають кілька взаємозалежних операцій, які виконуються послідовно. У таких випадках безпечно використовувати функцію «waitForTxWithNConfirmations», щоб отримувати підтвердження після додавання першої транзакції до блоку.

Загальні проблеми, пов’язані з DApps

Низький рівень ліквідності DApps: Низький рівень ліквідності в децентралізованих додатках ускладнює купівлю або продаж токенів за очікуваною ціною, що спричиняє прослизання. Пробуксовування - це різниця між очікуваною та виконаною цінами, яка може призвести до втрати коштів.

Користувачі можуть відстежувати ліквідність активів на основі своїх торгових обсягів і приймати розумні рішення перед покупкою або продажем токена. 

Порушення безпеки або збій:  DApps функціонують через смарт-контракти, а ті з помилками в кодуванні є ідеальною мішенню для хакерів. За екстремальних ринкових умов або через використання коду знецінення або втрата коштів у DApps стає неминучим.

Перевірка коду сторонніми фірмами приносить більше користі для подолання цієї проблеми. 

Фішинговий DApp: Якщо є компроміс у кодуванні DApp, фішингові посилання поширюються на їхніх офіційних сайтах. Несвідомо натискаючи на них, вони виводять усі кошти з гаманців користувачів. 

Тому ще раз перевірте URL-адреси, перш ніж додавати кошти зі своїх гаманців або вводити інформацію про гаманець. 

Статус злому та шахрайства DApp у 2022 році

Недоліком DApps є те, що вони вразливі до хакерів. Згідно з даними, опублікованими DAppRadar, тільки шахрайство DApp спричинило збиток у розмірі 1.2 мільярда доларів. 

Основні моменти основних хакерських подій включають:

Злом мосту Ронін: Отримавши доступ до вузлів валідатора, хакер зміг підробити підроблені транзакції Axie Infinity's мережа мостів Ронін, яка призвела до збитків у 600 мільйонів доларів. 

Протокол червоточини: Хакер скористався недоліком безпеки в коді протоколу Wormhole, що призвело до збитків у розмірі 325 мільйонів доларів. 

Ось як залишатися в безпеці та застосувати профілактичні методи для безпеки DApp

Подолання недоліків безпеки вирішує основну частину проблеми для DApps. Є кілька способів розібратися. 

  1. Скористайтеся аудиторськими послугами: Ретельний аналіз кодування аудиторською фірмою, як QuillAudits усуває жуків з рівня землі. 
  2. Випробування на проникнення: Тестування на проникнення бере перевагу у пошуку прихованих уразливостей/вузлів, тестуванні API та виявленні нових шляхів атак. 

Загальні профілактичні заходи для безпеки DApp

  1. Зберігайте таємницю приватної початкової фрази для доступу до коштів із гаманця
  2. Перевірка автентичності та легітимності веб-сайту DApp
  3. Будьте обережні з посиланнями або текстами з граматичними помилками.

114 думки

Часова мітка:

Більше від Квілхаш