Nếu có một điều chúng ta biết, đó là không có giao thức hoặc nền tảng DeFi nào là 100% an toàn. Vào ngày 9 tháng 7, Sàn giao dịch @GMX_IO V1 đã bị hack với số tiền 42 triệu đô la. Dưới đây là phân tích của chúng tôi từ Đối tác An ninh Chính @panprog của @Blackthornxyz (bao gồm một bài học quan trọng cho việc phát triển hợp đồng thông minh) 👇🔎
Nguyên nhân của lỗ hổng là một lỗ hổng tái nhập trong các hợp đồng thông minh GMX, cụ thể là trong PositionManager.executeDecreaseOrder.
Cuộc Tấn Công ⚔️: Từ OrderBook.executeDecreaseOrder, lợi nhuận (bằng ETH) đã được gửi trực tiếp đến người dùng. Điều này đã kích hoạt hàm receive() của hợp đồng nhận trước khi timelock.disableLeverage() được gọi.
Chức năng đó nhằm ngăn chặn các cuộc gọi trực tiếp đến Vault bằng cách vô hiệu hóa đòn bẩy, nhưng do việc gọi hàm này bị trì hoãn, kẻ tấn công đã có thể vượt qua nó.
Trong bối cảnh tái nhập này, kẻ tấn công đã gọi trực tiếp Vault để thao tác các vị thế ngắn. Một dòng quan trọng trong PositionManager - chịu trách nhiệm cập nhật ShortsTracker.globalShortAveragePrices - đã bị bỏ qua.
Kết quả là, kẻ tấn công có thể làm tăng giả tạo Vault.globalShortSizes mà không cần cập nhật giá trung bình của lệnh bán khống, điều này dẫn đến việc tính toán AUM không chính xác và làm tăng giá GLP.
Việc đánh cắp 42 triệu đô la💰: Kẻ tấn công đầu tiên đã mua GLP với giá thấp hơn, sau đó đã thổi phồng giá bằng các vòng lặp tái nhập, rồi bán lại GLP cho Vault với giá đã được thổi phồng. Điều này đã làm cạn kiệt gần như tất cả các token được giữ trong Vault. Tổng số thu: 42 triệu đô la bằng ETH, BTC, USDC và nhiều hơn nữa.
Hậu quả? 1) GMX đã ngừng tất cả giao dịch, đúc và đổi GLP trên Arbitrum và Avalanche. 2) GMX V2 và các thành phần giao thức khác không bị ảnh hưởng. 3) Kẻ tấn công được đề nghị một phần thưởng white-hat 10% (khoảng 4,2 triệu đô la) nếu số tiền được trả lại trong vòng 48 giờ.
Tính đến thời điểm viết bài này, hacker đã bắt đầu trả lại tiền cho đội ngũ GMX sau khi thương lượng một khoản thanh toán 🙌. Là đối tác bảo mật với GMX bắt đầu từ V2, chúng tôi đã hỗ trợ trong tình huống này và rất vui khi nghe tin này. Chúng tôi mong muốn tiếp tục làm việc với GMX trong tương lai.
Các Bài Học 🎓: ✅ Đảm bảo không có khả năng tái nhập, ngay cả khi nó có vẻ vô hại - Ban đầu, GMX v1 cho phép người dùng tương tác trực tiếp với Vault... Do đó, khả năng tương tác trực tiếp với Vault không có vẻ nguy hiểm đối với nhiều người.
✅ Đảm bảo có các kiểm tra hợp lý cho việc thay đổi giá nhanh chóng, chẳng hạn như giá token hoặc cổ phiếu: hoàn tác thực thi nếu trong một khoảng thời gian ngắn mà giá của bất kỳ tài sản nào (như GLP trong trường hợp này) thay đổi hơn một tỷ lệ phần trăm nhất định.
✅ Đảm bảo có giám sát off-chain nghiêm ngặt cho bất kỳ mẫu đáng ngờ nào, có thể tự động ngừng giao dịch trong các tình huống cực đoan. Ví dụ, nếu giá GLP nằm ngoài một khoảng đã được xác định trước vào bất kỳ thời điểm nào, hãy ngừng hoạt động ngay lập tức để điều tra.
Hãy xem blog của chúng tôi để biết báo cáo đầy đủ 👇
Hiển thị ngôn ngữ gốc
5,18 N
43
Nội dung trên trang này được cung cấp bởi các bên thứ ba. Trừ khi có quy định khác, OKX không phải là tác giả của bài viết được trích dẫn và không tuyên bố bất kỳ bản quyền nào trong các tài liệu. Nội dung được cung cấp chỉ nhằm mục đích thông tin và không thể hiện quan điểm của OKX. Nội dung này không nhằm chứng thực dưới bất kỳ hình thức nào và không được coi là lời khuyên đầu tư hoặc lời chào mời mua bán tài sản kỹ thuật số. Việc sử dụng AI nhằm cung cấp nội dung tóm tắt hoặc thông tin khác, nội dung do AI tạo ra có thể không chính xác hoặc không nhất quán. Vui lòng đọc bài viết trong liên kết để biết thêm chi tiết và thông tin. OKX không chịu trách nhiệm về nội dung được lưu trữ trên trang web của bên thứ ba. Việc nắm giữ tài sản kỹ thuật số, bao gồm stablecoin và NFT, có độ rủi ro cao và có thể biến động rất lớn. Bạn phải cân nhắc kỹ lưỡng xem việc giao dịch hoặc nắm giữ tài sản kỹ thuật số có phù hợp hay không dựa trên tình hình tài chính của bạn.