Jarvis Network Flaş Krediler reentrancy saldırısına uğradı, 663,101 MATIC kaybetti.

robot
Abstract generation in progress

Jarvis Network projesi Flaş Krediler geri alma saldırısı analizi

15 Ocak 2023'te, Jarvis_Network projesi saldırıya uğradı ve 663,101 MATIC kaybedildi. Saldırı işleminin çağrı yığınını analiz ederek, bir reentrancy (yeniden giriş) mantığı olduğu tespit edildi. Yeniden giriş sürecinde, aynı sözleşmenin aynı fonksiyonunun çağrısı yapılırken, parametreler aynı olmasına rağmen dönen değerler büyük farklılıklar gösterdi.

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

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 EVM ile eşleştiğinden, MATIC'in sözleşmeye transferi reentrancy'i tetikler.

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

Derinlemesine analiz, sorunun getUnderlyingPrice fonksiyonunun uygulanmasında olduğunu ortaya koyuyor. Bu fonksiyon, birçok sözleşme çağrısını içeriyor ve nihayetinde get_virtual_price fonksiyonunun döndürdüğü değeri etkiliyor. get_virtual_price fonksiyonunun döndürdüğü değer, self.D değişkeninden etkileniyor ve self.D'nin güncellenmesi transferden sonra gerçekleştiriliyor.

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

Saldırgan, likiditeyi kaldırdığında, MATIC saldırı sözleşmesine transfer edilir ve fiyatı sorgulamak için fallback fonksiyonu çağrılır. self.D güncellemesinin transferden sonra gerçekleşmesi, önceki fiyatın yanlış alınmasına neden olur. Likiditeyi kaldırma işlem süreci şöyledir: 1) kullanıcı LP'sini yok et; 2) kullanıcı staking fonlarını gönder; 3) self.D'yi güncelle.

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

self.D, fiyat hesaplaması için kullanılır ve likidite eklenirken de güncellenir. Saldırganın likidite fonları oldukça büyük, normalde self.D değeri çok daha düşük olacaktır. Ancak saldırgan, adım 2'de yeniden giriş yapar ve orijinal fiyatın 10 katı bir fiyatla borç alır. Bunun nedeni, likidite eklendiğinde self.D değerinin artması ve likidite kaldırıldığında zamanında güncellenmemesidir.

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

remove_liquidity yöntemi @nonreentrant('lock') kullanarak reentrancy'i önlese de, saldırgan diğer sözleşmelere reenter ederek borç para alabilir ve reentrancy kilidini etkisiz hale getirebilir.

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

Bu saldırının başlıca nedeni, dış çağrıdan sonra değişken değiştirme mantığının bozulması ve fiyat alımında anormallik yaratmasıdır. Sözleşten sözleşmeye yeniden giriş, yeniden giriş kilidini etkisiz hale getirmiştir. Proje sahiplerine sıkı bir güvenlik denetimi yapmalarını, değişken değiştirmeyi dış çağrılardan önce yapmalarını ve çoklu veri kaynakları kullanarak fiyat alma yöntemini benimsemelerini öneririz. "Önce kontrol et, sonra değişkeni yaz, ardından dış çağrı yap" kodlama standartlarına (Checks-Effects-Interactions) uymak, projenin güvenliğini ve istikrarını artırabilir.

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

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

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

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

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

Jarvis Network Flaş Krediler reentrancy saldırı 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
  • 7
  • Repost
  • Share
Comment
0/400
All-InQueenvip
· 08-05 00:42
Blok Zinciri tekrar patladı 麻了
View OriginalReply0
HalfBuddhaMoneyvip
· 08-02 05:37
Bu kadarını elde edemem ki...
View OriginalReply0
ZeroRushCaptainvip
· 08-02 05:37
Yine bir kişi daha kaybedildi, tüm birikimler suya gitti. Kaybeden Sam Altman saldır!
View OriginalReply0
ForkLibertarianvip
· 08-02 05:29
El hızı bu kadar yavaş, Kesinti Kaybı Rug Pull bile geçti.
View OriginalReply0
StakeTillRetirevip
· 08-02 05:24
Bir başka yeniden giriş felaketi, kapandı.
View OriginalReply0
SighingCashiervip
· 08-02 05:13
Başına iş açtın değil mi? Yine bir yeniden giriş açığı.
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)