Analisis Insiden Serangan Hacker pada Platform DeFi Balancer
Pada dini hari 29 Juni, dua kolam token ERC20 deflasi di platform Keuangan Desentralisasi Balancer diserang oleh Hacker, menyebabkan kerugian lebih dari 500.000 dolar. Setelah analisis keamanan dilakukan, ditemukan bahwa akar masalah terletak pada ketidakcocokan antara token deflasi di Balancer dengan kontrak pintar mereka dalam beberapa skenario tertentu, yang memungkinkan penyerang untuk menciptakan kolam sirkulasi token dengan deviasi harga dan mendapatkan keuntungan dari situ.
Hacker menyerang dibagi menjadi empat langkah utama:
Mendapatkan pinjaman kilat 104,331 WETH dari suatu platform.
Lakukan panggilan swapexactMountin() berulang kali, sampai token STA yang dimiliki Balancer hampir habis, hanya tersisa 0.000000000000000001 STA.
Memanfaatkan ketidakcocokan antara token STA dan kontrak pintar Balancer, yaitu ketidakcocokan dalam pembukuan dan saldo, menghabiskan aset lain dalam kumpulan dana, dan akhirnya mendapatkan keuntungan sebesar 523.616,52 dolar AS.
Melunasi pinjaman kilat dan mentransfer aset digital yang diperoleh dari serangan.
Pada fase kunci serangan, Hacker mengirimkan sejumlah kecil STA ke BPool melalui fungsi swapExactAmountIn(), untuk menukar dengan jumlah besar WETH dengan perbedaan nilai yang sangat tinggi. Karena transfer STA akan membakar biaya 1%, sebenarnya BPool tidak dapat menerima STA sama sekali, yang menyebabkan saldo aktual tidak cocok dengan pembukuan internal. Penyerang kemudian terus-menerus mereset _records( dengan memanggil fungsi gulp)[STA], menjaga saldo STA yang sangat kecil di BPool, sehingga terus menukar aset lain dengan harga tinggi.
Peristiwa ini sekali lagi mengungkapkan risiko kompatibilitas yang ada dalam kombinabilitas DeFi. Untuk mencegah serangan serupa, berikut adalah beberapa solusi optimasi yang dapat dipertimbangkan:
Ketika jumlah transfer tidak cukup untuk membayar biaya, STA/STONK harus langsung menggulung kembali atau mengembalikan False saat melaksanakan transfer() atau transferFrom().
Balancer harus memeriksa saldo BPool yang sebenarnya setelah setiap pemanggilan fungsi transferFrom().
Namun, solusi terbaik tetaplah pencegahan sebelumnya. Pengembang proyek Keuangan Desentralisasi harus menerapkan standar kode yang baik, mencari bantuan dari perusahaan keamanan pihak ketiga untuk melakukan pengujian serangan dan pertahanan secara menyeluruh, serta melakukan pemeriksaan menyeluruh terhadap berbagai standar token dan perilaku kombinasi proyek Keuangan Desentralisasi.
Kerugian spesifik yang disebabkan oleh insiden serangan Balancer ini meliputi:
601.3 WETH
11.031,4 SNX
22.593,2 LINK
116.107,8 STA
53.4 COMP
Total kerugian sekitar 523.616,52 dolar AS dalam aset digital.
Peristiwa ini pasti akan memiliki dampak penting pada komunitas Keuangan Desentralisasi, sekaligus memperingatkan semua pengembang proyek Keuangan Desentralisasi untuk sangat memperhatikan keamanan kontrak pintar.
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.
Balancer diserang hacker senilai 500 ribu dolar, celah kontrak DeFi kembali memberikan peringatan.
Analisis Insiden Serangan Hacker pada Platform DeFi Balancer
Pada dini hari 29 Juni, dua kolam token ERC20 deflasi di platform Keuangan Desentralisasi Balancer diserang oleh Hacker, menyebabkan kerugian lebih dari 500.000 dolar. Setelah analisis keamanan dilakukan, ditemukan bahwa akar masalah terletak pada ketidakcocokan antara token deflasi di Balancer dengan kontrak pintar mereka dalam beberapa skenario tertentu, yang memungkinkan penyerang untuk menciptakan kolam sirkulasi token dengan deviasi harga dan mendapatkan keuntungan dari situ.
Hacker menyerang dibagi menjadi empat langkah utama:
Mendapatkan pinjaman kilat 104,331 WETH dari suatu platform.
Lakukan panggilan swapexactMountin() berulang kali, sampai token STA yang dimiliki Balancer hampir habis, hanya tersisa 0.000000000000000001 STA.
Memanfaatkan ketidakcocokan antara token STA dan kontrak pintar Balancer, yaitu ketidakcocokan dalam pembukuan dan saldo, menghabiskan aset lain dalam kumpulan dana, dan akhirnya mendapatkan keuntungan sebesar 523.616,52 dolar AS.
Melunasi pinjaman kilat dan mentransfer aset digital yang diperoleh dari serangan.
Pada fase kunci serangan, Hacker mengirimkan sejumlah kecil STA ke BPool melalui fungsi swapExactAmountIn(), untuk menukar dengan jumlah besar WETH dengan perbedaan nilai yang sangat tinggi. Karena transfer STA akan membakar biaya 1%, sebenarnya BPool tidak dapat menerima STA sama sekali, yang menyebabkan saldo aktual tidak cocok dengan pembukuan internal. Penyerang kemudian terus-menerus mereset _records( dengan memanggil fungsi gulp)[STA], menjaga saldo STA yang sangat kecil di BPool, sehingga terus menukar aset lain dengan harga tinggi.
Peristiwa ini sekali lagi mengungkapkan risiko kompatibilitas yang ada dalam kombinabilitas DeFi. Untuk mencegah serangan serupa, berikut adalah beberapa solusi optimasi yang dapat dipertimbangkan:
Ketika jumlah transfer tidak cukup untuk membayar biaya, STA/STONK harus langsung menggulung kembali atau mengembalikan False saat melaksanakan transfer() atau transferFrom().
Balancer harus memeriksa saldo BPool yang sebenarnya setelah setiap pemanggilan fungsi transferFrom().
Namun, solusi terbaik tetaplah pencegahan sebelumnya. Pengembang proyek Keuangan Desentralisasi harus menerapkan standar kode yang baik, mencari bantuan dari perusahaan keamanan pihak ketiga untuk melakukan pengujian serangan dan pertahanan secara menyeluruh, serta melakukan pemeriksaan menyeluruh terhadap berbagai standar token dan perilaku kombinasi proyek Keuangan Desentralisasi.
Kerugian spesifik yang disebabkan oleh insiden serangan Balancer ini meliputi:
Total kerugian sekitar 523.616,52 dolar AS dalam aset digital.
Peristiwa ini pasti akan memiliki dampak penting pada komunitas Keuangan Desentralisasi, sekaligus memperingatkan semua pengembang proyek Keuangan Desentralisasi untuk sangat memperhatikan keamanan kontrak pintar.