OrionProtocol tekrar giriş saldırısına uğradı, yaklaşık 3 milyon dolar fon çalındı.

robot
Abstract generation in progress

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

2023 yılının 2 Şubat'ında, Ethereum ve Binance zincirindeki OrionProtocol sözleşmeleri bir açık nedeniyle reentrancy saldırısına uğradı. Saldırgan, yaklaşık 2.9 milyon dolar değerinde fon çalmayı başardı; bu miktarın içinde Ethereum'da 2,844,766 USDT ve BSC'de 191,606 BUSD bulunuyor.

Saldırı Süreci Analizi

Saldırgan önce özel bir Token sözleşmesi oluşturdu ve bunu devretti ve yetkilendirme işlemleri gerçekleştirdi, böylece sonraki saldırıya hazır hale geldi. Ardından, saldırgan UNI-V2'nin swap yöntemini kullanarak borç aldı ve ExchangeWithAtomic sözleşmesinin swapThroughOrionPool yöntemini çağırarak token takası yaptı.

Değişim yolu [USDC, saldırgan tarafından oluşturulan Token, USDT] olarak ayarlandı. Değişim sürecinde, saldırgan tarafından oluşturulan Token sözleşmesinde geri çağırma işlevi bulunduğundan, ExchangeWithAtomic.swapThroughOrionPool yönteminin çalıştırılması sırasında yeniden giriş saldırısı tetiklendi. Saldırgan, Token.Transfer ile ExchangeWithAtomic.depositAsset yöntemini geri çağırmaya devam ederek, depozit miktarının sürekli artmasına neden oldu ve nihayetinde çekim işlemi ile kâr elde etti.

OrionProtocol Reentrancy Attack Analysis with PoC

Fon Akışı

Saldırganın başlangıç sermayesi, bir işlem platformunun sıcak cüzdan hesabından geliyor. Saldırıdan elde edilen 1,651 ETH'nin 657.5'i hala saldırganın cüzdan adresinde bulunuyor, geri kalan kısmı ise karışık coin hizmeti aracılığıyla transfer edildi.

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

Açık Analizi

Açığın temel sorunu doSwapThroughOrionPool fonksiyonunda ortaya çıkmaktadır. Bu fonksiyon, token transferi gerçekleştirdikten sonra curBalance değişkenini günceller, bu da saldırgan için bir fırsat yaratır. Saldırgan, kendi oluşturduğu Token sözleşmesinin transfer fonksiyonuna bir geri çağırma işlevi ekler; bu geri çağırma, depositAsset fonksiyonunu tekrar çağırır. Bu, curBalance değişkeninin yanlış güncellenmesine neden olur ve saldırganın flash loan'ı geri ödedikten sonra withdraw fonksiyonu aracılığıyla ek fonları çekmesine olanak tanır.

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

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

OrionProtocol Yeniden Giriş Saldırı Analizi Eşlik Eden PoC

Saldırı Yeniden Üretimi

Araştırmacılar, saldırı sürecini simüle eden bazı POC kodlarını sağladılar. Test sonuçları, saldırganın sözleşme açığını başarıyla kullanarak ek USDT elde ettiğini gösteriyor.

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 Reentrancy Attack Analysis with PoC

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

Güvenlik Önerileri

Bu tür saldırılar için, proje ekiplerinin sözleşmeyi tasarlarken aşağıdaki hususları dikkate alması önerilir:

  1. Farklı Token'ların ve değişim yollarının getirebileceği güvenlik risklerini kapsamlı bir şekilde değerlendirin.
  2. "Önce değerlendirme, sonra değişkenlere yazma, daha sonra dış çağrılar yapma" kodlama standartlarına (Checks-Effects-Interactions modeli) uyun.
  3. Token değişim işlevini gerçekleştirirken, özellikle reentrancy saldırılarına karşı dikkatli olun.
  4. Düzenli olarak kod denetimleri yapın, potansiyel açıkları zamanında tespit edin ve düzeltin.
  5. İşlem tutarı sınırlamaları veya diğer risk kontrol önlemleri uygulanmasını düşünün.

Bu olay, akıllı sözleşmelerin güvenliğinin önemini bir kez daha vurgulamaktadır. Proje sahipleri, sözleşme güvenliğine sürekli olarak dikkat etmeli ve kullanıcı varlıklarını korumak için aktif önlemler almalıdır, böylece tüm Web3 ekosisteminin sağlıklı gelişimini sürdürebiliriz.

TOKEN2.65%
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
  • 6
  • Share
Comment
0/400
SybilSlayervip
· 07-28 15:34
Yine re-entrancy, gerçekten sıkıcı.
View OriginalReply0
CantAffordPancakevip
· 07-28 11:05
Yine bir sözleşme açığı, pes ettim.
View OriginalReply0
GateUser-26d7f434vip
· 07-25 18:03
Rug Pull olmalı~
View OriginalReply0
OvertimeSquidvip
· 07-25 17:55
Yine kontrat Klip Kuponlar ile alındı, gözlerim karardı.
View OriginalReply0
BrokenYieldvip
· 07-25 17:55
başka bir gün, başka bir defi hack... protokol açıkları asla uyumaz
View OriginalReply0
SerumSquirrelvip
· 07-25 17:40
Bir diğer kurban Rug Pull yaptı~
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)