Bagaimana Audit Kontrak Cerdas DAO membantu Dalam Memperkuat Keamanan? Kecerdasan Data PlatoBlockchain. Pencarian Vertikal. Ai.

Bagaimana Audit Kontrak Cerdas DAO membantu Dalam Memperkuat Keamanan?

Waktu Baca: 6 menit

Penciptaan DAO unik untuk web3, yang memanfaatkan kompetensi blockchain dalam mengatur protokol tanpa melibatkan entitas terpusat.  

DAO sangat berpusat pada dua aspek - enkripsi dan penyimpanan terdistribusi. Ini memberi mereka kemampuan untuk menjalankan berdasarkan keputusan kolektif anggota masyarakat.

Seperti halnya protokol Web3 apa pun, masalah keamanan juga ada di sekitar protokol DAO. 

Artikel ini bertujuan untuk menampilkan infrastruktur pendukung DAO dan panduan untuk mengimprovisasi keamanan kontrak pintar mereka untuk bertahan dari serangan.   

Tujuan DAO

Ethereum selalu memegang pujian sebagai blockchain pertama yang dapat diprogram. Ini memiliki peran besar dalam mewujudkan desentralisasi sejati dengan memungkinkan pengembang bermain dengan kode.

Dalam hal itu, Kontrak pintar DAO dirancang untuk mengasuh Tata kelola on-chain

Tata kelola on-chain adalah sarana di mana perubahan diterapkan pada proyek-proyek blockchain. Aturan dikodekan dalam protokol, dan pengembang mengusulkan perubahan melalui pembaruan kode. Perubahan yang diusulkan dilakukan berdasarkan suara anggota komunitas/peserta.

โ€ data-gt-translate-attributes=โ€[{โ€œattributeโ€:โ€data-cmtooltipโ€, โ€œformatโ€:โ€htmlโ€}]โ€>tata kelola on-chain membenarkan fakta bahwa komunitas murni mengoperasikan blockchain. 

Sama seperti smart contract lainnya, kontrak DAO pada dasarnya dirancang untuk mengotomatiskan proses dan mengeksekusi tindakan ketika kondisi yang telah ditentukan terpenuhi. 

Sebagai ilustrasi dengan sebuah contoh, pertimbangkan kontrak token ERC-20. Itu dibuat berdasarkan standar ERC-20 dengan informasi seperti alamat kontrak, pasokan token, nama token, ketentuan transfer token, dll. 

Operasi token dijalankan ketika aturan yang ditetapkan terpenuhi. Demikian pula, kontrak DAO diberi kode untuk mendikte kerja organisasi, seperti memutuskan distribusi dana sesuai proposal pemungutan suara anggota. 

Misalnya, DAO memiliki perbendaharaan bawaan. Dana dari ini dihabiskan setelah persetujuan kelompok, dan tidak ada otoritas tunggal yang memiliki akses untuk melaksanakan rencana apa pun. 

Proposal pemungutan suara untuk membuat keputusan penting yang berkaitan dengan proyek memastikan bahwa suara setiap peserta didengar, yang mengarah pada kepercayaan dan transparansi yang lebih baik dalam aktivitas on-chain. 

Hak yang mengatur aktivitas organisasi bervariasi dari satu protokol ke protokol lainnya, dan itu murni subyektif tentang bagaimana pengkodean DAO dilakukan. Jadi, penting untuk memperhatikan hak yang mengatur yang dimiliki pengguna pada protokol sebelum mendaftar di DAO mana pun. 

Langkah-langkah yang terlibat dalam menyiapkan kontrak pintar DAO

Mekanika Tata kelola on-chain

Tata kelola on-chain adalah sarana di mana perubahan diterapkan pada proyek-proyek blockchain. Aturan dikodekan dalam protokol, dan pengembang mengusulkan perubahan melalui pembaruan kode. Perubahan yang diusulkan dilakukan berdasarkan suara anggota komunitas/peserta.

โ€ data-gt-translate-attributes=โ€[{โ€œattributeโ€:โ€data-cmtooltipโ€, โ€œformatโ€:โ€htmlโ€}]โ€>tata kelola on-chain dijalankan melalui serangkaian kontrakโ€“ token, gubernur, dan timelock . Mari kita cari tahu peran mereka masing-masing. 

Token: Token menentukan kekuatan voting anggota komunitas untuk berpartisipasi Tata kelola on-chain

Tata kelola on-chain adalah sarana di mana perubahan diterapkan pada proyek-proyek blockchain. Aturan dikodekan dalam protokol, dan pengembang mengusulkan perubahan melalui pembaruan kode. Perubahan yang diusulkan dilakukan berdasarkan suara anggota komunitas/peserta.

โ€ data-gt-translate-attributes=โ€[{โ€œattributeโ€:โ€data-cmtooltipโ€, โ€œformatโ€:โ€htmlโ€}]โ€>tata kelola rantai. Kontrak token memastikan keseimbangan diverifikasi untuk mendapatkan kembali kekuatan dan memungkinkan peserta untuk mengungkapkan pilihan mereka pada proposal tata kelola. 

