Keuangan Desentralisasi Keamanan: Kerentanan Keamanan Umum dan Tindakan Pencegahan
Baru-baru ini, seorang pakar keamanan membagikan kursus keamanan DeFi kepada anggota komunitas. Pakar tersebut meninjau peristiwa keamanan besar yang dihadapi industri Web3 selama lebih dari setahun terakhir, membahas penyebab terjadinya peristiwa-peristiwa tersebut serta cara pencegahannya, dan merangkum kerentanan keamanan umum dalam kontrak pintar serta langkah-langkah pencegahannya, sambil memberikan beberapa saran keamanan kepada proyek dan pengguna biasa.
Jenis Kerentanan DeFi yang Umum
Jenis-jenis kerentanan yang umum ditemui dalam DeFi meliputi pinjaman kilat, manipulasi harga, masalah hak akses fungsi, panggilan eksternal sembarangan, masalah fungsi fallback, kerentanan logika bisnis, kebocoran kunci privat, dan serangan reentrancy. Artikel ini akan fokus pada tiga jenis tersebut: pinjaman kilat, manipulasi harga, dan serangan reentrancy.
Pinjaman Kilat
Walaupun pinjaman kilat adalah inovasi dalam Keuangan Desentralisasi, hal ini juga dimanfaatkan oleh peretas untuk melakukan serangan. Penyerang biasanya meminjam sejumlah besar dana melalui pinjaman kilat, memanipulasi harga atau menyerang logika bisnis. Pengembang perlu mempertimbangkan apakah fungsi kontrak akan mengalami anomali akibat dana yang besar, atau apakah mungkin untuk mendapatkan imbalan yang tidak semestinya dengan berinteraksi dengan beberapa fungsi dalam satu transaksi menggunakan dana yang besar.
Banyak proyek DeFi tampak memberikan imbal hasil yang tinggi, tetapi sebenarnya kemampuan tim proyek bervariasi. Beberapa proyek mungkin membeli kode mereka, bahkan jika kode itu sendiri tidak memiliki kerentanan, tetap saja mungkin ada masalah dalam logika. Misalnya, beberapa proyek memberikan imbalan berdasarkan jumlah token yang dimiliki pada waktu tertentu, namun penyerang memanfaatkan pinjaman cepat untuk membeli sejumlah besar token, sehingga mendapatkan sebagian besar imbalan.
manipulasi harga
Masalah manipulasi harga terkait erat dengan pinjaman kilat. Masalah jenis ini terutama berasal dari beberapa parameter yang dapat dikontrol oleh pengguna saat perhitungan harga. Ada dua jenis masalah yang umum:
Menggunakan data pihak ketiga saat menghitung harga, tetapi penggunaan yang tidak tepat atau kurangnya pemeriksaan, mengakibatkan harga dimanipulasi secara jahat.
Menggunakan jumlah token dari alamat tertentu sebagai variabel perhitungan, di mana saldo token di alamat tersebut dapat ditambah atau dikurangi secara sementara.
serangan reentrancy
Salah satu risiko utama dari memanggil kontrak eksternal adalah bahwa mereka dapat mengambil alih alur kontrol dan melakukan perubahan yang tidak terduga pada data. Misalnya, dalam fungsi penarikan, jika saldo pengguna hanya diatur menjadi 0 pada akhir fungsi, maka pemanggilan ulang dapat menyebabkan penarikan saldo yang terjadi beberapa kali.
Dalam menyelesaikan masalah reentrancy, perlu diperhatikan hal-hal berikut:
Tidak hanya harus mencegah masalah reentrancy dari fungsi tunggal.
Ikuti pola Checks-Effects-Interactions saat melakukan pengkodean.
Gunakan modifier anti-reentrancy yang telah teruji waktu.
Perlu dicatat bahwa mengulang roda seringkali meningkatkan risiko kesalahan. Menggunakan praktik keamanan terbaik yang sudah ada di industri biasanya lebih dapat diandalkan daripada mengembangkan sendiri.
Saran Keamanan
saran keamanan dari pihak proyek
Mengikuti praktik keamanan terbaik dalam pengembangan kontrak.
Mewujudkan kemampuan kontrak untuk ditingkatkan dan dihentikan.
Menggunakan mekanisme kunci waktu.
Meningkatkan investasi keamanan, membangun sistem keamanan yang sempurna.
Meningkatkan kesadaran keamanan semua karyawan.
Mencegah kejahatan internal, sambil meningkatkan efisiensi dan memperkuat manajemen risiko.
Hati-hati dalam memperkenalkan layanan pihak ketiga, lakukan verifikasi keamanan terhadap hulu dan hilir.
Pengguna/LP bagaimana cara menilai keamanan kontrak pintar
Periksa apakah kontrak bersifat open source.
Pastikan Owner menggunakan mekanisme multi-tanda tangan yang terdesentralisasi.
Lihat situasi perdagangan yang sudah ada dalam kontrak.
Memahami apakah kontrak tersebut adalah kontrak perwakilan, apakah dapat diperbarui, dan apakah ada kunci waktu.
Pastikan kontrak telah diaudit oleh beberapa lembaga dan evaluasi apakah hak akses Owner terlalu besar.
Perhatikan jenis oracle yang digunakan proyek dan keandalannya.
Dengan memperhatikan aspek-aspek ini, pengguna dapat lebih baik menilai keamanan proyek dan mengurangi risiko partisipasi.
Halaman ini mungkin berisi konten pihak ketiga, yang disediakan untuk tujuan informasi saja (bukan pernyataan/jaminan) dan tidak boleh dianggap sebagai dukungan terhadap pandangannya oleh Gate, atau sebagai nasihat keuangan atau profesional. Lihat Penafian untuk detailnya.
11 Suka
Hadiah
11
7
Bagikan
Komentar
0/400
NFTArtisanHQ
· 12jam yang lalu
analisis yang menarik, tetapi daripada pencegahan, mari kita bahas topologi estetika dari eksploitasi defi...
Lihat AsliBalas0
BloodInStreets
· 12jam yang lalu
Cut Loss adalah perlindungan yang paling aman.
Lihat AsliBalas0
GateUser-e51e87c7
· 12jam yang lalu
Belajar tentang keamanan tetapi tetap dicuri
Lihat AsliBalas0
mev_me_maybe
· 12jam yang lalu
Aduh, otak saya tidak bisa mengingat.
Lihat AsliBalas0
ForumMiningMaster
· 12jam yang lalu
Suckers harus belajar terlebih dahulu sebelum masuk.
Lihat AsliBalas0
GweiTooHigh
· 12jam yang lalu
Lagi membicarakan celah keamanan, menyebalkan sekali.
Keamanan DeFi: Mengungkap Kerentanan Umum dan Strategi Perlindungan
Keuangan Desentralisasi Keamanan: Kerentanan Keamanan Umum dan Tindakan Pencegahan
Baru-baru ini, seorang pakar keamanan membagikan kursus keamanan DeFi kepada anggota komunitas. Pakar tersebut meninjau peristiwa keamanan besar yang dihadapi industri Web3 selama lebih dari setahun terakhir, membahas penyebab terjadinya peristiwa-peristiwa tersebut serta cara pencegahannya, dan merangkum kerentanan keamanan umum dalam kontrak pintar serta langkah-langkah pencegahannya, sambil memberikan beberapa saran keamanan kepada proyek dan pengguna biasa.
Jenis Kerentanan DeFi yang Umum
Jenis-jenis kerentanan yang umum ditemui dalam DeFi meliputi pinjaman kilat, manipulasi harga, masalah hak akses fungsi, panggilan eksternal sembarangan, masalah fungsi fallback, kerentanan logika bisnis, kebocoran kunci privat, dan serangan reentrancy. Artikel ini akan fokus pada tiga jenis tersebut: pinjaman kilat, manipulasi harga, dan serangan reentrancy.
Pinjaman Kilat
Walaupun pinjaman kilat adalah inovasi dalam Keuangan Desentralisasi, hal ini juga dimanfaatkan oleh peretas untuk melakukan serangan. Penyerang biasanya meminjam sejumlah besar dana melalui pinjaman kilat, memanipulasi harga atau menyerang logika bisnis. Pengembang perlu mempertimbangkan apakah fungsi kontrak akan mengalami anomali akibat dana yang besar, atau apakah mungkin untuk mendapatkan imbalan yang tidak semestinya dengan berinteraksi dengan beberapa fungsi dalam satu transaksi menggunakan dana yang besar.
Banyak proyek DeFi tampak memberikan imbal hasil yang tinggi, tetapi sebenarnya kemampuan tim proyek bervariasi. Beberapa proyek mungkin membeli kode mereka, bahkan jika kode itu sendiri tidak memiliki kerentanan, tetap saja mungkin ada masalah dalam logika. Misalnya, beberapa proyek memberikan imbalan berdasarkan jumlah token yang dimiliki pada waktu tertentu, namun penyerang memanfaatkan pinjaman cepat untuk membeli sejumlah besar token, sehingga mendapatkan sebagian besar imbalan.
manipulasi harga
Masalah manipulasi harga terkait erat dengan pinjaman kilat. Masalah jenis ini terutama berasal dari beberapa parameter yang dapat dikontrol oleh pengguna saat perhitungan harga. Ada dua jenis masalah yang umum:
serangan reentrancy
Salah satu risiko utama dari memanggil kontrak eksternal adalah bahwa mereka dapat mengambil alih alur kontrol dan melakukan perubahan yang tidak terduga pada data. Misalnya, dalam fungsi penarikan, jika saldo pengguna hanya diatur menjadi 0 pada akhir fungsi, maka pemanggilan ulang dapat menyebabkan penarikan saldo yang terjadi beberapa kali.
Dalam menyelesaikan masalah reentrancy, perlu diperhatikan hal-hal berikut:
Perlu dicatat bahwa mengulang roda seringkali meningkatkan risiko kesalahan. Menggunakan praktik keamanan terbaik yang sudah ada di industri biasanya lebih dapat diandalkan daripada mengembangkan sendiri.
Saran Keamanan
saran keamanan dari pihak proyek
Pengguna/LP bagaimana cara menilai keamanan kontrak pintar
Dengan memperhatikan aspek-aspek ini, pengguna dapat lebih baik menilai keamanan proyek dan mengurangi risiko partisipasi.