Analisis Peristiwa Serangan Pinjaman Flash pada Cellframe Network
Pada tanggal 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 mengakibatkan hacker memperoleh keuntungan sekitar 76.112 dolar.
Penyebab Dasar Serangan
Masalah perhitungan dalam proses migrasi likuiditas adalah penyebab utama serangan ini.
Penjelasan Detail Proses Serangan
Penyerang pertama-tama menggunakan Pinjaman Flash untuk mendapatkan 1000 BNB dan 500.000 token New Cell. Setelah itu, semua token New Cell ditukar menjadi BNB, menyebabkan jumlah BNB di dalam pool mendekati nol. Terakhir, 900 BNB digunakan untuk menukar token Old Cell.
Perlu dicatat bahwa penyerang menambahkan likuiditas Old Cell dan BNB sebelum melakukan serangan, dan mendapatkan Old lp.
Selanjutnya, penyerang memanggil fungsi migrasi likuiditas. Pada saat ini, kolam baru hampir tidak memiliki BNB, sementara kolam lama hampir tidak memiliki token Old Cell.
Proses migrasi mencakup langkah-langkah berikut:
Menghapus likuiditas lama, dan mengembalikan jumlah token yang sesuai kepada pengguna
Tambahkan 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 nilai Resoult dan Token1 menjadi lebih besar.
Pengguna hanya perlu menambahkan sejumlah kecil BNB dan token New Cell untuk mendapatkan likuiditas, BNB dan token Old Cell yang lebih akan dikembalikan kepada pengguna.
Terakhir, penyerang menghapus likuiditas dari kolam baru dan menukarkan token Old Cell yang dikembalikan dari migrasi menjadi BNB. Pada saat ini, kolam lama memiliki banyak token Old Cell tetapi tidak ada BNB, penyerang kembali menukarkan token Old Cell menjadi BNB, sehingga menyelesaikan keuntungan. Kemudian, penyerang mengulangi operasi migrasi.
Ringkasan dan Saran
Dalam melakukan migrasi likuiditas, perlu mempertimbangkan perubahan jumlah dua jenis token di kolam lama dan baru serta harga token saat ini. Menghitung langsung berdasarkan jumlah dua jenis mata uang dalam pasangan perdagangan dapat dengan mudah dimanipulasi.
Selain itu, untuk memastikan keamanan, pihak proyek harus melakukan audit keamanan yang komprehensif sebelum kode diluncurkan. Ini tidak hanya dapat membantu menemukan potensi kerentanan, tetapi juga dapat meningkatkan keamanan dan keandalan sistem secara keseluruhan.
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 serangan pinjaman flash, celah migrasi likuiditas menyebabkan kerugian sebesar 76.112 dolar AS
Analisis Peristiwa Serangan Pinjaman Flash pada Cellframe Network
Pada tanggal 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 mengakibatkan hacker memperoleh keuntungan sekitar 76.112 dolar.
Penyebab Dasar Serangan
Masalah perhitungan dalam proses migrasi likuiditas adalah penyebab utama serangan ini.
Penjelasan Detail Proses Serangan
Penyerang pertama-tama menggunakan Pinjaman Flash untuk mendapatkan 1000 BNB dan 500.000 token New Cell. Setelah itu, semua token New Cell ditukar menjadi BNB, menyebabkan jumlah BNB di dalam pool mendekati nol. Terakhir, 900 BNB digunakan untuk menukar token Old Cell.
Perlu dicatat bahwa penyerang menambahkan likuiditas Old Cell dan BNB sebelum melakukan serangan, dan mendapatkan Old lp.
Selanjutnya, penyerang memanggil fungsi migrasi likuiditas. Pada saat ini, kolam baru hampir tidak memiliki BNB, sementara kolam lama hampir tidak memiliki token Old Cell.
Proses migrasi mencakup langkah-langkah berikut:
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 nilai Resoult dan Token1 menjadi lebih besar.
Pengguna hanya perlu menambahkan sejumlah kecil BNB dan token New Cell untuk mendapatkan likuiditas, BNB dan token Old Cell yang lebih akan dikembalikan kepada pengguna.
Ringkasan dan Saran
Dalam melakukan migrasi likuiditas, perlu mempertimbangkan perubahan jumlah dua jenis token di kolam lama dan baru serta harga token saat ini. Menghitung langsung berdasarkan jumlah dua jenis mata uang dalam pasangan perdagangan dapat dengan mudah dimanipulasi.
Selain itu, untuk memastikan keamanan, pihak proyek harus melakukan audit keamanan yang komprehensif sebelum kode diluncurkan. Ini tidak hanya dapat membantu menemukan potensi kerentanan, tetapi juga dapat meningkatkan keamanan dan keandalan sistem secara keseluruhan.