Poolz gặp phải cuộc tấn công tràn số học, thiệt hại khoảng 66.5 triệu đô la Mỹ
Gần đây, một số dự án Poolz trên nhiều mạng blockchain đã bị tấn công bởi hacker, dẫn đến việc hàng triệu token bị đánh cắp, tổng giá trị khoảng 66,5 triệu USD. Cuộc tấn công này chủ yếu xảy ra trên các chuỗi như Ethereum, BNB Chain và Polygon.
Kẻ tấn công đã lợi dụng một lỗ hổng tràn số học trong hợp đồng thông minh Poolz. Cụ thể, vấn đề nằm ở hàm getArraySum trong hàm CreateMassPools. Hàm này thực hiện phép cộng thông qua việc duyệt qua mảng _StartAmount, nhưng không xử lý đúng cách tình huống tràn số. Kẻ tấn công đã khéo léo tạo ra một mảng chứa các giá trị cực lớn, dẫn đến kết quả cộng vượt quá phạm vi của uint256, và cuối cùng giá trị trả về trở thành 1.
Quá trình tấn công như sau:
Kẻ tấn công trước tiên đã đổi một số token MNZ trên một DEX nào đó.
Sau đó gọi hàm CreateMassPools, truyền vào các tham số được thiết kế cẩn thận. Mặc dù thực tế chỉ chuyển vào 1 token, nhưng _StartAmount lại ghi lại một giá trị khổng lồ.
Cuối cùng, rút tiền thông qua hàm withdraw, hoàn thành cuộc tấn công.
Sự kiện lần này liên quan đến nhiều loại token, bao gồm MEE, ESNC, DON, ASW, KMON, POOLZ, v.v. Trong đó, token ASW chịu thiệt hại lớn nhất, lên đến hơn 2 tỷ token.
Để ngăn chặn các vấn đề như vậy xảy ra lần nữa, các nhà phát triển được khuyên nên sử dụng phiên bản mới hơn của trình biên dịch Solidity, có tích hợp chức năng kiểm tra tràn số. Đối với các dự án sử dụng phiên bản Solidity cũ hơn, có thể xem xét việc đưa vào thư viện SafeMath của OpenZeppelin để xử lý vấn đề tràn số nguyên.
Cuộc tấn công lần này lại nhắc nhở các dự án DeFi về tầm quan trọng của tính an toàn của hợp đồng thông minh. Ngay cả những phép toán dường như đơn giản, nếu không được xử lý đúng cách, cũng có thể dẫn đến những lỗ hổng an ninh nghiêm trọng. Các dự án nên chú trọng hơn đến việc kiểm toán mã và thực hiện các biện pháp an ninh cần thiết để bảo vệ tài sản của người dùng.
Xem bản gốc
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 bị tấn công tràn số học, thiệt hại đa chuỗi 665.000 USD
Poolz gặp phải cuộc tấn công tràn số học, thiệt hại khoảng 66.5 triệu đô la Mỹ
Gần đây, một số dự án Poolz trên nhiều mạng blockchain đã bị tấn công bởi hacker, dẫn đến việc hàng triệu token bị đánh cắp, tổng giá trị khoảng 66,5 triệu USD. Cuộc tấn công này chủ yếu xảy ra trên các chuỗi như Ethereum, BNB Chain và Polygon.
Kẻ tấn công đã lợi dụng một lỗ hổng tràn số học trong hợp đồng thông minh Poolz. Cụ thể, vấn đề nằm ở hàm getArraySum trong hàm CreateMassPools. Hàm này thực hiện phép cộng thông qua việc duyệt qua mảng _StartAmount, nhưng không xử lý đúng cách tình huống tràn số. Kẻ tấn công đã khéo léo tạo ra một mảng chứa các giá trị cực lớn, dẫn đến kết quả cộng vượt quá phạm vi của uint256, và cuối cùng giá trị trả về trở thành 1.
Quá trình tấn công như sau:
Kẻ tấn công trước tiên đã đổi một số token MNZ trên một DEX nào đó.
Sau đó gọi hàm CreateMassPools, truyền vào các tham số được thiết kế cẩn thận. Mặc dù thực tế chỉ chuyển vào 1 token, nhưng _StartAmount lại ghi lại một giá trị khổng lồ.
Cuối cùng, rút tiền thông qua hàm withdraw, hoàn thành cuộc tấn công.
Sự kiện lần này liên quan đến nhiều loại token, bao gồm MEE, ESNC, DON, ASW, KMON, POOLZ, v.v. Trong đó, token ASW chịu thiệt hại lớn nhất, lên đến hơn 2 tỷ token.
Để ngăn chặn các vấn đề như vậy xảy ra lần nữa, các nhà phát triển được khuyên nên sử dụng phiên bản mới hơn của trình biên dịch Solidity, có tích hợp chức năng kiểm tra tràn số. Đối với các dự án sử dụng phiên bản Solidity cũ hơn, có thể xem xét việc đưa vào thư viện SafeMath của OpenZeppelin để xử lý vấn đề tràn số nguyên.
Cuộc tấn công lần này lại nhắc nhở các dự án DeFi về tầm quan trọng của tính an toàn của hợp đồng thông minh. Ngay cả những phép toán dường như đơn giản, nếu không được xử lý đúng cách, cũng có thể dẫn đến những lỗ hổng an ninh nghiêm trọng. Các dự án nên chú trọng hơn đến việc kiểm toán mã và thực hiện các biện pháp an ninh cần thiết để bảo vệ tài sản của người dùng.