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

robot
Abstract generation in progress

Jarvis Network Flaş Krediler yeniden giriş saldırısına maruz kaldı analizi

15 Ocak 2023'te, Jarvis_Network projesi büyük bir saldırı olayına maruz kaldı ve 663,101 MATIC kaybedildi. Bu saldırı, Flaş Krediler ve yeniden giriş saldırısının kombinasyonunu kullanarak projenin sözleşmelerindeki ciddi açıkları ortaya çıkardı.

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

Saldırgan, remove_liquidity fonksiyonundaki bir açığı ustaca kullandı. Bu fonksiyon, likidite kaldırıldığında kullanıcı tarafından eklenen tokenleri geri döndürür. Polygon zinciri EVM ile uyumlu olduğundan, MATIC sözleşmeye aktarıldığında, sözleşmenin yeniden giriş mantığı tetiklenir.

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

Analizler, saldırının anahtarının getUnderlyingPrice fonksiyonunun çağrısında yattığını ortaya koydu. Bu fonksiyon, yeniden girişten önce ve sonra önemli ölçüde farklı fiyatlar döndürüyor: yeniden girişten önce 1002157321772769944, yeniden girişten sonra ise 10091002696492234934'e kadar çıkıyor, aradaki fark neredeyse 10 kat.

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

Sorunun kaynağı, sözleşmenin self.D değişkenini güncelleme zamanlamasının yanlış olmasıdır. remove_liquidity fonksiyonunun yürütme sırası şudur: 1) kullanıcı LP tokenlerini yok et; 2) staking fonlarını kullanıcıya gönder; 3) self.D'yi güncelle. Saldırgan, ikinci adımda re-entrancy gerçekleştirdi ve henüz güncellenmemiş self.D değerini kullanarak yanlış fiyat bilgisi elde etti ve böylece kârlı bir borç verme işlemi gerçekleştirdi.

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

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

Remove_liquidity fonksiyonu, yeniden girişleri önlemek için '@nonreentrant('lock')' dekoratörünü kullansa da, saldırının çapraz sözleşme işlemlerini içermesi nedeniyle bu koruma önlemi etkili olamamıştır.

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

Bu olay birkaç temel güvenlik ilkesini ön plana çıkardı:

  1. Değişken değişiklikleri, durum tutarsızlığını önlemek için dış çağrılardan önce tamamlanmalıdır.
  2. Fiyat alma mekanizması çoklu veri kaynağı yöntemi kullanmalı, güvenilirliği artırmalıdır.
  3. Kod mantığı "Kontrol-Etkiler-Etkileşimler" (Checks-Effects-Interactions) modelini takip etmelidir; önce koşul kontrolü yapılmalı, ardından durum değişkenleri değiştirilmelidir, en son olarak da dış çağrılar yapılmalıdır.

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

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

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

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

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

Bu saldırı, akıllı sözleşmelerin güvenlik denetiminin ne kadar önemli olduğunu bir kez daha kanıtladı. Proje ekipleri, sözleşmelerin güvenliğine daha fazla önem vermeli ve kodun kapsamlı ve titiz bir şekilde denetlendiğinden emin olmalıdır, böylece benzer açıkların ortaya çıkmasını önleyebiliriz.

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
  • Comment
  • Share
Comment
0/400
No comments
  • Pin
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)