GMX bị tấn công bởi Hacker, lỗ 40 triệu USD do lỗ hổng re-entrant.

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

GMX bị tấn công bởi Hacker, gây thiệt hại hơn 40 triệu USD. Kẻ tấn công đã lợi dụng một lỗ hổng có thể gọi lại và thiết lập vị thế Short trong trường hợp hợp đồng kích hoạt chức năng đòn bẩy để thực hiện cuộc tấn công.

Mất hơn 40 triệu USD, phân tích nguyên lý sự kiện GMX Hacker

Vấn đề cốt lõi nằm ở việc sử dụng sai hàm executeDecreaseOrder. Tham số đầu tiên của hàm này nên là tài khoản bên ngoài (EOA), nhưng kẻ tấn công đã truyền vào một địa chỉ hợp đồng thông minh. Điều này cho phép kẻ tấn công có thể tái nhập vào hệ thống trong quá trình thanh lý, thao túng trạng thái nội bộ, và cuối cùng là số tài sản được thanh lý vượt xa giá trị GLP mà họ thực sự nắm giữ.

Trong GMX, GLP là token cung cấp thanh khoản, đại diện cho phần chia sẻ của tài sản trong kho (như USDC, ETH, WBTC). Thông thường, khi người dùng rút GLP, hệ thống sẽ tính toán số lượng tài sản cần hoàn lại dựa trên tỷ lệ GLP người dùng nắm giữ và tổng giá trị tài sản đang quản lý (AUM) hiện tại. Tính toán AUM bao gồm tổng giá trị của tất cả các pool token, lãi lỗ chưa thực hiện toàn cầu từ vị thế Short, số tiền đã được dự trữ và các khoản khấu trừ đã thiết lập.

Tuy nhiên, khi tính năng đòn bẩy được kích hoạt, hệ thống đã xuất hiện lỗ hổng. Kẻ tấn công đã mở một vị thế Short lớn với WBTC trước khi hoàn trả GLP. Do vị thế Short vừa mở đã làm gia tăng quy mô Short toàn cầu, khi giá vẫn chưa thay đổi, hệ thống mặc định rằng vị thế Short đó đang ở trạng thái thua lỗ. Phần thua lỗ chưa thực hiện này đã bị tính sai vào "tài sản" của kho bạc, dẫn đến việc AUM tăng lên một cách giả tạo. Mặc dù kho bạc thực tế không nhận được giá trị bổ sung nào, nhưng việc tính toán hoàn trả lại dựa trên AUM cao hơn này đã khiến kẻ tấn công nhận được tài sản vượt xa những gì họ đáng lẽ phải nhận.

Tổn thất hơn 40 triệu USD, phân tích nguyên lý sự kiện GMX Hacker

Cuộc tấn công này đã phơi bày những thiếu sót nghiêm trọng trong cơ chế đòn bẩy và thiết kế bảo vệ chống tái nhập của GMX. Vấn đề cốt lõi nằm ở chỗ logic thu hồi tài sản đặt niềm tin quá cao vào AUM, không thực hiện đủ các kiểm tra an toàn thận trọng đối với các thành phần của nó (chẳng hạn như thua lỗ chưa thực hiện). Đồng thời, giả định về danh tính của người gọi trong các hàm quan trọng (EOA so với hợp đồng) cũng thiếu sự xác minh bắt buộc.

Sự kiện này một lần nữa nhắc nhở các nhà phát triển rằng, khi thực hiện các thao tác nhạy cảm liên quan đến tài chính, họ phải đảm bảo rằng trạng thái hệ thống không thể bị thao túng. Đặc biệt khi đưa vào các logic tài chính phức tạp (như đòn bẩy, sản phẩm phái sinh), cần phải phòng ngừa nghiêm ngặt các rủi ro hệ thống do tái nhập và ô nhiễm trạng thái gây ra. Nhóm phát triển nên xem xét lại thiết kế hợp đồng của mình, tăng cường các biện pháp bảo mật, và xem xét việc đưa vào các cơ chế xác thực danh tính và kiểm tra trạng thái chặt chẽ hơn, để ngăn chặn các cuộc tấn công tương tự xảy ra lần nữa.

GMX6.2%
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.
  • Phần thưởng
  • Bình luận
  • Chia sẻ
Bình luận
0/400
Không có bình luận
  • Ghim
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)