

lời tựa
lời tựa
Sáng nay, bZx bị nghi ngờ đã gặp phải một cuộc tấn công thứ 2. Điểm khác biệt là lần này mục tiêu là cặp giao dịch ETH/sUSD, nhưng một số người có thể nghi ngờ, chẳng phải sUSD là một stablecoin so với USD sao? Điều này có thể bị tấn công? Chính xác thì phương pháp tấn công là gì? Với những nghi ngờ như vậy, trước sự cố này, nhóm bảo mật SlowMist sẽ xem xét hai quy trình tấn công.
Trong cuộc tấn công đầu tiên, kẻ tấn công đã kết hợp khoản vay Flash và khoản vay trong Hợp chất để tấn công bZx, chủ yếu được chia thành các bước sau:
Đã vay 10.000 ETH từ dYdX
Đã vay 112 BTC với 5500 ETH từ Hợp chất và chuẩn bị bán
Tôi đã đến bZx để rút ngắn 1300 ETH với đòn bẩy gấp 5 lần và đổi được 51,345576 BTC và số BTC trao đổi ở đây được lấy thông qua Kyber Network. Tuy nhiên, Kyber Network cuối cùng đã gọi Uniswap để lấy giá. Sau khi hoàn thành đòn bẩy 5 lần , 51 BTC đổi lại thực tế đã làm tăng giá BTC/ETH trong UniSwap và giá trao đổi là 1/109, nhưng thực tế giá thị trường sẽ không được kéo lên nhiều như vậy
Sử dụng 112 BTC đã vay từ Compound để bán trong UniSwap, vì đòn bẩy gấp 5 lần bằng bZx ở bước thứ ba đã đẩy giá lên nên bán ETH lúc này phải có lãi, sau đó bán 6871 ETH
Trả lại khoản vay bằng dYdX
Cuộc tấn công thứ hai hơi khác so với lần trước, nhưng cốt lõi là kiểm soát giá của cỗ máy tiên tri và kiếm lợi nhuận bằng cách thao túng giá của cỗ máy tiên tri.
tiêu đề cấp đầu tiên
Phân tích chi tiết
Băm giao dịch của cuộc tấn công này là:
0x762881b07feb63c436dee38edd4ff1f7a74c33091e534af56c9f7d49b5ecac15
Thông qua phân tích trên etherscan, chúng ta có thể thấy rằng một số lượng lớn chuyển mã thông báo đã xảy ra trong giao dịch này.
tiêu đề phụ
1. Chuẩn bị trước cuộc thi
tiêu đề phụ
2. phục vụ
Sau khi hoàn thành việc vay từ bZx, kẻ tấn công bắt đầu mua sUSD thông qua Kyber. Lần đầu tiên, hắn sử dụng 540 ETH để mua 92.419,7 sUSD. Thao tác này ngay lập tức hạ giá WETH/sUSD và tăng giá sUSD. Tỷ lệ chuyển đổi của giao dịch này là khoảng 1:170 và Kyber cuối cùng đã được chuyển đổi qua UniSwap, do đó, WETH/sUSD của Uniswap đang ở mức thấp vào thời điểm này và đến lượt sUSD/WETH tăng lên.
Sau khi hoàn thành lần trao đổi đầu tiên trị giá 540 ETH, kẻ tấn công đã thực hiện lại 18 lần trao đổi số lượng nhỏ trong Kyber, sử dụng 20 ETH để trao đổi sUSD mỗi lần.
Điều này cho thấy giá sUSD/WETH tiếp tục được kéo lên, điều này càng làm trầm trọng thêm giá sUSD/WETH trên Uniswap, lúc này giá đã đạt đến đỉnh, khoảng 1:157.
tiêu đề phụ
3. Lỗ trong một
Sau khi hoàn thành việc quảng bá sUSD/WETH, kẻ tấn công cần thu thập một lượng lớn sUSD tại thời điểm này để chuẩn bị cho lần trao đổi WETH tiếp theo. Để đạt được mục tiêu này, kẻ tấn công bắt đầu mua sUSD từ Synthetix. Bằng cách gửi 6000 ETH cho Synthetix để mua sUSD, sUSD trong Synthetix được bán trực tiếp và hợp đồng Synthetix trả lại 2482 ETH cho kẻ tấn công.
tiêu đề phụ
4. Trả lại khoản vay
tiêu đề cấp đầu tiên
Đánh giá sau trận đấu
tiêu đề phụ
thu nhập
7500 =>Khoản vay chớp nhoáng bZx
+
2482 =>Synthetix trả về
+
6792 =>tiêu đề phụ
=
16774 ETH
chi phí
540 + (20*18) =>Kéo giá sUSD/WETH lên
+
6000 =>sUSD ngắn
+
7500 =>Trả lại Khoản vay Flash bZx
=
14400 ETH
tiêu đề cấp đầu tiên
lời khuyên bảo vệ
Nguyên nhân chính của hai cuộc tấn công là do sự thay đổi giá mạnh mẽ của Uniswap cuối cùng dẫn đến việc mất tài sản. Đây lẽ ra là một hành vi bình thường của thị trường, nhưng thông qua việc thao túng thị trường một cách ác ý, những kẻ tấn công có thể hạ giá theo nhiều cách khác nhau, gây ra tổn thất đến bữa tiệc dự án. . Để đối phó với kiểu tấn công kiếm lời bằng cách thao túng thị trường này, nhóm bảo mật SlowMist đưa ra các đề xuất sau:
Khi bên dự án sử dụng máy tiên tri để lấy giá bên ngoài, họ nên thiết lập cơ chế bảo hiểm, mỗi lần trao đổi mã thông báo, họ nên lưu giá trao đổi của cặp giao dịch hiện tại và so sánh với giá trao đổi được lưu lần trước. , giao dịch nên được tạm dừng trong thời gian. Ngăn chặn thị trường bị thao túng ác ý và gây ra tổn thất.
