OrionProtocol Yeniden Giriş Saldırısı Olay Analizi
2023 yılı Şubat ayının 2'sinde, Ethereum ve Binance Akıllı Zinciri üzerindeki OrionProtocol, sözleşme açığı nedeniyle yeniden giriş saldırısına uğradı ve yaklaşık 2.9 milyon dolar kayba neden oldu. Saldırganlar, sözleşmedeki açığı kullanarak özel Token sözleşmeleri oluşturarak geri çağırma işlemi gerçekleştirip yeniden giriş saldırısını gerçekleştirdiler.
Saldırı Süreci Analizi
Saldırgan, öncelikle özel bir Token sözleşmesi oluşturdu ve ilgili transfer ve yetkilendirme işlemlerini gerçekleştirdi. Ardından, saldırgan, bir DEX'in swap yöntemini kullanarak borç aldı ve OrionProtocol'ün swapThroughOrionPool yöntemini çağırarak token değişimi gerçekleştirdi. Değişim sürecinde, saldırgan kendisi tarafından oluşturulan Token sözleşmesini kullanarak geri çağırma işlemi yaptı ve depositAsset yöntemini tekrar tekrar çağırarak depozito miktarının birikmesine neden oldu. Sonunda, saldırgan para çekme işlemi ile kar elde etti.
Fon Akışı
Saldırganın başlangıç fonları bir işlem platformunun sıcak cüzdan hesabından geliyor. Elde edilen 1651 ETH'nin 657.5'i hala saldırganın cüzdan adresinde, geri kalanı ise karıştırma aracı kullanılarak transfer edildi.
Açık Analizi
Ana sorun doSwapThroughOrionPool fonksiyonunda yatıyor. Bu fonksiyon, token transfer işlemi gerçekleştikten sonra curBalance değişkenini güncelliyor, ancak olası reentrancy saldırısı riskini göz önünde bulundurmuyor. Saldırgan, özelleştirilmiş Token'ın transfer fonksiyonuna geri çağırma mantığı ekleyerek curBalance'ın yanlış bir şekilde güncellenmesine sebep oluyor ve böylece saldırıyı gerçekleştiriyor.
Saldırı Yeniden Üretimi
Araştırmacılar, saldırı sürecini simüle eden bazı POC kodları sağladılar. Test sonuçları, sözleşmedeki bir açığı kullanarak, gerçek saldırıya benzer bir fon akışı gerçekleştirmenin başarıyla mümkün olduğunu göstermektedir.
Güvenlik Önerileri
Sözleşme geliştirilirken, çeşitli Token'ların ve değişim yollarının potansiyel risklerini göz önünde bulundurmak gerekir.
"Kontroller-Etki-İletişim" (Checks-Effects-Interactions) kodlama standartlarını izleyin, önce kontrol edin, sonra durum değişkenlerini güncelleyin, en son dış çağrıları gerçekleştirin.
Reentransiyon saldırılarına karşı koruma önlemlerini güçlendirin, örneğin reentrasyon kilidi gibi yöntemler kullanın.
Özellikle yeniden giriş saldırılarına maruz kalabilecek fonksiyonlara odaklanarak kapsamlı bir güvenlik denetimi gerçekleştirin.
Akıllı sözleşme kodunu düzenli olarak güncelleyin ve optimize edin, tespit edilen güvenlik açıklarını zamanında düzeltin.
Bu olay, Web3 proje sahiplerinin akıllı sözleşmelerin güvenliğine büyük önem vermeleri gerektiğini bir kez daha hatırlatmaktadır. Sözleşme geliştiricileri, para transferi ile ilgili mantığı daha dikkatli bir şekilde ele almalı ve çeşitli olası saldırı senaryolarını tam olarak göz önünde bulundurmalıdır. Aynı zamanda, düzenli güvenlik denetimleri ve açık ödül programları da projenin güvenliğini sağlamak için etkili yöntemlerdir.
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.
18 Likes
Reward
18
7
Share
Comment
0/400
MevTears
· 07-23 02:41
Zeka engelli! Yine eski bir reentrancy.
View OriginalReply0
MetaMisery
· 07-21 02:18
Yine enayileri oyuna getirmeye geldiler, kötü.
View OriginalReply0
RetailTherapist
· 07-20 20:40
Başka kim hapsolmuş?
View OriginalReply0
PositionPhobia
· 07-20 03:55
Yine akıllı sözleşmelerde bir aksaklık yaşandı.
View OriginalReply0
CryptoTherapist
· 07-20 03:55
bu yeniden giriş travmasını açmadan önce biraz bilinçli nefes alalım
View OriginalReply0
RektCoaster
· 07-20 03:45
Klasik yeniden giriş rekürsif oyunlar, eski bir konu.
OrionProtocol, yeniden giriş saldırısına uğrayarak 2.9 milyon dolar kaybetti. Güvenlik açığı analizi ve önleme önerileri.
OrionProtocol Yeniden Giriş Saldırısı Olay Analizi
2023 yılı Şubat ayının 2'sinde, Ethereum ve Binance Akıllı Zinciri üzerindeki OrionProtocol, sözleşme açığı nedeniyle yeniden giriş saldırısına uğradı ve yaklaşık 2.9 milyon dolar kayba neden oldu. Saldırganlar, sözleşmedeki açığı kullanarak özel Token sözleşmeleri oluşturarak geri çağırma işlemi gerçekleştirip yeniden giriş saldırısını gerçekleştirdiler.
Saldırı Süreci Analizi
Saldırgan, öncelikle özel bir Token sözleşmesi oluşturdu ve ilgili transfer ve yetkilendirme işlemlerini gerçekleştirdi. Ardından, saldırgan, bir DEX'in swap yöntemini kullanarak borç aldı ve OrionProtocol'ün swapThroughOrionPool yöntemini çağırarak token değişimi gerçekleştirdi. Değişim sürecinde, saldırgan kendisi tarafından oluşturulan Token sözleşmesini kullanarak geri çağırma işlemi yaptı ve depositAsset yöntemini tekrar tekrar çağırarak depozito miktarının birikmesine neden oldu. Sonunda, saldırgan para çekme işlemi ile kar elde etti.
Fon Akışı
Saldırganın başlangıç fonları bir işlem platformunun sıcak cüzdan hesabından geliyor. Elde edilen 1651 ETH'nin 657.5'i hala saldırganın cüzdan adresinde, geri kalanı ise karıştırma aracı kullanılarak transfer edildi.
Açık Analizi
Ana sorun doSwapThroughOrionPool fonksiyonunda yatıyor. Bu fonksiyon, token transfer işlemi gerçekleştikten sonra curBalance değişkenini güncelliyor, ancak olası reentrancy saldırısı riskini göz önünde bulundurmuyor. Saldırgan, özelleştirilmiş Token'ın transfer fonksiyonuna geri çağırma mantığı ekleyerek curBalance'ın yanlış bir şekilde güncellenmesine sebep oluyor ve böylece saldırıyı gerçekleştiriyor.
Saldırı Yeniden Üretimi
Araştırmacılar, saldırı sürecini simüle eden bazı POC kodları sağladılar. Test sonuçları, sözleşmedeki bir açığı kullanarak, gerçek saldırıya benzer bir fon akışı gerçekleştirmenin başarıyla mümkün olduğunu göstermektedir.
Güvenlik Önerileri
Bu olay, Web3 proje sahiplerinin akıllı sözleşmelerin güvenliğine büyük önem vermeleri gerektiğini bir kez daha hatırlatmaktadır. Sözleşme geliştiricileri, para transferi ile ilgili mantığı daha dikkatli bir şekilde ele almalı ve çeşitli olası saldırı senaryolarını tam olarak göz önünde bulundurmalıdır. Aynı zamanda, düzenli güvenlik denetimleri ve açık ödül programları da projenin güvenliğini sağlamak için etkili yöntemlerdir.