OrionProtocol Yeniden Giriş Saldırısı Olayı Analizi
2023年2月2日下午, bir DEX platformu Ethereum ve Binance Akıllı Zinciri üzerinde sözleşme açığı nedeniyle tekrar giriş saldırısına uğradı ve toplamda yaklaşık 2.9 milyon dolar değerinde kripto varlık kaybı yaşandı. Bu kayıplar arasında Ethereum üzerinde 2,844,766 USDT ve Binance Akıllı Zinciri üzerinde 191,606 BUSD bulunmaktadır.
Saldırı Süreci Özeti
Saldırgan önce özel bir token sözleşmesi dağıttı ve ilgili transfer ve yetkilendirme işlemlerini gerçekleştirdi. Ardından, saldırgan bir DEX'in takas fonksiyonu aracılığıyla borç aldı ve hedef platformun swapThroughOrionPool yöntemini çağırarak token değişimi yaptı. Değişim yolunda saldırganın oluşturduğu token sözleşmesi adresi bulunuyordu, bu da saldırgana işlem sürecinde geri çağırma işlemini gerçekleştirme imkanı sağladı.
Dönüşüm sürecinde, saldırgan kendi oluşturduğu token sözleşmesindeki geri çağırma işlevini kullanarak hedef platformun depositAsset yöntemini tekrar tekrar çağırdı ve bu da yatırılan miktarın birikmesine neden oldu. Sonunda, saldırgan çekim işlemiyle kâr elde etti.
Fon Akışı
Saldırganın başlangıç sermayesi, büyük bir ticaret platformunun sıcak cüzdanından gelmektedir. Saldırının kazandığı 1,651 ETH'nin 657.5 ETH'si hala saldırganın cüzdan adresinde bulunmakta, geri kalan kısmı ise karışık para hizmeti aracılığıyla transfer edilmiştir.
Açık Analizi
Açıkların temel sorunu doSwapThroughOrionPool fonksiyonunda ortaya çıkmaktadır. Bu fonksiyon, token transferini gerçekleştirdikten sonra curBalance değişkenini güncelleyerek, olası re-entrancy saldırı riski göz önünde bulundurulmamıştır. Saldırgan, özel token'in transfer fonksiyonuna geri çağırma mantığı ekleyerek depositAsset fonksiyonuna re-entrancy çağrısını başarıyla gerçekleştirmiştir ve bu da curBalance değişkeninin hatalı bir şekilde güncellenmesine yol açmıştır.
Saldırı Yeniden Üretimi
Araştırmacılar saldırı sürecini başarıyla yeniden üretti ve ilgili POC kodunu sağladı. Test sonuçları, saldırganların sözleşme açığını kullanarak ek fonlar elde edebileceğini gösteriyor.
Güvenlik Tavsiyeleri
Token değişim işlevselliğine sahip akıllı sözleşmeler için geliştiricilerin dikkate alması gereken noktalar şunlardır:
Çeşitli token türlerinin ve değişim yollarının olası beklenmedik durumlarını yeterince dikkate alın.
"Kontroller-Etkiler-Etkileşimler" (Checks-Effects-Interactions) kodlama modelini izleyin, yani önce durum kontrolü yapın, ardından sözleşme durumunu güncelleyin ve son olarak dış sözleşmelerle etkileşime geçin.
Yeniden giriş saldırılarını önlemek için yeniden giriş kilidi gibi güvenlik mekanizmalarının uygulanması.
Harici çağrılar, özellikle para transferi ile ilgili işlemler söz konusu olduğunda, son derece dikkatli olunmalı ve kapsamlı bir güvenlik denetimi yapılmalıdır.
Bu önlemleri alarak, akıllı sözleşmelerin saldırıya uğrama riskini önemli ölçüde azaltabilir, projenin güvenliğini ve istikrarını artırabilirsiniz. Web3 ekosisteminde, sözleşme güvenliğinin sağlanması, kullanıcı güvenini ve varlık güvenliğini korumak için kritik öneme sahiptir.
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.
OrionProtocol yeniden giriş saldırısına uğradı, 2.9 milyon dolar değerinde şifreleme varlığı kaybetti.
OrionProtocol Yeniden Giriş Saldırısı Olayı Analizi
2023年2月2日下午, bir DEX platformu Ethereum ve Binance Akıllı Zinciri üzerinde sözleşme açığı nedeniyle tekrar giriş saldırısına uğradı ve toplamda yaklaşık 2.9 milyon dolar değerinde kripto varlık kaybı yaşandı. Bu kayıplar arasında Ethereum üzerinde 2,844,766 USDT ve Binance Akıllı Zinciri üzerinde 191,606 BUSD bulunmaktadır.
Saldırı Süreci Özeti
Saldırgan önce özel bir token sözleşmesi dağıttı ve ilgili transfer ve yetkilendirme işlemlerini gerçekleştirdi. Ardından, saldırgan bir DEX'in takas fonksiyonu aracılığıyla borç aldı ve hedef platformun swapThroughOrionPool yöntemini çağırarak token değişimi yaptı. Değişim yolunda saldırganın oluşturduğu token sözleşmesi adresi bulunuyordu, bu da saldırgana işlem sürecinde geri çağırma işlemini gerçekleştirme imkanı sağladı.
Dönüşüm sürecinde, saldırgan kendi oluşturduğu token sözleşmesindeki geri çağırma işlevini kullanarak hedef platformun depositAsset yöntemini tekrar tekrar çağırdı ve bu da yatırılan miktarın birikmesine neden oldu. Sonunda, saldırgan çekim işlemiyle kâr elde etti.
Fon Akışı
Saldırganın başlangıç sermayesi, büyük bir ticaret platformunun sıcak cüzdanından gelmektedir. Saldırının kazandığı 1,651 ETH'nin 657.5 ETH'si hala saldırganın cüzdan adresinde bulunmakta, geri kalan kısmı ise karışık para hizmeti aracılığıyla transfer edilmiştir.
Açık Analizi
Açıkların temel sorunu doSwapThroughOrionPool fonksiyonunda ortaya çıkmaktadır. Bu fonksiyon, token transferini gerçekleştirdikten sonra curBalance değişkenini güncelleyerek, olası re-entrancy saldırı riski göz önünde bulundurulmamıştır. Saldırgan, özel token'in transfer fonksiyonuna geri çağırma mantığı ekleyerek depositAsset fonksiyonuna re-entrancy çağrısını başarıyla gerçekleştirmiştir ve bu da curBalance değişkeninin hatalı bir şekilde güncellenmesine yol açmıştır.
Saldırı Yeniden Üretimi
Araştırmacılar saldırı sürecini başarıyla yeniden üretti ve ilgili POC kodunu sağladı. Test sonuçları, saldırganların sözleşme açığını kullanarak ek fonlar elde edebileceğini gösteriyor.
Güvenlik Tavsiyeleri
Token değişim işlevselliğine sahip akıllı sözleşmeler için geliştiricilerin dikkate alması gereken noktalar şunlardır:
Bu önlemleri alarak, akıllı sözleşmelerin saldırıya uğrama riskini önemli ölçüde azaltabilir, projenin güvenliğini ve istikrarını artırabilirsiniz. Web3 ekosisteminde, sözleşme güvenliğinin sağlanması, kullanıcı güvenini ve varlık güvenliğini korumak için kritik öneme sahiptir.