Poolz gặp phải cuộc tấn công lỗ hổng tràn số, thiệt hại gần 670.000 USD
Gần đây, một vụ tấn công nhằm vào dự án Poolz trên nhiều chuỗi đã thu hút sự chú ý rộng rãi trong ngành. Theo dữ liệu giám sát trên chuỗi, vụ tấn công xảy ra vào ngày 15 tháng 3 năm 2023, liên quan đến nhiều chuỗi công khai như Ethereum, BNB Chain và Polygon.
Cuộc tấn công này đã dẫn đến việc một số lượng lớn token bị đánh cắp, bao gồm các token của nhiều dự án như MEE, ESNC, DON, ASW, KMON, POOLZ. Dựa trên ước tính ban đầu, tổng giá trị tài sản bị đánh cắp khoảng 665,000 USD. Hiện tại, một phần token bị đánh cắp đã được kẻ tấn công đổi thành BNB, nhưng vẫn chưa được chuyển ra khỏi địa chỉ do kẻ tấn công kiểm soát.
Phân tích cho thấy, cuộc tấn công lần này chủ yếu lợi dụng lỗ hổng tràn số nguyên trong hợp đồng thông minh của dự án Poolz. Kẻ tấn công đã khéo léo xây dựng các tham số đầu vào, kích hoạt tràn số nguyên khi tạo hàng loạt các bể thanh khoản, từ đó đạt được mục đích nhận được lượng thanh khoản lớn với một số lượng token rất ít.
Cụ thể, kẻ tấn công đầu tiên đã đổi một lượng nhỏ token MNZ tại một sàn giao dịch phi tập trung. Sau đó, kẻ tấn công đã gọi hàm CreateMassPools trong hợp đồng Poolz, hàm này cho phép người dùng tạo hàng loạt bể thanh khoản và cung cấp thanh khoản ban đầu. Vấn đề nằm ở hàm getArraySum, hàm này được sử dụng để tính tổng lượng thanh khoản ban đầu mà người dùng cung cấp.
Kẻ tấn công đã xây dựng một mảng chứa các giá trị số lớn làm tham số đầu vào. Khi các giá trị này được cộng lại, đã xảy ra hiện tượng tràn số nguyên, dẫn đến sự khác biệt lớn giữa số lượng token thực tế chuyển vào và số lượng được ghi lại. Cuối cùng, kẻ tấn công chỉ chuyển vào 1 token, nhưng trong hợp đồng lại ghi nhận một giá trị thanh khoản khổng lồ.
Sau khi thực hiện các thao tác trên, kẻ tấn công ngay lập tức gọi hàm withdraw để rút tiền, dễ dàng hoàn thành toàn bộ quá trình tấn công.
Sự kiện này một lần nữa làm nổi bật tính nguy hiểm của vấn đề tràn số trong hợp đồng thông minh. Để phòng ngừa rủi ro tương tự, các chuyên gia trong ngành khuyên các nhà phát triển nên sử dụng phiên bản mới hơn của ngôn ngữ lập trình Solidity, những phiên bản này sẽ tự động kiểm tra tràn số trong quá trình biên dịch. Đố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 các thư viện bảo mật trưởng thành như OpenZeppelin để giải quyết vấn đề tràn số nguyên.
Sự kiện này nhắc nhở chúng ta rằng, trong hệ sinh thái blockchain, an toàn hợp đồng luôn là một vấn đề quan trọng không thể bỏ qua. Các bên dự án cần liên tục tăng cường kiểm toán mã và kiểm tra an toàn, trong khi người dùng cũng nên giữ cảnh giác khi tham gia các dự án mới, cẩn thận đánh giá các rủi ro liên quan.
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.
18 thích
Phần thưởng
18
5
Chia sẻ
Bình luận
0/400
PositionPhobia
· 9giờ trước
Thua lỗ nặng quá, cắt lỗ cũng không thực hiện được.
Xem bản gốcTrả lời0
StrawberryIce
· 9giờ trước
Lại có lỗi lại có lỗi, hợp đồng nào đáng tin cậy đây!
Xem bản gốcTrả lời0
InscriptionGriller
· 9giờ trước
又一个靓丽的清零典范天天被 chơi đùa với mọi người
Xem bản gốcTrả lời0
SeasonedInvestor
· 9giờ trước
Lại bị lừa! Đang đo hợp đồng gì vậy?
Xem bản gốcTrả lời0
SchrodingersPaper
· 9giờ trước
Lại bị lừa à? Chơi hợp đồng mà vẫn không thử nghiệm tràn! Dở tệ!
Poolz bị tấn công tràn số học, thiệt hại đa chuỗi gần 67.000 USD
Poolz gặp phải cuộc tấn công lỗ hổng tràn số, thiệt hại gần 670.000 USD
Gần đây, một vụ tấn công nhằm vào dự án Poolz trên nhiều chuỗi đã thu hút sự chú ý rộng rãi trong ngành. Theo dữ liệu giám sát trên chuỗi, vụ tấn công xảy ra vào ngày 15 tháng 3 năm 2023, liên quan đến nhiều chuỗi công khai như Ethereum, BNB Chain và Polygon.
Cuộc tấn công này đã dẫn đến việc một số lượng lớn token bị đánh cắp, bao gồm các token của nhiều dự án như MEE, ESNC, DON, ASW, KMON, POOLZ. Dựa trên ước tính ban đầu, tổng giá trị tài sản bị đánh cắp khoảng 665,000 USD. Hiện tại, một phần token bị đánh cắp đã được kẻ tấn công đổi thành BNB, nhưng vẫn chưa được chuyển ra khỏi địa chỉ do kẻ tấn công kiểm soát.
Phân tích cho thấy, cuộc tấn công lần này chủ yếu lợi dụng lỗ hổng tràn số nguyên trong hợp đồng thông minh của dự án Poolz. Kẻ tấn công đã khéo léo xây dựng các tham số đầu vào, kích hoạt tràn số nguyên khi tạo hàng loạt các bể thanh khoản, từ đó đạt được mục đích nhận được lượng thanh khoản lớn với một số lượng token rất ít.
Cụ thể, kẻ tấn công đầu tiên đã đổi một lượng nhỏ token MNZ tại một sàn giao dịch phi tập trung. Sau đó, kẻ tấn công đã gọi hàm CreateMassPools trong hợp đồng Poolz, hàm này cho phép người dùng tạo hàng loạt bể thanh khoản và cung cấp thanh khoản ban đầu. Vấn đề nằm ở hàm getArraySum, hàm này được sử dụng để tính tổng lượng thanh khoản ban đầu mà người dùng cung cấp.
Kẻ tấn công đã xây dựng một mảng chứa các giá trị số lớn làm tham số đầu vào. Khi các giá trị này được cộng lại, đã xảy ra hiện tượng tràn số nguyên, dẫn đến sự khác biệt lớn giữa số lượng token thực tế chuyển vào và số lượng được ghi lại. Cuối cùng, kẻ tấn công chỉ chuyển vào 1 token, nhưng trong hợp đồng lại ghi nhận một giá trị thanh khoản khổng lồ.
Sau khi thực hiện các thao tác trên, kẻ tấn công ngay lập tức gọi hàm withdraw để rút tiền, dễ dàng hoàn thành toàn bộ quá trình tấn công.
Sự kiện này một lần nữa làm nổi bật tính nguy hiểm của vấn đề tràn số trong hợp đồng thông minh. Để phòng ngừa rủi ro tương tự, các chuyên gia trong ngành khuyên các nhà phát triển nên sử dụng phiên bản mới hơn của ngôn ngữ lập trình Solidity, những phiên bản này sẽ tự động kiểm tra tràn số trong quá trình biên dịch. Đố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 các thư viện bảo mật trưởng thành như OpenZeppelin để giải quyết vấn đề tràn số nguyên.
Sự kiện này nhắc nhở chúng ta rằng, trong hệ sinh thái blockchain, an toàn hợp đồng luôn là một vấn đề quan trọng không thể bỏ qua. Các bên dự án cần liên tục tăng cường kiểm toán mã và kiểm tra an toàn, trong khi người dùng cũng nên giữ cảnh giác khi tham gia các dự án mới, cẩn thận đánh giá các rủi ro liên quan.