OrionProtocol yeniden giriş saldırısı olayı analizi
2 Şubat 2023 15:40:20 UTC'de, Ethereum ve Binance Akıllı Zinciri üzerindeki OrionProtocol, sözleşme açığı nedeniyle yeniden giriş saldırısına uğradı. Saldırgan, Ethereum ağından 2,844,766 USDT, Binance Akıllı Zinciri'nden ise 191,606 BUSD kazandı ve toplam kayıp yaklaşık 2,9 milyon dolar.
Saldırı Süreci Analizi
Saldırgan önce özel bir Token sözleşmesi dağıttı ve bir dizi hazırlık yaptı. Daha sonra, saldırgan belirli bir DEX'in swap fonksiyonu aracılığıyla borç aldı ve token değişimi için OrionProtocol'ün ExchangeWithAtomic.swapThroughOrionPool yöntemini çağırdı. Değişim yolu, saldırgan tarafından oluşturulan Token sözleşmesi adresini içeriyordu ve bu, sonraki geri çağırma saldırısı için bir zemin hazırladı.
Dönüşüm sürecinde, saldırganın Token sözleşmesinde geri çağırma mantığı bulunduğundan, her para aktarımı ExchangeWithAtomic.depositAsset yöntemine yeniden giriş çağrısını tetikler. Bu, depozito miktarının birden fazla kez birikmesine neden olur ve sonunda saldırgan, para çekme işlemi ile aşırı kar elde eder.
Fon Akışı
Saldırganın başlangıç sermayesi bir ticaret platformunun sıcak cüzdanından gelmektedir. Saldırı başarılı olduktan sonra, elde edilen 1,651 ETH'nin 657.5 ETH'si saldırganın cüzdan adresinde kalmış, geri kalan kısmı karışık hizmetler aracılığıyla transfer edilmiştir.
Açık Analizi
Açığın temelinde ExchangeWithAtomic sözleşmesinin doSwapThroughOrionPool ve _doSwapTokens fonksiyonları bulunmaktadır. Bu fonksiyonlar, token transferi gerçekleştikten sonra curBalance değişkenini güncellediğinden, saldırganlara yeniden giriş saldırılarından faydalanma fırsatı vermektedir. Saldırgan, özel Token'ın transfer fonksiyonuna geri çağırma mantığı ekleyerek curBalance'ın yanlış güncellenmesine neden olur ve böylece ani kredi geri ödenmesine rağmen ek fonları çekebilme imkanı bulur.
Saldırı Yeniden Üretimi
Araştırmacılar, saldırı sürecini simüle eden bir kısım POC kodu sağladı. Test sonuçları, saldırganların sözleşme açığını kullanarak ek USDT elde etmeyi başardıklarını gösterdi.
Güvenlik Tavsiyeleri
Bu tür saldırılara karşı proje sahiplerine önerilir:
Sözleşmede token takas işlevini gerçekleştirirken, çeşitli token türlerinin ve takas yollarının getirebileceği güvenlik risklerini dikkate almak gerekir.
"Kontroller-Etkiler-Etkileşimler" (Checks-Effects-Interactions) kodlama modeline sıkı sıkıya uyulmalıdır; yani önce koşul kontrolü yapılmalı, ardından durum değişkenleri güncellenmeli ve son olarak dış çağrılar gerçekleştirilmelidir.
Yeniden giriş saldırılarını önlemek için anahtar durum değişkenlerini güncellemeden önce yeniden giriş kilidi veya benzeri bir mekanizma kullanın.
Düzenli olarak kod denetimi ve güvenlik testleri yaparak potansiyel güvenlik açıklarını zamanında tespit edip düzeltin.
Bu olay, akıllı sözleşmelerin güvenliğinin önemini bir kez daha vurguladı. Proje ekipleri güvenlik sorunlarına sürekli dikkat etmeli ve kullanıcı varlıklarının güvenliği ile projenin uzun vadeli istikrarlı gelişimini sağlamak için kapsamlı koruma önlemleri almalıdır.
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.
20 Likes
Reward
20
10
Repost
Share
Comment
0/400
ColdWalletGuardian
· 08-14 12:21
Açıklar önlenemez.
View OriginalReply0
NestedFox
· 08-14 11:36
Bu gerçekten çok şaşırtıcı mı?
View OriginalReply0
ImpermanentLossEnjoyer
· 08-14 11:01
Kalıcı Kayıp'ın günlükleri
View OriginalReply0
rug_connoisseur
· 08-12 04:38
Yine bir akıllı sözleşme başarısız oldu.
View OriginalReply0
SchroedingerGas
· 08-11 18:57
Yine kim tarafından yolunmuş?
View OriginalReply0
DAOTruant
· 08-11 18:57
Bir sözleşme daha alındı.
View OriginalReply0
MainnetDelayedAgain
· 08-11 18:56
Yine istatistik veritabanına bir örnek daha, gerçekten olmamalı.
View OriginalReply0
GateUser-5854de8b
· 08-11 18:51
Yine sözleşme çalındı...
View OriginalReply0
MEV_Whisperer
· 08-11 18:51
Yine reentrancy, kaçtım kaçtım.
View OriginalReply0
SignatureVerifier
· 08-11 18:37
*sigh* başka bir ders kitabı reentrancy hatası. yetersiz doğrulama kontrolleri ile istatistiksel olarak kaçınılmaz. bunu görmüştüm açıkçası.
OrionProtocol yeniden giriş saldırısına uğradı, yaklaşık 2.9 milyon dolar kaybetti.
OrionProtocol yeniden giriş saldırısı olayı analizi
2 Şubat 2023 15:40:20 UTC'de, Ethereum ve Binance Akıllı Zinciri üzerindeki OrionProtocol, sözleşme açığı nedeniyle yeniden giriş saldırısına uğradı. Saldırgan, Ethereum ağından 2,844,766 USDT, Binance Akıllı Zinciri'nden ise 191,606 BUSD kazandı ve toplam kayıp yaklaşık 2,9 milyon dolar.
Saldırı Süreci Analizi
Saldırgan önce özel bir Token sözleşmesi dağıttı ve bir dizi hazırlık yaptı. Daha sonra, saldırgan belirli bir DEX'in swap fonksiyonu aracılığıyla borç aldı ve token değişimi için OrionProtocol'ün ExchangeWithAtomic.swapThroughOrionPool yöntemini çağırdı. Değişim yolu, saldırgan tarafından oluşturulan Token sözleşmesi adresini içeriyordu ve bu, sonraki geri çağırma saldırısı için bir zemin hazırladı.
Dönüşüm sürecinde, saldırganın Token sözleşmesinde geri çağırma mantığı bulunduğundan, her para aktarımı ExchangeWithAtomic.depositAsset yöntemine yeniden giriş çağrısını tetikler. Bu, depozito miktarının birden fazla kez birikmesine neden olur ve sonunda saldırgan, para çekme işlemi ile aşırı kar elde eder.
Fon Akışı
Saldırganın başlangıç sermayesi bir ticaret platformunun sıcak cüzdanından gelmektedir. Saldırı başarılı olduktan sonra, elde edilen 1,651 ETH'nin 657.5 ETH'si saldırganın cüzdan adresinde kalmış, geri kalan kısmı karışık hizmetler aracılığıyla transfer edilmiştir.
Açık Analizi
Açığın temelinde ExchangeWithAtomic sözleşmesinin doSwapThroughOrionPool ve _doSwapTokens fonksiyonları bulunmaktadır. Bu fonksiyonlar, token transferi gerçekleştikten sonra curBalance değişkenini güncellediğinden, saldırganlara yeniden giriş saldırılarından faydalanma fırsatı vermektedir. Saldırgan, özel Token'ın transfer fonksiyonuna geri çağırma mantığı ekleyerek curBalance'ın yanlış güncellenmesine neden olur ve böylece ani kredi geri ödenmesine rağmen ek fonları çekebilme imkanı bulur.
Saldırı Yeniden Üretimi
Araştırmacılar, saldırı sürecini simüle eden bir kısım POC kodu sağladı. Test sonuçları, saldırganların sözleşme açığını kullanarak ek USDT elde etmeyi başardıklarını gösterdi.
Güvenlik Tavsiyeleri
Bu tür saldırılara karşı proje sahiplerine önerilir:
Bu olay, akıllı sözleşmelerin güvenliğinin önemini bir kez daha vurguladı. Proje ekipleri güvenlik sorunlarına sürekli dikkat etmeli ve kullanıcı varlıklarının güvenliği ile projenin uzun vadeli istikrarlı gelişimini sağlamak için kapsamlı koruma önlemleri almalıdır.