Giải mã vụ tấn công vào Alpha và Cream - Khi việc hợp tác trong DeFi bị đưa vào phép thử

Đăng bởi Duy Nguyen vào 17 tháng 2 2021

Trong 10 phút, giá CREAM có lúc sập hơn 30%, giá ALPHA cũng giảm mạnh!

Vụ tấn công vào Cream vừa qua được đánh giá là một trong những vụ tấn công phức tạp bậc nhất trong lịch sử DeFi. Đây là một câu chuyện hay về việc đưa sự hợp tác trong DeFi vào phép thử, là bài học mà bất kỳ một dự án, nhà đầu tư nào cũng nên lưu ý.

Bài viết dưới đây được tham khảo từ nhiều nguồn nhằm gửi lại anh em diễn biến của cuộc tấn công, phân tích sự kiện đó và bài học rút ra để phát triển không gian DeFi ngày càng trở nên tốt đẹp hơn.

Cùng bắt đầu nhé!

Diễn biến

Phía dưới chính là contract của vụ hack: https://etherscan.io/tx/0x745ddedf268f60ea4a038991d46b33b7a1d4e5a9ff2767cdba2d3af69f43eb1b

IronBank của Cream đã bị tấn công, tổng thiệt hại lên đến 37.5 triệu đô.

Dựa theo thông tin giao dịch, kẻ tấn công sử dụng Alpha Homora và vay sUSD từ IronBank, mỗi lần nhiều gấp đôi lần trước.

Chú thích: Iron Bank là sản phẩm mới của Cream, thông qua Iron Bank các dự án được Cream whitelist sẽ có thể vay tài sản từ Cream mà KHÔNG cần tài sản thế chấp.

Chi tiết anh em có thể tham khảo tại đây.

Đầu tiên kẻ tấn công thực hiện 2 giao dịch và gửi tài sản lên IronBank để nhận cySUSD. Tiếp theo sử dụng flashloan từ Aave v2, hắn tiếp tục đổi USDC sang sUSD thông qua Curve.

Sau đó, kẻ tấn công gửi sUSD lên IronBank, cho phép hắn tiếp tục thực hiện việc vay, cho vay và nhận về cySUSD (một phần sUSD được dùng để trả phí giao dịch). Bên cạnh đó, 10 triệu USD lại được vay sử dụng flash loan, và tiếp tục được sử dụng để tăng số lượng cySUSD.

Cuối cùng, kẻ tấn công sở hữu số lượng cySUSD nhiều đến nỗi hắn có khả năng vay bất kỳ thứ gì từ Ironbank.

Lúc này, kẻ tấn công vay:

  • 13.2K WETH
  • 3.6M USDC
  • 5.6M USDT
  • 4.2M DAI

Cuối cùng hắn:

  • Deposit stablecoin vào Aave V2.
  • 1k ETH “từ thiện: Lại cho IronBank và Homora.
  • Rửa tiền (220 ETH) thông qua Tornado Cash.
  • Và còn lại khoảng 11k ETH đang ở trong địa chỉ ví của kẻ tấn công.

Dramma bắt đầu!!

Vụ tấn công đã gây thiệt hại nặng nề cho Cream Finance tuy nhiên ngay sau đó dự án đã tweet thông báo rằng protocol của họ hoạt động bình thường và không hề bị hack.

Nếu Cream không phải là nạn nhân vậy ai mới là người bị tấn công? Mọi ánh mắt bắt đầu đổ dồn về Alpha Finance, tuy vậy dự án đã có những bước xử lý nhanh và đã cập nhật đầy đủ thông tin cho người dùng chỉ sau vài giờ.

Tổng quan về báo cáo sự cố từ phía Alpha

  1. Kẻ tấn công vay ETH từ Ironbank của Cream bằng cách sử dụng sUSD làm tài sản thế chấp.
  2. Kẻ tấn công trả nợ cho khoản vay sUSD. Tuy nhiên do lỗi bên trong sản phẩm của Alpha kẻ tấn công có thể kiếm được một khoản nhỏ thông qua việc này.
  3. Lặp lại cho đến khi số lãi đó vượt qua 7 con số.
  4. Lúc này Alpha Homora đã có một khoản nợ cực lớn với IronBank, nhưng tất nhiên kẻ trả nợ thì đã cao chạy xa bay.
  5. Hắn rửa tiền thông qua Tornado Cash và từ thiện lại 1,000 ETH cho Alpha và Cream.

Lưu ý: Điều này không khiến các lender (người cho vay) của Cream bị mất tài sản một cách trực tiếp, thay vào đó họ phải chịu một khoản nợ khổng lồ từ phía Alpha Homora.

Ai là người bị hại?

Cream và Alpha, vậy đâu mới là bên bị hại?

