BlockSec: GMX saldırı prensibi analizi

robot
Abstract generation in progress

Yazı: BlockSec

GMX, bir siber saldırıya uğradı ve 40 milyon dolardan fazla kayıp yaşadı. Saldırganlar, bir reentrancy açığını kullanarak, sözleşmenin kaldıraç özelliği etkinleştirildiğinde kısa pozisyon açarak saldırıyı gerçekleştirdi.

Sorunun kökeni, executeDecreaseOrder fonksiyonunun yanlış bir şekilde kullanılmasıdır. Bu fonksiyonun ilk parametresi dış hesap (EOA) olmalıydı, ancak saldırgan bir akıllı sözleşme adresi gönderdi. Bu, saldırgana geri çekim sürecinde sisteme yeniden girmesine, iç durumu manipüle etmesine ve nihayetinde geri çekilen varlıkların, gerçek sahip olduğu GLP değerinden çok daha fazla olmasına olanak tanıdı.

GLP normal geri alma mekanizması

GMX'te GLP, hazine varlıklarına (USDC, ETH, WBTC gibi) karşılık gelen likidite sağlayıcı token'ıdır. Kullanıcı unstakeAndRedeemGlp'yi çağırdığında, sistem iade edilecek varlık miktarını hesaplamak için aşağıdaki formülü kullanır:

redeem_amount = (user_GLP / total_GLP_supply) * AUM

AUM (Yönetim Altındaki Varlıkların Toplamı) hesaplama yöntemi şudur:

AUM = Tüm token havuzlarının toplam değeri + Küresel kısa pozisyonların gerçekleşmemiş kaybı - Küresel kısa pozisyonların gerçekleşmemiş kârı - Ayrılmış miktar - Önceden belirlenen kesinti (aumDeduction)

Bu mekanizma, GLP sahiplerinin hazineye ait gerçek varlık paylarını orantılı olarak almasını garanti eder.

Kaldıraç açıldıktan sonraki sorun

enableLeverage açıldığında, kullanıcılar kaldıraç pozisyonu (uzun veya kısa) açabilir. Saldırgan, GLP'yi geri çekmeden önce büyük bir WBTC kısa pozisyonu açtı.

Kısa pozisyon açıldığında küresel kısa pozisyon büyüklüğü arttığından, fiyat değişmediği sürece sistem bu kısa pozisyonun zarar ettiğini varsayar ve bu gerçekleşmemiş zarar hazine'nin "varlık" olarak sayılır, bu da AUM'un yapay olarak artmasına neden olur. Hazine gerçekte ek bir değer elde etmemiş olsa da, geri çekim hesaplaması bu abartılmış AUM'a dayanarak yapılır, bu da saldırganın hak ettiğinden çok daha fazla varlık elde etmesine yol açar.

Saldırı süreci

Saldırı işlemi

Sonuç olarak yazılmıştır

Bu saldırı, GMX'in kaldıraç mekanizması ve yeniden giriş koruma tasarımındaki ciddi kusurları ortaya çıkardı. Temel sorun, varlık geri alma mantığının AUM'a olan güvenin aşırı olması ve bileşenlerine (örneğin, gerçekleşmemiş kayıplar) yeterli dikkatli güvenlik kontrolü yapılmamasıdır. Ayrıca, ana fonksiyonların çağıran kişinin kimliğine ilişkin varsayımları (EOA vs. sözleşme) zorunlu doğrulama eksikliği taşımaktadır. Bu olay, geliştiricilere, fonların hassas işlemlerini içeren durumlarda, sistem durumunun manipüle edilemeyeceğinden emin olmaları gerektiğini bir kez daha hatırlatmaktadır; özellikle karmaşık finansal mantıklar (kaldıraç, türev ürünler gibi) dahil edildiğinde, yeniden giriş ve durum kirlenmesi nedeniyle ortaya çıkabilecek sistemik risklere karşı dikkatli olunmalıdır.

View Original
This page may contain third-party content, which is provided for information purposes only (not representations/warranties) and should not be considered as an endorsement of its views by Gate, nor as financial or professional advice. See Disclaimer for details.
  • Reward
  • Comment
  • Share
Comment
0/400
No comments
Trade Crypto Anywhere Anytime
qrCode
Scan to download Gate app
Community
  • 简体中文
  • English
  • Tiếng Việt
  • 繁體中文
  • Español
  • Русский
  • Français (Afrique)
  • Português (Portugal)
  • Bahasa Indonesia
  • 日本語
  • بالعربية
  • Українська
  • Português (Brasil)