Keamanan Umum dalam Keuangan Desentralisasi dan Langkah Pencegahan
Dalam beberapa waktu terakhir, seorang ahli keamanan telah berbagi kelas keamanan DeFi untuk anggota komunitas. Ahli tersebut meninjau peristiwa keamanan besar yang terjadi di industri Web3 selama lebih dari satu tahun terakhir, membahas penyebab terjadinya peristiwa tersebut serta cara untuk 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 termasuk 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 dibahas secara khusus tiga jenis yaitu pinjaman kilat, manipulasi harga, dan serangan reentrancy.
Pinjaman Kilat
Pinjaman kilat itu sendiri adalah inovasi dalam Keuangan Desentralisasi, tetapi dapat disalahgunakan oleh peretas untuk meminjam uang tanpa biaya untuk arbitrase. Banyak proyek Keuangan Desentralisasi tampak menawarkan hasil yang tinggi, tetapi tingkat kemampuan tim proyek bervariasi, bahkan jika kode itu sendiri tidak memiliki celah, masih mungkin ada masalah secara logika. Misalnya, beberapa proyek memberikan hadiah pada waktu tertentu berdasarkan jumlah token yang dimiliki oleh pemegang, tetapi disalahgunakan oleh penyerang yang menggunakan pinjaman kilat untuk membeli banyak token, sehingga mendapatkan sebagian besar hadiah saat hadiah diberikan. Ada juga beberapa proyek yang menghitung harga melalui Token, yang dapat dipengaruhi oleh pinjaman kilat. Tim proyek harus lebih waspada terhadap masalah ini.
Manipulasi Harga
Masalah manipulasi harga terkait erat dengan pinjaman kilat, terutama karena beberapa parameter dalam perhitungan harga dapat dikendalikan oleh pengguna. Ada dua jenis masalah umum:
Menggunakan data pihak ketiga saat menghitung harga, tetapi cara penggunaannya tidak benar atau pemeriksaan yang hilang menyebabkan harga dimanipulasi secara jahat.
Menggunakan jumlah Token dari alamat tertentu sebagai variabel perhitungan, di mana saldo Token dari alamat ini dapat ditambah atau dikurangi sementara.
Serangan Re-Entrancy
Salah satu bahaya utama dari memanggil kontrak eksternal adalah bahwa mereka dapat mengambil alih alur kontrol, menyebabkan perubahan yang tidak terduga pada data dengan memanggil fungsi. Ada banyak cara untuk melakukan reentrancy pada kontrak yang berbeda, yang dapat dilakukan dengan menggabungkan fungsi yang berbeda atau fungsi dari beberapa kontrak untuk menyelesaikan serangan. Untuk menyelesaikan masalah reentrancy, perlu diperhatikan:
Tidak hanya mencegah masalah reentrancy dari satu fungsi.
Mengikuti pola Checks-Effects-Interactions dalam pengkodean
Gunakan modifier pencegah reentrancy yang telah teruji waktu
Yang paling ditakuti adalah mengulang roda, di dalam lingkaran ini ada banyak praktik keamanan terbaik yang bisa langsung digunakan, tidak perlu mengulang roda. Menciptakan roda sendiri yang belum terverifikasi dengan baik, risiko masalahnya jelas lebih tinggi dibandingkan dengan menggunakan solusi yang sudah matang dan teruji.
Saran Keamanan Proyek
Pengembangan kontrak mengikuti praktik keamanan terbaik
Kontrak dapat ditingkatkan, dijeda
Menggunakan kunci waktu
Meningkatkan investasi keamanan, membangun sistem keamanan yang komprehensif
Meningkatkan kesadaran keamanan semua karyawan
Mencegah kejahatan internal, sambil meningkatkan efisiensi dan memperkuat pengendalian risiko
Hati-hati dalam memperkenalkan pihak ketiga, verifikasi hulu dan hilir
Apakah Pemilik menggunakan multi-signature, apakah multi-signature tersebut terdesentralisasi?
Situasi perdagangan yang ada pada kontrak
Apakah kontrak tersebut merupakan kontrak agen, apakah dapat diperbarui, apakah ada kunci waktu
Apakah kontrak telah diaudit oleh beberapa lembaga, apakah hak akses Owner terlalu besar?
Perhatikan pemilihan dan penggunaan oracle
Singkatnya, pengguna harus sangat berhati-hati saat berpartisipasi dalam proyek Keuangan Desentralisasi, mengevaluasi keamanan proyek dari berbagai aspek, dan tidak terpedaya oleh imbal hasil yang tinggi. Pihak proyek juga perlu membangun garis pertahanan keamanan dari berbagai sisi, serta terus memantau dan meningkatkan keamanan proyek.
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.
11 Suka
Hadiah
11
7
Bagikan
Komentar
0/400
WenMoon42
· 20jam yang lalu
Siapa yang belum pernah dipermain-permainkan?
Lihat AsliBalas0
GhostInTheChain
· 07-31 09:22
play people for suckers selama setahun melihat dunia dengan jernih
Lihat AsliBalas0
MiningDisasterSurvivor
· 07-29 19:14
Sekali lagi sekelompok suckers akan dipermainkan.
Lihat AsliBalas0
BearMarketBard
· 07-29 19:12
Forum pengalaman rug pull yang dicuri
Lihat AsliBalas0
TestnetFreeloader
· 07-29 19:08
Dompet nuklir sangat cepat
Lihat AsliBalas0
BearMarketGardener
· 07-29 18:58
Sekali lagi, ini adalah pembicaraan klise, jika harus runtuh, maka harus runtuh!
Analisis Lengkap Kerentanan Keamanan DeFi: Panduan Pencegahan Pinjaman Flash, Manipulasi Harga, dan Serangan Reentrancy
Keamanan Umum dalam Keuangan Desentralisasi dan Langkah Pencegahan
Dalam beberapa waktu terakhir, seorang ahli keamanan telah berbagi kelas keamanan DeFi untuk anggota komunitas. Ahli tersebut meninjau peristiwa keamanan besar yang terjadi di industri Web3 selama lebih dari satu tahun terakhir, membahas penyebab terjadinya peristiwa tersebut serta cara untuk 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 termasuk 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 dibahas secara khusus tiga jenis yaitu pinjaman kilat, manipulasi harga, dan serangan reentrancy.
Pinjaman Kilat
Pinjaman kilat itu sendiri adalah inovasi dalam Keuangan Desentralisasi, tetapi dapat disalahgunakan oleh peretas untuk meminjam uang tanpa biaya untuk arbitrase. Banyak proyek Keuangan Desentralisasi tampak menawarkan hasil yang tinggi, tetapi tingkat kemampuan tim proyek bervariasi, bahkan jika kode itu sendiri tidak memiliki celah, masih mungkin ada masalah secara logika. Misalnya, beberapa proyek memberikan hadiah pada waktu tertentu berdasarkan jumlah token yang dimiliki oleh pemegang, tetapi disalahgunakan oleh penyerang yang menggunakan pinjaman kilat untuk membeli banyak token, sehingga mendapatkan sebagian besar hadiah saat hadiah diberikan. Ada juga beberapa proyek yang menghitung harga melalui Token, yang dapat dipengaruhi oleh pinjaman kilat. Tim proyek harus lebih waspada terhadap masalah ini.
Manipulasi Harga
Masalah manipulasi harga terkait erat dengan pinjaman kilat, terutama karena beberapa parameter dalam perhitungan harga dapat dikendalikan oleh pengguna. Ada dua jenis masalah umum:
Menggunakan data pihak ketiga saat menghitung harga, tetapi cara penggunaannya tidak benar atau pemeriksaan yang hilang menyebabkan harga dimanipulasi secara jahat.
Menggunakan jumlah Token dari alamat tertentu sebagai variabel perhitungan, di mana saldo Token dari alamat ini dapat ditambah atau dikurangi sementara.
Serangan Re-Entrancy
Salah satu bahaya utama dari memanggil kontrak eksternal adalah bahwa mereka dapat mengambil alih alur kontrol, menyebabkan perubahan yang tidak terduga pada data dengan memanggil fungsi. Ada banyak cara untuk melakukan reentrancy pada kontrak yang berbeda, yang dapat dilakukan dengan menggabungkan fungsi yang berbeda atau fungsi dari beberapa kontrak untuk menyelesaikan serangan. Untuk menyelesaikan masalah reentrancy, perlu diperhatikan:
Tidak hanya mencegah masalah reentrancy dari satu fungsi.
Mengikuti pola Checks-Effects-Interactions dalam pengkodean
Gunakan modifier pencegah reentrancy yang telah teruji waktu
Yang paling ditakuti adalah mengulang roda, di dalam lingkaran ini ada banyak praktik keamanan terbaik yang bisa langsung digunakan, tidak perlu mengulang roda. Menciptakan roda sendiri yang belum terverifikasi dengan baik, risiko masalahnya jelas lebih tinggi dibandingkan dengan menggunakan solusi yang sudah matang dan teruji.
Saran Keamanan Proyek
Pengembangan kontrak mengikuti praktik keamanan terbaik
Kontrak dapat ditingkatkan, dijeda
Menggunakan kunci waktu
Meningkatkan investasi keamanan, membangun sistem keamanan yang komprehensif
Meningkatkan kesadaran keamanan semua karyawan
Mencegah kejahatan internal, sambil meningkatkan efisiensi dan memperkuat pengendalian risiko
Hati-hati dalam memperkenalkan pihak ketiga, verifikasi hulu dan hilir
Pengguna/LP Bagaimana Menilai Keamanan Kontrak Pintar
Apakah kontraknya bersifat open source
Apakah Pemilik menggunakan multi-signature, apakah multi-signature tersebut terdesentralisasi?
Situasi perdagangan yang ada pada kontrak
Apakah kontrak tersebut merupakan kontrak agen, apakah dapat diperbarui, apakah ada kunci waktu
Apakah kontrak telah diaudit oleh beberapa lembaga, apakah hak akses Owner terlalu besar?
Perhatikan pemilihan dan penggunaan oracle
Singkatnya, pengguna harus sangat berhati-hati saat berpartisipasi dalam proyek Keuangan Desentralisasi, mengevaluasi keamanan proyek dari berbagai aspek, dan tidak terpedaya oleh imbal hasil yang tinggi. Pihak proyek juga perlu membangun garis pertahanan keamanan dari berbagai sisi, serta terus memantau dan meningkatkan keamanan proyek.