Poolz, aritmetik taşma saldırısına uğradı, yaklaşık 66.5 bin dolar kaybetti.
Son günlerde, birkaç blockchain ağı üzerindeki Poolz projeleri, çok sayıda tokenin çalınmasına yol açan bir siber saldırıya uğradı ve toplam değer yaklaşık 66.5 milyon dolar. Bu saldırı esas olarak Ethereum, BNB Chain ve Polygon gibi ağlarda gerçekleşti.
Saldırganlar, Poolz akıllı sözleşmesindeki bir aritmetik taşma açığını kullandılar. Özellikle, sorun CreateMassPools fonksiyonundaki getArraySum fonksiyonunda yatıyor. Bu fonksiyon, _StartAmount dizisini dolaşarak toplama yapıyor, ancak taşmaları uygun şekilde ele almıyor. Saldırgan, sonucun uint256 aralığını aşmasına neden olan büyük değerler içeren bir dizi oluşturdu ve nihayetinde geri dönen değer 1 oldu.
Saldırı süreci aşağıdaki gibidir:
Saldırgan ilk olarak bir DEX üzerinde bazı MNZ tokenlerini değiştirdi.
Ardından, dikkatlice tasarlanmış parametreleri geçirerek CreateMassPools fonksiyonu çağrılır. Gerçekten sadece 1 token aktarılmasına rağmen, _StartAmount büyük bir değeri kaydeder.
Son olarak, withdraw fonksiyonu aracılığıyla fonları çekerek saldırıyı tamamlayın.
Bu olay, MEE, ESNC, DON, ASW, KMON, POOLZ gibi çeşitli tokenleri kapsamaktadır. Aralarında en büyük kayba uğrayan token ASW'dir, 2 milyardan fazla.
Bu tür sorunların tekrar yaşanmaması için geliştiricilerin, içindeki taşma kontrolü işlevi ile birlikte daha yeni bir Solidity derleyici sürümü kullanmaları önerilir. Daha eski sürüm Solidity kullanan projeler için, tamsayı taşma sorunlarını ele almak amacıyla OpenZeppelin'in SafeMath kütüphanesini kullanmayı düşünebilirler.
Bu saldırı, DeFi projelerinin akıllı sözleşme güvenliği konusundaki önemini bir kez daha hatırlattı. Görünüşte basit olan aritmetik işlemler bile, yanlış yönetildiğinde ciddi güvenlik açıklarına yol açabilir. Proje sahipleri, kod denetimine daha fazla önem vermeli ve kullanıcı varlıklarını korumak için gerekli güvenlik önlemlerini almalıdı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.
Poolz, aritmetik taşma saldırısına uğradı, çoklu zincir kaybı 66.5 bin dolar.
Poolz, aritmetik taşma saldırısına uğradı, yaklaşık 66.5 bin dolar kaybetti.
Son günlerde, birkaç blockchain ağı üzerindeki Poolz projeleri, çok sayıda tokenin çalınmasına yol açan bir siber saldırıya uğradı ve toplam değer yaklaşık 66.5 milyon dolar. Bu saldırı esas olarak Ethereum, BNB Chain ve Polygon gibi ağlarda gerçekleşti.
Saldırganlar, Poolz akıllı sözleşmesindeki bir aritmetik taşma açığını kullandılar. Özellikle, sorun CreateMassPools fonksiyonundaki getArraySum fonksiyonunda yatıyor. Bu fonksiyon, _StartAmount dizisini dolaşarak toplama yapıyor, ancak taşmaları uygun şekilde ele almıyor. Saldırgan, sonucun uint256 aralığını aşmasına neden olan büyük değerler içeren bir dizi oluşturdu ve nihayetinde geri dönen değer 1 oldu.
Saldırı süreci aşağıdaki gibidir:
Saldırgan ilk olarak bir DEX üzerinde bazı MNZ tokenlerini değiştirdi.
Ardından, dikkatlice tasarlanmış parametreleri geçirerek CreateMassPools fonksiyonu çağrılır. Gerçekten sadece 1 token aktarılmasına rağmen, _StartAmount büyük bir değeri kaydeder.
Son olarak, withdraw fonksiyonu aracılığıyla fonları çekerek saldırıyı tamamlayın.
Bu olay, MEE, ESNC, DON, ASW, KMON, POOLZ gibi çeşitli tokenleri kapsamaktadır. Aralarında en büyük kayba uğrayan token ASW'dir, 2 milyardan fazla.
Bu tür sorunların tekrar yaşanmaması için geliştiricilerin, içindeki taşma kontrolü işlevi ile birlikte daha yeni bir Solidity derleyici sürümü kullanmaları önerilir. Daha eski sürüm Solidity kullanan projeler için, tamsayı taşma sorunlarını ele almak amacıyla OpenZeppelin'in SafeMath kütüphanesini kullanmayı düşünebilirler.
Bu saldırı, DeFi projelerinin akıllı sözleşme güvenliği konusundaki önemini bir kez daha hatırlattı. Görünüşte basit olan aritmetik işlemler bile, yanlış yönetildiğinde ciddi güvenlik açıklarına yol açabilir. Proje sahipleri, kod denetimine daha fazla önem vermeli ve kullanıcı varlıklarını korumak için gerekli güvenlik önlemlerini almalıdır.