Poolz遭遇 tấn công tràn số học, thiệt hại khoảng 665K USD
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 một lượng lớn token bị đánh cắp, tổng giá trị khoảng 665,000 USD. Cuộc tấn công xảy ra vào ngày 15 tháng 3 năm 2023, liên quan đến nhiều mạng như Ethereum, BNB Smart Chain và Polygon.
Kẻ tấn công đã khai thác lỗ hổng tràn số trong hợp đồng Poolz. Bằng cách thao tác khéo léo vào hàm CreateMassPools, kẻ tấn công có thể tạo ra các bể với tính thanh khoản ban đầu lớn bất thường, nhưng thực tế chỉ cần chuyển vào một lượng token rất nhỏ. Sự không nhất quán này cuối cùng đã dẫn đến việc kẻ tấn công có thể rút ra số token vượt xa lượng mà họ thực sự đã gửi.
Cụ thể, kẻ tấn công đã truyền vào một mảng gây ra tràn số uint256 khi gọi hàm CreateMassPools. Mặc dù số lượng token thực tế được chuyển vào rất ít, nhưng do tràn số, hệ thống đã ghi lại một giá trị thanh khoản ban đầu khổng lồ một cách sai lầm. Sau đó, kẻ tấn công đã rút ra những "thanh khoản giả" này thông qua hàm withdraw.
Sự kiện lần này đã làm lộ ra vấn đề chính là tràn số nguyên. Để ngăn chặn các lỗ hổng tương tự, các nhà phát triển nên xem xét sử dụng phiên bản trình biên dịch Solidity mới hơn, những phiên bản này sẽ tự động thực hiện 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 của OpenZeppelin để phòng ngừa rủi ro tràn số nguyên.
Cuộc tấn công lần này một lần nữa nhấn mạnh tầm quan trọng của việc thực hiện kiểm tra an ninh nghiêm ngặt trong phát triển hợp đồng thông minh, đặc biệt là khi xử lý các chức năng quan trọng liên quan đến quỹ của người dùng. Đồng thời, nó cũng nhắc nhở các dự án và người dùng luôn phải cảnh giác, theo dõi chặt chẽ những mối đe dọa an ninh tiềm ẩn.
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.
8 thích
Phần thưởng
8
3
Chia sẻ
Bình luận
0/400
WhaleWatcher
· 22giờ trước
Kiểm toán có phải chỉ là hình thức không?
Xem bản gốcTrả lời0
DAOplomacy
· 22giờ trước
có thể nói là một trường hợp khác của các nguyên tắc bảo mật không tối ưu
Poolz bị tấn công tràn số học, thiệt hại trên nhiều chuỗi là 665K USD
Poolz遭遇 tấn công tràn số học, thiệt hại khoảng 665K USD
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 một lượng lớn token bị đánh cắp, tổng giá trị khoảng 665,000 USD. Cuộc tấn công xảy ra vào ngày 15 tháng 3 năm 2023, liên quan đến nhiều mạng như Ethereum, BNB Smart Chain và Polygon.
Kẻ tấn công đã khai thác lỗ hổng tràn số trong hợp đồng Poolz. Bằng cách thao tác khéo léo vào hàm CreateMassPools, kẻ tấn công có thể tạo ra các bể với tính thanh khoản ban đầu lớn bất thường, nhưng thực tế chỉ cần chuyển vào một lượng token rất nhỏ. Sự không nhất quán này cuối cùng đã dẫn đến việc kẻ tấn công có thể rút ra số token vượt xa lượng mà họ thực sự đã gửi.
Cụ thể, kẻ tấn công đã truyền vào một mảng gây ra tràn số uint256 khi gọi hàm CreateMassPools. Mặc dù số lượng token thực tế được chuyển vào rất ít, nhưng do tràn số, hệ thống đã ghi lại một giá trị thanh khoản ban đầu khổng lồ một cách sai lầm. Sau đó, kẻ tấn công đã rút ra những "thanh khoản giả" này thông qua hàm withdraw.
Sự kiện lần này đã làm lộ ra vấn đề chính là tràn số nguyên. Để ngăn chặn các lỗ hổng tương tự, các nhà phát triển nên xem xét sử dụng phiên bản trình biên dịch Solidity mới hơn, những phiên bản này sẽ tự động thực hiện 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 của OpenZeppelin để phòng ngừa rủi ro tràn số nguyên.
Cuộc tấn công lần này một lần nữa nhấn mạnh tầm quan trọng của việc thực hiện kiểm tra an ninh nghiêm ngặt trong phát triển hợp đồng thông minh, đặc biệt là khi xử lý các chức năng quan trọng liên quan đến quỹ của người dùng. Đồng thời, nó cũng nhắc nhở các dự án và người dùng luôn phải cảnh giác, theo dõi chặt chẽ những mối đe dọa an ninh tiềm ẩn.