Poolz, sayısal taşma saldırısına uğradı, yaklaşık 66.5 bin dolar kaybetti.
Son günlerde, Poolz platformu Ethereum, Binance Akıllı Zinciri ve Polygon ağlarında bir saldırıya uğradı ve bu durum sonucunda çok sayıda token çalındı. Çalınan tokenlerin toplam değeri yaklaşık 66,5 bin dolar. Saldırı, 15 Mart 2023 tarihinde saat 03:16 (UTC) gerçekleşti.
Zincir üzerindeki veri izlemeye göre, bu saldırı MEE, ESNC, DON, ASW, KMON, POOLZ gibi çeşitli tokenleri içermektedir. Saldırganlar çalınan tokenlerin bir kısmını BNB ile değiştirdi, ancak şu anda fonlar henüz transfer edilmedi.
Saldırganlar, Poolz sözleşmesindeki bir aritmetik taşma açığını kullandılar. Özellikle, sorun CreateMassPools fonksiyonundaki getArraySum fonksiyonunda yatıyor. Bu fonksiyon, token sayısını hesaplarken, toplam sonucun uint256 türünün maksimum değerini aşması nedeniyle taşma meydana geliyor ve nihayetinde dönen değer 1 oluyor.
Saldırı süreci aşağıdaki gibidir:
Saldırgan önce bir DEX üzerinden bazı MNZ tokenlerini değiştirdi.
Daha sonra CreateMassPools fonksiyonu çağrılır ve getArraySum fonksiyonundaki açık kullanılır. Saldırgan tarafından geçirilen _StartAmount dizisi çok büyük değerler içerir ve bu da toplama taşmasına neden olur.
CreatePool fonksiyonu havuzun özelliklerini _StartAmount ile kaydettiği için, saldırgan aslında sadece 1 token yatırıyor ama sistem devasa bir değeri kaydediyor.
Son olarak, saldırgan withdraw fonksiyonunu çağırarak tokenleri çeker ve saldırıyı tamamlar.
Bu tür sorunların bir daha yaşanmaması için geliştiricilerin daha yeni bir Solidity versiyonu kullanarak derleme yapmaları önerilir, çünkü yeni versiyonlar otomatik olarak taşma kontrolü yapmaktadır. Eski versiyon Solidity kullanan projeler için, tamsayı taşma sorununu çözmek amacıyla OpenZeppelin'in SafeMath kütüphanesini kullanmayı düşünebilirler.
Bu olay, akıllı sözleşme geliştirme sürecinde matematiksel işlemleri yaparken özellikle büyük sayı hesaplamaları söz konusu olduğunda son derece dikkatli olmamız gerektiğini bir kez daha hatırlatıyor. Aynı zamanda, proje güvenliğini sağlamak için düzenli olarak kod denetimi ve güvenlik kontrolü yapmak da önemli önlemlerden biridir.
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.
8 Likes
Reward
8
5
Repost
Share
Comment
0/400
ValidatorVibes
· 8h ago
smh... başka bir taşma saldırısı. protokol denetimleri gerçekten yönetim 101 frfr
Poolz, aritmetik taşma saldırısına uğradı ve 665.000 $ zarar gördü.
Poolz, sayısal taşma saldırısına uğradı, yaklaşık 66.5 bin dolar kaybetti.
Son günlerde, Poolz platformu Ethereum, Binance Akıllı Zinciri ve Polygon ağlarında bir saldırıya uğradı ve bu durum sonucunda çok sayıda token çalındı. Çalınan tokenlerin toplam değeri yaklaşık 66,5 bin dolar. Saldırı, 15 Mart 2023 tarihinde saat 03:16 (UTC) gerçekleşti.
Zincir üzerindeki veri izlemeye göre, bu saldırı MEE, ESNC, DON, ASW, KMON, POOLZ gibi çeşitli tokenleri içermektedir. Saldırganlar çalınan tokenlerin bir kısmını BNB ile değiştirdi, ancak şu anda fonlar henüz transfer edilmedi.
Saldırganlar, Poolz sözleşmesindeki bir aritmetik taşma açığını kullandılar. Özellikle, sorun CreateMassPools fonksiyonundaki getArraySum fonksiyonunda yatıyor. Bu fonksiyon, token sayısını hesaplarken, toplam sonucun uint256 türünün maksimum değerini aşması nedeniyle taşma meydana geliyor ve nihayetinde dönen değer 1 oluyor.
Saldırı süreci aşağıdaki gibidir:
Saldırgan önce bir DEX üzerinden bazı MNZ tokenlerini değiştirdi.
Daha sonra CreateMassPools fonksiyonu çağrılır ve getArraySum fonksiyonundaki açık kullanılır. Saldırgan tarafından geçirilen _StartAmount dizisi çok büyük değerler içerir ve bu da toplama taşmasına neden olur.
CreatePool fonksiyonu havuzun özelliklerini _StartAmount ile kaydettiği için, saldırgan aslında sadece 1 token yatırıyor ama sistem devasa bir değeri kaydediyor.
Son olarak, saldırgan withdraw fonksiyonunu çağırarak tokenleri çeker ve saldırıyı tamamlar.
Bu tür sorunların bir daha yaşanmaması için geliştiricilerin daha yeni bir Solidity versiyonu kullanarak derleme yapmaları önerilir, çünkü yeni versiyonlar otomatik olarak taşma kontrolü yapmaktadır. Eski versiyon Solidity kullanan projeler için, tamsayı taşma sorununu çözmek amacıyla OpenZeppelin'in SafeMath kütüphanesini kullanmayı düşünebilirler.
Bu olay, akıllı sözleşme geliştirme sürecinde matematiksel işlemleri yaparken özellikle büyük sayı hesaplamaları söz konusu olduğunda son derece dikkatli olmamız gerektiğini bir kez daha hatırlatıyor. Aynı zamanda, proje güvenliğini sağlamak için düzenli olarak kod denetimi ve güvenlik kontrolü yapmak da önemli önlemlerden biridir.