OrionProtocol'ün reentrancy saldırısı olayı analizi
2023年2月2日下午, Ethereum ve Binance Akıllı Zinciri üzerindeki OrionProtocol projesi, sözleşme açığı nedeniyle yeniden 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 2,844,766 USDT (Ethereum) ve 191,606 BUSD (BSC) bulunmaktadır.
Saldırı Süreci Analizi
Saldırgan önce özel bir Token sözleşmesi dağıttı ve sonraki saldırıya hazırlık olarak ilgili transfer ve yetkilendirme işlemlerini gerçekleştirdi. Ardından, saldırgan bir merkeziyetsiz borsa aracılığıyla swap işlevini kullanarak borç aldı ve OrionProtocol'un ExchangeWithAtomic.swapThroughOrionPool yöntemini çağırarak token takası yaptı. Takas yolu USDC → saldırganın özel Token'ı → USDT olarak belirlendi.
Dönüşüm sürecinde, saldırganlar özel Token sözleşmesindeki geri çağırma fonksiyonunu kullanarak ExchangeWithAtomic.depositAsset yöntemini tekrar tekrar çağırdılar ve bu, yatırılan miktarın toplamasına yol açtı. Sonuç olarak, saldırganlar para çekme işlemi ile kazanç sağladılar.
Fon Akışı
Saldırganın başlangıç sermayesi, büyük bir borsa platformunun sıcak cüzdanından gelmektedir. Elde edilen 1,651 ETH'nin 657.5'u hala saldırganın cüzdan adresinde, geri kalan kısmı ise karıştırma aracı kullanılarak aktarılmıştır.
Açık Analizi
Temel sorun, ExchangeWithAtomic sözleşmesinin doSwapThroughOrionPool fonksiyonundadır. Bu fonksiyon, token transferini gerçekleştirdikten sonra curBalance değişkenini günceller, bu da yeniden giriş saldırıları için bir zemin hazırlar. Saldırgan, özelleştirilmiş Token'ın transfer fonksiyonuna geri çağırma mantığı ekleyerek depositAsset fonksiyonunu tekrar tekrar çağırır ve bu da curBalance'ın hatalı bir şekilde güncellenmesine neden olur. Sonuç olarak, saldırgan, ani kredi ödemesinden sonra withdraw fonksiyonu aracılığıyla fazla fonları çekmiştir.
Önleme Önerileri
Sözleşme geliştirme, durum güncellemelerinden önce dış çağrılardan kaçınmak için "kontroller-etkiler-etkileşimler" (Checks-Effects-Interactions) modelini takip etmelidir.
Token değişim işlevini gerçekleştirirken, çeşitli Token türlerinin ve değişim yollarının getirebileceği güvenlik risklerini dikkate almak gerekir.
Yeniden giriş saldırılarını önlemek için yeniden giriş kilidi gibi güvenlik mekanizmaları ekleyin.
Anahtar işlemler için erişim kontrolü ve limit önlemleri uygulayın.
Fon işlemleriyle ilgili temel işlevlere özellikle odaklanarak kapsamlı bir güvenlik denetimi gerçekleştirin.
Bu olay, akıllı sözleşmelerin güvenliğinin önemini bir kez daha vurguladı. Proje sahipleri, sözleşme güvenliğine sürekli olarak dikkat etmeli, düzenli olarak kod denetimi ve güvenlik açığı düzeltmeleri yapmalıdır, böylece kullanıcı varlıklarının güvenliğini sağlamalıdır. Aynı zamanda, kullanıcılar yeni projelere katılırken dikkatli olmalı, projenin güvenlik durumu ve denetim raporlarına dikkat etmelidir.
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
6
Share
Comment
0/400
ShamedApeSeller
· 07-24 12:02
Bir başka soğuk geldi.
View OriginalReply0
CoffeeOnChain
· 07-24 09:46
Sözleşme denetimi yapılmıyor mu? Hakkıdır soyulmak.
View OriginalReply0
FlippedSignal
· 07-23 09:34
Yine bir şekilde dolandırıldım.
View OriginalReply0
SchrodingersFOMO
· 07-23 09:26
Henüz coinleri bitirmedim, bir yenisi mi patladı?
View OriginalReply0
ETHReserveBank
· 07-23 09:25
Yine 0day ustası çevrimiçi ders veriyor
View OriginalReply0
FlatlineTrader
· 07-23 09:15
Hala reentrancy saldırılarına karşı korunmayı mı bilmiyorsun? Çok kötü.
OrionProtocol, yeniden giriş saldırısına uğradı ve 2,9 milyon dolar değerinde şifreleme varlığı kaybetti.
OrionProtocol'ün reentrancy saldırısı olayı analizi
2023年2月2日下午, Ethereum ve Binance Akıllı Zinciri üzerindeki OrionProtocol projesi, sözleşme açığı nedeniyle yeniden 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 2,844,766 USDT (Ethereum) ve 191,606 BUSD (BSC) bulunmaktadır.
Saldırı Süreci Analizi
Saldırgan önce özel bir Token sözleşmesi dağıttı ve sonraki saldırıya hazırlık olarak ilgili transfer ve yetkilendirme işlemlerini gerçekleştirdi. Ardından, saldırgan bir merkeziyetsiz borsa aracılığıyla swap işlevini kullanarak borç aldı ve OrionProtocol'un ExchangeWithAtomic.swapThroughOrionPool yöntemini çağırarak token takası yaptı. Takas yolu USDC → saldırganın özel Token'ı → USDT olarak belirlendi.
Dönüşüm sürecinde, saldırganlar özel Token sözleşmesindeki geri çağırma fonksiyonunu kullanarak ExchangeWithAtomic.depositAsset yöntemini tekrar tekrar çağırdılar ve bu, yatırılan miktarın toplamasına yol açtı. Sonuç olarak, saldırganlar para çekme işlemi ile kazanç sağladılar.
Fon Akışı
Saldırganın başlangıç sermayesi, büyük bir borsa platformunun sıcak cüzdanından gelmektedir. Elde edilen 1,651 ETH'nin 657.5'u hala saldırganın cüzdan adresinde, geri kalan kısmı ise karıştırma aracı kullanılarak aktarılmıştır.
Açık Analizi
Temel sorun, ExchangeWithAtomic sözleşmesinin doSwapThroughOrionPool fonksiyonundadır. Bu fonksiyon, token transferini gerçekleştirdikten sonra curBalance değişkenini günceller, bu da yeniden giriş saldırıları için bir zemin hazırlar. Saldırgan, özelleştirilmiş Token'ın transfer fonksiyonuna geri çağırma mantığı ekleyerek depositAsset fonksiyonunu tekrar tekrar çağırır ve bu da curBalance'ın hatalı bir şekilde güncellenmesine neden olur. Sonuç olarak, saldırgan, ani kredi ödemesinden sonra withdraw fonksiyonu aracılığıyla fazla fonları çekmiştir.
Önleme Önerileri
Sözleşme geliştirme, durum güncellemelerinden önce dış çağrılardan kaçınmak için "kontroller-etkiler-etkileşimler" (Checks-Effects-Interactions) modelini takip etmelidir.
Token değişim işlevini gerçekleştirirken, çeşitli Token türlerinin ve değişim yollarının getirebileceği güvenlik risklerini dikkate almak gerekir.
Yeniden giriş saldırılarını önlemek için yeniden giriş kilidi gibi güvenlik mekanizmaları ekleyin.
Anahtar işlemler için erişim kontrolü ve limit önlemleri uygulayın.
Fon işlemleriyle ilgili temel işlevlere özellikle odaklanarak kapsamlı bir güvenlik denetimi gerçekleştirin.
Bu olay, akıllı sözleşmelerin güvenliğinin önemini bir kez daha vurguladı. Proje sahipleri, sözleşme güvenliğine sürekli olarak dikkat etmeli, düzenli olarak kod denetimi ve güvenlik açığı düzeltmeleri yapmalıdır, böylece kullanıcı varlıklarının güvenliğini sağlamalıdır. Aynı zamanda, kullanıcılar yeni projelere katılırken dikkatli olmalı, projenin güvenlik durumu ve denetim raporlarına dikkat etmelidir.