GMX diserang sebesar 40 juta dolar AS, kerentanan reentrancy mengekspos risiko DEX

GMX mengalami celah keamanan besar, kerugian mencapai 40 juta dolar AS

Baru-baru ini, sebuah insiden keamanan besar yang menargetkan platform perdagangan terdesentralisasi menarik perhatian luas di industri. Penyerang memanfaatkan celah reentrancy dalam sistem untuk membuka posisi short dengan fungsi leverage diaktifkan, berhasil melaksanakan serangan tersebut, yang mengakibatkan kerugian platform lebih dari 40 juta dolar.

Kerugian lebih dari 40 juta dolar AS, Analisis Prinsip Kejadian Peretasan GMX

Masalah inti dari peristiwa ini terletak pada penggunaan fungsi executeDecreaseOrder. Parameter pertama dari fungsi ini seharusnya adalah alamat akun eksternal, tetapi penyerang dengan cerdik mengirimkan alamat kontrak pintar. Ini memungkinkan penyerang untuk masuk ke sistem berulang kali selama proses penebusan aset, memanipulasi status internal, dan akhirnya nilai aset yang ditebus jauh melebihi nilai token GLP yang sebenarnya mereka miliki.

Dalam keadaan normal, GLP sebagai token penyedia likuiditas, mewakili bagian pengguna dari aset kas platform. Ketika pengguna menebus GLP, sistem akan menghitung jumlah aset yang harus dikembalikan berdasarkan proporsi GLP yang dimiliki pengguna terhadap total pasokan, serta total aset yang dikelola saat ini (AUM). Perhitungan AUM melibatkan beberapa faktor, termasuk total nilai semua kolam token, keuntungan dan kerugian yang belum direalisasi dari posisi short global, dan lainnya.

Namun, setelah platform mengaktifkan fungsi leverage, penyerang menemukan kesempatan untuk memanfaatkan celah sistem. Sebelum menebus GLP, penyerang membuka posisi short WBTC dalam jumlah besar. Karena cacat desain sistem, posisi short baru yang dibuka akan membuat AUM meningkat secara artifisial, meskipun sebenarnya tidak memberikan nilai tambahan pada kas. Ini mengakibatkan jumlah tebusan yang dihitung berdasarkan AUM yang terlalu tinggi jauh melebihi bagian yang seharusnya diterima penyerang.

Kejadian ini mengungkapkan adanya cacat serius dalam desain mekanisme leverage dan perlindungan terhadap reentrancy di platform tersebut. Masalah inti terletak pada logika penebusan aset yang terlalu mempercayai nilai AUM, tanpa melakukan verifikasi keamanan yang memadai terhadap komponen-komponennya (seperti kerugian yang belum direalisasikan). Pada saat yang sama, asumsi tentang identitas pemanggil pada fungsi kunci juga kurang memiliki pemeriksaan yang bersifat wajib.

Kerugian lebih dari 40 juta dolar, Analisis Prinsip Kejadian Peretasan GMX

Peristiwa ini kembali mengingatkan para pengembang proyek blockchain bahwa dalam menangani operasi yang melibatkan dana besar, mereka harus memastikan bahwa status sistem tidak dimanipulasi secara jahat. Terutama saat memperkenalkan logika keuangan yang kompleks seperti perdagangan dengan leverage, derivatif, dan fungsi lainnya, perlu dilakukan pencegahan yang ketat terhadap risiko sistemik yang mungkin ditimbulkan oleh serangan reentrancy dan pencemaran status.

Bagi pengguna, peristiwa ini juga mengingatkan kita untuk tetap waspada saat berpartisipasi dalam proyek keuangan terdesentralisasi, dan dengan serius mengevaluasi keamanan dan kemampuan pengendalian risiko platform. Bagi pihak proyek, memperkuat audit keamanan, memperkenalkan mekanisme verifikasi ganda, dan menerapkan manajemen izin yang lebih ketat akan menjadi sangat penting.

GMX-0.05%
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
  • Posting ulang
  • Bagikan
Komentar
0/400
Tidak ada komentar
  • Sematkan
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)