OrionProtocol, 2.9 milyon dolar değerinde bir reentrancy saldırısına uğradı. Saldırı sürecinin analizi ve önleme önerileri.

robot
Abstract generation in progress

OrionProtocol'un Reentrancy Saldırısı Olayı Analizi

2 Şubat 2023'te, OrionProtocol Ethereum ve Binance Akıllı Zinciri'nde yeniden giriş saldırısına uğradı ve yaklaşık 2,9 milyon dolar kayba neden oldu. Saldırganlar, sözleşme açığını kullanarak Ethereum zincirinde 2.844.766 USDT, Binance Akıllı Zinciri'nde ise 191.606 BUSD çaldılar.

Saldırı Süreci

Saldırgan önce özel bir Token sözleşmesi oluşturdu ve ilgili transfer ve yetkilendirme işlemlerini gerçekleştirdi. Ardından, saldırgan belirli bir DEX'in swap yöntemini kullanarak borç aldı ve ExchangeWithAtomic.swapThroughOrionPool yöntemini çağırarak token takası yaptı. Takas yolu, saldırganın oluşturduğu Token sözleşmesi adresini içeriyordu.

Dönüşüm sürecinde, saldırganın Token sözleşmesinde bir geri çağırma mekanizması bulunduğundan, saldırgan Token.Transfer üzerinden ExchangeWithAtomic.depositAsset yöntemini geri çağırmaya devam edebiliyor ve bu da yeniden giriş saldırısının gerçekleştirilmesine olanak tanıyor. Bu, yatırılan miktarın tekrar tekrar eklenmesine yol açıyor ve nihayetinde saldırgan, çekim işlemi ile kâr elde ediyor.

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

Fon Akışı

Saldırganın başlangıç sermayesi, bir ticaret platformunun sıcak cüzdan hesabından gelmektedir. Elde edilen 1,651 ETH'nin 657.5'i hala saldırganın cüzdan adresinde bulunurken, geri kalan kısmı karıştırma hizmetleri aracılığıyla transfer edilmiştir.

OrionProtocol Reentrancy Attack Analysis with PoC

Açık Analizi

Açığın temel sorunu doSwapThroughOrionPool fonksiyonunda ortaya çıkmaktadır. Bu fonksiyon, transfer işlemi sonrasında curBalance değişkenini güncelleyen _doSwapTokens fonksiyonunu çağırmaktadır. Saldırgan, özelleştirilmiş Token'ın transfer fonksiyonuna eklenen geri çağırma işlevini kullanarak, curBalance güncellenmeden önce depositAsset fonksiyonunu tekrar çağırmakta ve bu da curBalance'ın yanlış güncellenmesine neden olmaktadır. Sonuç olarak, saldırgan, hızlı kredi geri ödemesinden sonra withdraw fonksiyonu aracılığıyla ek fonları çekmiştir.

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 ve PoC

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

OrionProtocol tekrar giriş saldırı analizi ile PoC

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

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

OrionProtocol Reentrancy Attack Analysis with PoC

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

Önleme Önerileri

Benzer saldırıları önlemek için, proje sahiplerinin sözleşme tasarlarken aşağıdaki noktalara dikkat etmeleri önerilir:

  1. Birden fazla Token ve birden fazla değişim yolu ile ortaya çıkabilecek beklenmedik durumları göz önünde bulundur.
  2. "Kontroller-Etkiler-Etkileşimler" (Checks-Effects-Interactions) kodlama modelini izleyin; önce koşul kontrolü yapın, sonra durum değişkenlerini güncelleyin, en son olarak da dış çağrıları gerçekleştirin.
  3. Anahtar işlemlerden önce ve sonra yeniden giriş kilidi kullanın, yeniden giriş saldırılarını önleyin.
  4. Dışarıdan çağrılan Token sözleşmelerinin güvenlik doğrulaması.
  5. Düzenli olarak kod denetimleri ve güvenlik testleri yaparak potansiyel açıkları zamanında tespit edip düzeltin.

Bu önlemleri alarak, proje sözleşmenin güvenliğini ve istikrarını önemli ölçüde artırabilir ve saldırıya uğrama riskini en aza indirebilir.

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
  • Share
Comment
0/400
AirdropHunterXiaovip
· 5h ago
Blok Zinciri projesi bir kez daha sömürüldü.
View OriginalReply0
MemecoinResearchervip
· 5h ago
ngmi... görünüşe göre yeniden giriş laneti tekrar vuruyor fr fr
View OriginalReply0
NightAirdroppervip
· 5h ago
Her gün karalanmak çok kötü.
View OriginalReply0
rugpull_survivorvip
· 5h ago
insanları enayi yerine koymak bir kez daha, bir sonraki kez de.
View OriginalReply0
LightningLadyvip
· 5h ago
Kod yazma yeteneğin oldukça iyi.
View OriginalReply0
PrivacyMaximalistvip
· 5h ago
Yine bir Rug Pull projesi.
View OriginalReply0
NotFinancialAdviservip
· 5h ago
Yine bir proje dolandırıldı.
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)