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şmesi bir açık nedeniyle yeniden giriş saldırısına uğradı. Saldırgan, Ethereum zincirinden 2,844,766 USDT, Binance Akıllı Zinciri'nden ise 191,606 BUSD kazandı, toplamda yaklaşık 2.9 milyon dolar.
Saldırı Süreci Analizi
Saldırgan öncelikle özel bir Token sözleşmesi dağıttı ve sonraki saldırı için hazırlık olarak ilgili transfer ve yetkilendirme işlemlerini gerçekleştirdi.
Ardından, saldırgan belirli bir DEX'in swap metodunu kullanarak borç aldı ve token değişimi için OrionProtocol'un ExchangeWithAtomic.swapThroughOrionPool metodunu çağırdı. Değişim yolu [USDC, saldırgan Token, USDT] olarak ayarlandı.
Dönüşüm sürecinde, saldırganlar tarafından oluşturulan Token sözleşmesinde geri çağırma mantığı bulunduğu için Transfer işlemi sırasında ExchangeWithAtomic.depositAsset yöntemine yeniden giriş çağrısı tetiklenir ve bu da yatırılan miktarın birden fazla kez artmasına neden olur. Sonunda, saldırgan para çekme işlemiyle kâr elde eder.
Fon Akışı
Saldırganın başlangıç sermayesi bir borsa platformunun sıcak cüzdan hesabından gelmektedir. Elde edilen 1,651 ETH'den 657.5 ETH hala saldırganın cüzdan adresinde beklemekte, geri kalan kısmı ise karıştırma hizmetleri aracılığıyla aktarılmıştır.
Açık Analizi
Temel sorun, ExchangeWithAtomic sözleşmesinin doSwapThroughOrionPool fonksiyonundadır. Bu fonksiyon, Token transferi gerçekleştirdikten sonra curBalance değişkenini günceller, bu da yeniden giriş saldırısı için bir zemin hazırlar. Saldırgan, özel Token'ın transfer fonksiyonunu kullanarak depositAsset metodunu geri arar ve bu, curBalance'ın yanlış güncellenmesine neden olur. Sonuç olarak, saldırgan, ani kredi geri ödemesinden sonra withdraw fonksiyonu aracılığıyla aşırı fonları çekmiştir.
Güvenlik Önerileri
Sözleşme tasarımında birden fazla Token ve takas yollarının getirebileceği güvenlik riskleri dikkate alınmalıdır.
"Kontroller-Etkiler-Etkileşimler"(Kontroller-Etkiler-Etkileşimler) modelini takip ederek sözleşme kodu yazın, yani önce koşul kontrolü yapın, ardından durum değişkenlerini güncelleyin, en son olarak da dış çağrıları gerçekleştirin.
Ana işlevlerde yeniden giriş kilidi uygulayarak yeniden giriş saldırılarını önleyin.
Harici olarak çağrılan Token sözleşmeleri için sıkı bir güvenlik denetimi ve beyaz liste yönetimi yapılmalıdır.
Düzenli olarak sözleşme güvenlik denetimleri gerçekleştirin, potansiyel açıkları zamanında tespit edin ve düzeltin.
Bu önlemleri alarak, akıllı sözleşmelerin saldırıya uğrama riskini etkin bir şekilde azaltabilir ve projenin genel güvenliğini artırabilirsiniz.
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.
17 Likes
Reward
17
9
Share
Comment
0/400
Ser_This_Is_A_Casino
· 10h ago
Başka bir insanları enayi yerine koymak ve Rug Pull mu yaptı?
View OriginalReply0
PanicSeller69
· 20h ago
Yine bir sözleşme açığı, ahh.
View OriginalReply0
ImpermanentTherapist
· 22h ago
又一enayiler被insanları enayi yerine koymak了
View OriginalReply0
ForkTongue
· 08-03 09:11
又一个 mahkum
View OriginalReply0
DevChive
· 08-02 06:22
Yine bir enayiler için insanları enayi yerine koymak soğudu.
View OriginalReply0
GasWaster
· 08-02 06:15
Yine bir enayiler insanları enayi yerine koymak mahkum oldu.
View OriginalReply0
SleepTrader
· 08-02 06:11
Yine bir dalga enayiler insanları enayi yerine koymak.
OrionProtocol yeniden giriş saldırısına uğradı, 2.9 milyon dolar kayıp.
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şmesi bir açık nedeniyle yeniden giriş saldırısına uğradı. Saldırgan, Ethereum zincirinden 2,844,766 USDT, Binance Akıllı Zinciri'nden ise 191,606 BUSD kazandı, toplamda yaklaşık 2.9 milyon dolar.
Saldırı Süreci Analizi
Saldırgan öncelikle özel bir Token sözleşmesi dağıttı ve sonraki saldırı için hazırlık olarak ilgili transfer ve yetkilendirme işlemlerini gerçekleştirdi.
Ardından, saldırgan belirli bir DEX'in swap metodunu kullanarak borç aldı ve token değişimi için OrionProtocol'un ExchangeWithAtomic.swapThroughOrionPool metodunu çağırdı. Değişim yolu [USDC, saldırgan Token, USDT] olarak ayarlandı.
Dönüşüm sürecinde, saldırganlar tarafından oluşturulan Token sözleşmesinde geri çağırma mantığı bulunduğu için Transfer işlemi sırasında ExchangeWithAtomic.depositAsset yöntemine yeniden giriş çağrısı tetiklenir ve bu da yatırılan miktarın birden fazla kez artmasına neden olur. Sonunda, saldırgan para çekme işlemiyle kâr elde eder.
Fon Akışı
Saldırganın başlangıç sermayesi bir borsa platformunun sıcak cüzdan hesabından gelmektedir. Elde edilen 1,651 ETH'den 657.5 ETH hala saldırganın cüzdan adresinde beklemekte, geri kalan kısmı ise karıştırma hizmetleri aracılığıyla aktarılmıştır.
Açık Analizi
Temel sorun, ExchangeWithAtomic sözleşmesinin doSwapThroughOrionPool fonksiyonundadır. Bu fonksiyon, Token transferi gerçekleştirdikten sonra curBalance değişkenini günceller, bu da yeniden giriş saldırısı için bir zemin hazırlar. Saldırgan, özel Token'ın transfer fonksiyonunu kullanarak depositAsset metodunu geri arar ve bu, curBalance'ın yanlış güncellenmesine neden olur. Sonuç olarak, saldırgan, ani kredi geri ödemesinden sonra withdraw fonksiyonu aracılığıyla aşırı fonları çekmiştir.
Güvenlik Önerileri
Sözleşme tasarımında birden fazla Token ve takas yollarının getirebileceği güvenlik riskleri dikkate alınmalıdır.
"Kontroller-Etkiler-Etkileşimler"(Kontroller-Etkiler-Etkileşimler) modelini takip ederek sözleşme kodu yazın, yani önce koşul kontrolü yapın, ardından durum değişkenlerini güncelleyin, en son olarak da dış çağrıları gerçekleştirin.
Ana işlevlerde yeniden giriş kilidi uygulayarak yeniden giriş saldırılarını önleyin.
Harici olarak çağrılan Token sözleşmeleri için sıkı bir güvenlik denetimi ve beyaz liste yönetimi yapılmalıdır.
Düzenli olarak sözleşme güvenlik denetimleri gerçekleştirin, potansiyel açıkları zamanında tespit edin ve düzeltin.
Bu önlemleri alarak, akıllı sözleşmelerin saldırıya uğrama riskini etkin bir şekilde azaltabilir ve projenin genel güvenliğini artırabilirsiniz.