GMX mengalami serangan Hacker, kerugian lebih dari 40 juta dolar
Baru-baru ini, sebuah platform perdagangan terdesentralisasi yang terkenal mengalami serangan hacker, menyebabkan kerugian lebih dari 40 juta dolar. Penyerang dengan cerdik memanfaatkan celah reentrancy dan melakukan serangan ini melalui operasi short sell dengan fitur leverage yang diaktifkan di platform.
Masalah inti dari serangan terletak pada penggunaan yang salah dari fungsi executeDecreaseOrder. Parameter pertama dari fungsi tersebut seharusnya adalah alamat akun eksternal, tetapi penyerang mengirimkan alamat kontrak pintar. Ini memungkinkan penyerang untuk masuk kembali ke sistem selama proses penebusan, mengendalikan status internal, dan akhirnya aset yang ditebus jauh melebihi nilai GLP yang sebenarnya dimiliki.
Dalam keadaan normal, GLP sebagai token penyedia likuiditas mewakili bagian pengguna dari aset di dalam gudang. Ketika pengguna menebus GLP, sistem akan menghitung jumlah aset yang harus dikembalikan berdasarkan proporsi GLP yang dimiliki pengguna dan total aset yang dikelola saat ini (AUM). Perhitungan AUM melibatkan beberapa faktor, termasuk total nilai semua kolam token, keuntungan dan kerugian tidak terwujud secara global, dan lain-lain.
Namun, setelah mengaktifkan fitur margin, sistem mengalami celah. Penyerang membuka posisi short WBTC besar-besaran sebelum menebus GLP. Karena pembukaan posisi short langsung meningkatkan skala short global, dan tanpa ada perubahan harga, sistem mengakui kerugian yang belum direalisasikan ini sebagai "aset" dalam kas, yang menyebabkan AUM secara artifisial meningkat. Meskipun kas sebenarnya tidak memperoleh nilai tambahan, perhitungan penebusan didasarkan pada AUM yang terlalu tinggi ini, membuat penyerang mendapatkan aset jauh lebih besar dari yang seharusnya.
Serangan kali ini mengekspos kekurangan serius pada mekanisme leverage dan desain perlindungan reentrancy platform tersebut. Masalah inti terletak pada logika penebusan aset yang terlalu mempercayai AUM, tanpa melakukan pemeriksaan keamanan yang cukup hati-hati terhadap komponen-komponennya (seperti kerugian yang belum direalisasikan). Sementara itu, asumsi identitas pemanggil dalam fungsi kunci juga kurang memiliki verifikasi yang bersifat wajib.
Peristiwa ini kembali mengingatkan para pengembang proyek blockchain bahwa saat terlibat dalam operasi sensitif terkait dana, mereka harus memastikan bahwa status sistem tidak dapat dimanipulasi. Terutama saat memperkenalkan logika keuangan yang kompleks (seperti leverage, derivatif), harus lebih waspada terhadap risiko sistemik yang ditimbulkan oleh reentrancy dan pencemaran status. Bagi pengguna, mereka juga harus lebih waspada, menyadari bahwa bahkan proyek terkenal pun dapat memiliki kerentanan keamanan, dan harus dengan hati-hati mengevaluasi risiko saat berpartisipasi dalam aktivitas DeFi.
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.
GMX diserang oleh Hacker, celah leverage menyebabkan kerugian lebih dari 40 juta dolar AS
GMX mengalami serangan Hacker, kerugian lebih dari 40 juta dolar
Baru-baru ini, sebuah platform perdagangan terdesentralisasi yang terkenal mengalami serangan hacker, menyebabkan kerugian lebih dari 40 juta dolar. Penyerang dengan cerdik memanfaatkan celah reentrancy dan melakukan serangan ini melalui operasi short sell dengan fitur leverage yang diaktifkan di platform.
Masalah inti dari serangan terletak pada penggunaan yang salah dari fungsi executeDecreaseOrder. Parameter pertama dari fungsi tersebut seharusnya adalah alamat akun eksternal, tetapi penyerang mengirimkan alamat kontrak pintar. Ini memungkinkan penyerang untuk masuk kembali ke sistem selama proses penebusan, mengendalikan status internal, dan akhirnya aset yang ditebus jauh melebihi nilai GLP yang sebenarnya dimiliki.
Dalam keadaan normal, GLP sebagai token penyedia likuiditas mewakili bagian pengguna dari aset di dalam gudang. Ketika pengguna menebus GLP, sistem akan menghitung jumlah aset yang harus dikembalikan berdasarkan proporsi GLP yang dimiliki pengguna dan total aset yang dikelola saat ini (AUM). Perhitungan AUM melibatkan beberapa faktor, termasuk total nilai semua kolam token, keuntungan dan kerugian tidak terwujud secara global, dan lain-lain.
Namun, setelah mengaktifkan fitur margin, sistem mengalami celah. Penyerang membuka posisi short WBTC besar-besaran sebelum menebus GLP. Karena pembukaan posisi short langsung meningkatkan skala short global, dan tanpa ada perubahan harga, sistem mengakui kerugian yang belum direalisasikan ini sebagai "aset" dalam kas, yang menyebabkan AUM secara artifisial meningkat. Meskipun kas sebenarnya tidak memperoleh nilai tambahan, perhitungan penebusan didasarkan pada AUM yang terlalu tinggi ini, membuat penyerang mendapatkan aset jauh lebih besar dari yang seharusnya.
Serangan kali ini mengekspos kekurangan serius pada mekanisme leverage dan desain perlindungan reentrancy platform tersebut. Masalah inti terletak pada logika penebusan aset yang terlalu mempercayai AUM, tanpa melakukan pemeriksaan keamanan yang cukup hati-hati terhadap komponen-komponennya (seperti kerugian yang belum direalisasikan). Sementara itu, asumsi identitas pemanggil dalam fungsi kunci juga kurang memiliki verifikasi yang bersifat wajib.
Peristiwa ini kembali mengingatkan para pengembang proyek blockchain bahwa saat terlibat dalam operasi sensitif terkait dana, mereka harus memastikan bahwa status sistem tidak dapat dimanipulasi. Terutama saat memperkenalkan logika keuangan yang kompleks (seperti leverage, derivatif), harus lebih waspada terhadap risiko sistemik yang ditimbulkan oleh reentrancy dan pencemaran status. Bagi pengguna, mereka juga harus lebih waspada, menyadari bahwa bahkan proyek terkenal pun dapat memiliki kerentanan keamanan, dan harus dengan hati-hati mengevaluasi risiko saat berpartisipasi dalam aktivitas DeFi.