Phân tích sự kiện tấn công "Oracle Machine" của giao thức DeFi Warp Finance
成都链安
2020-12-18 10:45
本文约1745字,阅读全文需要约7分钟
Trong số nhiều phương thức tấn công của tin tặc hiện nay, việc kiểm soát giá feed của "cỗ máy tiên tri" chính là "thủ phạm" vô hình.

Vào khoảng 6:00 ngày 18 tháng 12, giờ Bắc Kinh, thỏa thuận cho vay DeFi Warp Finance đã bị hack, gây thiệt hại tài sản gần 8 triệu USD.

Đồng thời, Warp Finance đã chính thức tweet rằng họ đang điều tra các khoản vay bất hợp pháp và khuyến nghị người dùng tạm dừng gửi tiền ổn định cho đến khi sự thật của vụ việc được làm rõ.

Sau khi nhận được cảnh báo từ nền tảng nhận thức tình huống bảo mật chuỗi khối (Beosin-Eagle Eye), nhóm Thành Đô Lianan đã ngay lập tức điều tra vụ tấn công và phát hiện ra 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 dự đoán của mình.

2. Sau khi biết về tình huống này, kẻ tấn công đã thao túng giá của cặp giao dịch Uniswap với số tiền khổng lồ thu được từ khoản vay chớp nhoáng.

3. Bằng cách điều khiển máy tiên tri để cung cấp thông tin nguồn giá, 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 của Warp Finance, kẻ tấn công đã đánh cắp tài sản vượt xa giá trị của tài sản thế chấp.

tiêu đề phụ

tiêu đề phụ

0x8bb8dc5c7c830bac85fa48acad2505e9300a91c3ff239c9517d0cae33b595090

Phân tích quá trình tấn công

Kẻ tấn công lần đầu tiên sử dụng Uniswap cho các khoản vay nhanh và sử dụng phương thức khảm (hoạt động liên tục trước khi trả nợ) để thực hiện các khoản vay WETH trong nhóm WBTC2, USDC3 và USDT2 tương ứng, như trong hình sau:

Sau đó, để mở rộng số tiền được sử dụng cho cuộc tấn công, kẻ tấn công đã thực hiện một khoản vay nhanh trên dYdX. Như hình dưới đây:

Tại thời điểm này, quy mô của số tiền cho vay đã lên tới gần 200 triệu đô la Mỹ, 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 mã thông báo thanh khoản LP, như thể hiện trong hình sau:

Sau đó, thế chấp các mã thông báo LP thu được trong hợp đồng Warp Finance. Giao dịch và mã như sau:

Sau khi hoàn tất việc thế chấp, kẻ tấn công đã sử dụng số tiền đã vay để trao đổi tất cả DAI trong nhóm Uniswap DAI 2, như thể hiện trong hình bên dưới:

tiêu đề phụ

Thuật toán giá mã thông báo LP

(Giá của mã thông báo A × Số lượng nắm giữ trong nhóm mã thông báo A + Giá của mã thông báo B × Số lượng nắm giữ trong nhóm mã thông báo B) / Tổng số lượng mã thông báo LP

Trong số đó, giá của mã thông báo A và mã thông báo B được tính theo cặp giao dịch "mã thông báo tương ứng và tiền tệ ổn định" của Uniswap.

Do đó, trong các trường hợp 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 đã trở nên bất thường. Điều này là do Uniswap sử dụng cơ chế tạo thị trường sản phẩm không đổi, tức là A×B=K. Khi có một 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=Số lượng mã thông báo A; B=Số lượng mã thông báo B; AP=Giá mã thông báo A; BP=Giá mã thông báo B

Đã biết: A×B=k (K không đổi khi không thêm thanh khoản); Giá cong vênh=(AP×A+BP×B)/totalLP

Vì cả 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 để có được Giá cong vênh=((X1×K)/B+B)×BP/totalLP

Có thể kết luận rằng X1×K, BP và tổng LP đều không đổi trong cuộc tấn công và khi số lượng B tăng lên, giá của 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ừ khoản vay nhanh để tăng ồ ạt tính thanh khoản của một trong các mã thông báo trong nhóm giao dịch, buộc mã thông báo kia phải tăng theo, gây ra sự mất cân bằng giá của LP. Do giá LP đã bị thao túng và đang ở mức cao nên kẻ tấn công có thể cho vay nhiều tài sản hơ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.

tiêu đề phụ

Tóm tắt sự kiện

Rõ ràng, đây là một sự cố tấn công tiên tri điển hình khác do một khoản vay chớp nhoáng khổng lồ khởi xướng. Thành Đô Lianan đã từng viết một bài báo chỉ ra rằng trong số rất nhiều phương thức tấn công của tin tặc hiện nay, việc kiểm soát giá ăn của "cỗ máy tiên tri" 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 các máy tiên tri, đặc biệt là trước khi dự án được đưa lên mạng, mô phỏng các tình huống tấn công thao túng giá khác nhau càng nhiều càng tốt, phát hiện các vấn đề kịp thời và tìm ra giải pháp, và cải thiện hiệu quả Khả năng chống lại các cuộc tấn công tiên tri của dự án.

Chỉ một tháng sau, vụ mất mát tài sản lớn một lần nữa cảnh báo chúng ta rằng trong lĩnh vực blockchain, việc bảo vệ an ninh là đặc biệt quan trọng và rất nhiều lỗ hổng bảo mật hệ thống khó có thể đề phòng. Do đó, chúng ta phải thực hiện các biện pháp tích cực để hình thành một kế hoạch bảo vệ liên tục và hiệu quả nhằm tránh các vấn đề trước ở mức độ lớn nhất.

Ngoài ra, nếu có bất kỳ sự cố kỹ thuật nào về bảo mật trong quá trình vận hành dự án DeFi, thì đó là một cách hiệu quả để áp dụng các giải pháp công nghệ bảo mật của bên thứ ba. Cuối cùng, Thành Đô Liên Nam một lần nữa kêu gọi tăng cường kiểm tra bảo mật thường xuyên đối với các máy tiên tri của dự án và các khía cạnh khác để ngăn chặn những sự cố như vậy xảy ra lần nữa.

成都链安
作者文库