Jarvis Network, Flaş Krediler aracılığıyla yeniden giriş saldırısına uğradı, 663,101 MATIC çalındı.

robot
Abstract generation in progress

Jarvis Network projesi Flaş Krediler tekrar giriş saldırısına uğradı analizi

15 Ocak 2023'te, Jarvis_Network projesi saldırıya uğradı ve 663,101 MATIC çalındı. Bu olay projelerin güvenliği konusunda endişelere yol açtı.

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

İşlemlerin çağrı yığınlarının analiziyle, saldırganların yeniden giriş açığını kullandığı keşfedildi. Yeniden giriş sürecinde, aynı sözleşmenin aynı fonksiyonuna yapılan çağrılarda, giriş parametreleri aynı olmasına rağmen, dönen değerlerde önemli farklılıklar görülmektedir. Bu farklılık özellikle remove_liquidity fonksiyonunda meydana gelmektedir.

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

Reentrancy saldırısı esas olarak bir akıllı sözleşmenin remove_liquidity fonksiyonunu hedef alır. Bu fonksiyon, likiditeyi kaldırırken kullanıcı tarafından eklenen tokenleri geri döndürür. Polygon ve EVM zincirlerinin homojenliği nedeniyle, MATIC'in sözleşmeye aktarılması reentrancy mantığını tetikler.

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

Daha fazla analiz, sorunun getUnderlyingPrice fonksiyonunun uygulanmasında olduğunu gösterdi. Bu fonksiyon, analizi zorlaştıran birden fazla açık kaynaklı olmayan sözleşmeyi içeriyor. Ancak, depolama alanlarını ve çağrı yığınını kontrol ederek, kritik değişkenlerin değerlerini ve fonksiyon çağrı yollarını çıkarabiliriz.

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

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

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

Saldırının özü, get_virtual_price fonksiyonunun dönüş değerinin yeniden girişten önce ve sonra belirgin şekilde değişmesidir. Bu değişim, self.D değişkeninin güncellenme zamanıyla ilgilidir. Normalde, self.D transfer tamamlandıktan sonra güncellenmelidir, ancak bu saldırıda, yeniden girişin gerçekleşmesi nedeniyle fiyat hesaplamasında hata meydana gelmiştir.

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

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

remove_liquidity fonksiyonunun yürütme süreci şunları içerir: 1) kullanıcı LP token'lerini yok etme; 2) stake edilen fonları kullanıcıya gönderme; 3) self.D değerini güncelleme. Saldırgan ikinci adımda yeniden giriş yaparak, zamanında güncellenmeyen self.D değerini kullanarak borç alır ve böylece haksız kazanç elde eder.

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

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

Dikkate değer bir husus, remove_liquidity fonksiyonunun reentrancy saldırılarını önlemek için @nonreentrant('lock') dekoratörünü kullanmasına rağmen, saldırganın yeniden giriş yaparak diğer sözleşmelere borç almak için girmesi nedeniyle bu yeniden giriş kilidinin beklenen etkisini göstermediğidir.

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

Bu saldırı, akıllı sözleşmelerdeki değişken güncelleme zamanlamasının önemini ortaya koydu. Güvenliği artırmak için proje sahiplerinin aşağıdaki önlemleri alması önerilmektedir:

  1. Sıkı güvenlik denetimleri gerçekleştirin
  2. Değişken değişikliklerinin dış çağrılardan önce tamamlandığından emin olun.
  3. Fiyat bilgilerini elde etmek için çoklu veri kaynağı yöntemi kullanmak
  4. "Kontroller-Etki-İletişim" (Checks-Effects-Interactions) modeline göre kod yazın.

Bu en iyi uygulamaların uygulanmasıyla, akıllı sözleşmelerin güvenliği ve istikrarı önemli ölçüde artırılabilir ve Web3 ekosistemine daha güvenilir bir altyapı sağlanabilir.

Jarvis Network Flaş Krediler yeniden giriş 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
  • 4
  • Share
Comment
0/400
CantAffordPancakevip
· 8h ago
Yine bir grup enayilerden oldum~
View OriginalReply0
RugpullTherapistvip
· 8h ago
Başka bir proje Rug Pull mu oldu?? Acı~
View OriginalReply0
not_your_keysvip
· 8h ago
Yine bir proje soyuldu~
View OriginalReply0
GateUser-a180694bvip
· 8h ago
Bu kod denetimi de çok yüzeysel değil mi?!
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)