Poolz bị tấn công tràn số học, thiệt hại 66,5 triệu USD

robot
Đang tạo bản tóm tắt

Poolz bị tấn công tràn số học, thiệt hại lên đến 665.000 USD

Vào rạng sáng ngày 15 tháng 3, Poolz đã bị tấn công trên mạng Ethereum, Binance Smart Chain và Polygon, dẫn đến việc nhiều loại token bị đánh cắp, tổng giá trị khoảng 665.000 USD. Kẻ tấn công đã lợi dụng lỗ hổng tràn số học trong hợp đồng thông minh, thành công trong việc lấy được một lượng lớn token.

Poolz bị tấn công do lỗi tràn số, thiệt hại khoảng 665K USD!

Kẻ tấn công tạo ra các bể thanh khoản hàng loạt bằng cách gọi hàm CreateMassPools. Hàm này có một lỗ hổng nghiêm trọng cho phép kẻ tấn công vượt qua các kiểm tra thanh khoản bình thường thông qua các tham số được cấu trúc cẩn thận. Cụ thể, kẻ tấn công đã lợi dụng vấn đề tràn số nguyên trong hàm getArraySum.

Trong quá trình tấn công, hacker đầu tiên đã đổi một lượng nhỏ token MNZ trên một sàn giao dịch phi tập trung nào đó. Sau đó, họ đã gọi hàm CreateMassPools có lỗ hổng. Hàm này lẽ ra được sử dụng để tạo hàng loạt các pool thanh khoản và cung cấp thanh khoản ban đầu, nhưng do khuyết điểm của hàm getArraySum, kẻ tấn công đã có thể tiêm thanh khoản giả lớn hơn nhiều so với lượng thực tế đã chuyển vào.

Poolz bị tấn công do lỗi tràn số, thiệt hại khoảng 665K đô la!

Hàm getArraySum trong quá trình cộng dồn mảng _StartAmount truyền vào, do vấn đề tràn, giá trị trả về cuối cùng trở thành 1. Tuy nhiên, hàm CreatePool vẫn sử dụng giá trị _StartAmount gốc để ghi lại. Điều này dẫn đến việc kẻ tấn công chỉ cần chuyển vào 1 token, đã có thể ghi lại lượng thanh khoản giả mạo lớn trong hệ thống.

Sau khi hoàn thành bước này, kẻ tấn công đơn giản gọi hàm withdraw để rút token, hoàn thành toàn bộ quá trình tấn công.

Poolz đã bị tấn công do vấn đề tràn số, thiệt hại khoảng 665K USD!

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 đảm bảo an toàn cho các phép toán số học trong 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, những phiên bản này có thể tự động thực hiện kiểm tra tràn trong giai đoạn biên dịch. Đối với các dự án sử dụng phiên bản Solidity cũ, nên tích hợp thư viện SafeMath của OpenZeppelin để xử lý vấn đề tràn số nguyên.

Sự kiện tấn công này nhắc nhở chúng ta rằng, trong hệ sinh thái blockchain, ngay cả những lỗ hổng mã nhỏ nhất cũng có thể dẫn đến tổn thất kinh tế nghiêm trọng. Do đó, việc kiểm tra mã một cách kỹ lưỡng và cập nhật bảo mật liên tục là rất quan trọng để bảo vệ tài sản của người dùng.

Poolz bị tấn công do lỗi tràn số, thiệt hại khoảng 665K USD!

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.
  • Phần thưởng
  • 3
  • Chia sẻ
Bình luận
0/400
GweiWatchervip
· 07-14 06:30
Một lỗ hổng hợp đồng khác.
Xem bản gốcTrả lời0
SignatureCollectorvip
· 07-14 06:18
66w đã biến mất như vậy??
Xem bản gốcTrả lời0
Whale_Whisperervip
· 07-14 06:04
Lại thấy bug hợp đồng thông minh
Xem bản gốcTrả lời0
Giao dịch tiền điện tử mọi lúc mọi nơi
qrCode
Quét để tải xuống ứng dụng Gate
Cộng đồng
Tiếng Việt
  • 简体中文
  • English
  • Tiếng Việt
  • 繁體中文
  • Español
  • Русский
  • Français (Afrique)
  • Português (Portugal)
  • Bahasa Indonesia
  • 日本語
  • بالعربية
  • Українська
  • Português (Brasil)