OrionProtocol'un Reentrancy Saldırısı Olayı Analizi
2023 yılının 2 Şubat'ında, Ethereum ve Binance Akıllı Zinciri üzerindeki OrionProtocol sözleşmesi bir güvenlik açığı nedeniyle yeniden giriş saldırısına uğradı. Saldırgan, Ethereum zincirinde 2,844,766 USDT ve Binance Akıllı Zinciri'nde 191,606 BUSD dahil olmak üzere yaklaşık 2.9 milyon dolar değerinde fonu çalmayı başardı.
Saldırı Süreci Analizi
Saldırgan önce özel bir Token sözleşmesi dağıttı ve bu Token üzerinde transfer ve yetkilendirme işlemleri gerçekleştirdi, böylece sonraki saldırı için hazırlık yaptı. Ardından, saldırgan Uniswap V2'nin swap fonksiyonunu kullanarak borç aldı ve token takası yapmak için OrionProtocol'ün ExchangeWithAtomic.swapThroughOrionPool yöntemini çağırdı.
Değişim yolu olarak ayarlandı: USDC → Saldırganın özel Token'ı → USDT
Dönüşüm sürecinde, saldırganın özel Token sözleşmesinde bulunan geri çağırma işlevi nedeniyle, Token transferi sırasında ExchangeWithAtomic.depositAsset yönteminin tekrar çağrılmasına olanak tanınmıştır. Bu reentrancy saldırısı, yatırılan miktarın tekrar hesaplanmasına yol açarak, sonunda saldırganın gerçekte yatırılan miktardan fazla fon çekmesine izin vermiştir.
Fon Akışı
Saldırganın başlangıç fonları, büyük bir ticaret platformunun sıcak cüzdanından gelmektedir. Saldırı sonucu elde edilen 1,651 ETH'nin 657.5 ETH'si hâlâ saldırganın cüzdan adresinde bulunmakta, geri kalan kısmı ise karıştırma hizmeti aracılığıyla transfer edilmiştir.
Açık Analizi
Açığın temel sorunu doSwapThroughOrionPool fonksiyonunda ortaya çıkmaktadır. Bu fonksiyon, token transferi gerçekleştirildikten sonra curBalance değişkenini günceller, bu da yeniden giriş saldırıları için koşullar yaratır. Saldırgan, özelleştirilmiş Token'ın transfer fonksiyonuna geri çağırma mantığı ekleyerek, curBalance güncellenmeden önce depositAsset fonksiyonunun tekrar tekrar çağrılmasına neden olur ve bu da bakiye hesaplamasında hatalara yol açar.
Önleme Önerileri
Benzer saldırıları önlemek için proje ekibi aşağıdaki noktalara dikkat etmelidir:
Sıkı erişim kontrolü ve yetki yönetimi uygulayın.
Akıllı sözleşmeleri "Kontroller-Etkiler-Etkileşimler" (Checks-Effects-Interactions) modeline göre yazın.
Reentrancy saldırılarını önlemek için reentrancy kilidi veya benzeri mekanizmalar kullanın.
Token değişimi ile ilgili işlevler için, çeşitli Token türlerinin ve değişim yollarının getirebileceği güvenlik risklerini dikkate almak gerekir.
Kapsamlı bir güvenlik denetimi gerçekleştirin, statik analiz, dinamik testler ve manuel inceleme dahil.
Sözleşme faaliyetlerini sürekli izleyin ve hızlı yanıt mekanizması kurun.
Bu olay, akıllı sözleşmelerin geliştirilmesi ve uygulanmasında güvenliğin her zaman en önemli öncelik olması gerektiğini bir kez daha vurgulamaktadır. Proje sahipleri, kullanıcı varlıklarını korumak ve platform itibarını sürdürmek için güvenlik önlemlerini sürekli olarak geliştirmelidir.
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.
13 Likes
Reward
13
7
Repost
Share
Comment
0/400
CryptoCrazyGF
· 19h ago
Yine yine yine coin çalındı. Ayı Piyasası performans için gerçekten de işte.
View OriginalReply0
FUD_Vaccinated
· 08-14 03:57
Yine Emiciler Tarafından Oyuna Getirilmek için geldiler.
View OriginalReply0
GateUser-aa7df71e
· 08-13 22:35
Bir başka enayiler biçak, arkamda analiz dersine bak.
View OriginalReply0
CoinBasedThinking
· 08-13 22:34
Yine bu eski numara tekrarlandı.
View OriginalReply0
HalfBuddhaMoney
· 08-13 22:29
Yine bir akıllı sözleşme klasiği başarısız oldu, enayiler paralarını kaybetti.
View OriginalReply0
NewPumpamentals
· 08-13 22:26
Yine bir yeniden giriş saldırısı, ne zaman bitecek bu iş?
OrionProtocol, 2.9 milyon dolar değerinde bir reentrancy saldırısına uğradı; çalınan fonların analizi ve önleme önerileri.
OrionProtocol'un Reentrancy Saldırısı Olayı Analizi
2023 yılının 2 Şubat'ında, Ethereum ve Binance Akıllı Zinciri üzerindeki OrionProtocol sözleşmesi bir güvenlik açığı nedeniyle yeniden giriş saldırısına uğradı. Saldırgan, Ethereum zincirinde 2,844,766 USDT ve Binance Akıllı Zinciri'nde 191,606 BUSD dahil olmak üzere yaklaşık 2.9 milyon dolar değerinde fonu çalmayı başardı.
Saldırı Süreci Analizi
Saldırgan önce özel bir Token sözleşmesi dağıttı ve bu Token üzerinde transfer ve yetkilendirme işlemleri gerçekleştirdi, böylece sonraki saldırı için hazırlık yaptı. Ardından, saldırgan Uniswap V2'nin swap fonksiyonunu kullanarak borç aldı ve token takası yapmak için OrionProtocol'ün ExchangeWithAtomic.swapThroughOrionPool yöntemini çağırdı.
Değişim yolu olarak ayarlandı: USDC → Saldırganın özel Token'ı → USDT
Dönüşüm sürecinde, saldırganın özel Token sözleşmesinde bulunan geri çağırma işlevi nedeniyle, Token transferi sırasında ExchangeWithAtomic.depositAsset yönteminin tekrar çağrılmasına olanak tanınmıştır. Bu reentrancy saldırısı, yatırılan miktarın tekrar hesaplanmasına yol açarak, sonunda saldırganın gerçekte yatırılan miktardan fazla fon çekmesine izin vermiştir.
Fon Akışı
Saldırganın başlangıç fonları, büyük bir ticaret platformunun sıcak cüzdanından gelmektedir. Saldırı sonucu elde edilen 1,651 ETH'nin 657.5 ETH'si hâlâ saldırganın cüzdan adresinde bulunmakta, geri kalan kısmı ise karıştırma hizmeti aracılığıyla transfer edilmiştir.
Açık Analizi
Açığın temel sorunu doSwapThroughOrionPool fonksiyonunda ortaya çıkmaktadır. Bu fonksiyon, token transferi gerçekleştirildikten sonra curBalance değişkenini günceller, bu da yeniden giriş saldırıları için koşullar yaratır. Saldırgan, özelleştirilmiş Token'ın transfer fonksiyonuna geri çağırma mantığı ekleyerek, curBalance güncellenmeden önce depositAsset fonksiyonunun tekrar tekrar çağrılmasına neden olur ve bu da bakiye hesaplamasında hatalara yol açar.
Önleme Önerileri
Benzer saldırıları önlemek için proje ekibi aşağıdaki noktalara dikkat etmelidir:
Bu olay, akıllı sözleşmelerin geliştirilmesi ve uygulanmasında güvenliğin her zaman en önemli öncelik olması gerektiğini bir kez daha vurgulamaktadır. Proje sahipleri, kullanıcı varlıklarını korumak ve platform itibarını sürdürmek için güvenlik önlemlerini sürekli olarak geliştirmelidir.