Keamanan Umum dalam Keuangan Desentralisasi dan Langkah-langkah Pencegahannya
Baru-baru ini, seorang ahli keamanan berbagi pelajaran keamanan DeFi untuk anggota komunitas. Ahli tersebut meninjau peristiwa keamanan besar yang dialami industri Web3 selama lebih dari setahun terakhir, mengeksplorasi alasan terjadinya peristiwa tersebut dan bagaimana cara menghindarinya, merangkum kerentanan keamanan umum dalam kontrak pintar dan langkah-langkah pencegahan, serta memberikan beberapa saran keamanan untuk pengembang proyek dan pengguna biasa.
Jenis kerentanan DeFi yang umum meliputi pinjaman kilat, manipulasi harga, masalah hak akses 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.
Pinjaman Kilat
Pinjaman kilat adalah inovasi dalam Keuangan Desentralisasi, tetapi seringkali dimanfaatkan oleh peretas untuk melakukan serangan. Penyerang 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 besar, atau apakah mungkin mendapatkan imbalan yang tidak semestinya dengan berinteraksi dengan beberapa fungsi dalam satu transaksi menggunakan dana besar.
Banyak proyek Keuangan Desentralisasi tampak memiliki imbal hasil yang tinggi, tetapi sebenarnya tingkat kemampuan tim proyek sangat bervariasi. Beberapa proyek mungkin membeli kode mereka, dan meskipun kode itu sendiri tidak memiliki celah, masih ada kemungkinan masalah dalam logika. Misalnya, beberapa proyek memberikan hadiah berdasarkan jumlah token yang dimiliki pemegang pada waktu tetap, tetapi penyerang dapat memanfaatkan pinjaman kilat untuk membeli sejumlah besar token dan mendapatkan sebagian besar hadiah saat hadiah diberikan.
Manipulasi Harga
Masalah manipulasi harga terkait erat dengan pinjaman kilat, terutama karena beberapa parameter yang digunakan 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 hilang, menyebabkan harga dimanipulasi secara jahat.
Menggunakan jumlah token dari alamat tertentu sebagai variabel perhitungan, di mana saldo token dari alamat tersebut dapat ditambahkan atau dikurangi secara sementara.
Serangan Reentrancy
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.
Untuk kontrak yang berbeda, ada banyak cara terjadinya reentrancy, yang mungkin melibatkan fungsi berbeda dari kontrak atau fungsi dari beberapa kontrak yang berbeda. Saat menyelesaikan masalah reentrancy, perlu diperhatikan beberapa hal berikut:
Tidak hanya perlu mencegah masalah reentrancy dari fungsi tunggal
Mengikuti pola Checks-Effects-Interactions dalam pengkodean
Menggunakan modifier anti-reentrancy yang telah teruji seiring waktu
Dalam bidang Web3, lebih bijaksana untuk menggunakan praktik keamanan yang matang daripada mengulang roda. Menggunakan solusi yang telah terbukti dapat secara signifikan mengurangi kemungkinan munculnya masalah.
Saran Keamanan untuk Proyek
Mengikuti praktik keamanan terbaik dalam pengembangan kontrak
Mengimplementasikan fungsi kontrak yang dapat ditingkatkan dan dijeda
Mengadopsi mekanisme kunci waktu
Meningkatkan investasi keamanan dan membangun sistem keamanan yang lengkap
Meningkatkan kesadaran keamanan semua karyawan
Mencegah perbuatan jahat internal, sambil meningkatkan efisiensi dan memperkuat kontrol risiko
Hati-hati dalam memperkenalkan layanan pihak ketiga, ikuti prinsip "default hulu dan hilir tidak aman".
Bagaimana pengguna menentukan apakah kontrak pintar aman
Konfirmasi apakah kontrak bersifat open source
Periksa apakah Pemilik menggunakan mekanisme multi-tanda tangan yang terdesentralisasi
Lihat situasi perdagangan yang sudah ada pada kontrak
Konfirmasi apakah kontrak adalah kontrak perwakilan, apakah dapat ditingkatkan, apakah ada kunci waktu
Periksa apakah kontrak telah diaudit oleh beberapa lembaga, apakah hak Owner terlalu besar.
Perhatikan apakah oracle yang digunakan oleh proyek tersebut dapat diandalkan.
Dengan memperhatikan poin-poin ini, pengguna dapat lebih baik menilai keamanan kontrak pintar dan mengurangi risiko keterlibatan dalam proyek Keuangan Desentralisasi.
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.
18 Suka
Hadiah
18
6
Posting ulang
Bagikan
Komentar
0/400
SnapshotStriker
· 18jam yang lalu
Kekurangan ini terlalu banyak, setelah menambang, menambang celah.
Lihat AsliBalas0
down_only_larry
· 18jam yang lalu
Lagi dalam pertempuran pertahanan ya~
Lihat AsliBalas0
ContractFreelancer
· 18jam yang lalu
Saatnya mengangkat, saudara-saudara
Lihat AsliBalas0
MEVVictimAlliance
· 18jam yang lalu
play people for suckers baru mengerti cara menghindar
Lihat AsliBalas0
ValidatorVibes
· 19jam yang lalu
tata kelola rusak af... kapan protokol akhirnya akan memperbaiki vektor serangan ini smh
Lihat AsliBalas0
liquidation_surfer
· 19jam yang lalu
Melihat tetapi tidak mengatakannya, terlalu nyata.
Keamanan DeFi: Kedalaman analisis kerentanan umum dan strategi perlindungan
Keamanan Umum dalam Keuangan Desentralisasi dan Langkah-langkah Pencegahannya
Baru-baru ini, seorang ahli keamanan berbagi pelajaran keamanan DeFi untuk anggota komunitas. Ahli tersebut meninjau peristiwa keamanan besar yang dialami industri Web3 selama lebih dari setahun terakhir, mengeksplorasi alasan terjadinya peristiwa tersebut dan bagaimana cara menghindarinya, merangkum kerentanan keamanan umum dalam kontrak pintar dan langkah-langkah pencegahan, serta memberikan beberapa saran keamanan untuk pengembang proyek dan pengguna biasa.
Jenis kerentanan DeFi yang umum meliputi pinjaman kilat, manipulasi harga, masalah hak akses 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.
Pinjaman Kilat
Pinjaman kilat adalah inovasi dalam Keuangan Desentralisasi, tetapi seringkali dimanfaatkan oleh peretas untuk melakukan serangan. Penyerang 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 besar, atau apakah mungkin mendapatkan imbalan yang tidak semestinya dengan berinteraksi dengan beberapa fungsi dalam satu transaksi menggunakan dana besar.
Banyak proyek Keuangan Desentralisasi tampak memiliki imbal hasil yang tinggi, tetapi sebenarnya tingkat kemampuan tim proyek sangat bervariasi. Beberapa proyek mungkin membeli kode mereka, dan meskipun kode itu sendiri tidak memiliki celah, masih ada kemungkinan masalah dalam logika. Misalnya, beberapa proyek memberikan hadiah berdasarkan jumlah token yang dimiliki pemegang pada waktu tetap, tetapi penyerang dapat memanfaatkan pinjaman kilat untuk membeli sejumlah besar token dan mendapatkan sebagian besar hadiah saat hadiah diberikan.
Manipulasi Harga
Masalah manipulasi harga terkait erat dengan pinjaman kilat, terutama karena beberapa parameter yang digunakan dalam perhitungan harga dapat dikendalikan oleh pengguna. Ada dua jenis masalah umum:
Serangan Reentrancy
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.
Untuk kontrak yang berbeda, ada banyak cara terjadinya reentrancy, yang mungkin melibatkan fungsi berbeda dari kontrak atau fungsi dari beberapa kontrak yang berbeda. Saat menyelesaikan masalah reentrancy, perlu diperhatikan beberapa hal berikut:
Dalam bidang Web3, lebih bijaksana untuk menggunakan praktik keamanan yang matang daripada mengulang roda. Menggunakan solusi yang telah terbukti dapat secara signifikan mengurangi kemungkinan munculnya masalah.
Saran Keamanan untuk Proyek
Bagaimana pengguna menentukan apakah kontrak pintar aman
Dengan memperhatikan poin-poin ini, pengguna dapat lebih baik menilai keamanan kontrak pintar dan mengurangi risiko keterlibatan dalam proyek Keuangan Desentralisasi.