Tiêu đề gốc: "Phân tích chi tiết về sự cố tấn công "Oracle" của giao thức DeFi Warp Finance"
Nguồn gốc: Beosin Chengdu Lian'an
Vào khoảng 6 giờ ngày 18 tháng 12 theo giờ Bắc Kinh, giao thức cho vay DeFi Warp Finance đã bị hack khiến tài sản bị thiệt hại gần 8 triệu USD.
Đồng thời, các quan chức của Warp Finance cũng tweet rằng họ đang điều tra các khoản cho vay bất hợp pháp và khuyến nghị người dùng tạm dừng việc gửi tiền ổn định cho đến khi sự thật của vụ việc được sáng tỏ. thông thoáng.
Sau khi nhận được cảnh báo từ nền tảng nhận thức tình hình an ninh blockchain (Beosin-Eagle Eye), nhóm Chengdu LianAn đã ngay lập tức tiến hành điều tra vụ tấn công. người ta nhận thấy rằng:
1. Warp Finance sử dụng giá tương đối của các cặp giao dịch Uniswap làm nguồn cung cấp giá cho oracle của mình.
2. Sau khi kẻ tấn công biết được tình trạng này, hắn đã sử dụng số tiền khổng lồ có được từ các khoản vay flash để thao túng giá của các cặp giao dịch Uniswap.
3. Bằng cách kiểm soát thông tin nguồn cấp giá của máy oracle, kẻ tấn công đã phá hủy tiêu chuẩn đánh giá giá trị khoản vay của Warp Finance.
4. Trong môi trường dữ liệu sai lầm của Warp Finance, kẻ tấn công đã đánh cắp tài sản vượt xa giá trị tài sản thế chấp.
5. Kẻ tấn công đã trả lại số tiền đã vay từ khoản vay nhanh.
0x8bb8dc5c7c830bac85fa48acad2505e9300a91c3ff239c9517d0cae33b595090
p>
Kẻ tấn công lần đầu tiên sử dụng Uniswap để thực hiện các khoản vay nhanh và áp dụng phương thức khảm (hoạt động liên tục trước khi trả nợ). Việc cho vay được thực hiện lần lượt trong các nhóm WBTC2, USDC3 và USDT2, như thể hiện trong hình bên dưới:
p>
Sau đó, để mở rộng số tiền sử dụng cho cuộc tấn công, kẻ tấn công đã tiến hành một khoản vay nhanh trên dYdX. Như thể hiện trong hình dưới đây:
Lúc này, quy mô vốn vay số tiền đã đạt gần 200 triệu USD Tiếp theo, kẻ tấn công đã bơm thanh khoản vào nhóm giao dịch DAI 2 của Uniswap và lấy được token thanh khoản LP, như trong hình bên dưới:
Sau đó, thế chấp token LP thu được trong hợp đồng, giao dịch và mã Warp Finance Như hình bên dưới :
Sau khi thế chấp xong, kẻ tấn công dùng số tiền vay được để trao đổi toàn bộ DAI trong nhóm Uniswap DAI 2, như minh họa trong hình bên dưới:
Sau khi hoàn thành "công việc chuẩn bị" ở trên, giá đã ở trạng thái bị thao túng. Mặt khác, nguồn cấp dữ liệu giá oracle của Warp Finance là dữ liệu giá từ mã thông báo Uniswap LP như sau:
(Giá của mã thông báo A × Số tiền nắm giữ trong nhóm mã thông báo A + Giá của mã thông báo B giá được tính từ cặp giao dịch "token tương ứng và stablecoin" của Uniswap.
Do đó, trong tình huống trên, giá của mã thông báo A và B ở mức bình thường, trong khi giá tương đối của mã thông báo A và B trong cặp giao dịch có xảy ra bất thường. Điều này là do Uniswap sử dụng cơ chế tạo lập thị trường sản phẩm không đổi, tức là A×B=K. Khi có số lượng lớn trao đổi cho một mã thông báo nhất định, sẽ có sự trượt giá lớn, dẫn đến chênh lệch giá.
Giả định: A=A số lượng token; B=B số lượng token; AP=A giá token; BP=B giá token
Đã biết: A×B=k (K không đổi khi không thêm thanh khoản); Giá chênh lệch = (AP×A+BP×B)/totalLP
Vì AP và BP đều không đổi trong sự kiện này nên chúng ta có thể đặt AP=X1×BP và đơn giản hóa để nhận Warp Price=((X1×K)/B+ B)×BP/totalLP
Có thể kết luận rằng X1×K, BP và TotalLP là các hằng số trong cuộc tấn công khi số lượng B tăng lên thì giá LP sẽ tăng lên.
Kẻ tấn công đã lợi dụng điều này và sử dụng số tiền khổng lồ thu được từ các khoản vay nhanh để tăng tính thanh khoản một cách ồ ạt cho một trong các mã thông báo trong nhóm giao dịch, buộc một mã thông báo khác cũng phải tham gia. tăng mạnh, gây mất cân bằng giá LP. Vì giá LP đã bị thao túng ở mức cao nên kẻ tấn công có thể cho vay một lượng tài sản lớn hơn số tiền bình thường.
Sau đó, kẻ tấn công thực hiện một khoản vay bằng cách gọi hàm sau.
Sau khi kiểm soát thành công giá thế chấp, kẻ tấn công có thể khai thác sai giá dữ liệu cho vay tài sản vượt xa giá trị tài sản thế chấp và thu được lợi nhuận khổng lồ từ nó. Cuối cùng, kẻ tấn công đã trả lại khoản vay nhanh, như trong hình bên dưới:
Rõ ràng, đây là một cuộc tấn công tiên tri điển hình khác được khởi xướng bởi một khoản vay nhanh khổng lồ. Thành Đô Lian'an từng viết một bài chỉ ra rằng trong số rất nhiều phương thức tấn công hiện nay của hacker, việc kiểm soát nguồn cấp dữ liệu giá "máy oracle" chính là "thủ phạm" vô hình.
Đồng thời, Chengdu Lianan cũng long trọng nhắc nhở các nhà phát triển DeFi rằng họ nên tăng cường thử nghiệm có mục tiêu đối với các oracle, đặc biệt là khi dự án đang được triển khai. đã ra mắt trước, hãy cố gắng hết sức để mô phỏng các kịch bản khác nhau của các cuộc tấn công thao túng giá, phát hiện vấn đề và tìm giải pháp kịp thời, đồng thời cải thiện hiệu quả khả năng chống lại các cuộc tấn công oracle của dự án.
Chỉ một tháng sau, những tổn thất lớn về tài sản một lần nữa cảnh báo chúng ta rằng trong lĩnh vực blockchain, công tác bảo vệ an ninh là đặc biệt quan trọng và có nhiều lỗ hổng bảo mật hệ thống đến mức khó đề phòng. Vì vậy, chúng ta phải thực hiện các biện pháp tích cực để hình thành kế hoạch bảo vệ liên tục và hiệu quả nhằm tránh những rắc rối trước ở mức độ lớn nhất.
Ngoài ra, nếu có bất kỳ vấn đề kỹ thuật nào về bảo mật trong quá trình vận hành các dự án DeFi, việc áp dụng giải pháp công nghệ bảo mật của bên thứ ba có thể là một phương pháp hiệu quả. Cuối cùng, Chengdu Lian'an một lần nữa kêu gọi tăng cường kiểm tra an ninh thường xuyên đối với các dự án và các khía cạnh khác để ngăn chặn những sự cố như vậy tái diễn.
Liên kết gốc
Chào mừng bạn tham gia cộng đồng chính thức của BlockBeats:
Nhóm Telegram đăng ký: https://t.me/theblockbeats
Nhóm Telegram thảo luận: https://t.me/BlockBeats_App
Tài khoản Twitter chính thức: https://twitter.com/BlockBeatsAsia