Keuangan Desentralisasi umum dan langkah pencegahannya
Baru-baru ini, seorang ahli keamanan membagikan pelajaran keamanan DeFi kepada anggota komunitas. Dia meninjau kejadian-kejadian keamanan besar yang dialami industri Web3 selama lebih dari satu tahun terakhir, membahas penyebab terjadinya kejadian-kejadian tersebut dan bagaimana cara menghindarinya, merangkum kerentanan keamanan umum dalam kontrak pintar dan langkah-langkah pencegahannya, serta memberikan beberapa saran keamanan untuk pengembang proyek dan pengguna biasa.
Jenis-jenis kerentanan DeFi yang umum meliputi pinjaman kilat, manipulasi harga, masalah hak fungsi, panggilan eksternal sembarang, masalah fungsi fallback, kerentanan logika bisnis, kebocoran kunci pribadi, dan serangan reentrancy. Artikel ini akan fokus pada tiga jenis ini: pinjaman kilat, manipulasi harga, dan serangan reentrancy.
Pinjaman Kilat
Pinjaman kilat adalah inovasi dalam Keuangan Desentralisasi, tetapi juga rentan terhadap penyalahgunaan oleh peretas. Penyerang biasanya meminjam sejumlah besar dana melalui pinjaman kilat untuk memanipulasi harga atau menyerang logika bisnis. Pengembang perlu mempertimbangkan apakah fungsi kontrak akan mengalami anomali karena dana yang sangat besar atau apakah dapat disalahgunakan untuk mendapatkan imbalan yang tidak semestinya.
Banyak proyek DeFi tampak menawarkan imbal hasil yang tinggi, tetapi sebenarnya kualitas tim proyek bervariasi. Beberapa proyek mungkin menggunakan kode yang dibeli, meskipun kode itu sendiri tidak memiliki celah, tetap saja mungkin terdapat masalah dalam logikanya. Misalnya, beberapa proyek akan memberikan imbalan berdasarkan jumlah token yang dimiliki oleh pemegang pada waktu tertentu, namun dapat dimanfaatkan oleh penyerang yang menggunakan pinjaman kilat untuk membeli sejumlah besar token, sehingga memperoleh sebagian besar imbalan.
Manipulasi Harga
Masalah manipulasi harga sangat terkait dengan pinjaman kilat, terutama karena beberapa parameter yang digunakan dalam perhitungan harga dapat dikendalikan oleh pengguna. Ada dua jenis masalah umum yang terjadi:
Menggunakan data pihak ketiga saat menghitung harga, tetapi cara penggunaannya tidak benar atau kurang pemeriksaan, yang mengakibatkan harga dimanipulasi secara jahat.
Menggunakan jumlah token dari alamat tertentu sebagai variabel perhitungan, di mana saldo token dari alamat tersebut dapat ditambah atau dikurangi secara sementara.
Serangan Reentrancy
Salah satu risiko utama dalam memanggil kontrak eksternal adalah mereka dapat mengambil alih alur kontrol dan melakukan perubahan data yang tidak terduga. Misalnya, dalam fungsi penarikan, jika pembaruan saldo pengguna terlambat dari pengeluaran dana, hal ini dapat menyebabkan penarikan ganda.
Untuk mengatasi masalah reentrancy, perlu diperhatikan hal-hal berikut:
Tidak hanya harus mencegah masalah reentrancy pada fungsi tunggal.
Ikuti pola Checks-Effects-Interactions dalam pengkodean.
Gunakan dekorator pencegahan reentrancy yang telah teruji seiring waktu.
Perlu dicatat bahwa mengulang roda sering kali tidak perlu. Menggunakan solusi yang telah terverifikasi dengan baik lebih aman daripada mengembangkan sendiri.
Saran Keamanan
Saran Keamanan Proyek
Mengikuti praktik keamanan terbaik dalam pengembangan kontrak.
Mewujudkan fungsi kontrak yang dapat diperbarui dan dijeda.
Menggunakan mekanisme kunci waktu.
Meningkatkan investasi keamanan dan membangun sistem keamanan yang lengkap.
Meningkatkan kesadaran keamanan semua karyawan.
Mencegah kejahatan internal, sambil meningkatkan efisiensi dan memperkuat pengendalian risiko.
Hati-hati dalam memperkenalkan komponen pihak ketiga, pastikan keamanannya.
Bagaimana pengguna dapat menilai keamanan kontrak pintar
Periksa apakah kontrak bersifat open source.
Pastikan Owner menggunakan mekanisme multisignature yang terdesentralisasi.
Melihat situasi transaksi yang sudah ada pada kontrak.
Pastikan kontrak tersebut adalah kontrak agen, apakah dapat ditingkatkan, dan apakah memiliki kunci waktu.
Periksa apakah kontrak telah diaudit oleh banyak lembaga, dan apakah hak akses Owner terlalu besar.
Perhatikan keandalan oracle yang digunakan oleh proyek.
Dengan memperhatikan aspek-aspek ini, pengguna dapat lebih baik mengevaluasi keamanan kontrak pintar dan mengurangi kemungkinan terlibat dalam proyek berisiko.
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.
10 Suka
Hadiah
10
5
Bagikan
Komentar
0/400
ThreeHornBlasts
· 9jam yang lalu
Mendengarkan satu kalimat dari Anda lebih berharga daripada membaca sepuluh tahun buku.
Lihat AsliBalas0
fomo_fighter
· 10jam yang lalu
play people for suckers satu gelombang lalu Rug Pull!
Lihat AsliBalas0
MetaverseVagrant
· 10jam yang lalu
Pinjaman Flash lagi-lagi dianggap bodoh
Lihat AsliBalas0
BagHolderTillRetire
· 10jam yang lalu
Terus-menerus dipukul hingga takut dengan dunia kripto
Lihat AsliBalas0
BasementAlchemist
· 10jam yang lalu
Mengerti, semuanya adalah suckers yang dianggap bodoh.
Keamanan DeFi 101: Kedalaman analisis kerentanan umum dan strategi perlindungan
Keuangan Desentralisasi umum dan langkah pencegahannya
Baru-baru ini, seorang ahli keamanan membagikan pelajaran keamanan DeFi kepada anggota komunitas. Dia meninjau kejadian-kejadian keamanan besar yang dialami industri Web3 selama lebih dari satu tahun terakhir, membahas penyebab terjadinya kejadian-kejadian tersebut dan bagaimana cara menghindarinya, merangkum kerentanan keamanan umum dalam kontrak pintar dan langkah-langkah pencegahannya, serta memberikan beberapa saran keamanan untuk pengembang proyek dan pengguna biasa.
Jenis-jenis kerentanan DeFi yang umum meliputi pinjaman kilat, manipulasi harga, masalah hak fungsi, panggilan eksternal sembarang, masalah fungsi fallback, kerentanan logika bisnis, kebocoran kunci pribadi, dan serangan reentrancy. Artikel ini akan fokus pada tiga jenis ini: pinjaman kilat, manipulasi harga, dan serangan reentrancy.
Pinjaman Kilat
Pinjaman kilat adalah inovasi dalam Keuangan Desentralisasi, tetapi juga rentan terhadap penyalahgunaan oleh peretas. Penyerang biasanya meminjam sejumlah besar dana melalui pinjaman kilat untuk memanipulasi harga atau menyerang logika bisnis. Pengembang perlu mempertimbangkan apakah fungsi kontrak akan mengalami anomali karena dana yang sangat besar atau apakah dapat disalahgunakan untuk mendapatkan imbalan yang tidak semestinya.
Banyak proyek DeFi tampak menawarkan imbal hasil yang tinggi, tetapi sebenarnya kualitas tim proyek bervariasi. Beberapa proyek mungkin menggunakan kode yang dibeli, meskipun kode itu sendiri tidak memiliki celah, tetap saja mungkin terdapat masalah dalam logikanya. Misalnya, beberapa proyek akan memberikan imbalan berdasarkan jumlah token yang dimiliki oleh pemegang pada waktu tertentu, namun dapat dimanfaatkan oleh penyerang yang menggunakan pinjaman kilat untuk membeli sejumlah besar token, sehingga memperoleh sebagian besar imbalan.
Manipulasi Harga
Masalah manipulasi harga sangat terkait dengan pinjaman kilat, terutama karena beberapa parameter yang digunakan dalam perhitungan harga dapat dikendalikan oleh pengguna. Ada dua jenis masalah umum yang terjadi:
Serangan Reentrancy
Salah satu risiko utama dalam memanggil kontrak eksternal adalah mereka dapat mengambil alih alur kontrol dan melakukan perubahan data yang tidak terduga. Misalnya, dalam fungsi penarikan, jika pembaruan saldo pengguna terlambat dari pengeluaran dana, hal ini dapat menyebabkan penarikan ganda.
Untuk mengatasi masalah reentrancy, perlu diperhatikan hal-hal berikut:
Perlu dicatat bahwa mengulang roda sering kali tidak perlu. Menggunakan solusi yang telah terverifikasi dengan baik lebih aman daripada mengembangkan sendiri.
Saran Keamanan
Saran Keamanan Proyek
Bagaimana pengguna dapat menilai keamanan kontrak pintar
Dengan memperhatikan aspek-aspek ini, pengguna dapat lebih baik mengevaluasi keamanan kontrak pintar dan mengurangi kemungkinan terlibat dalam proyek berisiko.