GMX đã bị tấn công.Kẻ tấn công đã khai thác lỗ hổng reentrancy trong hợp đồng dự án và thu được lợi nhuận khoảng 42 triệu đô la Mỹ. Đội ngũ bảo mật Beosin đã tiến hành phân tích lỗ hổng và theo dõi nguồn vốn cho cuộc tấn công này, đồng thời chia sẻ kết quả như sau:
Các bước tấn công chi tiết
Kẻ tấn công đầu tiên đã khai thác cơ chế hoàn trả ký quỹ trong hàm executeDecreaseOrder trong hợp đồng OrderBook và thực hiện một cuộc tấn công reentrancy để vượt qua Timelockcông tắc đòn bẩy của hợp đồng:

Sau đó, kẻ tấn công vay USDC thông qua các khoản vay nhanh để thế chấp và đúc GLP, đồng thời tăng các vị thế bán khống BTC với USDC làm ký quỹ, khiến giá trị AUM của hợp đồng GLPmanager tăng cao một cách giả tạo. Việc tính toán giá trị này sẽ ảnh hưởng đến giá của GLP.

Cuối cùng, kẻ tấn công đã mua lại GLP với mức giá bất thường để kiếm lời và chỉ định đổi nó lấy các token khác.
Phân tích lỗ hổng
Thông qua quy trình tấn công trên, chúng ta có thể thấy rằng các lý do cho việc khai thác lỗ hổng của toàn bộ sự cố như sau:
- Thiếu bảo vệ chống xâm nhập lại, dẫn đến việc xâm nhập lại và sửa đổi trạng thái nội bộ trong quá trình khôi phục.
- Logic khôi phục tương đối phức tạp và thiếu các kiểm tra bảo mật đầy đủ.
Mặc dù GMX đã trải qua nhiều lần kiểm tra bảo mật, lỗ hổng xâm nhập lại này vẫn bị bỏ qua. Nếu logic khôi phục được kiểm tra nghiêm ngặt hơn và các lỗ hổng xâm nhập lại có thể được tính đến, những sự cố bảo mật như vậy có thể được tránh. Theo dõi tiền bị đánh cắp: Beosin Trace đã theo dõi số tiền bị đánh cắp và phát hiện ra rằng địa chỉ 0x7d3bd50336f64b7a473c51f54e7f0bd6771cc355 của kẻ tấn công đã kiếm được khoảng 42 triệu đô la Mỹ. Giao thức DeFi sau đó đã đổi stablecoin và altcoin thành ETH và USDC, và chuyển số tài sản bị đánh cắp sang mạng lưới Ethereum thông qua nhiều giao thức chuỗi chéo. Hiện tại, khoảng 32 triệu ETH giá trị tài sản bị đánh cắp được lưu trữ tại bốn địa chỉ mạng Ethereum sau:
- 0xe9ad5a0f2697a3cf75ffa7328bda93dbaef7f7e7
- 0x69c965e164fa60e37a851aa5cd82b13ae39c1d95
- 0xa33fcbe3b84fb8393690d1e994b6a6adc256d8a3
- 0x639cd2fc24ec06be64aaf94eb89392bea98a6605
Khoảng 10 triệu đô la tài sản được gửi vào địa chỉ của mạng lưới Arbitrum0xdf3340a436c27655ba62f8281565c9925c3a5221. Beosin Trace đã thêm các địa chỉ liên quan đến tin tặc vào cơ sở dữ liệu địa chỉ đen và sẽ tiếp tục theo dõi chúng trong tương lai.

Theo phân tích của Beosin Trace, tất cả các khoản tiền bị đánh cắp vẫn được lưu trữ trong nhiều địa chỉ của kẻ tấn công
Tóm tắt
Điểm cốt lõi của cuộc tấn công này là hợp đồng GMX có lỗ hổng tái nhập, cho phép kẻ tấn công mua lại một lượng lớn tài sản để kiếm lời thông qua việc tăng giá trị AUM giả mạo. Các giao thức DeFi phức tạp như GMX yêu cầu kiểm tra bảo mật toàn diện và nhiều cấp độ để kiểm tra và xem xét kỹ lưỡng mã hợp đồng. Trước đây, nhóm bảo mật Beosin đã hoàn tất kiểm tra bảo mật của nhiều giao thức DeFi (như Surf Protocol, SyncSwap, LeverFi và Owlto Finance), tập trung vào việc phát hiện các lỗi logic hợp đồng và các tình huống cực đoan có thể bị bỏ qua, đảm bảo rằng các giao thức DeFi được kiểm tra đầy đủ.