Slow Mist: Giải thích chi tiết toàn bộ quá trình giao thức DeFi bZx bị hack 2 lần
慢雾科技
2020-02-19 02:40
本文约2126字,阅读全文需要约9分钟
Cốt lõi của hai cuộc tấn công là kiểm soát giá của cỗ máy tiên tri và thu lợi nhuận bằng cách thao túng giá của cỗ máy tiên tri.

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:

  1. Đã vay 10.000 ETH từ dYdX

  2. Đã vay 112 BTC với 5500 ETH từ Hợp chất và chuẩn bị bán

  3. 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

  4. 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

  5. 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.

慢雾科技
作者文库