Những bên liên quan đến vụ tấn công bao gồm:

  • Cream v2: Đã đồng ý tích hợp chuyên sâu ở cấp độ hợp đồng với Alpha Homora v2.
  • Alpha Homora v2: Đồng ý ở cấp độ hợp đồng về việc vay tài sản từ Cream v2 mà không cần tài sản thế chấp.
  • Người cho vay (lender) trên Cream: Lúc cộng đồng ý thỏa thuận về việc hợp tác chuyên sâu giữa Cream và Alpha có nghĩa lender không chỉ cho người dùng Cream vay mà còn cho cả người dùng Alpha Homora v2 vay.
  • Người vay (borrower) trên Alpha: Tương tự như trên borrower trên Alpha không chỉ vay từ Alpha mà còn từ cả Cream v2. Kẻ tấn công thuộc nhóm này và được xếp vào kẻ đi vay với mục đích xấu.

Lúc này:

  • Ở cấp độ căn bản: Alpha Homora đang nợ Cream v2.
  • Nhìn sâu hơn: Số tài sản từ những người cho vay trên Cream đang được vay bởi bên có mục đích xấu.

Với phân tích như trên, thì Alpha nên là bên đền bù thiệt hại cho Cream. Tuy nhiên ở góc độ kỹ thuật Cream là bên chịu trách nhiệm cho việc bảo đảm tài sản của người cho vay. Vì vậy Alpha hoàn toàn có thể rũ bỏ trách nhiệm và hủy bỏ việc hợp tác, để khoản nợ xấu đó cho người dùng của Cream.

Tất nhiên với danh tiếng và những thành công của hiện tại, khả năng làm điều này của Alpha là rất thấp. Nhưng vụ tấn công đã nhấn mạnh một vấn đề đang hiện hữu về việc hợp tác giữa các dự án trong DeFi.

Hậu quả

Điều thú vị tiếp theo là mặc dù vụ tấn công được thực hiện thông qua contract của Alpha, Cream mới là bên bị thiệt hại nặng nề hơn. AUM (tài sản đang quản lý) của Cream giảm từ 700 triệu xuống còn 200 triệu đô chỉ trong 1 ngày và giá token giảm 30%. Ngược lại AUM của Alpha chỉ giảm 10% và token sale off không đáng kể.

Nguyên nhân của nghịch lý này có thể là do:

  1. Cream là bên bị đưa ra ánh sáng đầu tiên, nên panic-sell tác động mạnh mẽ đến họ.
  2. Người cho vay của Cream nhận ra mình chính là bên phải chịu thiệt hại nặng nề nhất (ngoài giá token giảm, người dùng Alpha gần như không phải chịu thiệt hại gì).

Cho một thị trường có khả năng sử dụng đòn bẩy x9 vay là quá rủi ro kể cả trước vụ tấn công và những người cho vay của Cream ngày càng ý thức rõ điều này.

Bài học

Những vụ tấn công đã chứng minh rằng DeFi hiện tại vẫn còn rất non trẻ và rủi ro là rất lớn cho phía người dùng. Audit rất tốn thời gian và chi phí và kể cả khi đã audit xong, nếu như sản phẩm không hợp thị hiếu thì mọi thứ cũng thất bại.

Alpha đã audit 2 lần và vẫn bị hack, vụ tấn công phức tạp đến nỗi phải mất các nhà phát triển và nghiên cứu hàng giờ để hiểu rõ bản chất vấn đề.

Tuần trước yDAI (1 vault của Yearn) bị tấn công, đội phát triển đã đưa ra giải pháp mở ngân quỹ để đền bù thiệt hại cho mọi người. Tuy nhiên với Alpha, thị trường chấp nhận token của họ làm nợ còn quá ít, thế nên nếu muốn đền bù phía Alpha sẽ phải thỏa thuận riêng với các bên chấp nhận cho vay.

Từ những vụ tấn công trên, sẽ cần nhiều giải pháp để đảm bảo độ bảo mật và an toàn cho cả dự án lẫn người dùng. Một vài gợi ý bao gồm:

  1. Làm những bài kiểm tra tự động và liên tục so sánh và đảm bảo sự đúng đắn trong thuật toán.
  2. Scale TVL từ từ đảm bảo an toàn trong từng giai đoạn để giảm thiểu thiệt hại xuống thấp nhất có thể.

Lời kết

Ranh giới giữa rủi ro và tính hiệu quả sẽ ngày càng được thử nhiều hơn và mỗi vụ tấn công đều là bài học để DeFi ngày một trưởng thành.

Với bản thân những nhà đầu tư, trước khi ape-in vào một dự án, việc phân bổ vốn hợp lý và dành thời gian để hiểu về hệ thống là một điều tiên quyết. Ngoài ra chứng kiến quyết định và hành động của dự án sau khi bị tấn công cũng là một phép thử tốt để ta thấy rõ liệu đội phát triển có thực sự tâm huyết với sản phẩm của mình không.

“Lợi nhuận đi đôi với rủi ro”

Link tham khảo: https://defiweekly.substack.com/p/efab8b4a-5b1d-4d87-8a64-913070ec328f

#cream #ALPHA #hack #attack

icon top hashtag

KHÁM PHÁ CÁC HASHTAG HÀNG ĐẦU

Duy Nguyen

Duy Nguyen

Must become a person that be able to take care of the ones that you care about!