@UniLend_Financelà một giao thức thị trường tiền phi tập trung không cần phép với dịch vụ cho vay và vay thông qua hợp đồng thông minh.
UniLend cho phép người dùng sử dụng tiền điện tử của họ bằng cách cung cấp tài sản thế chấp cho mạng lưới có thể được vay bằng cách đặt cược vào tài sản thế chấp có giá trị cao hơn. Điều này tạo ra một môi trường cho vay an toàn, trong đó người cho vay nhận được một tỷ lệ lãi suất hợp thành hàng năm (APY) được trả trên mỗi khối trong khi người vay trả lãi suất trên tiền điện tử đã vay.
Giao thức UniLend V2 hoạt động thông qua ba thành phần kỹ thuật chính:
1. Mô hình Dual Asset Pool
UniLend sử dụng các hồ bơi tài sản cô lập đôi cho mỗi cặp ERC20/ERC20 tương thích. Thiết kế này đảm bảo rằng hiệu suất hoặc biến động của một tài sản không ảnh hưởng đến các tài sản khác, tăng cường an ninh và ổn định. Kiến trúc cho phép bất kỳ người dùng nào tạo và quản lý các hồ bơi cho vay và cho vay cho nhiều loại tài sản trên nhiều chuỗi khối khác nhau.
2. Cung cấp và Vay mượn
3. Mô hình Lãi suất
UniLend sử dụng mô hình lãi suất động dựa trên Tỷ lệ Tận dụng (U) của pool được tính toán như sau:
Ux = Vay x Vay x + Tiền mặt x
Lãi suất vay:
Lãi suất vay x = 10% + (Ux × 30%)
Tỷ lệ tăng lên khi sử dụng cao hơn để cân bằng cung cầu.
Lãi suất cung cấp x = Lãi suất vay x x Ux x (1-S)
Điều này đảm bảo các nhà cung cấp thu được lợi nhuận bền vững trong khi giao thức vẫn có lợi nhuận.
Những thành phần này hoạt động cùng nhau để tạo ra một thị trường tiền tệ phi tập trung an toàn, hiệu quả và có khả năng mở rộng.
Vào ngày 12 tháng 1 năm 2025, một lỗ hổng bảo mật trong giao thức UniLend đã bị khai thác, dẫn đến mất mát khoảng 200.000 đô la từ UniLend Pool. Kẻ tấn công đã thao túng tính toán tài sản đảm bảo, gây ra việc đánh giá không chính xác về yếu tố sức khỏe của người dùng. Lỗi này cho phép kẻ tấn công rút 60 mã thông báo stETH mà không có sự bảo đảm đủ.
Các tài sản bị đánh cắp bao gồm 60 mã stETH, tận dụng sự tính toán sai lệch của số dư mã token người dùng trong giao thức.
Kẻ tấn công khai thác bằng cách sử dụng khoản vay flash để gửi một số lượng lớn USDC vào hồ bơi UniLend. Cụ thể, họ đã gửi 60 triệu USDC, làm tăng đáng kể tài sản đảm bảo của họ trong hồ bơi.
Flash loans cho phép người dùng vay một lượng lớn tài sản mà không cần thế chấp, miễn là số tiền vay được trả lại trong cùng một giao dịch.
Kẻ tấn công sử dụng cơ chế này để có được USDC cần thiết mà không cần vốn ban đầu, do đó tạo ra một vị trí được thổi phồng nhân tạo trong hồ bơi.
Sau khi gửi USDC, kẻ tấn công tiếp tục vay stETH. Giao thức tính toán giá trị tài sản đảm bảo của người dùng dựa trên số dư token trong hồ bơi. Tuy nhiên, do cách triển khai lỗi, số dư được tính toán bằng cách sử dụng số dư hiện tại của token trong hợp đồng hồ bơi thay vì số lượng thực sự đã được chuyển trong quá trình kiểm tra yếu tố sức khỏe. Sự không phù hợp này khiến số dư token của người dùng xuất hiện cao hơn nhiều so với thực tế, đặc biệt là trong các hồ bơi có thanh khoản lớn.
Nguồn gốc của sự thao tác này nằm ở hàm userBalanceOfToken. Trong các trường hợp nơi liêu vốn được cung cấp lớn, hàm này có thể trả về một số lendBalance cao ngay cả khi chỉ còn một số nhỏ của lend share. Sự ước lượng quá cao về số dư của người dùng đã tạo cơ hội cho kẻ tấn công cho rằng họ có nhiều tài sản đảm bảo hơn thực tế. Do đó, kẻ tấn công có thể mượn các token stETH nhiều hơn so với quyền lợi thực sự của họ dựa trên tài sản đảm bảo thực tế.
Với giá trị tài sản thế chấp bị thổi phồng, kẻ tấn công tiếp tục rút USDC và stETH của họ. Hàm redeemUnderlying được gọi, đốt LP token liên quan đến khoản tiền gửi của người dùng. Tuy nhiên, do kiểm tra yếu tố sức khỏe bị lỗi xảy ra trước khi chuyển các token, hệ thống tin tưởng rằng người dùng có đủ tài sản thế chấp để rút nhiều hơn số tiền họ được quyền. Lỗi này cho phép kẻ tấn công rút 60 mã thông báo stETH mà không duy trì tài sản thế chấp cần thiết, hiệu quả nhận được các mã thông báo này miễn phí.
Để ngăn chặn cuộc tấn công, UniLend nên đã sắp xếp lại các hoạt động trong hàm redeemUnderlying. Bằng cách thực hiện kiểm tra yếu tố sức khỏe sau khi chuyển token cho người dùng, giao thức sẽ đảm bảo rằng số dư token thực tế của người dùng phản ánh chính xác tình trạng tài sản đảm bảo của họ.
An ninh Blockchain không phải là tùy chọn. Bảo vệ hợp đồng thông minh và giao protocal DeFi của bạn với Three Sigma, một đối tác an ninh đáng tin cậy trong kiểm toán blockchain, đánh giá lỗ hổng hợp đồng thông minh và an ninh Web3.
Nhấp đểĐảm bảo hợp đồng thông minh của bạn được kiểm tra hôm nay
Sự khai thác của UniLend đã gây thiệt hại tài chính đáng kể khoảng 200.000 đô la từ hồ bơi UniLend. Mất mát đáng kể này đã ảnh hưởng trực tiếp đến dự trữ của nền tảng và giảm tích lũy thanh khoản có sẵn cho người dùng khác, có thể gây cản trở hoạt động cho vay và vay tiếp diễn.
Sau khi khai thác, UniLend đã thực hiện các biện pháp ngay lập tức để khắc phục lỗ hổng và đảm bảo an ninh cho người dùng của mình.
Họ thông báo một phần thưởng 20% cho bên có trách nhiệm trả lại an toàn số tiền.
Địa chỉ
Giao Dịch Tấn Công:
Địa chỉ Kẻ khai thác:
Địa chỉ UnilendV2Core:
@UniLend_Financelà một giao thức thị trường tiền phi tập trung không cần phép với dịch vụ cho vay và vay thông qua hợp đồng thông minh.
UniLend cho phép người dùng sử dụng tiền điện tử của họ bằng cách cung cấp tài sản thế chấp cho mạng lưới có thể được vay bằng cách đặt cược vào tài sản thế chấp có giá trị cao hơn. Điều này tạo ra một môi trường cho vay an toàn, trong đó người cho vay nhận được một tỷ lệ lãi suất hợp thành hàng năm (APY) được trả trên mỗi khối trong khi người vay trả lãi suất trên tiền điện tử đã vay.
Giao thức UniLend V2 hoạt động thông qua ba thành phần kỹ thuật chính:
1. Mô hình Dual Asset Pool
UniLend sử dụng các hồ bơi tài sản cô lập đôi cho mỗi cặp ERC20/ERC20 tương thích. Thiết kế này đảm bảo rằng hiệu suất hoặc biến động của một tài sản không ảnh hưởng đến các tài sản khác, tăng cường an ninh và ổn định. Kiến trúc cho phép bất kỳ người dùng nào tạo và quản lý các hồ bơi cho vay và cho vay cho nhiều loại tài sản trên nhiều chuỗi khối khác nhau.
2. Cung cấp và Vay mượn
3. Mô hình Lãi suất
UniLend sử dụng mô hình lãi suất động dựa trên Tỷ lệ Tận dụng (U) của pool được tính toán như sau:
Ux = Vay x Vay x + Tiền mặt x
Lãi suất vay:
Lãi suất vay x = 10% + (Ux × 30%)
Tỷ lệ tăng lên khi sử dụng cao hơn để cân bằng cung cầu.
Lãi suất cung cấp x = Lãi suất vay x x Ux x (1-S)
Điều này đảm bảo các nhà cung cấp thu được lợi nhuận bền vững trong khi giao thức vẫn có lợi nhuận.
Những thành phần này hoạt động cùng nhau để tạo ra một thị trường tiền tệ phi tập trung an toàn, hiệu quả và có khả năng mở rộng.
Vào ngày 12 tháng 1 năm 2025, một lỗ hổng bảo mật trong giao thức UniLend đã bị khai thác, dẫn đến mất mát khoảng 200.000 đô la từ UniLend Pool. Kẻ tấn công đã thao túng tính toán tài sản đảm bảo, gây ra việc đánh giá không chính xác về yếu tố sức khỏe của người dùng. Lỗi này cho phép kẻ tấn công rút 60 mã thông báo stETH mà không có sự bảo đảm đủ.
Các tài sản bị đánh cắp bao gồm 60 mã stETH, tận dụng sự tính toán sai lệch của số dư mã token người dùng trong giao thức.
Kẻ tấn công khai thác bằng cách sử dụng khoản vay flash để gửi một số lượng lớn USDC vào hồ bơi UniLend. Cụ thể, họ đã gửi 60 triệu USDC, làm tăng đáng kể tài sản đảm bảo của họ trong hồ bơi.
Flash loans cho phép người dùng vay một lượng lớn tài sản mà không cần thế chấp, miễn là số tiền vay được trả lại trong cùng một giao dịch.
Kẻ tấn công sử dụng cơ chế này để có được USDC cần thiết mà không cần vốn ban đầu, do đó tạo ra một vị trí được thổi phồng nhân tạo trong hồ bơi.
Sau khi gửi USDC, kẻ tấn công tiếp tục vay stETH. Giao thức tính toán giá trị tài sản đảm bảo của người dùng dựa trên số dư token trong hồ bơi. Tuy nhiên, do cách triển khai lỗi, số dư được tính toán bằng cách sử dụng số dư hiện tại của token trong hợp đồng hồ bơi thay vì số lượng thực sự đã được chuyển trong quá trình kiểm tra yếu tố sức khỏe. Sự không phù hợp này khiến số dư token của người dùng xuất hiện cao hơn nhiều so với thực tế, đặc biệt là trong các hồ bơi có thanh khoản lớn.
Nguồn gốc của sự thao tác này nằm ở hàm userBalanceOfToken. Trong các trường hợp nơi liêu vốn được cung cấp lớn, hàm này có thể trả về một số lendBalance cao ngay cả khi chỉ còn một số nhỏ của lend share. Sự ước lượng quá cao về số dư của người dùng đã tạo cơ hội cho kẻ tấn công cho rằng họ có nhiều tài sản đảm bảo hơn thực tế. Do đó, kẻ tấn công có thể mượn các token stETH nhiều hơn so với quyền lợi thực sự của họ dựa trên tài sản đảm bảo thực tế.
Với giá trị tài sản thế chấp bị thổi phồng, kẻ tấn công tiếp tục rút USDC và stETH của họ. Hàm redeemUnderlying được gọi, đốt LP token liên quan đến khoản tiền gửi của người dùng. Tuy nhiên, do kiểm tra yếu tố sức khỏe bị lỗi xảy ra trước khi chuyển các token, hệ thống tin tưởng rằng người dùng có đủ tài sản thế chấp để rút nhiều hơn số tiền họ được quyền. Lỗi này cho phép kẻ tấn công rút 60 mã thông báo stETH mà không duy trì tài sản thế chấp cần thiết, hiệu quả nhận được các mã thông báo này miễn phí.
Để ngăn chặn cuộc tấn công, UniLend nên đã sắp xếp lại các hoạt động trong hàm redeemUnderlying. Bằng cách thực hiện kiểm tra yếu tố sức khỏe sau khi chuyển token cho người dùng, giao thức sẽ đảm bảo rằng số dư token thực tế của người dùng phản ánh chính xác tình trạng tài sản đảm bảo của họ.
An ninh Blockchain không phải là tùy chọn. Bảo vệ hợp đồng thông minh và giao protocal DeFi của bạn với Three Sigma, một đối tác an ninh đáng tin cậy trong kiểm toán blockchain, đánh giá lỗ hổng hợp đồng thông minh và an ninh Web3.
Nhấp đểĐảm bảo hợp đồng thông minh của bạn được kiểm tra hôm nay
Sự khai thác của UniLend đã gây thiệt hại tài chính đáng kể khoảng 200.000 đô la từ hồ bơi UniLend. Mất mát đáng kể này đã ảnh hưởng trực tiếp đến dự trữ của nền tảng và giảm tích lũy thanh khoản có sẵn cho người dùng khác, có thể gây cản trở hoạt động cho vay và vay tiếp diễn.
Sau khi khai thác, UniLend đã thực hiện các biện pháp ngay lập tức để khắc phục lỗ hổng và đảm bảo an ninh cho người dùng của mình.
Họ thông báo một phần thưởng 20% cho bên có trách nhiệm trả lại an toàn số tiền.
Địa chỉ
Giao Dịch Tấn Công:
Địa chỉ Kẻ khai thác:
Địa chỉ UnilendV2Core: