OrionProtocol, yeniden giriş saldırısına uğradı ve 2.9 milyon dolar değerinde varlık kaybetti.

robot
Abstract generation in progress

OrionProtocol'ün Reentrancy Saldırısı Olayı Analizi

2 Şubat 2023'te, Ethereum ve Binance Smart Chain'deki Orion Protocol, sözleşme açığı nedeniyle yeniden giriş saldırısına uğradı ve toplamda yaklaşık 2.9 milyon dolar değerinde varlık kaybı yaşandı. Bu kaybın içinde Ethereum üzerindeki 2,844,766 USDT ve Binance Smart Chain üzerindeki 191,606 BUSD bulunmaktadır.

Saldırı Süreci Analizi

Saldırgan önce özel bir Token sözleşmesi dağıttı ve ilgili transfer ve yetkilendirme işlemlerini gerçekleştirdi, sonraki saldırı için hazırlık yaptı. Ardından, saldırgan Uniswap V2'nin swap fonksiyonunu kullanarak borç aldı ve OrionProtocol'ün ExchangeWithAtomic.swapThroughOrionPool yöntemini çağırarak token takası yaptı.

Değişim yolu [USDC, saldırgan Token, USDT] olarak ayarlandı; burada saldırgan Token geri çağırma işlemlerini gerçekleştirmek için kullanılır. Değişim sürecinde, saldırgan Token sözleşmesinde geri çağırma mantığı bulunduğu için, ExchangeWithAtomic.swapThroughOrionPool yöntemi çalıştırıldığında, Token.Transfer aracılığıyla ExchangeWithAtomic.depositAsset fonksiyonuna geri çağırma yapılır ve böylece yeniden giriş saldırısı gerçekleştirilir. Bu, depozito miktarının tekrar tekrar artırılmasına neden olur ve nihayetinde saldırgan, para çekme işlemiyle kar elde eder.

OrionProtocol yeniden giriş saldırısı analizi PoC ile

Fon Akışı

Saldırganın başlangıç sermayesi, büyük bir ticaret platformunun sıcak cüzdanından sağlandı. Saldırıdan elde edilen 1,651 ETH'nin 657.5'i hala saldırganın cüzdan adresinde, geri kalan kısmı ise karıştırma hizmetleri aracılığıyla transfer edildi.

OrionProtocol Yeniden Giriş Saldırısı Analizi ile PoC

Açık Analizi

Açığın temel sorunu doSwapThroughOrionPool fonksiyonunda ortaya çıkıyor. Bu fonksiyon, transfer işlemi gerçekleştikten sonra curBalance değişkenini güncelleyen _doSwapTokens fonksiyonunu çağırıyor. Saldırgan, özel Token'ın transfer fonksiyonuna eklenen geri çağırma mantığını kullanarak, transfer işlemi sırasında depositAsset fonksiyonunu tekrar çağırıyor ve bu da curBalance değişkeninin yanlış güncellenmesine neden oluyor. Bu, saldırganın hızlı kredi geri ödendikten sonra withdraw fonksiyonu aracılığıyla ek fonları çekmesine olanak tanıyor.

OrionProtocol Geri Dönüş Saldırısı Analizi ile PoC

OrionProtocol Yeniden Giriş Saldırısı Analizi ve PoC

OrionProtocol yeniden giriş saldırısı analizi ile PoC

OrionProtocol yeniden giriş saldırısı analizi ile PoC

OrionProtocol Reentrancy Attack Analysis with PoC

OrionProtocol yeniden giriş saldırısı analizi ile PoC

OrionProtocol yeniden giriş saldırı analizi ile PoC

OrionProtocol Yeniden Giriş Saldırısı Analizi ile PoC

OrionProtocol Reentrancy Attack Analysis with PoC

Güvenlik Önerileri

Benzer saldırıları önlemek için proje sahiplerinin aşağıdaki noktalara dikkat etmesi gerekir:

  1. Token değişim işlevini gerçekleştirirken, çeşitli Token türlerinin ve değişim yollarının getirebileceği güvenlik risklerini dikkate almak gerekir.

  2. "Kontroller - Etkiler - Etkileşimler" (Checks-Effects-Interactions) kodlama modeline sıkı bir şekilde uyulmalıdır; yani önce durum kontrolü yapılmalı, ardından sözleşme durumu güncellenmeli ve en son olarak dış sözleşmelerle etkileşim kurulmalıdır.

  3. Yeniden giriş saldırılarının gerçekleşmesini önlemek için yeniden giriş kilidi gibi güvenlik mekanizmaları uygulayın.

  4. Fonların işleyişini etkileyen kritik işlevler için kapsamlı bir güvenlik denetimi ve test yapılmalıdır.

  5. Saldırı zorluğunu artırmak için gecikmeli çekim veya çoklu imza gibi ek güvenlik önlemlerinin uygulanması düşünülmelidir.

Bu önlemleri alarak, akıllı sözleşmelerin saldırıya uğrama riskini önemli ölçüde azaltabilir ve projenin genel güvenliğini artırabilirsiniz. Web3 ekosisteminde, güvenlik her zaman öncelikli bir unsur olmalıdır.

TOKEN5.61%
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
EntryPositionAnalystvip
· 16h ago
Yine bir ekip dikkatsiz davrandı, ders almayı öğrendi.
View OriginalReply0
BearMarketSurvivorvip
· 17h ago
Ana cephe tekrar saldırıya uğradı, kayıplar 290w
View OriginalReply0
PaperHandSistervip
· 17h ago
Yine Rekt. Neden sürekli sözleşme açıklarını hedef alıyorsunuz?
View OriginalReply0
NeverVoteOnDAOvip
· 17h ago
Yine bir sözleşme açığı, sonu gelmiyor.
View OriginalReply0
BearMarketSurvivorvip
· 17h ago
Yine karardı mı? Hangi cüzdan güvenli?
View OriginalReply0
  • 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)