Viết bởi Daniel Von Fange
Biên soạn bởi: angelilu, Tin tức tầm nhìn xa
Hôm qua, nhà nghiên cứu độc lập Daniel Von Fange đã xuất bản một bài báo trên nền tảng X tiết lộ rằng Curve có nguy cơ thao túng oracle và nguy cơ này rất khó phát hiện trong một cuộc tấn công. Việc thao túng Oracle có thể khiến Oracle báo cáo dữ liệu sai lệch về các sự kiện bên ngoài hoặc thế giới thực, khiến các giao thức được kết nối với Oracle có nguy cơ bị thao túng. Daniel Von Fange cho biết các nhóm liên quan có thể bị ảnh hưởng đã được thông báo.
Người sáng lập Curve, Michael Egorov, đã phản hồi vấn đề này trong cộng đồng, nói rằng: "Rủi ro này có thể tồn tại trong các phiên bản cũ hơn của nhóm. Các phiên bản cũ hơn của nhóm không được sử dụng trong crvusd và việc sử dụng oracles không được khuyến khích." Daniel cũng xác nhận nhận xét của mình ... Rủi ro từ việc Von Fange tiết lộ là có thật.
Tuy nhiên, cộng tác viên của Curve , fiddy bày tỏ sự không hài lòng với cách nhà nghiên cứu độc lập công bố thông tin này một cách công khai mà không cần thảo luận, đồng thời đưa ra lời làm rõ, nói rằng các lỗ hổng do Daniel Von Fange tiết lộ đã được thảo luận riêng trước đó, nhưng ông tin rằng kẻ tấn công muốn cải thiện độ chính xác. Chi phí gas tăng cao và kiểm toán độc lập cũng đánh giá đây là tác động thấp. Và lỗ hổng được nhà nghiên cứu tiết lộ có liên quan đến thuật toán cryptoswap cũ hơn của Curve, sử dụng giá Last_price, nhưng việc triển khai cryptoswap-ng mới hơn sử dụng giá trạng thái AMM, có thể giải quyết những vấn đề như vậy. Ngoài ra, yAuditDAO đã tìm thấy một số lỗi oracle hiện đang được sửa. Không ai đang sử dụng các oracle này và LP (nhà cung cấp thanh khoản) trong các nhóm giao dịch stablecoin này không bị ảnh hưởng.
Tuy nhiên, một số nhóm đã bắt đầu điều chỉnh giao thức để tăng cường bảo mật dựa trên những rủi ro được tiết lộ. Nhà phát triển Yearn Finance @storming0x cũng phản hồi về những rủi ro do Daniel Von Fange tiết lộ, nói rằng “Các hợp đồng theo năm không bị ảnh hưởng, ngoại trừ một hợp đồng sử dụng cơ chế dự phòng của Chainlink để giảm thiểu các đường tấn công tiềm ẩn. Nhóm phát triển Yearn đã quyết định thận trọng triển khai lại phiên bản mới."
Sau đây là toàn văn tiết lộ của Daniel Von Fange về nguy cơ thao túng giá trong nhà tiên tri Curve:
Trong hai tuần qua, tôi đã tìm hiểu các dự đoán về giá của Curve và phát hiện ra một số hành vi cực kỳ bất thường.
Những lời tiên tri này không hoạt động như bạn nghĩ, chúng dễ bị thao túng hơn dự kiến và có thể sai sót trong những trường hợp thông thường.
Tổng quan ngắn gọn: Trong hầu hết các nhóm, kẻ tấn công có thể thao túng giá oracle của Curve cao hơn gấp 10 lần đến 500 lần so với giá bình thường chỉ trong một khối. Và thao tác có thể được giấu kín để khi nhìn vào bể không có dấu hiệu bị thao túng.
Có rất nhiều nhóm Curve và không ai có thể đếm chính xác số lượng cơ sở mã trong các nhóm khác nhau.
Những gì tôi viết có thể áp dụng hoặc không áp dụng cho một số nhóm nhất định. Các nhóm khác nhau có các lỗ hổng khác nhau. Có lẽ một số hồ bơi không có lỗ.
Nhóm Curve đã thực hiện xuất sắc công việc nhận báo cáo, thảo luận về nó và trong vòng vài phút đã xác nhận rằng CrvUSD không bị ảnh hưởng bởi những vấn đề này.
Tôi cũng đã kiểm tra khoảng 100 hợp đồng trên mạng chính sử dụng dự đoán giá của Curve và thông báo cho các nhóm liên quan khi thích hợp.
Vấn đề chính với lỗ hổng này là giá cuối cùng có thể bị tính toán sai khi giá không gần 1:1 hoặc phí xử lý cao.
Đầu tiên, phí không được bao gồm trong phép tính giá cuối cùng, khiến nó sử dụng một số khác với số dư giao dịch thực tế hoặc số dư nhóm.
Dự báo giá EMA được điều khiển bởi Last_price. Khi giá cuối cùng sai, dự báo giá sẽ bắt đầu di chuyển về phía giá mục tiêu sai.
Trong giao dịch bình thường, tôi đã thấy các nhà tiên tri về giá định vị giá lệch hơn một phần trăm so với giá thực tế hiện tại trong nhóm. Trường hợp xấu nhất có thể còn tồi tệ hơn (giá bình thường hóa trong biểu đồ).
Tùy từng pool mà sai số drift này có thể cao hơn hoặc thấp hơn giá thực tế.
Vấn đề lớn nhất là trong quá trình thao túng, lỗi giá cuối cùng có thể cao hơn rất nhiều so với giá bị thao túng thực tế, khiến khả năng oracle của nhóm bị thao túng một cách hiệu quả cao hơn đáng kể.
Ngay cả một giao dịch nhỏ cũng có thể điều chỉnh độ lệch trong giá cuối cùng/giá tiên tri, dẫn đến một số tình huống nực cười.
Ngay cả một giao dịch nhỏ cũng có thể điều chỉnh độ lệch trong giá cuối cùng/giá tiên tri, dẫn đến một số tình huống nực cười.
Do tác động cộng hưởng của biến động giá lớn và lỗi tính toán giá cuối cùng, kẻ tấn công có thể thao túng giá EMA trong khối tiếp theo mà không tốn chi phí lớn để duy trì giá cao trong hàng chục khối nhằm chống lại những kẻ kinh doanh chênh lệch giá.
Về lý thuyết, kẻ tấn công có thể kiểm soát việc khai thác hai khối liên tiếp, điều này cần thiết để đạt được hoạt động này. Kẻ tấn công cần phải có đủ vốn để thực hiện một cuộc tấn công giá như vậy, nhưng nhiều kẻ tấn công trước đây đã có trong tay hàng chục triệu đô la.
Ngoài vấn đề đó ra, chúng ta hãy nói về các chiến lược phổ biến để bảo vệ chống lại sự thao túng giá cả của Curve và tính hiệu quả của chúng.
Nhóm Curve v1 có bốn số có thể được sử dụng để cố gắng phát hiện hành vi thao túng, giá thực tế, giá oracle, giá cuối cùng và giá EMA. Thật không may, một giao dịch duy nhất để thao túng giá price_oracle có thể đặt lại tất cả những giá trị này về cùng một số sau một lần thao tác.
Price_scale của nhóm Curve v2 khó thao túng hơn so với lời tiên tri về giá. Nó thay đổi chậm hơn và đòi hỏi chi phí giao dịch thực tế để di chuyển. Nếu dự đoán giá nhanh này khớp với price_scale chậm thì tình hình ổn định, phải không?
KHÔNG! Vấn đề tấn công cốt lõi là căn chỉnh ba con số, giá thực, tiên đoán nhanh và quy mô chậm. Giá thật rất dễ kiểm soát vì nó có thể bị thao túng ngay lập tức. Vấn đề sau đó trở thành việc thiết kế một điểm giao nhau giữa hai cái còn lại.
Kẻ tấn công tăng giá trong thời gian ngắn, sau đó trở lại bình thường ở khối tiếp theo và đợi một vài khối tấn công cho đến khi nhà tiên tri giá giảm gặp phải price_scale tăng. Giá thực tế chỉ cần được duy trì ở mức cao để một khối đủ để gây nhầm lẫn cho nhà tiên tri và price_scale sẽ theo sau.
Nhiều oracle sử dụng giới hạn, giới hạn mức giá mà họ sử dụng từ giá oracle Curve đến giá trị tối đa là 1:1. Điều này là tốt và loại trừ các giá trị cao một cách ngu ngốc. Tuy nhiên, hãy lưu ý rằng nếu một tài sản thực sự bị hủy chốt, kẻ tấn công có thể mua tài sản đó ở mức giá thấp và sau đó thao túng nó để có vẻ như đã được neo lại.
Giao thức đôi khi sẽ đặt mức tối thiểu và nếu phản hồi của nhà tiên tri về giá Curve giảm xuống dưới một tỷ lệ phần trăm nhất định của chốt thì nó sẽ bị bỏ qua. Nhưng nếu bạn bỏ qua giá khi một tài sản thực sự tách rời, bạn sẽ đánh mất toàn bộ mục đích của việc đưa ra lời tiên tri về giá.
Một chiến lược phổ biến khác là trộn lẫn giá của một hệ thống AMM khác. Phần lớn phụ thuộc vào chất lượng và đặc điểm xử lý của các nhóm khác. Nếu nó ít lỏng hơn và dễ thao tác hơn thì nó sẽ không đạt được mục đích.
Xấu + Xấu = Xấu.
Một chiến lược phổ biến khác là trộn lẫn giá của một hệ thống AMM khác. Phần lớn phụ thuộc vào chất lượng và đặc điểm xử lý của các nhóm khác. Nếu nó ít lỏng hơn và dễ thao tác hơn thì nó sẽ không đạt được mục đích.
Xấu + Xấu = Xấu.
Nhóm Curve mới dành cho các cặp giao dịch stablecoin/stablecoin giới hạn nội bộ giá cuối cùng ở mức gấp đôi giá trị 1:1. Điều này ngăn chặn một cuộc tấn công khối vì giá cuối cùng không thể được đẩy lên các giá trị cao đến mức ngu ngốc, do đó làm quá tải EMA.
Nhưng sẽ là sai lầm nếu tài sản sai được tách ra một cách hợp pháp.
Nếu bạn muốn sử dụng nhóm Curve để định giá tài sản thế chấp, có lẽ bạn không nên làm điều đó.
Các nhóm mới hơn thường có chi phí tấn công cao hơn. Đây có thể là một lựa chọn nếu nhóm gian lận có tác động nhỏ đến thị trường (có lẽ chỉ để bảo vệ việc phân phối doanh thu) và nếu các cuộc tấn công chống lại mô phỏng nhóm gây tốn kém.
Cuối cùng, tác giả khuyến nghị cặp đôi này nên tiến hành mô phỏng cuộc tấn công thực tế trên các nhóm được sử dụng. Thay vì dự đoán hành vi của nhà tiên tri về giá dựa trên các giả định hoặc lý thuyết, các thử nghiệm mô phỏng chi tiết nên được tiến hành trên các nhóm được sử dụng thực sự. Bằng cách mô phỏng các cuộc tấn công thao túng, bạn có thể hiểu rõ hơn cách nhóm sẽ hoạt động trong các tình huống khác nhau.
Biểu đồ sau đây là biểu đồ về mức độ sử dụng oracle Curve tăng lên trong 90 ngày qua:
Một số nhóm Curve có các dự đoán về giá đang hoạt động tốt và tôi không thể khiến chúng hành xử kỳ lạ và chúng thực hiện chính xác những gì tôi mong đợi từ một EMA hoạt động tốt. Nhưng vẫn phải kiểm tra...
Tất cả bình luận