Poolz bị tấn công tràn số học, thiệt hại khoảng 665K đô la
Gần đây, một sự kiện tấn công nhằm vào nền tảng Poolz đã thu hút sự chú ý rộng rãi của cộng đồng tiền điện tử. Kẻ tấn công đã lợi dụng lỗ hổng tràn số trong hợp đồng thông minh để thành công đánh cắp tài sản tiền điện tử trị giá khoảng 665.000 USD từ nhiều mạng lưới như Ethereum, BNB Chain và Polygon.
Theo dữ liệu trên chuỗi, cuộc tấn công này xảy ra vào ngày 15 tháng 3 năm 2023, liên quan đến nhiều loại token, bao gồm MEE, ESNC, DON, ASW, KMON, POOLZ, v.v. Kẻ tấn công đã khai thác một lỗ hổng trong hàm CreateMassPools của nền tảng Poolz thông qua các thao tác khéo léo.
Vấn đề cốt lõi của cuộc tấn công nằm ở hàm getArraySum. Hàm này lẽ ra được sử dụng để tính toán thanh khoản ban đầu khi người dùng tạo nhiều pool, nhưng do tràn số nguyên, khiến kẻ tấn công chỉ cần chuyển vào một lượng token rất nhỏ để tạo ra các pool có thanh khoản giả mạo lớn. Sau đó, kẻ tấn công đã rút số lượng token bị ghi sai này thông qua hàm withdraw.
Phân tích kỹ thuật cho thấy, kẻ tấn công đã đầu tiên đổi một lượng nhỏ token MNZ thông qua một sàn giao dịch phi tập trung. Sau đó, họ đã gọi hàm CreateMassPools có lỗ hổng, truyền vào các tham số được cấu trúc cẩn thận khiến mảng _StartAmount vượt quá giá trị tối đa của uint256 khi cộng dồn, dẫn đến tràn số. Điều này khiến hệ thống nhầm tưởng rằng kẻ tấn công đã cung cấp một lượng lớn thanh khoản, trong khi thực tế chỉ chuyển vào 1 token.
Để ngăn chặn các vấn đề như vậy xảy ra lần nữa, các chuyên gia trong ngành khuyên các nhà phát triển sử dụng các phiên bản mới hơn của ngôn ngữ lập trình Solidity, vì những phiên bản này sẽ tự động kiểm tra tràn trong quá trình biên dịch. Đối với các dự án sử dụng phiên bản cũ của Solidity, nên sử dụng thư viện SafeMath của OpenZeppelin để xử lý các phép toán số nguyên, nhằm tránh rủi ro tràn.
Sự kiện này một lần nữa làm nổi bật tầm quan trọng của việc kiểm toán an ninh hợp đồng thông minh. Khi hệ sinh thái tài chính phi tập trung (DeFi) phát triển không ngừng, các dự án cần phải chú trọng hơn đến an toàn mã, thực hiện kiểm tra an ninh định kỳ và kịp thời khắc phục các lỗ hổng tiềm ẩn để bảo vệ an toàn 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.
Poolz bị tấn công tràn số học, thiệt hại 66,5 nghìn đô la Mỹ trên nhiều chuỗi.
Poolz bị tấn công tràn số học, thiệt hại khoảng 665K đô la
Gần đây, một sự kiện tấn công nhằm vào nền tảng Poolz đã thu hút sự chú ý rộng rãi của cộng đồng tiền điện tử. Kẻ tấn công đã lợi dụng lỗ hổng tràn số trong hợp đồng thông minh để thành công đánh cắp tài sản tiền điện tử trị giá khoảng 665.000 USD từ nhiều mạng lưới như Ethereum, BNB Chain và Polygon.
Theo dữ liệu trên chuỗi, cuộc tấn công này xảy ra vào ngày 15 tháng 3 năm 2023, liên quan đến nhiều loại token, bao gồm MEE, ESNC, DON, ASW, KMON, POOLZ, v.v. Kẻ tấn công đã khai thác một lỗ hổng trong hàm CreateMassPools của nền tảng Poolz thông qua các thao tác khéo léo.
Vấn đề cốt lõi của cuộc tấn công nằm ở hàm getArraySum. Hàm này lẽ ra được sử dụng để tính toán thanh khoản ban đầu khi người dùng tạo nhiều pool, nhưng do tràn số nguyên, khiến kẻ tấn công chỉ cần chuyển vào một lượng token rất nhỏ để tạo ra các pool có thanh khoản giả mạo lớn. Sau đó, kẻ tấn công đã rút số lượng token bị ghi sai này thông qua hàm withdraw.
Phân tích kỹ thuật cho thấy, kẻ tấn công đã đầu tiên đổi một lượng nhỏ token MNZ thông qua một sàn giao dịch phi tập trung. Sau đó, họ đã gọi hàm CreateMassPools có lỗ hổng, truyền vào các tham số được cấu trúc cẩn thận khiến mảng _StartAmount vượt quá giá trị tối đa của uint256 khi cộng dồn, dẫn đến tràn số. Điều này khiến hệ thống nhầm tưởng rằng kẻ tấn công đã cung cấp một lượng lớn thanh khoản, trong khi thực tế chỉ chuyển vào 1 token.
Để ngăn chặn các vấn đề như vậy xảy ra lần nữa, các chuyên gia trong ngành khuyên các nhà phát triển sử dụng các phiên bản mới hơn của ngôn ngữ lập trình Solidity, vì những phiên bản này sẽ tự động kiểm tra tràn trong quá trình biên dịch. Đối với các dự án sử dụng phiên bản cũ của Solidity, nên sử dụng thư viện SafeMath của OpenZeppelin để xử lý các phép toán số nguyên, nhằm tránh rủi ro tràn.
Sự kiện này một lần nữa làm nổi bật tầm quan trọng của việc kiểm toán an ninh hợp đồng thông minh. Khi hệ sinh thái tài chính phi tập trung (DeFi) phát triển không ngừng, các dự án cần phải chú trọng hơn đến an toàn mã, thực hiện kiểm tra an ninh định kỳ và kịp thời khắc phục các lỗ hổng tiềm ẩn để bảo vệ an toàn tài sản của người dùng.