Gubernur: Kontrak gubernur diberi kode dengan ketentuan untuk mengalokasikan kekuasaan kepada pemegang token, jenis token yang dapat diterima, menghitung jumlah suara yang diperlukan untuk forum, dan seterusnya. Namun, pengembang dapat membuat kode dengan spesifikasi fitur tentang bagaimana kinerja kontrak yang mereka inginkan. 

Selain itu, kontrak gubernur juga memasukkan penundaan pemungutan suara dan spesifikasi proposal pemungutan suara dalam kode. Ini bertujuan untuk memberikan instruksi berapa lama proposal pemungutan suara terbuka bagi peserta untuk memilih. 

Kunci waktu: Aspek Timelock melibatkan penyiapan AcessControl untuk peran yang diusulkan, peran pelaksana, dan peran admin. Mengintegrasikan komponen timelock dengan sistem tata kelola memberikan kebebasan bagi peserta untuk pergi jika terjadi ketidaksepakatan dengan keputusan tersebut. 

Tampilan tingkat tinggi tentang ketakutan Keamanan untuk DAO. 

Ketergantungan DAO pada kontrak pintar membuat mereka bertanggung jawab atas pemungutan suara tata kelola dan pemeliharaan perbendaharaan. Dan masing-masing elemen ini memiliki masalah keamanannya sendiri; mari kita bersantai mereka di bawah ini. 

Masalah keamanan dalam kontrak pintar

Mari mundur sedikit dan mengingat 'kejatuhan DAO' yang terkenal. Penyebab utamanya adalah bug pada kode DAO. Peretas dapat mengeksploitasi kerentanan dan menguras dana dari kontrak dengan membuat Panggilan rekursif

Panggilan rekursif adalah kondisi yang dapat merujuk ke dirinya sendiri dan memanggilnya kembali berulang kali dalam satu lingkaran. Fungsi rekursif menggunakan kasus dasar (jika) dan kasus induksi (lain). Serangan masuk kembali dilakukan dengan mengeksploitasi panggilan rekursif dalam kode.

โ€ data-gt-translate-attributes=โ€[{โ€œattributeโ€:โ€data-cmtooltipโ€, โ€œformatโ€:โ€htmlโ€}]โ€>panggilan rekursif. 

Kontrak tersebut memiliki 12.7 juta Ether, di mana peretas mencuri 3.6 juta ETH dengan memanfaatkan celah dalam kontrak.

Insiden ini dengan jelas menggambarkan perlunya lebih banyak pengalaman dan eksperimen dengan keamanan DAO. Meskipun DAO sangat dipuji atas inovasinya, kualitas kode menyebabkan kerusakan yang lebih besar.

Selain itu, pengkodean kontrak pintar harus benar-benar transparan untuk memastikan tidak ada fitur yang berubah menjadi bug di kemudian hari. 

Masalah Keamanan Pada Pemerintahan

Ada banyak cara di mana peretas dapat mengganggu tata kelola protokol. Pertama-tama, notifikasi terdesentralisasi adalah salah satu cara di mana jika seorang peretas dapat memblokir notifikasi, mereka dapat memasukkan proposal berbahaya yang tidak diketahui oleh anggota DAO lainnya. 

Berikutnya adalah proposal yang membutuhkan transaksi multicall. Jika proposal tidak ditinjau atau diaudit oleh DAO, penyerang dapat menggunakannya untuk menghasilkan hasil yang kompleks. 

Ambang batas yang salah dan timelock yang tidak tepat mengarah pada kemungkinan aktivitas yang buruk. Pinjaman kilat adalah perhatian lain untuk keamanan tata kelola. Penyerang dapat meminjam sejumlah besar token yang memberi mereka kekuatan mayoritas untuk mengajukan proposal. 

Proposal dengan niat jahat meningkatkan a masalah keamanan yang serius atas perubahan yang diterapkan dalam protokol. AAVE dan Compound telah mengalami jenis peretasan ini di masa lalu. 

Masalah Keamanan Saat Eksekusi

MakerDAO, diluncurkan di jaringan Ethereum pada tahun 2017, berjalan dengan baik. Sampai kehancuran pasar terjadi pada tahun 2020 ketika harga Ether turun hingga 50%. Itu adalah jaminan paling penting yang digunakan di MakerDAO, dan jatuhnya harga memicu likuiditas besar-besaran.

MakerDAO tidak dirancang untuk menangani likuidasi sebesar itu yang mengakibatkan kerugian finansial yang lebih besar. Meskipun pengkodeannya kuat di sini, kesalahannya ada pada pelaksanaan mekanisme likuidasi. 

Sejak saat itu, pelaksanaan mekanisme DAO juga ditambahkan ke dalam daftar masalah keamanan lain yang ada. 

Daftar periksa untuk audit kontrak cerdas DAO

