Panduan Keamanan Keuangan Desentralisasi: Analisis Jenis Kerentanan Umum dan Strategi Pencegahannya

robot
Pembuatan abstrak sedang berlangsung

Keamanan Umum dalam Keuangan Desentralisasi dan Langkah-langkah Pencegahannya

Belakangan ini, seorang ahli keamanan membagikan pelajaran keamanan DeFi kepada anggota komunitas. Ahli tersebut meninjau kejadian-kejadian keamanan besar yang dialami industri Web3 selama lebih dari setahun yang lalu, membahas penyebab terjadinya kejadian-kejadian tersebut dan bagaimana cara menghindarinya, merangkum kerentanan keamanan umum pada kontrak pintar serta langkah-langkah pencegahannya, dan juga memberikan beberapa saran keamanan untuk pengembang proyek dan pengguna biasa.

Jenis kerentanan DeFi yang umum meliputi pinjaman kilat, manipulasi harga, masalah hak akses fungsi, pemanggilan eksternal sembarangan, masalah fungsi fallback, kerentanan logika bisnis, kebocoran kunci pribadi, dan serangan reentrancy. Artikel ini akan fokus pada tiga jenis: pinjaman kilat, manipulasi harga, dan serangan reentrancy.

Cobo Keuangan Desentralisasi 安全课(下):Keuangan Desentralisasi 常⻅安全漏洞及预防

Pinjaman Kilat

Pinjaman kilat adalah inovasi dalam Keuangan Desentralisasi, tetapi juga sering dimanfaatkan oleh peretas. Penyerang meminjam sejumlah besar dana melalui pinjaman kilat untuk memanipulasi harga atau menyerang logika bisnis. Pengembang perlu mempertimbangkan apakah fungsi kontrak akan mengalami anomali karena jumlah dana yang besar, atau dimanfaatkan dalam satu transaksi untuk berinteraksi dengan beberapa fungsi guna mendapatkan keuntungan yang tidak sah.

Banyak proyek DeFi terlihat memiliki imbal hasil yang tinggi, tetapi sebenarnya tingkat kemampuan tim proyek berbeda-beda. Beberapa proyek mungkin membeli kode mereka, meskipun kode itu sendiri tidak memiliki kerentanan, secara logika masih mungkin ada masalah. Misalnya, beberapa proyek memberikan imbalan pada waktu tetap berdasarkan jumlah token yang dimiliki oleh pemegang, namun dapat dieksploitasi oleh penyerang yang menggunakan pinjaman kilat untuk membeli sejumlah besar token, dan pada saat imbalan diberikan, mereka dapat mengambil sebagian besar keuntungan.

Manipulasi Harga

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

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

Serangan Re-entrancy

Serangan reentrancy adalah salah satu bahaya utama yang mungkin dihadapi saat memanggil kontrak eksternal. Penyerang dapat mengambil alih alur kontrol dan melakukan perubahan yang tidak terduga pada data dengan memanggil fungsi. Misalnya, dalam fungsi penarikan, jika saldo pengguna diatur menjadi 0 hanya di akhir fungsi, penyerang dapat memanggil fungsi tersebut berulang kali di tengah-tengah, sehingga dapat menarik saldo berkali-kali.

Untuk serangan reentrancy, perlu diperhatikan hal-hal berikut:

  1. Tidak hanya mencegah masalah reentrancy pada fungsi tunggal
  2. Mengikuti pola Checks-Effects-Interactions dalam pengkodean
  3. Menggunakan modifier pencegah reentrancy yang telah teruji waktu

Dalam menyelesaikan masalah keamanan, sebaiknya menggunakan praktik keamanan terbaik yang telah diverifikasi dengan baik, bukan mengulang roda.

Saran Keamanan Proyek

  1. Mengikuti praktik keamanan terbaik dalam pengembangan kontrak
  2. Mencapai kemampuan untuk memperbarui dan menghentikan kontrak
  3. Mengadopsi mekanisme kunci waktu
  4. Meningkatkan investasi dalam keamanan, membangun sistem keamanan yang sempurna
  5. Meningkatkan kesadaran keamanan semua karyawan
  6. Mencegah kecurangan internal, sambil meningkatkan efisiensi dan memperkuat pengendalian risiko
  7. Hati-hati dalam mengintegrasikan komponen pihak ketiga, pastikan keamanannya.

Bagaimana pengguna dapat menilai apakah kontrak pintar aman

  1. Konfirmasi apakah kontrak bersifat open source
  2. Periksa apakah Pemilik menggunakan mekanisme multi-tanda tangan yang terdesentralisasi
  3. Lihat situasi perdagangan yang sudah ada pada kontrak
  4. Ketahui apakah kontrak tersebut adalah kontrak perwakilan, apakah dapat ditingkatkan, dan apakah ada kunci waktu.
  5. Pastikan kontrak telah diaudit oleh beberapa lembaga, dan apakah hak akses Owner terlalu besar.
  6. Perhatikan penggunaan oracle

Melalui langkah-langkah di atas, pihak proyek dan pengguna dapat meningkatkan keamanan proyek Keuangan Desentralisasi hingga tingkat tertentu, serta mengurangi risiko diserang.

DEFI0.75%
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
  • 8
  • Bagikan
Komentar
0/400
SadMoneyMeowvip
· 07-18 23:00
Setelah mendengar banyak hal selama bertahun-tahun, tetap saja jika harus dipermainkan, ya dipermainkan.
Lihat AsliBalas0
DefiPlaybookvip
· 07-17 00:45
Statistik menunjukkan bahwa kerentanan pinjaman flash menyumbang 43,7% dari kerugian di keuangan desentralisasi.
Lihat AsliBalas0
LiquiditySurfervip
· 07-16 23:58
Lindungi dompet kalian ya semua
Lihat AsliBalas0
FundingMartyrvip
· 07-15 23:30
Setelah mengalami kerugian, baru kita tahu untuk lebih berhati-hati.
Lihat AsliBalas0
alpha_leakervip
· 07-15 23:17
Lihat aneh tidak aneh, seorang Hacker tua.
Lihat AsliBalas0
GateUser-00be86fcvip
· 07-15 23:10
Banyak sekali celah, bagaimana cara bermain?
Lihat AsliBalas0
LongTermDreamervip
· 07-15 23:03
Sekali lagi, catatan memberi makan domba selama tiga tahun seperti satu hari.
Lihat AsliBalas0
ImpermanentLossFanvip
· 07-15 23:02
pemula pengguna menghindari yang terbaik
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)