hợp đồng bị tấn công
#1 Thông tin liên quan đến sự kiện
giao dịch tấn công
0xcd314668aaa9bbfebaf1a0bd2b6553d01dd58899c508d4729fa7311dc5d33ad7
địa chỉ kẻ tấn công
0x1c5dcdd006ea78a7e4783f9e6021c32935a10fb4
hợp đồng tấn công
0x79224bC0bf70EC34F0ef56ed8251619499a59dEf
hợp đồng bị tấn công
0xc1e088fc1323b20bcbee9bd1b9fc9546db5624c5
#2 Quá trình tấn công
1. Kẻ tấn công đã bắt đầu giao dịch đề xuất từ một ngày trước cuộc tấn công và số tiền trong hợp đồng Giao thức Beanstalk: Beanstalk sẽ bị rút nếu đề xuất được chấp thuận.
2. Tin tặc đã đổi 350.000.000 DAI, 500.000.000 USDC, 150.000.000 USDT, 32.100.950 BEAN và 11.643.065 LUSD dưới dạng dự trữ vốn thông qua các khoản vay chớp nhoáng.
3. Tin tặc đã thêm tiền 2 bước DAI, USDC và USDT vào nhóm giao dịch Curve.fi DAI/USDC/USDT dưới dạng 979.691.328 mã thông báo thanh khoản 3Crv và đổi 15.000.000 3Crv lấy 15.251.318 LUSD.
4. Đổi 964.691.328 mã thông báo 3Crv lấy 795.425.740 BEAN3CRV-f để bỏ phiếu, thêm 32.100.950 BEAN và 26.894.383 LUSD để nhận 58.924.887 mã thông báo thanh khoản BEANLUSD-f.
5. Sử dụng BEAN3CRV-f và BEANLUSD-f ở bước 4 để bỏ phiếu cho đề xuất, kết quả là đề xuất được thông qua. Do đó, hợp đồng Beanstalk: Giao thức Beanstalk đã chuyển 36.084.584 BEAN, 0,54 UNI-V2, 874.663.982 BEAN3CRV-f và 60.562.844 BEANLUSD-f cho hợp đồng tấn công.
6. Cuối cùng, kẻ tấn công đã rút thanh khoản và trả lại khoản vay nhanh, đồng thời chuyển đổi số token dư thừa thành 24.830 ETH và chuyển chúng vào tài khoản của kẻ tấn công.
#3 Phân tích lỗ hổng
Cuộc tấn công này chủ yếu sử dụng số phiếu bầu trong hợp đồng bỏ phiếu thu được dựa trên số lượng mã thông báo được giữ trong tài khoản.
Kẻ tấn công đã bắt đầu đề xuất rút tiền từ Beanstalk: Giao thức Beanstalk ít nhất một ngày trước, sau đó gọi EmergencyCommit để thực hiện một cam kết khẩn cấp để thực hiện đề xuất.
#4 Theo dõi quỹ
Để đối phó với sự cố này, nhóm kỹ thuật Thành Đô LianAn đề nghị:
Để đối phó với sự cố này, nhóm kỹ thuật Thành Đô LianAn đề nghị:
1. Số tiền được sử dụng để bỏ phiếu phải được khóa trong hợp đồng trong một khoảng thời gian nhất định, tránh sử dụng số dư tiền hiện có trong tài khoản để đếm số phiếu bầu, để tránh khả năng bỏ phiếu lặp lại và sử dụng các khoản vay nhanh để bỏ phiếu;
2. Bên dự án và cộng đồng nên chú ý đến tất cả các đề xuất, nếu đề xuất là một đề xuất ác ý, nên có biện pháp xử lý kịp thời trong thời gian bỏ phiếu đề xuất, loại bỏ đề xuất và cấm nhận phiếu bầu và thực hiện;
3. Xem xét việc cấm các địa chỉ hợp đồng tham gia bỏ phiếu, ngoài ra, tốt nhất là tiến hành kiểm tra bảo mật toàn diện trước khi dự án trực tuyến để tránh rủi ro bảo mật.
