Keamanan DeFi 101: Kedalaman analisis kerentanan umum dan strategi perlindungan

robot
Pembuatan abstrak sedang berlangsung

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.

Cobo Keuangan Desentralisasi keamanan (bawah): Kerentanan keamanan umum di DeFi dan pencegahannya

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:

  1. Menggunakan data pihak ketiga saat menghitung harga, tetapi cara penggunaannya tidak benar atau kurang pemeriksaan, yang mengakibatkan harga dimanipulasi secara jahat.
  2. 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:

  1. Tidak hanya harus mencegah masalah reentrancy pada fungsi tunggal.
  2. Ikuti pola Checks-Effects-Interactions dalam pengkodean.
  3. 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

  1. Mengikuti praktik keamanan terbaik dalam pengembangan kontrak.
  2. Mewujudkan fungsi kontrak yang dapat diperbarui dan dijeda.
  3. Menggunakan mekanisme kunci waktu.
  4. Meningkatkan investasi keamanan dan membangun sistem keamanan yang lengkap.
  5. Meningkatkan kesadaran keamanan semua karyawan.
  6. Mencegah kejahatan internal, sambil meningkatkan efisiensi dan memperkuat pengendalian risiko.
  7. Hati-hati dalam memperkenalkan komponen pihak ketiga, pastikan keamanannya.

Bagaimana pengguna dapat menilai keamanan kontrak pintar

  1. Periksa apakah kontrak bersifat open source.
  2. Pastikan Owner menggunakan mekanisme multisignature yang terdesentralisasi.
  3. Melihat situasi transaksi yang sudah ada pada kontrak.
  4. Pastikan kontrak tersebut adalah kontrak agen, apakah dapat ditingkatkan, dan apakah memiliki kunci waktu.
  5. Periksa apakah kontrak telah diaudit oleh banyak lembaga, dan apakah hak akses Owner terlalu besar.
  6. 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.

DEFI-9.67%
Lihat Asli
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.
  • Hadiah
  • 5
  • Bagikan
Komentar
0/400
ThreeHornBlastsvip
· 9jam yang lalu
Mendengarkan satu kalimat dari Anda lebih berharga daripada membaca sepuluh tahun buku.
Lihat AsliBalas0
fomo_fightervip
· 10jam yang lalu
play people for suckers satu gelombang lalu Rug Pull!
Lihat AsliBalas0
MetaverseVagrantvip
· 10jam yang lalu
Pinjaman Flash lagi-lagi dianggap bodoh
Lihat AsliBalas0
BagHolderTillRetirevip
· 10jam yang lalu
Terus-menerus dipukul hingga takut dengan dunia kripto
Lihat AsliBalas0
BasementAlchemistvip
· 10jam yang lalu
Mengerti, semuanya adalah suckers yang dianggap bodoh.
Lihat AsliBalas0
  • Sematkan
Perdagangkan Kripto Di Mana Saja Kapan Saja
qrCode
Pindai untuk mengunduh aplikasi Gate
Komunitas
Bahasa Indonesia
  • 简体中文
  • English
  • Tiếng Việt
  • 繁體中文
  • Español
  • Русский
  • Français (Afrique)
  • Português (Portugal)
  • Bahasa Indonesia
  • 日本語
  • بالعربية
  • Українська
  • Português (Brasil)