Dự án Poolz bị tấn công, thiệt hại khoảng 66,5 triệu đô la Mỹ
Gần đây, một vụ tấn công nhằm vào dự án đa chuỗi Poolz đã thu hút sự chú ý của ngành. Theo dữ liệu giám sát blockchain, vụ tấn công xảy ra vào ngày 15 tháng 3 năm 2023, liên quan đến ba chuỗi Ethereum, Binance và Polygon.
Kẻ tấn công đã thành công trong việc đánh cắp nhiều loại token, bao gồm MEE, ESNC, DON, ASW, KMON, POOLZ, với tổng giá trị khoảng 665.000 USD. Hiện tại, một phần tài sản bị đánh cắp đã được đổi thành BNB, nhưng vẫn chưa được chuyển ra khỏi ví của kẻ tấn công.
Cuộc tấn công này chủ yếu khai thác một lỗ hổng tràn số học trong hợp đồng thông minh của dự án Poolz. Kẻ tấn công đã khéo léo khai thác vấn đề tràn số nguyên trong hàm getArraySum bằng cách gọi hàm CreateMassPools. Cụ thể, kẻ tấn công đã tạo ra một mảng đặc biệt khiến kết quả cộng dồn vượt quá giá trị tối đa của uint256, dẫn đến giá trị trả về của hàm là 1.
Tuy nhiên, hợp đồng đã sử dụng giá trị đầu vào ban đầu để ghi lại thuộc tính của pool, thay vì số lượng token thực tế đã chuyển vào. Điều này khiến cho kẻ tấn công chỉ cần chuyển vào 1 token, đã có thể ghi lại một giá trị khổng lồ trong hệ thống. Sau đó, kẻ tấn công đã rút token thông qua hàm withdraw, vượt xa số lượng thực tế đã gửi vào, từ đó hoàn thành cuộc tấn công.
Sự kiện này một lần nữa nhấn mạnh tầm quan trọng của an ninh hợp đồng thông minh. Để ngăn chặn các vấn đề tương tự, các nhà phát triển nên xem xét việc sử dụng phiên bản mới hơn của trình biên dịch Solidity, chúng được tích hợp sẵn chức năng kiểm tra tràn. Đối với các dự án sử dụng phiên bản Solidity cũ hơn, có thể áp dụng thư viện SafeMath do OpenZeppelin cung cấp để tránh rủi ro tràn số nguyên.
Cuộc tấn công này nhắc nhở chúng ta rằng, ngay cả những phép toán dường như đơn giản, trong môi trường blockchain cũng có thể mang lại những rủi ro an ninh nghiêm trọng. Các nhà phát triển dự án cần thiết kế và kiểm tra hợp đồng thông minh một cách cẩn thận hơn để đảm bảo an toàn cho tài sản của người dùng.
Xem bản gốc
Trang này có thể chứa nội dung của bên thứ ba, được cung cấp chỉ nhằm mục đích thông tin (không phải là tuyên bố/bảo đảm) và không được coi là sự chứng thực cho quan điểm của Gate hoặc là lời khuyên về tài chính hoặc chuyên môn. Xem Tuyên bố từ chối trách nhiệm để biết chi tiết.
11 thích
Phần thưởng
11
4
Chia sẻ
Bình luận
0/400
ForeverBuyingDips
· 10giờ trước
又 là một hợp đồng thông minh bị đánh cắp
Xem bản gốcTrả lời0
NFTHoarder
· 10giờ trước
Một ngày không gặp lại có dự án bị khai thác rồi.
Xem bản gốcTrả lời0
OnchainSniper
· 10giờ trước
Lại là hợp đồng thông minh trần trụi, chỉ là chuyện nhỏ thôi~
Poolz遭Hacker攻击 多链资产损失66.5万美元
Dự án Poolz bị tấn công, thiệt hại khoảng 66,5 triệu đô la Mỹ
Gần đây, một vụ tấn công nhằm vào dự án đa chuỗi Poolz đã thu hút sự chú ý của ngành. Theo dữ liệu giám sát blockchain, vụ tấn công xảy ra vào ngày 15 tháng 3 năm 2023, liên quan đến ba chuỗi Ethereum, Binance và Polygon.
Kẻ tấn công đã thành công trong việc đánh cắp nhiều loại token, bao gồm MEE, ESNC, DON, ASW, KMON, POOLZ, với tổng giá trị khoảng 665.000 USD. Hiện tại, một phần tài sản bị đánh cắp đã được đổi thành BNB, nhưng vẫn chưa được chuyển ra khỏi ví của kẻ tấn công.
Cuộc tấn công này chủ yếu khai thác một lỗ hổng tràn số học trong hợp đồng thông minh của dự án Poolz. Kẻ tấn công đã khéo léo khai thác vấn đề tràn số nguyên trong hàm getArraySum bằng cách gọi hàm CreateMassPools. Cụ thể, kẻ tấn công đã tạo ra một mảng đặc biệt khiến kết quả cộng dồn vượt quá giá trị tối đa của uint256, dẫn đến giá trị trả về của hàm là 1.
Tuy nhiên, hợp đồng đã sử dụng giá trị đầu vào ban đầu để ghi lại thuộc tính của pool, thay vì số lượng token thực tế đã chuyển vào. Điều này khiến cho kẻ tấn công chỉ cần chuyển vào 1 token, đã có thể ghi lại một giá trị khổng lồ trong hệ thống. Sau đó, kẻ tấn công đã rút token thông qua hàm withdraw, vượt xa số lượng thực tế đã gửi vào, từ đó hoàn thành cuộc tấn công.
Sự kiện này một lần nữa nhấn mạnh tầm quan trọng của an ninh hợp đồng thông minh. Để ngăn chặn các vấn đề tương tự, các nhà phát triển nên xem xét việc sử dụng phiên bản mới hơn của trình biên dịch Solidity, chúng được tích hợp sẵn chức năng kiểm tra tràn. Đối với các dự án sử dụng phiên bản Solidity cũ hơn, có thể áp dụng thư viện SafeMath do OpenZeppelin cung cấp để tránh rủi ro tràn số nguyên.
Cuộc tấn công này nhắc nhở chúng ta rằng, ngay cả những phép toán dường như đơn giản, trong môi trường blockchain cũng có thể mang lại những rủi ro an ninh nghiêm trọng. Các nhà phát triển dự án cần thiết kế và kiểm tra hợp đồng thông minh một cách cẩn thận hơn để đảm bảo an toàn cho tài sản của người dùng.