Poolz projesi aritmetik taşma açığı nedeniyle saldırıya uğradı, yaklaşık 66.5 bin dolar kaybetti.
Son günlerde, Poolz projesine yönelik bir saldırı olayı kripto para topluluğunun geniş dikkatini çekti. Zincir üzerindeki izleme verilerine göre, saldırı 15 Mart 2023 tarihinde gerçekleşti ve Ethereum, BNB Chain ve Polygon olmak üzere üç ağa dâhil oldu. Saldırgan, akıllı sözleşmedeki aritmetik taşma açığını kullanarak büyük miktarda token çalmayı başardı ve toplam değer yaklaşık 66.5 milyon dolar oldu.
Saldırı Detayları
Saldırgan bu saldırıyı şu adımlarla gerçekleştirdi:
Öncelikle merkeziyetsiz borsada belirli bir miktar MNZ token'ı değiştirdim.
Ardından Poolz sözleşmesindeki CreateMassPools fonksiyonu çağrıldı. Bu fonksiyon, kullanıcıların toplu olarak likidite havuzları oluşturmasına ve başlangıç likiditesi sağlamasına izin vermesi gerekiyordu, ancak ciddi bir güvenlik açığı vardı.
Sorun getArraySum fonksiyonunda ortaya çıkıyor. Bu fonksiyon, kullanıcı tarafından sağlanan başlangıç likidite miktarını hesaplamak için kullanılır, ancak tam sayı taşma durumunu doğru bir şekilde ele alamıyor.
Saldırgan, _StartAmount dizisinde uint256'nın maksimum değerini aşan sayılar içerecek şekilde girdi parametrelerini ustaca oluşturdu. Bu, toplama sonucunun taşmasına neden oldu ve nihai dönen değer 1 oldu.
Sözleşmenin havuzun özelliklerini kaydederken _StartAmount'ın ham değerini kullandığı ve gerçek olarak yatırılan token miktarını kullanmadığı için, saldırganın sadece 1 token yatırması, gerçekteki havuzdan çok daha yüksek bir likidite havuzu oluşturmasına olanak tanır.
Son olarak, saldırgan withdraw fonksiyonunu çağırarak büyük miktarda yetkisiz token çekti ve tüm saldırı sürecini tamamladı.
Çalınan Varlıklar
Bu saldırı, ancak bunlarla sınırlı olmamak üzere, çeşitli tokenlerin kayba uğramasına neden oldu:
2.805.805 MEE
525,134 ESNC
774,997 DON
2,007,504,238 ASW
6.510.689 KMON
2,521,065 POOLZ
35,976,107 DCD
760,845 PORTX
Saldırgan, çalınan bazı tokenleri BNB ile değiştirmiştir, ancak rapor tarihinde bu fonlar hâlâ saldırganın adresinden transfer edilmemiştir.
Önleme Önerileri
Benzer aritmetik taşma açıklarını önlemek için uzmanlar aşağıdaki önlemleri almayı önermektedir:
Daha yeni bir Solidity derleyici sürümü kullanın, bu sürümler derleme sürecinde otomatik olarak taşma kontrolü yapar.
Daha eski sürüm Solidity kullanan projeler için, taşma sorunlarını önlemek amacıyla tamsayı işlemleri için OpenZeppelin'in SafeMath kütüphanesinin kullanılmasını öneririz.
Büyük sayı işlemleri ile ilgili kısımlara özellikle dikkat ederek kapsamlı bir kod denetimi yapılmalıdır.
Kullanıcıların sağladığı parametrelerin makul bir aralıkta olduğundan emin olmak için sıkı giriş doğrulaması uygulayın.
Anahtar işlemlerde çoklu imza veya zaman kilidi gibi güvenlik mekanizmalarının eklenmesini düşünün.
Bu olay, akıllı sözleşmelerin güvenliğinin önemini bir kez daha vurguladı ve geliştiricilere ve proje sahiplerine sürekli olarak dikkatli olmaları ve kod güvenliğini sürekli olarak geliştirmeleri gerektiğini hatırlattı. Aynı zamanda, kullanıcılara merkeziyetsiz finans projeleriyle etkileşimde bulunurken özellikle yeni piyasaya sürülen veya yeterince denetlenmemiş projelere katılırken ekstra dikkatli olmaları gerektiğini hatırlatır.
View Original
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
8
Share
Comment
0/400
GateUser-a5fa8bd0
· 07-23 01:44
Yine bir sözleşme sorun çıkardı, tsk tsk.
View OriginalReply0
SellTheBounce
· 07-20 10:40
Yine bir enayiler sıfıra düştü, tanıdık bir senaryo.
Poolz projesi aritmetik taşma saldırısına uğradı, 66.5 bin dolar şifreleme varlığı kaybedildi.
Poolz projesi aritmetik taşma açığı nedeniyle saldırıya uğradı, yaklaşık 66.5 bin dolar kaybetti.
Son günlerde, Poolz projesine yönelik bir saldırı olayı kripto para topluluğunun geniş dikkatini çekti. Zincir üzerindeki izleme verilerine göre, saldırı 15 Mart 2023 tarihinde gerçekleşti ve Ethereum, BNB Chain ve Polygon olmak üzere üç ağa dâhil oldu. Saldırgan, akıllı sözleşmedeki aritmetik taşma açığını kullanarak büyük miktarda token çalmayı başardı ve toplam değer yaklaşık 66.5 milyon dolar oldu.
Saldırı Detayları
Saldırgan bu saldırıyı şu adımlarla gerçekleştirdi:
Öncelikle merkeziyetsiz borsada belirli bir miktar MNZ token'ı değiştirdim.
Ardından Poolz sözleşmesindeki CreateMassPools fonksiyonu çağrıldı. Bu fonksiyon, kullanıcıların toplu olarak likidite havuzları oluşturmasına ve başlangıç likiditesi sağlamasına izin vermesi gerekiyordu, ancak ciddi bir güvenlik açığı vardı.
Sorun getArraySum fonksiyonunda ortaya çıkıyor. Bu fonksiyon, kullanıcı tarafından sağlanan başlangıç likidite miktarını hesaplamak için kullanılır, ancak tam sayı taşma durumunu doğru bir şekilde ele alamıyor.
Saldırgan, _StartAmount dizisinde uint256'nın maksimum değerini aşan sayılar içerecek şekilde girdi parametrelerini ustaca oluşturdu. Bu, toplama sonucunun taşmasına neden oldu ve nihai dönen değer 1 oldu.
Sözleşmenin havuzun özelliklerini kaydederken _StartAmount'ın ham değerini kullandığı ve gerçek olarak yatırılan token miktarını kullanmadığı için, saldırganın sadece 1 token yatırması, gerçekteki havuzdan çok daha yüksek bir likidite havuzu oluşturmasına olanak tanır.
Son olarak, saldırgan withdraw fonksiyonunu çağırarak büyük miktarda yetkisiz token çekti ve tüm saldırı sürecini tamamladı.
Çalınan Varlıklar
Bu saldırı, ancak bunlarla sınırlı olmamak üzere, çeşitli tokenlerin kayba uğramasına neden oldu:
Saldırgan, çalınan bazı tokenleri BNB ile değiştirmiştir, ancak rapor tarihinde bu fonlar hâlâ saldırganın adresinden transfer edilmemiştir.
Önleme Önerileri
Benzer aritmetik taşma açıklarını önlemek için uzmanlar aşağıdaki önlemleri almayı önermektedir:
Daha yeni bir Solidity derleyici sürümü kullanın, bu sürümler derleme sürecinde otomatik olarak taşma kontrolü yapar.
Daha eski sürüm Solidity kullanan projeler için, taşma sorunlarını önlemek amacıyla tamsayı işlemleri için OpenZeppelin'in SafeMath kütüphanesinin kullanılmasını öneririz.
Büyük sayı işlemleri ile ilgili kısımlara özellikle dikkat ederek kapsamlı bir kod denetimi yapılmalıdır.
Kullanıcıların sağladığı parametrelerin makul bir aralıkta olduğundan emin olmak için sıkı giriş doğrulaması uygulayın.
Anahtar işlemlerde çoklu imza veya zaman kilidi gibi güvenlik mekanizmalarının eklenmesini düşünün.
Bu olay, akıllı sözleşmelerin güvenliğinin önemini bir kez daha vurguladı ve geliştiricilere ve proje sahiplerine sürekli olarak dikkatli olmaları ve kod güvenliğini sürekli olarak geliştirmeleri gerektiğini hatırlattı. Aynı zamanda, kullanıcılara merkeziyetsiz finans projeleriyle etkileşimde bulunurken özellikle yeni piyasaya sürülen veya yeterince denetlenmemiş projelere katılırken ekstra dikkatli olmaları gerektiğini hatırlatır.