Keamanan adalah aspek utama dalam Tata kelola on-chain

Tata kelola on-chain adalah sarana di mana perubahan diterapkan pada proyek-proyek blockchain. Aturan dikodekan dalam protokol, dan pengembang mengusulkan perubahan melalui pembaruan kode. Perubahan yang diusulkan dilakukan berdasarkan suara anggota komunitas/peserta.

โ€ data-gt-translate-attributes=โ€[{โ€œattributeโ€:โ€data-cmtooltipโ€, โ€œformatโ€:โ€htmlโ€}]โ€>tata kelola on-chain untuk melindungi kekuatan agar tidak jatuh ke tangan yang buruk. Jadi, dari sudut pandang keamanan, mari temukan pedoman untuk mengembangkan kontrak DAO yang kuat.

Panggilan tingkat rendah: Panggilan ke kontrak sewenang-wenang yang mengambil data sewenang-wenang harus ditangani dengan hati-hati. 

Menangani panggilan tingkat rendah itu rumit karena dapat membuka peluang bagi vektor serangan masuk kembali. Jadi, selalu praktik yang baik untuk memverifikasi kondisi keberhasilan panggilan dan kemudian menangani data yang dikembalikan. 

Kepemilikan ETH: Berdasarkan temuan audit, ada banyak kasus di mana ETH tidak ditangani dengan baik dalam kontrak terkait tata kelola. Jadi, disarankan untuk memastikan cara pengiriman ETH ketika kontrak tata kelola memerlukan penanganan ETH.

Tindakan pencegahan lain yang perlu diperhatikan adalah saat menggunakan msg.value yang memungkinkan panggilan batch. Kemungkinan pola ini bisa salah. 

Menahan diri dari eksploitasi Flash-loan: Pinjaman kilat diandalkan oleh para pengeksploitasi yang ingin memengaruhi keputusan tata kelola dan melancarkan serangan. Mereka mengambil pinjaman kilat dan mengamankan suara tata kelola melalui kepemilikan token untuk memanipulasi keputusan tata kelola. 

Oleh karena itu, Anda dapat menghindari mengukur kekuatan voting di blok saat ini, karena flash loan yang diambil untuk mendapatkan kekuasaan tata kelola menempatkan sistem dalam risiko. 

Pembaruan reguler: Bahkan jika belum tentu ada kekurangan dalam kontrak, Anda harus selalu memeriksa pasar token tata kelola dan menyesuaikan ambangnya. Jika tidak, itu akan memungkinkan aktor jahat untuk mengambil alih keputusan.

Pastikan Anda memperhatikan secara spesifik saat bermigrasi dan meningkatkan sistem tata kelola. Ada contoh seperti yang terjadi dengan Uniswap. Perpindahannya ke Gubernur Bravo menginisialisasi cacat kontrak yang menghentikan sementara keputusan tata kelola. 

Sertakan penundaan menggunakan kontrak timelock: Tindakan tertunda waktu memungkinkan komunitas meninjau perubahan protokol sebelum diberlakukan. Penundaan waktu ini dapat diterapkan melalui kontrak Timelock. 

Kerentanan terkait protokol: Perangkat lunak yang digunakan untuk pengkodean protokol bekerja pada logika bisnis tertentu yang mungkin berbeda satu sama lain. Begitu juga masalah yang muncul saat mengeksekusi perubahan pada sistem itu. 

Faktanya, protokol Compound mengalami masalah karena disetujuinya proposal komunitas yang manipulatif. Oleh karena itu, selalu baik untuk meninjau kode secara menyeluruh oleh rekan kerja dan pihak independen untuk memastikan kekuatan dan kesehatan kontrak.

QuillAudits Eminence Dalam DAO Smart Contract Auditing

Di zaman sekarang ini, agar sebuah sistem dapat sepenuhnya berfungsi sendiri, banyak proyek mencari cara untuk menanamkannya Tata kelola on-chain

Tata kelola on-chain adalah sarana di mana perubahan diterapkan pada proyek-proyek blockchain. Aturan dikodekan dalam protokol, dan pengembang mengusulkan perubahan melalui pembaruan kode. Perubahan yang diusulkan dilakukan berdasarkan suara anggota komunitas/peserta.

โ€ data-gt-translate-attributes=โ€[{โ€œattributeโ€:โ€data-cmtooltipโ€, โ€œformatโ€:โ€htmlโ€}]โ€>tata kelola rantai. Jadi, bidang ini berkembang pesat dan berkembang sesuai kebutuhan komunitas mereka. 

Serangannya juga semakin rumit, yang menantang dan memakan biaya besar. Oleh karena itu, penting untuk memastikan prosesnya sudah ada dan kodenya diikuti dengan cermat. QuillAudit melakukan studi ekstensif dan mengaudit kode untuk mengesampingkan potensi jebakan dan mengamankan proyek dari aktivitas jahat.

16 views

Stempel Waktu:

Lebih dari Quillhash