DApps: Masalah Keamanan, Peretasan, dan Tindakan Pencegahan Intelijen Data PlatoBlockchain. Pencarian Vertikal. Ai.

DApps: Masalah Keamanan, Peretasan, dan Tindakan Pencegahan 

Waktu Baca: 4 menit

Desentralisasi di segala lini kehidupan adalah kode baru di era mendatang. DApps hadir untuk merevolusi cara kami mengoperasikan aplikasi, menggabungkan privasi data dan kualitas kepemilikan. 

Mari masuk ke kedalaman blog.

Apa itu DApps?

DApps adalah aplikasi terdesentralisasi yang menggunakan blockchain untuk memproses data melalui jaringan terdistribusi dan melakukan transaksi. Tidak seperti aplikasi terpusat, DApps dioperasikan oleh jaringan peer-to-peer. 

Setelah pengembang merilis basis kode untuk DApp, beberapa aplikasi dapat dibangun di atasnya. Tidak ada otoritas tunggal, dan karenanya tidak ada titik kegagalan tunggal saat jaringan P2P menjalankannya. 

DApp membantu membuat berbagai aplikasi seperti aplikasi web, game & hiburan, aplikasi media sosial, dll.       

Karakteristik Signifikan DApp

Berikut adalah beberapa petunjuk tentang atribut utama DApp

  • Mereka adalah kode sumber terbuka dan dikendalikan oleh pengguna. Ini berarti setiap perubahan atau penambahan baru akan dipilih dan diimplementasikan. 
  • Desentralisasi adalah aspek inti di mana semua detail disimpan dalam buku besar yang didistribusikan secara publik.
  • DApps menggunakan token asli platform untuk memberi penghargaan kepada pengguna karena berpartisipasi atau menambangnya.

Berita tentang penggunaan DApps

Menurut laporan oleh DAppRadar, jumlah pengguna yang terlibat dalam aplikasi terdesentralisasi tumbuh sebesar 396% setiap tahun, dengan sekarang 2.4 juta. 

Di antaranya, DApps game menyumbang lebih dari 50% aktivitas pengguna di Q1 tahun 2022, dan NFT menghasilkan koleksi besar sekitar $12 miliar. 

Masalah Keamanan Pengkodean DApp

Setelah mengetahui tentang ide keseluruhan DApp, sekarang mari kita jelajahi beberapa kesalahan teknis umum yang terkait dengannya.

Pemeriksaan tanda tangan: Penggunaan format cek “case_=> true” di @verifikator fungsi pengkodean DApp melarang transaksi transfer sementara memungkinkan jenis transaksi lainnya.

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

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

Namun dengan menggunakan jenis kode ini, setiap pengguna dapat melakukan transaksi kecuali transaksi transfer. Dengan memasukkan kunci publik di bidang “senderPublicKey” tanpa menambahkan tanda tangan, ini memberikan akses ke setiap pengguna untuk menjalankan transaksi. 

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

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

Oleh karena itu, sangat penting untuk memastikan adanya pemeriksaan tanda tangan dalam pengkodean DApp agar tidak memiliki kerentanan yang disebutkan.

Memasukkan kunci: Operasi di DApp melibatkan penyimpanan nilai kunci. Kesalahan umum adalah bahwa pengembang akan menulis ke satu kunci dan membacanya dari yang lain. Jadi, berhati-hatilah saat menulis kunci. 

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

Kesalahan lain adalah bahwa alih-alih memberikan nilai default, mencoba membaca nilai dari variabel seperti value() atau extract() tidak disarankan.

Transaksi terkendali: Operasi DApp melibatkan beberapa operasi yang saling bergantung untuk dijalankan secara berurutan. Dalam kasus seperti itu, aman untuk memiliki fungsi "waitForTxWithNConfirmations" untuk menerima konfirmasi sekali setelah transaksi pertama ditambahkan ke blok.

Masalah Umum Terkait DApps

Tingkat likuiditas DApps yang rendah: Tingkat likuiditas yang rendah pada aplikasi terdesentralisasi mempersulit pembelian atau penjualan token pada harga yang diharapkan, menyebabkan slippage. Slippage adalah perbedaan antara harga yang diharapkan dan harga yang dieksekusi, yang dapat menyebabkan kerugian dana.

Pengguna dapat melacak likuiditas aset berdasarkan volume perdagangan mereka dan membuat keputusan cerdas sebelum membeli atau menjual token. 

Pelanggaran atau kegagalan keamanan:  DApps berfungsi melalui kontrak pintar dan mereka yang memiliki bug dalam pengkodeannya adalah target ideal bagi peretas. Di bawah kondisi pasar yang ekstrem atau karena eksploitasi kode, devaluasi atau hilangnya dana di DApps menjadi tak terelakkan.

Mengaudit kode oleh perusahaan pihak ketiga lebih baik dalam mengatasi masalah ini. 

Aplikasi Phishing: Jika ada kompromi dalam pengkodean DApp, tautan phishing diedarkan di situs resmi mereka. Saat mengkliknya tanpa sadar, mereka menguras semua dana dari dompet pengguna. 

Oleh karena itu, periksa kembali URL sebelum menambahkan dana dari dompet Anda atau memasukkan informasi dompet. 

Status Peretasan Dan Penipuan DApp Pada 2022

Kelemahan DApps adalah kenyataan bahwa mereka rentan terhadap peretasan. Dari data yang diterbitkan oleh DAppRadar, penipuan DApp saja menyebabkan kerugian $1.2 miliar. 

Sorotan dari acara peretasan utama meliputi,

Retas jembatan Ronin: Mendapatkan akses ke node validator, peretas dapat memalsukan transaksi palsu di Axie Infinity Jaringan jembatan Ronin yang menyebabkan kerugian $600 juta. 

Protokol lubang cacing: Peretas mengeksploitasi kelemahan keamanan dalam kode protokol Wormhole, yang mengakibatkan kerugian $325 juta. 

Inilah Cara Tetap Aman Dan Metode Pencegahan Untuk Diadopsi Untuk Keamanan DApp

Mengatasi kelemahan keamanan memecahkan sebagian besar masalah untuk DApps. Ada beberapa cara untuk mengatasinya. 

  1. Mengambil layanan audit: Analisis pengkodean menyeluruh oleh perusahaan audit seperti QuillAudit menghilangkan bug dari permukaan tanah. 
  2. Pengujian penetrasi: Pengujian penetrasi lebih unggul dalam menemukan kerentanan tersembunyi/node, menguji API, dan menemukan jalur serangan baru. 

Tindakan Pencegahan Umum Untuk Keamanan DApp

  1. Jaga kerahasiaan frase benih pribadi untuk mengakses dana dari dompet
  2. Memverifikasi keaslian dan legitimasi situs web DApp
  3. Berhati-hatilah terhadap tautan atau teks dengan kesalahan tata bahasa.

114 views

Stempel Waktu:

Lebih dari Quillhash