Euler Finance mengalami serangan Pinjaman Flash, kehilangan hampir 200 juta USD
Baru-baru ini, sebuah insiden keamanan besar menarik perhatian luas di dunia cryptocurrency. Menurut data pemantauan di blockchain, proyek Euler Finance mengalami serangan pinjaman flash yang serius pada 13 Maret 2023, yang mengakibatkan kerugian besar hingga 197 juta USD, melibatkan 6 jenis cryptocurrency yang berbeda.
Penyebab utama serangan kali ini terletak pada sebuah celah kritis dalam kontrak proyek Euler Finance. Secara khusus, fungsi donateToReserves dalam Etoken proyek tersebut tidak memiliki mekanisme pemeriksaan likuiditas yang diperlukan, menciptakan kesempatan bagi penyerang. Hacker memanfaatkan celah ini dengan melakukan beberapa panggilan fungsi terkait dengan berbagai jenis mata uang, dan akhirnya menyelesaikan pencurian dana besar-besaran ini.
Proses spesifik dari serangan dapat dirangkum dalam beberapa langkah berikut:
Hacker pertama-tama mendapatkan pinjaman flash sebesar 30 juta DAI dari suatu platform peminjaman.
Selanjutnya, dua kontrak kunci dikerahkan: satu untuk operasi peminjaman, dan satu lagi untuk operasi likuidasi.
Hacker menyimpan 20 juta DAI yang dipinjam ke dalam kontrak Euler Protocol, mendapatkan sekitar 19,5 juta eDAI.
Dengan memanfaatkan fitur leverage 10x dari Protokol Euler, peretas meminjam sejumlah besar eDAI dan dDAI.
Dengan manipulasi cerdas fungsi repay dan mint, peretas lebih lanjut meningkatkan batas pinjaman.
Langkah kunci adalah memanggil fungsi donateToReserves, menyumbangkan 10 kali jumlah dana yang dibayar kembali, kemudian melakukan likuidasi melalui fungsi liquidate untuk mendapatkan sejumlah besar dDAI dan eDAI.
Terakhir, hacker mengekstrak sekitar 38,9 juta DAI, membayar kembali 30 juta DAI Pinjaman Flash yang awal, dengan keuntungan bersih sekitar 8,87 juta DAI.
Serangan kali ini mengekspos cacat desain serius dalam kontrak proyek Euler Finance. Berbeda dengan fungsi kunci lainnya, fungsi donateToReserves tidak memiliki langkah checkLiquidity yang diperlukan, yang seharusnya memanggil RiskManager untuk memastikan Etoken pengguna selalu lebih besar dari Dtoken. Justru kelalaian ini memberi kesempatan kepada penyerang untuk memanipulasi status akun mereka, sehingga memenuhi syarat likuidasi, dan kemudian meraih keuntungan dari situ.
Kejadian ini sekali lagi menyoroti pentingnya audit keamanan kontrak pintar. Untuk proyek pinjam-meminjam, sangat penting untuk memperhatikan keamanan pada tahap kunci seperti pengembalian dana, deteksi likuiditas, dan penyelesaian utang. Hanya melalui audit keamanan yang ketat dan penilaian risiko yang komprehensif, kita dapat meminimalkan kemungkinan terjadinya kejadian keamanan serupa dan melindungi keamanan aset pengguna.
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.
7 Suka
Hadiah
7
1
Posting ulang
Bagikan
Komentar
0/400
DaoDeveloper
· 14jam yang lalu
persis seperti yang kami harapkan dengan pemeriksaan likuiditas yang hilang... audit smart contract 101 sejujurnya
Euler Finance mengalami serangan pinjaman flash sebesar 197 juta dolar AS, celah dalam kontrak mengungkapkan risiko keamanan yang signifikan.
Euler Finance mengalami serangan Pinjaman Flash, kehilangan hampir 200 juta USD
Baru-baru ini, sebuah insiden keamanan besar menarik perhatian luas di dunia cryptocurrency. Menurut data pemantauan di blockchain, proyek Euler Finance mengalami serangan pinjaman flash yang serius pada 13 Maret 2023, yang mengakibatkan kerugian besar hingga 197 juta USD, melibatkan 6 jenis cryptocurrency yang berbeda.
Penyebab utama serangan kali ini terletak pada sebuah celah kritis dalam kontrak proyek Euler Finance. Secara khusus, fungsi donateToReserves dalam Etoken proyek tersebut tidak memiliki mekanisme pemeriksaan likuiditas yang diperlukan, menciptakan kesempatan bagi penyerang. Hacker memanfaatkan celah ini dengan melakukan beberapa panggilan fungsi terkait dengan berbagai jenis mata uang, dan akhirnya menyelesaikan pencurian dana besar-besaran ini.
Proses spesifik dari serangan dapat dirangkum dalam beberapa langkah berikut:
Hacker pertama-tama mendapatkan pinjaman flash sebesar 30 juta DAI dari suatu platform peminjaman.
Selanjutnya, dua kontrak kunci dikerahkan: satu untuk operasi peminjaman, dan satu lagi untuk operasi likuidasi.
Hacker menyimpan 20 juta DAI yang dipinjam ke dalam kontrak Euler Protocol, mendapatkan sekitar 19,5 juta eDAI.
Dengan memanfaatkan fitur leverage 10x dari Protokol Euler, peretas meminjam sejumlah besar eDAI dan dDAI.
Dengan manipulasi cerdas fungsi repay dan mint, peretas lebih lanjut meningkatkan batas pinjaman.
Langkah kunci adalah memanggil fungsi donateToReserves, menyumbangkan 10 kali jumlah dana yang dibayar kembali, kemudian melakukan likuidasi melalui fungsi liquidate untuk mendapatkan sejumlah besar dDAI dan eDAI.
Terakhir, hacker mengekstrak sekitar 38,9 juta DAI, membayar kembali 30 juta DAI Pinjaman Flash yang awal, dengan keuntungan bersih sekitar 8,87 juta DAI.
Serangan kali ini mengekspos cacat desain serius dalam kontrak proyek Euler Finance. Berbeda dengan fungsi kunci lainnya, fungsi donateToReserves tidak memiliki langkah checkLiquidity yang diperlukan, yang seharusnya memanggil RiskManager untuk memastikan Etoken pengguna selalu lebih besar dari Dtoken. Justru kelalaian ini memberi kesempatan kepada penyerang untuk memanipulasi status akun mereka, sehingga memenuhi syarat likuidasi, dan kemudian meraih keuntungan dari situ.
Kejadian ini sekali lagi menyoroti pentingnya audit keamanan kontrak pintar. Untuk proyek pinjam-meminjam, sangat penting untuk memperhatikan keamanan pada tahap kunci seperti pengembalian dana, deteksi likuiditas, dan penyelesaian utang. Hanya melalui audit keamanan yang ketat dan penilaian risiko yang komprehensif, kita dapat meminimalkan kemungkinan terjadinya kejadian keamanan serupa dan melindungi keamanan aset pengguna.