Euler Finance bị cuộc tấn công cho vay chớp nhoáng, thiệt hại lên đến 1.97 triệu đô la Mỹ
Vào ngày 13 tháng 3 năm 2023, dự án Euler Finance đã bị tấn công cho vay chớp nhoáng do lỗ hổng hợp đồng, dẫn đến tổn thất lớn. Kẻ tấn công đã lợi dụng lỗ hổng trong hàm donateToReserves của hợp đồng do thiếu kiểm tra tính thanh khoản, thông qua nhiều thao tác để thu được một lượng lớn tiền. Sự kiện này liên quan đến 6 loại token, tổng tổn thất lên đến 197 triệu USD.
Phân tích quá trình tấn công
Kẻ tấn công đầu tiên vay 30 triệu DAI từ một nền tảng cho vay chớp nhoáng và triển khai hai hợp đồng: hợp đồng cho vay và hợp đồng thanh lý.
Kẻ tấn công đã đặt 20 triệu DAI vào hợp đồng Euler Protocol, nhận được 195.000 eDAI.
Sử dụng chức năng đòn bẩy 10 lần của Giao thức Euler, kẻ tấn công đã cho vay 1.956.000 eDAI và 2.000.000 dDAI.
Kẻ tấn công sử dụng 10 triệu DAI còn lại để trả một phần nợ và tiêu hủy dDAI tương ứng, sau đó lại vay 1.956.000 eDAI và 2.000.000 dDAI.
Bước quan trọng: Kẻ tấn công gọi hàm donateToReserves, quyên góp 1 triệu eDAI (là gấp 10 lần số tiền hoàn trả). Ngay sau đó, kẻ tấn công gọi hàm liquidate để thanh lý, nhận được 3 triệu dDAI và 2,5 triệu eDAI.
Cuối cùng, kẻ tấn công đã rút 389.000 DAI và hoàn trả khoản vay chớp nhoáng 30 triệu DAI, cuối cùng thu lợi 8.870.000 DAI.
Phân tích nguyên nhân lỗ hổng
Vấn đề cốt lõi của cuộc tấn công này nằm ở việc hàm donateToReserves trong hợp đồng Euler Finance thiếu kiểm tra thanh khoản cần thiết. So với hàm mint, hàm donateToReserves không thực hiện bước kiểm tra thanh khoản, điều này cho phép kẻ tấn công có thể vượt qua kiểm tra thanh khoản bình thường.
Trong trường hợp bình thường, hàm checkLiquidity sẽ gọi mô-đun RiskManager để đảm bảo số lượng eToken của người dùng lớn hơn số lượng dToken. Tuy nhiên, do hàm donateToReserves thiếu bước quan trọng này, kẻ tấn công đã lợi dụng lỗ hổng này để đặt mình vào trạng thái có thể bị thanh lý, sau đó thực hiện thao tác thanh lý.
Đề xuất an toàn
Đối với các cuộc tấn công như vậy, chúng tôi khuyên các dự án DeFi:
Thực hiện kiểm tra an ninh toàn diện trước khi hợp đồng ra mắt, đảm bảo tính an toàn của hợp đồng.
Đối với các dự án cho vay, cần đặc biệt chú ý đến các khâu quan trọng như hoàn trả vốn, kiểm tra tính thanh khoản và thanh lý nợ.
Trong mỗi hàm có thể ảnh hưởng đến trạng thái quỹ của người dùng, cần thực hiện kiểm tra thanh khoản nghiêm ngặt.
Thực hiện kiểm tra và cập nhật mã định kỳ, kịp thời sửa chữa các lỗ hổng phát hiện.
Cân nhắc việc đưa vào cơ chế ký đa chữ ký hoặc khóa thời gian như các biện pháp an ninh bổ sung.
Sự kiện lần này một lần nữa nhắc nhở chúng ta rằng, trong lĩnh vực DeFi đang phát triển nhanh chóng, sự an toàn của hợp đồng luôn là điều quan trọng. Các dự án cần phải liên tục nâng cao nhận thức về an toàn, thực hiện nhiều biện pháp bảo vệ để bảo vệ an toàn tài sản của người dùng.
This page may contain third-party content, which is provided for information purposes only (not representations/warranties) and should not be considered as an endorsement of its views by Gate, nor as financial or professional advice. See Disclaimer for details.
15 thích
Phần thưởng
15
7
Chia sẻ
Bình luận
0/400
HodlVeteran
· 07-13 01:44
Một cái bẫy nữa, tài xế lão luyện đã giẫm lên suốt mười năm rồi vẫn tiếp tục giẫm.
Xem bản gốcTrả lời0
DiamondHands
· 07-13 01:36
Lại lại lại nổ rồi
Xem bản gốcTrả lời0
GasFeeCrier
· 07-12 00:27
Hợp đồng này có vẻ quá lừa dối.
Xem bản gốcTrả lời0
NftMetaversePainter
· 07-10 03:38
một lỗ hổng nguyên thủy khác do xác minh thuật toán không đầy đủ... thật buồn cười, web3 đang khóc ngay bây giờ
Euler Finance遭 cuộc tấn công cho vay chớp nhoáng损失1.97亿美元
Euler Finance bị cuộc tấn công cho vay chớp nhoáng, thiệt hại lên đến 1.97 triệu đô la Mỹ
Vào ngày 13 tháng 3 năm 2023, dự án Euler Finance đã bị tấn công cho vay chớp nhoáng do lỗ hổng hợp đồng, dẫn đến tổn thất lớn. Kẻ tấn công đã lợi dụng lỗ hổng trong hàm donateToReserves của hợp đồng do thiếu kiểm tra tính thanh khoản, thông qua nhiều thao tác để thu được một lượng lớn tiền. Sự kiện này liên quan đến 6 loại token, tổng tổn thất lên đến 197 triệu USD.
Phân tích quá trình tấn công
Kẻ tấn công đầu tiên vay 30 triệu DAI từ một nền tảng cho vay chớp nhoáng và triển khai hai hợp đồng: hợp đồng cho vay và hợp đồng thanh lý.
Kẻ tấn công đã đặt 20 triệu DAI vào hợp đồng Euler Protocol, nhận được 195.000 eDAI.
Sử dụng chức năng đòn bẩy 10 lần của Giao thức Euler, kẻ tấn công đã cho vay 1.956.000 eDAI và 2.000.000 dDAI.
Kẻ tấn công sử dụng 10 triệu DAI còn lại để trả một phần nợ và tiêu hủy dDAI tương ứng, sau đó lại vay 1.956.000 eDAI và 2.000.000 dDAI.
Bước quan trọng: Kẻ tấn công gọi hàm donateToReserves, quyên góp 1 triệu eDAI (là gấp 10 lần số tiền hoàn trả). Ngay sau đó, kẻ tấn công gọi hàm liquidate để thanh lý, nhận được 3 triệu dDAI và 2,5 triệu eDAI.
Cuối cùng, kẻ tấn công đã rút 389.000 DAI và hoàn trả khoản vay chớp nhoáng 30 triệu DAI, cuối cùng thu lợi 8.870.000 DAI.
Phân tích nguyên nhân lỗ hổng
Vấn đề cốt lõi của cuộc tấn công này nằm ở việc hàm donateToReserves trong hợp đồng Euler Finance thiếu kiểm tra thanh khoản cần thiết. So với hàm mint, hàm donateToReserves không thực hiện bước kiểm tra thanh khoản, điều này cho phép kẻ tấn công có thể vượt qua kiểm tra thanh khoản bình thường.
Trong trường hợp bình thường, hàm checkLiquidity sẽ gọi mô-đun RiskManager để đảm bảo số lượng eToken của người dùng lớn hơn số lượng dToken. Tuy nhiên, do hàm donateToReserves thiếu bước quan trọng này, kẻ tấn công đã lợi dụng lỗ hổng này để đặt mình vào trạng thái có thể bị thanh lý, sau đó thực hiện thao tác thanh lý.
Đề xuất an toàn
Đối với các cuộc tấn công như vậy, chúng tôi khuyên các dự án DeFi:
Thực hiện kiểm tra an ninh toàn diện trước khi hợp đồng ra mắt, đảm bảo tính an toàn của hợp đồng.
Đối với các dự án cho vay, cần đặc biệt chú ý đến các khâu quan trọng như hoàn trả vốn, kiểm tra tính thanh khoản và thanh lý nợ.
Trong mỗi hàm có thể ảnh hưởng đến trạng thái quỹ của người dùng, cần thực hiện kiểm tra thanh khoản nghiêm ngặt.
Thực hiện kiểm tra và cập nhật mã định kỳ, kịp thời sửa chữa các lỗ hổng phát hiện.
Cân nhắc việc đưa vào cơ chế ký đa chữ ký hoặc khóa thời gian như các biện pháp an ninh bổ sung.
Sự kiện lần này một lần nữa nhắc nhở chúng ta rằng, trong lĩnh vực DeFi đang phát triển nhanh chóng, sự an toàn của hợp đồng luôn là điều quan trọng. Các dự án cần phải liên tục nâng cao nhận thức về an toàn, thực hiện nhiều biện pháp bảo vệ để bảo vệ an toàn tài sản của người dùng.