Analisis kerentanan keamanan umum dalam Keuangan Desentralisasi: pencegahan Pinjaman Flash, manipulasi harga, dan serangan reentrancy.

robot
Pembuatan abstrak sedang berlangsung

Keamanan Umum dalam Keuangan Desentralisasi dan Tindakan Pencegahan

Baru-baru ini, seorang ahli keamanan membagikan pelajaran keamanan DeFi kepada anggota komunitas. Ia meninjau peristiwa keamanan besar yang dialami industri Web3 dalam lebih dari setahun terakhir, membahas alasan di balik peristiwa-peristiwa ini dan bagaimana cara menghindarinya, merangkum kerentanan keamanan umum dari kontrak pintar dan langkah pencegahannya, serta memberikan beberapa saran keamanan kepada pihak 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 privat, dan serangan reentrancy. Berikut ini akan dijelaskan secara khusus mengenai pinjaman kilat, manipulasi harga, dan serangan reentrancy.

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

Pinjaman Kilat

Pinjaman kilat adalah inovasi dalam Keuangan Desentralisasi, tetapi dapat menyebabkan kerugian besar ketika dimanfaatkan oleh peretas:

  • Penyerang meminjam sejumlah besar dana melalui pinjaman kilat, memanipulasi harga, menyerang logika bisnis, dll.
  • Pengembang perlu mempertimbangkan apakah fungsi kontrak akan mengalami anomali akibat dana besar, atau dieksploitasi untuk mendapatkan keuntungan yang tidak semestinya.
  • Beberapa proyek tidak mempertimbangkan dampak pinjaman kilat saat merancang fungsinya, yang mengakibatkan pencurian dana.

Selama dua tahun terakhir, banyak masalah terkait pinjaman kilat muncul. Beberapa proyek terlihat memberikan imbal hasil yang tinggi, tetapi sebenarnya ada celah logika, seperti:

  • Hadiah diberikan berdasarkan jumlah posisi pada waktu tertentu, dimanipulasi dengan pinjaman kilat untuk mendapatkan hadiah besar
  • Proyek yang menghitung harga melalui Token, dapat dipengaruhi oleh pinjaman kilat.

Pihak proyek harus waspada terhadap masalah ini.

Manipulasi Harga

Masalah manipulasi harga terkait erat dengan pinjaman kilat, terutama ada dua jenis:

  1. Menggunakan data pihak ketiga saat menghitung harga, tetapi cara penggunaannya tidak benar atau pemeriksaan hilang.
  2. Menggunakan jumlah Token dari alamat tertentu sebagai variabel perhitungan, dan jumlah ini dapat dimanipulasi secara sementara.

Serangan Reentrancy

Memanggil kontrak eksternal dapat menyebabkan alur kontrol diambil alih, mengakibatkan perubahan data yang tidak terduga. Contoh tipikal dari serangan reentrancy:

solidity pemetaan (alamat => uint) saldoPenggunaPrivat;

fungsi tarikSaldo() publik { uint amountToWithdraw = userBalances[msg.sender]; (bool success, ) = msg.sender.call.value(amountToWithdraw)(""); require(success); userBalances[msg.sender] = 0; }

Karena saldo pengguna diatur menjadi 0 hanya pada akhir fungsi, pemanggilan berulang dapat menarik saldo beberapa kali.

Untuk menyelesaikan masalah reentrancy, perlu diperhatikan:

  1. Tidak hanya mencegah reentrasi fungsi tunggal
  2. Mengikuti pola Checks-Effects-Interactions
  3. Gunakan modifier anti-reentrancy yang telah diverifikasi

Disarankan untuk menggunakan praktik keamanan terbaik yang sudah matang, hindari membuat roda yang sama.

Saran Keamanan

Saran untuk pihak proyek:

  1. Mengikuti praktik keamanan terbaik dalam pengembangan kontrak
  2. Mewujudkan kontrak yang dapat ditingkatkan dan dihentikan
  3. Menggunakan kunci waktu
  4. Meningkatkan investasi keamanan, membangun sistem keamanan yang sempurna
  5. Meningkatkan kesadaran keamanan semua karyawan
  6. Mencegah tindakan jahat internal, sambil meningkatkan efisiensi dan memperkuat pengendalian risiko
  7. Hati-hati dalam memperkenalkan pihak ketiga, asumsi bahwa hulu dan hilir tidak aman.

Bagaimana pengguna dapat menilai apakah kontrak pintar aman:

  1. Periksa apakah kontrak bersifat open source
  2. Periksa apakah Pemilik menggunakan multi-signature terdesentralisasi
  3. Lihat situasi perdagangan yang sudah ada pada kontrak
  4. Periksa apakah kontrak dapat diupgrade, apakah ada kunci waktu
  5. Periksa apakah menerima audit dari beberapa lembaga, apakah hak Owner terlalu besar.
  6. Perhatikan keandalan oracle

Singkatnya, di bidang Keuangan Desentralisasi, baik pihak proyek maupun pengguna biasa perlu meningkatkan kesadaran keamanan, mengambil langkah-langkah keamanan yang diperlukan, untuk mengurangi risiko dan melindungi keamanan aset.

DEFI-5.98%
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
  • Posting ulang
  • Bagikan
Komentar
0/400
TooScaredToSellvip
· 08-11 10:27
Jangan banyak bicara tentang peraturan, langsung masuk ke pasar koin adalah hal yang serius.
Lihat AsliBalas0
MysteryBoxBustervip
· 08-11 08:22
Lagi-lagi berpura-pura mengerti Pinjaman Flash ya...
Lihat AsliBalas0
GhostWalletSleuthvip
· 08-09 18:44
Rug Pull adalah teknologi hitam yang sebenarnya.
Lihat AsliBalas0
CodeAuditQueenvip
· 08-09 18:43
Ini hanyalah kerentanan injeksi dari era web1 yang telah berganti kulit.
Lihat AsliBalas0
MoonlightGamervip
· 08-09 18:39
Siapa bilang defi tidak ada cara baru? Ini sudah datang!
Lihat AsliBalas0
HashBanditvip
· 08-09 18:36
bruh kehilangan 50 eth akibat eksploitasi flashloan pada tahun 2021... masih membuatku terbangun di malam hari sejujurnya
Lihat AsliBalas0
OneBlockAtATimevip
· 08-09 18:16
又被 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)