Analisis Kejadian Serangan Pinjaman Flash pada Jaringan Cellframe
Pada 1 Juni 2023 pukul 10:07:55 (UTC+8), Cellframe Network diserang oleh hacker di blockchain karena masalah perhitungan jumlah token selama proses migrasi likuiditas. Serangan ini membuat hacker meraup keuntungan sekitar 76.112 dolar.
Penyebab Dasar Serangan
Masalah perhitungan dalam proses migrasi likuiditas adalah penyebab utama dari serangan ini.
Penjelasan Proses Serangan
Penyerang pertama-tama menggunakan Pinjaman Flash untuk mendapatkan 1000 BNB dan 500.000 token New Cell. Setelah itu, mereka menukarkan semua token New Cell menjadi BNB, menyebabkan jumlah BNB di dalam kolam hampir nol. Terakhir, penyerang menukarkan 900 BNB menjadi token Old Cell.
Perlu dicatat bahwa penyerang menambahkan likuiditas Old Cell dan BNB sebelum memulai serangan, untuk mendapatkan Old lp.
Selanjutnya, penyerang memanggil fungsi migrasi likuiditas. Pada saat ini, hampir tidak ada BNB di kolam baru, dan hampir tidak ada token Old Cell di kolam lama. Proses migrasi mencakup: menghapus likuiditas lama dan mengembalikan jumlah token yang sesuai kepada pengguna; kemudian menambahkan likuiditas baru sesuai dengan proporsi kolam baru. Karena hampir tidak ada token Old Cell di kolam lama, jumlah BNB yang diperoleh saat menghapus likuiditas meningkat, sementara jumlah token Old Cell berkurang. Ini menyebabkan pengguna hanya perlu menambahkan sedikit BNB dan token New Cell untuk mendapatkan likuiditas, sementara BNB dan token Old Cell yang berlebih dikembalikan kepada pengguna.
Terakhir, penyerang menghapus likuiditas dari kolam baru dan menukar token Old Cell yang dikembalikan dari migrasi menjadi BNB. Pada saat ini, kolam lama memiliki banyak token Old Cell tetapi hampir tidak ada BNB, penyerang menukar kembali token Old Cell menjadi BNB, menyelesaikan keuntungan. Kemudian, penyerang mengulangi operasi migrasi.
Saran Keamanan
Saat memindahkan likuiditas, harus mempertimbangkan secara menyeluruh perubahan jumlah kedua token di kolam lama dan baru serta harga token saat ini. Menghitung hanya berdasarkan jumlah kedua token dalam pasangan perdagangan dapat dengan mudah dimanipulasi.
Sebelum kode diluncurkan, pastikan untuk melakukan audit keamanan yang menyeluruh dan ketat untuk mencegah munculnya kerentanan serupa.
Kejadian kali ini kembali menekankan perlunya kehati-hatian dan pertimbangan keamanan yang menyeluruh saat menangani operasi DeFi yang kompleks, terutama yang melibatkan migrasi likuiditas dan operasi sensitif lainnya.
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.
Cellframe Network mengalami flash loan attack dengan kerugian sebesar 76.000 USD
Analisis Kejadian Serangan Pinjaman Flash pada Jaringan Cellframe
Pada 1 Juni 2023 pukul 10:07:55 (UTC+8), Cellframe Network diserang oleh hacker di blockchain karena masalah perhitungan jumlah token selama proses migrasi likuiditas. Serangan ini membuat hacker meraup keuntungan sekitar 76.112 dolar.
Penyebab Dasar Serangan
Masalah perhitungan dalam proses migrasi likuiditas adalah penyebab utama dari serangan ini.
Penjelasan Proses Serangan
Penyerang pertama-tama menggunakan Pinjaman Flash untuk mendapatkan 1000 BNB dan 500.000 token New Cell. Setelah itu, mereka menukarkan semua token New Cell menjadi BNB, menyebabkan jumlah BNB di dalam kolam hampir nol. Terakhir, penyerang menukarkan 900 BNB menjadi token Old Cell.
Perlu dicatat bahwa penyerang menambahkan likuiditas Old Cell dan BNB sebelum memulai serangan, untuk mendapatkan Old lp.
Selanjutnya, penyerang memanggil fungsi migrasi likuiditas. Pada saat ini, hampir tidak ada BNB di kolam baru, dan hampir tidak ada token Old Cell di kolam lama. Proses migrasi mencakup: menghapus likuiditas lama dan mengembalikan jumlah token yang sesuai kepada pengguna; kemudian menambahkan likuiditas baru sesuai dengan proporsi kolam baru. Karena hampir tidak ada token Old Cell di kolam lama, jumlah BNB yang diperoleh saat menghapus likuiditas meningkat, sementara jumlah token Old Cell berkurang. Ini menyebabkan pengguna hanya perlu menambahkan sedikit BNB dan token New Cell untuk mendapatkan likuiditas, sementara BNB dan token Old Cell yang berlebih dikembalikan kepada pengguna.
Terakhir, penyerang menghapus likuiditas dari kolam baru dan menukar token Old Cell yang dikembalikan dari migrasi menjadi BNB. Pada saat ini, kolam lama memiliki banyak token Old Cell tetapi hampir tidak ada BNB, penyerang menukar kembali token Old Cell menjadi BNB, menyelesaikan keuntungan. Kemudian, penyerang mengulangi operasi migrasi.
Saran Keamanan
Saat memindahkan likuiditas, harus mempertimbangkan secara menyeluruh perubahan jumlah kedua token di kolam lama dan baru serta harga token saat ini. Menghitung hanya berdasarkan jumlah kedua token dalam pasangan perdagangan dapat dengan mudah dimanipulasi.
Sebelum kode diluncurkan, pastikan untuk melakukan audit keamanan yang menyeluruh dan ketat untuk mencegah munculnya kerentanan serupa.
Kejadian kali ini kembali menekankan perlunya kehati-hatian dan pertimbangan keamanan yang menyeluruh saat menangani operasi DeFi yang kompleks, terutama yang melibatkan migrasi likuiditas dan operasi sensitif lainnya.