Jarvis Network, Flaş Krediler ile yeniden giriş saldırısına uğradı ve 663,101 MATIC kaybetti.

robot
Abstract generation in progress

Jarvis Network projesi Flaş Krediler yeniden giriş saldırısı analizi

Veriler, 15 Ocak 2023 17:43:37 UTC'de Jarvis_Network projesinin saldırıya uğradığını ve 663,101 MATIC kaybettiğini gösteriyor.

İşlem çağrı yığınını analiz ettiğimizde, likidite kaldırma sürecinde yeniden giriş mantığının bulunduğunu tespit ettik. Yeniden girişten önce ve sonra aynı sözleşmenin aynı fonksiyonuna, aynı parametreler ile çağrı yapılıyor fakat dönen değerler arasında büyük farklılıklar var:

  • Yeniden girişten önce: 1,002,157,321,772,769,944
  • Yeniden girişte: 10,091,002,696,492,234,934

Jarvis Network Flaş Krediler yeniden giriş saldırısı olayı analizi

Reentrancy, remove_liquidity fonksiyonunda meydana gelir. Bu fonksiyon, likiditeyi kaldırırken kullanıcının eklediği tokenleri geri döndürür. Polygon ve EVM homomorfik zincirler olduğundan, MATIC'in sözleşmeye aktarılması sözleşmenin reentrancy'sini tetikler.

Derinlemesine analiz, sorunun getUnderlyingPrice fonksiyonunun uygulanmasında olduğunu ortaya koyuyor. Bu fonksiyon, bir dizi iç hesaplama ve dış çağrılarla ilgilidir, burada anahtar, get_virtual_price fonksiyonunun döndürdüğü değerdir.

Jarvis Network Flaş Krediler重入攻击事件分析

get_virtual_price fonksiyonunun döndürdüğü değer self.D değişkeninden etkilenir. remove_liquidity fonksiyonunda, self.D'nin güncellenmesi token transferinden sonra gerçekleşir. Saldırgan likiditeyi kaldırırken, MATIC saldırı sözleşmesine transfer edilir ve fallback geri çağrısı sırasında önce token fiyatı sorgulanır. self.D henüz güncellenmediği için fiyat alma hatası oluşur.

Jarvis Network Flaş Krediler reentrancy saldırı olayı analizi

remove_liquidity fonksiyonu akışı:

  1. Kullanıcı LP'sini yok et
  2. Kullanıcı teminat fonlarını gönder
  3. self.D'yi güncelle

Saldırgan, 2. adımda yeniden giriş yaparak güncellenmemiş self.D değerini kullanarak borç aldı ve normal fiyatın 10 katı kadar fon elde etti.

Jarvis Network Flaş Krediler reentrancy saldırı olayı analizi

remove_liquidity fonksiyonu '@nonreentrant('lock')' kullanarak yeniden girişleri önlese de, saldırganlar bu koruma mekanizmasını sözleşmeler arası yeniden giriş ile aşmayı başardı.

Jarvis Network Flaş Krediler重入攻击事件分析

Bu saldırı birkaç önemli sorunu ortaya koydu:

  1. Değişken değiştirme mantığı dış çağrıdan sonra, fiyat alma anormalliğine neden oldu.
  2. Sözleşmeler arası yeniden giriş, yeniden giriş kilidini devre dışı bırakır.
  3. "Kontrol-Etkiler-Etkileşimler" (Checks-Effects-Interactions) modeline uyulmamıştır.

Jarvis Network Flaş Krediler yeniden giriş saldırı olayı analizi

Güvenliği artırmak için proje sahipleri şunları yapmalıdır:

  • Sıkı güvenlik denetimleri gerçekleştirin
  • Değişken değişikliklerini dışarıdan çağırmadan önce yapın
  • Fiyat almak için birden fazla veri kaynağı kullanma
  • "Önce değerlendir, sonra değişkene yaz, ardından dış çağrı yap" kodlama standardına uy.

Jarvis Network Flaş Krediler重入攻击事件分析

Bu önlemler sayesinde, projenin güvenliği ve istikrarı önemli ölçüde artırılabilir ve benzer saldırıların etkili bir şekilde önlenmesi sağlanabilir.

Jarvis Network Flaş Krediler重入攻击事件分析

Jarvis Network Flaş Krediler重入攻击事件分析

Jarvis Network Flaş Krediler重入攻击事件分析

Jarvis Network Flaş Krediler重入攻击事件分析

Jarvis Network Flaş Krediler yeniden giriş saldırısı olayı analizi

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
  • 5
  • Share
Comment
0/400
DisillusiionOraclevip
· 07-25 05:19
Yine balık patlayarak öldü.
View OriginalReply0
FlatlineTradervip
· 07-23 14:13
Bir enayiler daha kutu yemeği aldı.
View OriginalReply0
MidnightGenesisvip
· 07-23 14:09
Kod karışıklığı yeterince değil, bu çoktan olmalıydı.
View OriginalReply0
CryptoGoldminevip
· 07-23 13:59
Bir veri kanıtı daha: akıllı sözleşmeler geriye dönük kazanç kaybı 65w
View OriginalReply0
TooScaredToSellvip
· 07-23 13:50
Yine bir zemin sıfıra düştü
View OriginalReply0
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)