GMX diserang dengan kerugian $40 juta akibat celah keamanan, desain mekanisme leverage memiliki cacat yang signifikan

robot
Pembuatan abstrak sedang berlangsung

GMX mengalami serangan kerentanan keamanan yang signifikan, kehilangan lebih dari 40 juta dolar AS

Baru-baru ini, platform perdagangan terdesentralisasi terkenal GMX mengalami insiden keamanan yang serius, yang menyebabkan kerugian lebih dari 40 juta dolar AS. Penyerang memanfaatkan celah reentrancy dan melancarkan serangan melalui operasi short selling ketika kontrak mengaktifkan fitur leverage.

Masalah inti dari serangan kali ini terletak pada penggunaan yang keliru dari fungsi executeDecreaseOrder. Parameter pertama dari fungsi tersebut seharusnya adalah alamat akun eksternal, tetapi penyerang dengan cerdik memasukkan alamat kontrak pintar. Ini memungkinkan penyerang untuk memasuki sistem berulang kali selama proses penebusan, memanipulasi status internal, dan akhirnya mengeluarkan aset yang jauh melebihi nilai GLP yang sebenarnya mereka miliki.

Kerugian melebihi 40 juta dolar, analisis prinsip kejadian peretasan GMX

Dalam operasi normal GMX, GLP adalah token penyedia likuiditas yang mewakili bagian pengguna dari aset kolam dana (seperti USDC, ETH, WBTC). Ketika pengguna menebus GLP, sistem akan menghitung jumlah aset yang harus dikembalikan berdasarkan proporsi GLP yang dimiliki pengguna dan total nilai aset yang dikelola saat ini (AUM). Perhitungan AUM melibatkan beberapa faktor, termasuk nilai total dari setiap kolam token, keuntungan dan kerugian yang belum direalisasikan dari posisi pendek global, dan sebagainya.

Namun, setelah platform mengaktifkan fitur perdagangan dengan leverage, penyerang menemukan cara untuk memanfaatkan celah sistem. Sebelum menebus GLP, penyerang membuka posisi short WBTC dalam jumlah besar. Karena posisi short yang dibuka langsung meningkatkan ukuran short global, tanpa adanya pergerakan harga, sistem menganggap bagian short ini sebagai kerugian yang belum direalisasikan. Bagian "kerugian" ini secara keliru dihitung sebagai "aset" dalam kas, yang mengakibatkan AUM dinaikkan secara artifisial. Meskipun sebenarnya kas tidak mendapatkan nilai tambahan, perhitungan penebusan didasarkan pada AUM yang meningkat ini, sehingga penyerang memperoleh aset jauh lebih besar dari yang seharusnya mereka terima.

Kerugian lebih dari 40 juta dolar AS, analisis prinsip kejadian peretasan GMX

Kejadian kali ini mengungkapkan kekurangan besar dalam desain mekanisme leverage dan perlindungan reentrancy di platform tersebut. Masalah inti terletak pada kepercayaan yang berlebihan terhadap logika penarikan aset terhadap AUM, yang gagal melakukan verifikasi keamanan yang memadai terhadap komponen-komponennya (seperti kerugian yang belum direalisasikan). Sementara itu, asumsi fungsi kunci mengenai identitas pemanggil (apakah itu akun eksternal atau kontrak pintar) juga kurang memiliki pemeriksaan yang bersifat wajib.

Kejadian keamanan ini sekali lagi mengingatkan para pengembang proyek blockchain, bahwa saat melakukan operasi yang sensitif terhadap dana, mereka harus memastikan bahwa status sistem tidak dapat dimanipulasi secara jahat. Terutama saat memperkenalkan logika keuangan yang kompleks (seperti perdagangan dengan leverage, derivatif), perlu lebih ketat dalam mencegah risiko sistemik yang mungkin ditimbulkan oleh serangan reentrancy dan pencemaran status. Bagi pengguna, ini juga menjadi peringatan untuk lebih berhati-hati saat berpartisipasi dalam proyek keuangan terdesentralisasi, memperhatikan keamanan proyek dan kemampuan manajemen risiko.

GMX-6.41%
Lihat Asli
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.
  • Hadiah
  • Komentar
  • Bagikan
Komentar
0/400
Tidak ada komentar
Perdagangkan Kripto Di Mana Saja Kapan Saja
qrCode
Pindai untuk mengunduh aplikasi Gate
Komunitas
Bahasa Indonesia
  • 简体中文
  • English
  • Tiếng Việt
  • 繁體中文
  • Español
  • Русский
  • Français (Afrique)
  • Português (Portugal)
  • Bahasa Indonesia
  • 日本語
  • بالعربية
  • Українська
  • Português (Brasil)