Jarvis Network projesi Flaş Krediler yeniden giriş saldırısına uğradı analizi
Son zamanlarda, Jarvis Network projesine yapılan bir saldırı sektörün dikkatini çekti. Zincir üstü veri izlemeye göre, saldırı 15 Ocak 2023'te gerçekleşti ve proje için 663.101 MATIC token kaybıyla sonuçlandı.
Saldıran işlemin çağrı yığınını analiz ederek, saldırganın flaş krediler ve yeniden giriş güvenlik açıklarının bir kombinasyonundan yararlandığını tespit ettik. Likiditeyi kaldırma sürecinde, saldırgan başarılı bir şekilde yeniden giriş saldırısı gerçekleştirdi ve aynı işlevin yeniden girişten önce ve sonra çok farklı değerler döndürmesine neden oldu.
Derinlemesine araştırmalar, sorunun remove_liquidity fonksiyonunda olduğunu ortaya koydu. Bu fonksiyon, likiditeyi kaldırmak ve kullanıcı tokenlerini iade etmekle sorumludur. Polygon zinciri EVM ile uyumlu olduğundan, transfer sürecinde sözleşmenin yeniden giriş mantığını tetikledi.
Anahtar boşluk benlikte yatıyor. D değişkeni. Normalde, kendi kendine. D, likidite kaldırıldığında zamanında güncellenmelidir. Ancak, koddaki mantıksal bir kusur nedeniyle, benlik. D'nin güncellemesi, harici bir arama sonrasına kadar ertelendi. Bu, bir saldırgana, güncellenmemiş bir benlikten yararlanarak ortaya bir işlem ekleme fırsatı verir. Arbitraj için D değeri.
remove_liquidity fonksiyonu, reentrancy'yi önlemek için @nonreentrant('lock') dekoratörünü kullansa da, saldırganlar bu koruma mekanizmasını ustaca aşmayı başardılar. Diğer sözleşmelerin borç alma işlevlerine yeniden girmeyi tercih ederek, doğrudan remove_liquidity fonksiyonuna yeniden girmekten kaçındılar ve böylece yeniden giriş kilidinin kısıtlamalarını atlattılar.
Saldırı, akıllı sözleşme geliştirmede birkaç temel güvenlik ilkesinin önemini vurguluyor:
"Kontroller-Etkiler-Etkileşimler" (Checks-Effects-Interactions) modeline sıkı bir şekilde uyun.
Herhangi bir harici çağrıdan önce kritik değişkenlerin güncellenmesinin tamamlandığından emin olun.
Sistemin sağlamlığını artırmak için fiyat alımı için birden fazla veri kaynağı kullanın.
Kapsamlı güvenlik denetimleri, potansiyel açıkları tespit etmek ve düzeltmek için kritik öneme sahiptir.
Bu olay, hızla büyüyen blok zinciri ekosisteminde güvenliğin her zaman en önemli öncelik olduğunu bir kez daha hatırlatıyor. Proje geliştirme ekibi, kullanıcı varlıklarının güvenliğini sağlamak için en son güvenlik uygulamalarını sürekli olarak izlemeli ve düzenli kod incelemeleri ve güvenlik açığı testleri yapmalıdır.
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.
6 Likes
Reward
6
7
Share
Comment
0/400
MidnightSnapHunter
· 07-18 10:01
Sözleşme böcekleri gerçekten de önlenemez bir tehdit.
View OriginalReply0
StablecoinEnjoyer
· 07-17 23:27
Bir proje daha saldırıya uğradı.
View OriginalReply0
OnChainSleuth
· 07-17 00:48
Bir proje daha tamamen sömürüldü.
View OriginalReply0
shadowy_supercoder
· 07-17 00:40
Tüh, yine bir re-entrancy saldırısı. Akıllarını kullanmıyorlar.
Jarvis Network, 660.000 MATIC tokeni kaybederek bir flaş kredi yeniden giriş saldırısına uğradı
Jarvis Network projesi Flaş Krediler yeniden giriş saldırısına uğradı analizi
Son zamanlarda, Jarvis Network projesine yapılan bir saldırı sektörün dikkatini çekti. Zincir üstü veri izlemeye göre, saldırı 15 Ocak 2023'te gerçekleşti ve proje için 663.101 MATIC token kaybıyla sonuçlandı.
Saldıran işlemin çağrı yığınını analiz ederek, saldırganın flaş krediler ve yeniden giriş güvenlik açıklarının bir kombinasyonundan yararlandığını tespit ettik. Likiditeyi kaldırma sürecinde, saldırgan başarılı bir şekilde yeniden giriş saldırısı gerçekleştirdi ve aynı işlevin yeniden girişten önce ve sonra çok farklı değerler döndürmesine neden oldu.
! Jarvis Network Flash Kredi Yeniden Giriş Saldırısı Olay Analizi
Derinlemesine araştırmalar, sorunun remove_liquidity fonksiyonunda olduğunu ortaya koydu. Bu fonksiyon, likiditeyi kaldırmak ve kullanıcı tokenlerini iade etmekle sorumludur. Polygon zinciri EVM ile uyumlu olduğundan, transfer sürecinde sözleşmenin yeniden giriş mantığını tetikledi.
Anahtar boşluk benlikte yatıyor. D değişkeni. Normalde, kendi kendine. D, likidite kaldırıldığında zamanında güncellenmelidir. Ancak, koddaki mantıksal bir kusur nedeniyle, benlik. D'nin güncellemesi, harici bir arama sonrasına kadar ertelendi. Bu, bir saldırgana, güncellenmemiş bir benlikten yararlanarak ortaya bir işlem ekleme fırsatı verir. Arbitraj için D değeri.
remove_liquidity fonksiyonu, reentrancy'yi önlemek için @nonreentrant('lock') dekoratörünü kullansa da, saldırganlar bu koruma mekanizmasını ustaca aşmayı başardılar. Diğer sözleşmelerin borç alma işlevlerine yeniden girmeyi tercih ederek, doğrudan remove_liquidity fonksiyonuna yeniden girmekten kaçındılar ve böylece yeniden giriş kilidinin kısıtlamalarını atlattılar.
! Jarvis Network Flash Kredi Yeniden Giriş Saldırısı Olay Analizi
Saldırı, akıllı sözleşme geliştirmede birkaç temel güvenlik ilkesinin önemini vurguluyor:
Bu olay, hızla büyüyen blok zinciri ekosisteminde güvenliğin her zaman en önemli öncelik olduğunu bir kez daha hatırlatıyor. Proje geliştirme ekibi, kullanıcı varlıklarının güvenliğini sağlamak için en son güvenlik uygulamalarını sürekli olarak izlemeli ve düzenli kod incelemeleri ve güvenlik açığı testleri yapmalıdır.
! Jarvis Network Flash Kredi Yeniden Giriş Saldırısı Olay Analizi