Keamanan DeFi: Panduan Pencegahan untuk Pinjaman Flash, Manipulasi Harga, dan Serangan Re-entrancy

robot
Pembuatan abstrak sedang berlangsung

Keuangan Desentralisasi Kerentanan Keamanan Umum dan Langkah Pencegahannya

Baru-baru ini, seorang ahli keamanan membagikan kursus keamanan DeFi kepada anggota komunitas. Ahli tersebut meninjau kejadian-kejadian keamanan signifikan yang dialami industri Web3 selama lebih dari setahun terakhir, serta membahas secara mendalam penyebab terjadinya kejadian-kejadian tersebut dan bagaimana cara menghindarinya, merangkum kerentanan keamanan umum pada kontrak pintar dan langkah-langkah pencegahannya, serta memberikan beberapa saran keamanan kepada pengembang proyek dan pengguna biasa.

Jenis-jenis kerentanan DeFi yang umum meliputi pinjaman kilat, manipulasi harga, masalah izin fungsi, panggilan eksternal sembarangan, masalah fungsi fallback, kerentanan logika bisnis, kebocoran kunci pribadi, dan serangan reentrancy. Artikel ini akan fokus pada tiga jenis tersebut: 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 sering dimanfaatkan 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 akibat dana yang sangat besar, atau dimanfaatkan dalam satu transaksi untuk berinteraksi dengan beberapa fungsi untuk mendapatkan imbalan yang tidak sah.

Banyak proyek DeFi tampaknya memiliki imbal hasil yang tinggi, tetapi sebenarnya tingkat keahlian tim proyek sangat bervariasi. Beberapa kode proyek mungkin dibeli, meskipun kode itu sendiri tidak memiliki celah, secara logis masih mungkin ada masalah. Misalnya, beberapa proyek memberikan hadiah pada waktu tertentu berdasarkan jumlah token yang dimiliki oleh pemegang, tetapi dieksploitasi oleh penyerang yang menggunakan pinjaman kilat untuk membeli sejumlah besar token, sehingga sebagian besar hadiah mengalir ke penyerang.

Pengendalian Harga

Masalah manipulasi harga berkaitan erat dengan pinjaman kilat, terutama karena beberapa parameter dalam perhitungan harga dapat dikendalikan oleh pengguna. Terdapat dua jenis masalah yang umum:

  1. Menggunakan data pihak ketiga saat menghitung harga, tetapi cara penggunaannya tidak benar atau pemeriksaan hilang, menyebabkan harga dimanipulasi secara jahat.
  2. Menggunakan jumlah token pada alamat tertentu sebagai variabel perhitungan, di mana saldo token pada alamat tersebut dapat ditambahkan atau dikurangi secara sementara.

Serangan Reentrancy

Salah satu risiko utama dari pemanggilan kontrak eksternal adalah bahwa mereka dapat mengambil alih aliran kontrol dan melakukan perubahan yang tidak terduga pada data. Contoh klasik dari serangan reentrancy adalah dalam fungsi penarikan, di mana saldo pengguna hanya diatur menjadi 0 di akhir fungsi, sehingga memungkinkan beberapa panggilan untuk berhasil melakukan penarikan.

Untuk berbagai kontrak, metode serangan reentrancy bervariasi dan mungkin melibatkan beberapa fungsi berbeda atau beberapa kontrak. Saat menyelesaikan masalah reentrancy, perlu diperhatikan hal-hal berikut:

  1. Tidak hanya harus mencegah masalah reentrancy dari fungsi tunggal
  2. Mengikuti pola Checks-Effects-Interactions dalam pengkodean
  3. Menggunakan dekorator anti-reentrancy yang telah teruji waktu

Perlu dicatat bahwa mengulang roda sering kali berbahaya. Di dalam lingkaran Web3, sudah ada banyak praktik keamanan terbaik, mengadopsi solusi yang sudah matang ini jauh lebih aman daripada mengembangkan sendiri.

Saran Keamanan

Saran Keamanan Proyek

  1. Mengikuti praktik keamanan terbaik dalam pengembangan kontrak
  2. Mewujudkan fungsi kontrak yang dapat ditingkatkan dan dijeda
  3. Menggunakan mekanisme kunci waktu
  4. Meningkatkan investasi keamanan, 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, ikuti prinsip "default upstream dan downstream tidak aman".

Bagaimana pengguna/LP menilai apakah kontrak pintar aman

  1. Pastikan kontrak bersifat open source
  2. Periksa apakah Pemilik menggunakan mekanisme multi-tanda tangan yang terdesentralisasi
  3. Lihat keadaan transaksi yang telah ada dalam kontrak
  4. Memahami apakah kontrak tersebut adalah kontrak agen, apakah dapat ditingkatkan, dan apakah ada kunci waktu.
  5. Pastikan kontrak telah diaudit oleh beberapa lembaga, dan evaluasi apakah hak akses Owner terlalu besar.
  6. Perhatikan jenis dan keandalan oracle yang digunakan proyek

Dalam lingkungan Web3, kesadaran akan keamanan sangat penting. Pengguna harus berpikir lebih banyak dan tetap waspada untuk menghindari risiko keamanan yang potensial. Terutama ketika kondisi pasar tidak baik, lebih penting untuk waspada terhadap berbagai kemungkinan tindakan penipuan.

DEFI3.33%
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
  • 7
  • Bagikan
Komentar
0/400
AirdropHunterXMvip
· 7jam yang lalu
Pinjaman Flash yang hitam dan jelek
Lihat AsliBalas0
SelfRuggervip
· 07-31 13:56
Jadi datang lagi untuk Dianggap Bodoh ya, hodl saja sudah cukup.
Lihat AsliBalas0
FlashLoanKingvip
· 07-31 11:16
又见Pinjaman Flash yyds
Lihat AsliBalas0
GovernancePretendervip
· 07-31 11:14
Melakukan perlindungan keamanan juga tidak bisa menyelamatkan nasib para suckers.
Lihat AsliBalas0
LiquidatorFlashvip
· 07-31 11:13
Harga fluktuasi 0,3% sudah harus ada manajemen risiko Jangan tunggu sampai 99,99% dilikuidasi
Lihat AsliBalas0
MEVHunterBearishvip
· 07-31 11:10
Panduan Harian untuk Terjebak dalam Penipuan
Lihat AsliBalas0
rug_connoisseurvip
· 07-31 11:04
Menulis begitu banyak tetap sama saja, bukankah ini hanya diulang?
Lihat AsliBalas0
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)