

Lưu ý của biên tập viên: Bài viết này đến từThông tin Babbitt (ID: bitcoin8btc)Lưu ý của biên tập viên: Bài viết này đến từ
Thông tin Babbitt (ID: bitcoin8btc)
tóm tắt:
, Tác giả: Harvest Finance, Trình biên dịch: Free and Easy, được phát hành với sự cho phép.
Vào ngày 26 tháng 10, tin tặc đã sử dụng các khoản vay flash để đánh cắp 24 triệu đô la từ kho của giao thức DeFi Harvest.Theo báo cáo phân tích chính thức của Harvest, các khoản vay flash chỉ là một phần của cuộc tấn công và đặc biệt liên quan đến giao thức DeFi. Mặc dù kẻ tấn công đã trả lại khoảng 2,5 triệu USD tiền sau đó, nhưng người dùng Harvest vẫn phải đối mặt với khoản lỗ hơn 20 triệu USD (khoảng 33,8 triệu USD).
Chúng tôi chịu trách nhiệm về lỗi kỹ thuật này và đảm bảo rằng những sự cố như vậy sẽ được giảm thiểu trong tương lai;
chuyện gì đã xảy ra thế?
Phát triển một kế hoạch khắc phục cho những người dùng bị ảnh hưởng là ưu tiên hàng đầu của chúng tôi trong tuần tới;
Chúng tôi chân thành yêu cầu những kẻ tấn công trả lại tiền cho những người triển khai để chúng có thể được phân phối cho những người dùng bị ảnh hưởng;
chuyện gì đã xảy ra thế?
Vào lúc 2:53:31 UTC ngày 26 tháng 10, kẻ tấn công đã đánh cắp tiền từ kho USDC và USDT của Harvest Finance. Những kẻ tấn công đã khai thác chênh lệch giá và các tổn thất tạm thời ảnh hưởng đến các tài sản riêng lẻ trong quỹ Curve.fi Y, nơi các hầm thu hoạch được đầu tư. Các cơ chế sau đây của giao thức cho phép các cuộc tấn công như vậy được thực hiện:
Chiến lược đầu tư của Harvest tính toán giá trị thời gian thực của việc đầu tư vào các tài sản giao thức thời gian thực cơ bản. Kho bạc sử dụng giá trị của tài sản để tính toán số lượng cổ phiếu sẽ được phát hành cho người dùng nơi tiền được ký gửi. Khi người dùng rút tiền từ kho tiền, họ cũng sử dụng giá trị của tài sản để tính toán khoản thanh toán mà người dùng sẽ nhận được khi thoát.
Tài sản trong một số kho tiền (bao gồm USDC và USDT) được giữ trong các nhóm dùng chung của các giao thức DeFi cơ bản (ví dụ: Y Pool của Curve.fi). Tài sản trong các nhóm tài sản này chịu tác động của thị trường như thua lỗ tạm thời, chênh lệch giá và trượt giá. Do đó, giá trị của chúng có thể bị thao túng thông qua một số lượng lớn các giao dịch trên thị trường.
Kẻ tấn công đã nhiều lần khai thác tác động mất mát tạm thời của USDC và USDT trong nhóm Curve.fi Y. Họ sử dụng các giá trị tài sản bị thao túng để gửi tiền vào kho tiền của Harvest, mua cổ phần trong kho tiền với giá có lợi cho họ và thoát khỏi kho tiền với giá bình thường, từ đó tạo ra lợi nhuận. Sau đây là chuỗi theo dõi của sự kiện tấn công này:
Địa chỉ ví tấn công là 0xF224AB004461540778A914EA397C589B677E27B, đã triển khai hợp đồng 0xC6028A9FA486F522FD2B9 10 ETH được sử dụng cho cuộc tấn công đã được ẩn thông qua giao dịch Tornado 0x4b7b9e387a79289720a0226f695913d1d11dbdc681b7218a432136cc089363c4.
Bản thân cuộc tấn công đã được phát động trong giao dịch 0x35f8d2f572fceaac9288e5d462117850ef2694786992a8c3f6d02612277b0877.
Kẻ tấn công đã lấy được một lượng lớn USDT (18.308.555,417594) và USDC (50.000.000) từ Uniswap để đưa vào hợp đồng tấn công.
Hợp đồng đã chuyển đổi 17.222.012,640506 USDT thành USDC thông qua giao dịch hoán đổi của nhóm Y. Tác động của việc hoán đổi là do sự mất mát tạm thời của các tài sản khác, giá trị của USDC trong nhóm Y cao hơn. Số tiền thu được từ hợp đồng thông minh này gần tương đương với 17.216.703,208672 USDC;
Kẻ tấn công đã gửi 49.977.468,555526 USDC vào kho USDC của Harvest và nhận được 51.456.280,788906 fUSDC với mức giá 0,97126080216 USDC trên mỗi cổ phiếu. Trước cuộc tấn công, giá fUSDC trên mỗi cổ phiếu là 0,980007 USDC, vì vậy kẻ tấn công đã giảm giá trị cổ phần xuống khoảng 1%. Kiểm tra chênh lệch giá bên trong chiến lược Thu hoạch không vượt quá ngưỡng 3%, do đó giao dịch không được hoàn nguyên.
Kẻ tấn công đã đổi 17239234,653146 USDC trở lại USDT thông qua nhóm Y. Do đó, giá trị thấp hơn ban đầu của USDC đã thu được trong nhóm Y do hiệu ứng mất tạm thời được khôi phục. Do đó, kẻ tấn công đã thu hồi được 17.230.747,185604 USDT.
Kẻ tấn công đã rút tiền từ kho USDC của Harvest và đổi tất cả cổ phiếu fUSDC lấy 50596877,367825 USDC. Do giá trị USDC giảm trong nhóm Y, giá fUSDC trên mỗi cổ phiếu là 0,98329837664 USDC. USDC được thanh toán hoàn toàn bằng kho tiền USDC của Harvest và hoàn toàn không tương tác với nhóm Y. Làm điều này một lần, lợi nhuận ròng của kẻ tấn công (không bao gồm phí cho vay nhanh) là 619408,812299 USDC và kẻ tấn công đã lặp lại quá trình này nhiều lần trong cùng một giao dịch.
Sau khi thực hiện 17 giao dịch tấn công vào kho USDC trong vòng 4 phút, kẻ tấn công đã lặp lại quá trình này theo cách tương tự với kho USDT, bắt đầu với giao dịch 0x0fc6d2ca064fc841bc9b1c1fad1fbb97bcea5c9a1b2b66ef837f1227e06519a6. Họ đã hoàn thành 13 giao dịch tấn công vào kho USDT trong 3 phút nữa.
Vào lúc 03:01:48 UTC ngày 26 tháng 10 năm 2020, kẻ tấn công đã chuyển 13.000.000 USDC và 11.000.000 USDT từ hợp đồng tấn công đến địa chỉ 0x3811765a53c3188c24d412daec3f60faad5f119b.
Sau vụ tấn công, giá cổ phiếu của kho USDC giảm từ 0,980007 xuống 0,834953 USDC, trong khi giá cổ phiếu của kho USDT giảm từ 0,978874 xuống 0,844812 USDT, tương ứng giảm 13,8% và 13,7%. Giá trị bị mất bởi người dùng là khoảng 33,8 triệu USD, tương đương 3,2% tổng giá trị bị khóa trong giao thức trước cuộc tấn công.0xf224ab004461540778a914ea397c589b677e27b。
Bước tiếp theo
tiêu đề phụ
Bước tiếp theo
Giao thức Harvest Finance có lịch trình đều đặn hàng tuần cần duy trì sản lượng ổn định cho tất cả nông dân. Theo kế hoạch phát hành vào ngày 27 tháng 10 năm 2020, nhóm Harvest Finance đã công bố việc đúc 19637,46 mã thông báo FARM. Kế hoạch cải thiện hợp đồng thông minh, ban đầu dự kiến phát hành vào ngày 27 tháng 10, theo yêu cầu của cộng đồng, sẽ bị hoãn lại để có thể đánh giá lại tính bảo mật của nó trong bối cảnh cuộc tấn công. Tiền trong kho tiền sử dụng quỹ chung sẽ tiếp tục bị rút khỏi chính sách cho đến khi có biện pháp giảm thiểu đối với các cuộc tấn công như vậy (xem phần tiếp theo). Các biện pháp này, cùng với cơ sở hạ tầng để khắc phục cho những người dùng bị ảnh hưởng, sẽ là trọng tâm phát triển tiếp theo của nhóm. Chúng tôi chịu trách nhiệm về lỗi kỹ thuật này và đảm bảo rằng những sự cố như vậy sẽ được giảm thiểu trong tương lai.
tiêu đề phụ
Các biện pháp giảm thiểu khả thi trong tương lai
Nhóm Harvest Finance đang làm việc để đánh giá các chiến lược giảm thiểu khả thi và triển khai chúng, cùng với bất kỳ thay đổi cần thiết nào về trải nghiệm người dùng, trong bản phát hành sắp tới. Chúng tôi sẽ tận dụng tính chất có thể nâng cấp của kho tiền mới, cũng như các thay thế chiến lược đầu tư dựa trên thời gian khóa và truyền đạt các chiến lược giảm thiểu tốt với cộng đồng trước khi ra mắt.
Các kỹ thuật phục hồi có thể bao gồm các tùy chọn sau:
Triển khai cơ chế gửi và hiển thị tiền gửi. Điều này sẽ loại bỏ khả năng thực hiện gửi và rút tiền trong một giao dịch duy nhất, do đó làm cho các cuộc tấn công dựa trên khoản vay nhanh không khả thi. Về mặt người dùng, điều này có nghĩa là trong quá trình gửi tiền, mã thông báo của họ sẽ được chuyển sang Thu hoạch trong một giao dịch. Sau đó, người dùng sẽ yêu cầu cổ phần của họ trong một giao dịch khác, tốt nhất là trong một khối khác. Điều này sẽ tạo thành một sự thay đổi trong trải nghiệm người dùng và có thể dẫn đến chi phí gas cao hơn nhưng vẫn chấp nhận được.
Một chính sách kiểm tra cấu hình chặt chẽ hơn đối với các khoản tiền gửi hiện có. Ngưỡng hiện tại được đặt ở mức 3%, vì vậy nó không đủ để bảo vệ các kho tiền khỏi các cuộc tấn công như vậy. Ngưỡng chặt chẽ hơn có thể khiến một cuộc tấn công như vậy trở nên không khả thi về mặt kinh tế, tuy nhiên, nó có thể hạn chế tiền gửi trong trường hợp mất mát do vô thường tự nhiên và sự cố hôm Chủ nhật, kéo dài hơn 7 phút, cho thấy biện pháp này không đủ hiệu quả và do đó nên được coi là bổ trợ cho các biện pháp khác.
Khai thác tài sản cơ sở. Khi người dùng gửi tiền vào một kho tiền sử dụng nhóm dùng chung (như Y Pool), họ sẽ trao đổi hiệu quả tài sản cá nhân của mình để lấy tài sản nhóm (như yCurve). Nếu người dùng chỉ rút tài sản cơ bản, họ có thể giao dịch nó thành danh mục đầu tư dựa trên điều kiện thị trường hiện tại. Nếu thị trường bị thao túng, các giao dịch cũng bị thao túng như vậy, điều này ngăn cản thực thể tấn công tạo ra lợi nhuận. Từ quan điểm của người dùng thông thường, yCRV có thể được chuyển đổi thành tiền ổn định trong một giao dịch riêng sau khi được huy động. Mặc dù điều này sẽ yêu cầu thay đổi UX, nhưng nó có thể mang lại lợi ích cho giao thức. Nhược điểm của phương pháp này là nó liên kết cơ chế rút tiền trong kho tiền với chiến lược hiện đang được sử dụng: nếu một chiến lược chuyển sang chiến lược khác không sử dụng nhóm cơ bản được chia sẻ hoặc sử dụng một nhóm khác, thì Tài sản kết quả cũng thay đổi.
Sử dụng lời tiên tri để xác định giá tài sản. Mặc dù giá tài sản gần đúng có thể được xác định một cách hiệu quả từ một nhà tiên tri bên ngoài (do Chainlink hoặc Maker cung cấp), nhưng nó được liên kết rất lỏng lẻo với giá cổ phiếu thực tế. Nếu giá trị của tài sản trong giao thức DeFi cơ bản khác với giá được báo giá bởi máy tiên tri, kho bạc sẽ phải đối mặt với các cuộc tấn công cho vay chớp nhoáng và chênh lệch giá miễn phí. Đây không phải là giải pháp Thu hoạch, tuy nhiên, chúng tôi sẽ xem xét việc sử dụng lời tiên tri trong thiết kế hệ thống và các chiến lược giảm thiểu khả thi.
Biện pháp khắc phục cho người dùng bị mất tiền USDC và USDT
Phân phối số tiền được hoàn trả của kẻ tấn công thông qua ảnh chụp nhanh và MerkleDistributor, chúng tôi đã liên hệ với các nhà phát triển đã giúp tạo ra các công cụ này và làm việc để xây dựng cơ sở hạ tầng cung cấp biện pháp khắc phục cho những người dùng bị ảnh hưởng. Phân phối tiền là ưu tiên hàng đầu và chúng tôi sẽ tiết lộ thêm chi tiết về việc phân phối tiền sau khi các công cụ được xây dựng.
Các biện pháp khắc phục khác sẽ được phân tích và biểu quyết trong quản trị.
Thông tin kẻ tấn công và tiền thưởng
Kẻ tấn công đã sử dụng địa chỉ Ethereum mới được tạo 0xf224ab004461540778a914ea397c589b677e27bb để thực hiện cuộc tấn công;
1Paykw4s2WX4SaVjDrQkwSiJr16AiANhiM
1HLG86DDEzAxAGmEzxr1SUfPCWcnWA6bMm
14stnrgMFNR4LesqQRUdo5n1VUx9xdAMeg
18w2Bm2cCsbLjWQU9BcnjzK8ErmzozrVa3
1FS2t2eAjmjaNmADN6SMHYo7G4XGpX1osS
1NdAJ89k1qpRMpZLwuYGQ7VnM45xD2NJXa
1CLHhshrusvT4XADWA29R2H4ndsSUamEWn
Giao dịch lốc xoáy 0x4b7b9e387a79289720a0226f695913d1d11dbdc681b7218a432136cc089363c4;
Cuộc tấn công đã được thực hiện trong giao dịch 0x35F8D2F572FCEAAC9288E5D46211780EF2694786992A8C3F6D02612277B0877;
Kẻ tấn công chuyển bitcoin qua giao thức REN đến các địa chỉ sau:
Sau đó, những kẻ tấn công đã gửi một số giao dịch đến các địa chỉ gửi tiền Binance đã biết: https://blockstream.info/tx/7777569f003193ae59dbc5afbbf8bfbf3ac6c8ce8a8ec2b8707de14ddc3329a6 https://blockstream.info/tx/9fcc273f2d50fc582 4b8fd0bbe832831d02 e7fe04bcc09d143e787455c602195
Chúng tôi đang cung cấp khoản tiền thưởng 100.000 đô la cho cá nhân hoặc nhóm đầu tiên giúp chúng tôi lấy lại tiền của mình.
Nếu việc hoàn trả được hoàn thành trong vòng 36 giờ tới, tiền thưởng là 400.000 đô la. Vui lòng không dox những kẻ tấn công trong quá trình này và chúng tôi thực sự khuyên bạn nên tập trung mọi nỗ lực vào việc đảm bảo tiền của người dùng được trả lại thành công cho những người triển khai.
