Euler Finance遭受 cuộc tấn công cho vay chớp nhoáng,损失近2亿美元
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, gây thiệt hại khoảng 197 triệu USD. Kẻ tấn công đã lợi dụng lỗ hổng trong hàm donateToReserves của Etoken trong dự án, thiếu kiểm tra tính thanh khoản, qua nhiều lần thao tác với các loại tiền khác nhau để thu được lợi nhuận khổng lồ.
Phân tích quá trình tấn công
Kẻ tấn công trước tiên lấy khoản vay nhanh 30 triệu DAI từ một nền tảng cho vay, sau đó triển khai hai hợp đồng cho vay và thanh lý. Các bước chính của cuộc tấn công như sau:
Đặt cọc 20 triệu DAI vào hợp đồng Euler Protocol, nhận 19,5 triệu eDAI.
Sử dụng chức năng vay mượn với đòn bẩy 10 lần của Giao thức Euler, vay ra 1.956 triệu eDAI và 2 triệu dDAI.
Sử dụng 10 triệu DAI còn lại để trả một phần nợ và tiêu hủy số dDAI tương ứng, sau đó lại vay số lượng eDAI và dDAI tương đương.
Thông qua hàm donateToReserves để quyên góp 100 triệu eDAI, sau đó gọi hàm liquidate để thanh lý, nhận được 310 triệu dDAI và 250 triệu eDAI.
Cuối cùng rút 3890 triệu DAI, sau khi hoàn trả Khoản vay nhanh thu lợi khoảng 887 triệu DAI.
Nguyên nhân lỗ hổng
Lý do chính khiến cuộc tấn công thành công là hàm donateToReserves trong hợp đồng của Euler Finance thiếu kiểm tra tính thanh khoản cần thiết. Khác với các hàm quan trọng khác như mint, hàm donateToReserves không gọi checkLiquidity để xác thực tính thanh khoản của người dùng, dẫn đến việc kẻ tấn công có khả năng thao túng trạng thái tài khoản của chính mình, khiến nó phù hợp với điều kiện thanh lý, từ đó hoàn thành cuộc tấn công.
Đề xuất an toàn
Đối với các cuộc tấn công như vậy, khuyến nghị các dự án DeFi:
Thực hiện kiểm toán an ninh toàn diện trước khi hợp đồng được ra mắt, đảm bảo tính an toàn của mã.
Đặ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 các dự án cho vay.
Đảm bảo rằng tất cả các hàm có thể ảnh hưởng đến trạng thái tài sản của người dùng đều được thực hiện các kiểm tra an ninh nghiêm ngặt.
Thực hiện quét lỗ hổng và đánh giá an ninh định kỳ, kịp thời sửa chữa các rủi ro tiềm ẩn.
Thiết lập cơ chế phản ứng khẩn cấp để có thể nhanh chóng ứng phó và xử lý khi xảy ra sự cố an ninh.
Sự kiện này một lần nữa làm nổi bật tầm quan trọng của an ninh hợp đồng thông minh, nhắc nhở các nhà phát triển và người dùng dự án Web3 luôn giữ cảnh giác, cùng nhau bảo vệ sự an toàn và ổn định của hệ sinh thái blockchain.
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.
12 thích
Phần thưởng
12
7
Chia sẻ
Bình luận
0/400
DeFiGrayling
· 2giờ trước
又一个漏洞Rekt
Xem bản gốcTrả lời0
SignatureVerifier
· 3giờ trước
rõ ràng là kiểm tra đầu vào không đủ... *thở dài* một ngày nữa, một lỗ hổng khác
Xem bản gốcTrả lời0
ForumLurker
· 3giờ trước
Sớm đã nói đừng động vào Tài chính phi tập trung
Xem bản gốcTrả lời0
GasFeeCrier
· 3giờ trước
Lại một người thua lỗ đến mức không còn cái quần nào.
Xem bản gốcTrả lời0
SundayDegen
· 4giờ trước
Một cái chết bất ngờ nữa
Xem bản gốcTrả lời0
mev_me_maybe
· 4giờ trước
Lại là lỗ hổng hợp đồng à? Vẫn là chiêu cũ.
Xem bản gốcTrả lời0
GasWaster
· 4giờ trước
bruh một ngày nữa một lỗ hổng nữa... gas bị lãng phí cho những cuộc kiểm toán thất bại smh
Euler Finance遭 2 triệu USD cuộc tấn công cho vay chớp nhoáng, lỗ hổng hợp đồng là nguyên nhân chính
Euler Finance遭受 cuộc tấn công cho vay chớp nhoáng,损失近2亿美元
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, gây thiệt hại khoảng 197 triệu USD. Kẻ tấn công đã lợi dụng lỗ hổng trong hàm donateToReserves của Etoken trong dự án, thiếu kiểm tra tính thanh khoản, qua nhiều lần thao tác với các loại tiền khác nhau để thu được lợi nhuận khổng lồ.
Phân tích quá trình tấn công
Kẻ tấn công trước tiên lấy khoản vay nhanh 30 triệu DAI từ một nền tảng cho vay, sau đó triển khai hai hợp đồng cho vay và thanh lý. Các bước chính của cuộc tấn công như sau:
Đặt cọc 20 triệu DAI vào hợp đồng Euler Protocol, nhận 19,5 triệu eDAI.
Sử dụng chức năng vay mượn với đòn bẩy 10 lần của Giao thức Euler, vay ra 1.956 triệu eDAI và 2 triệu dDAI.
Sử dụng 10 triệu DAI còn lại để trả một phần nợ và tiêu hủy số dDAI tương ứng, sau đó lại vay số lượng eDAI và dDAI tương đương.
Thông qua hàm donateToReserves để quyên góp 100 triệu eDAI, sau đó gọi hàm liquidate để thanh lý, nhận được 310 triệu dDAI và 250 triệu eDAI.
Cuối cùng rút 3890 triệu DAI, sau khi hoàn trả Khoản vay nhanh thu lợi khoảng 887 triệu DAI.
Nguyên nhân lỗ hổng
Lý do chính khiến cuộc tấn công thành công là hàm donateToReserves trong hợp đồng của Euler Finance thiếu kiểm tra tính thanh khoản cần thiết. Khác với các hàm quan trọng khác như mint, hàm donateToReserves không gọi checkLiquidity để xác thực tính thanh khoản của người dùng, dẫn đến việc kẻ tấn công có khả năng thao túng trạng thái tài khoản của chính mình, khiến nó phù hợp với điều kiện thanh lý, từ đó hoàn thành cuộc tấn công.
Đề xuất an toàn
Đối với các cuộc tấn công như vậy, khuyến nghị các dự án DeFi:
Thực hiện kiểm toán an ninh toàn diện trước khi hợp đồng được ra mắt, đảm bảo tính an toàn của mã.
Đặ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 các dự án cho vay.
Đảm bảo rằng tất cả các hàm có thể ảnh hưởng đến trạng thái tài sản của người dùng đều được thực hiện các kiểm tra an ninh nghiêm ngặt.
Thực hiện quét lỗ hổng và đánh giá an ninh định kỳ, kịp thời sửa chữa các rủi ro tiềm ẩn.
Thiết lập cơ chế phản ứng khẩn cấp để có thể nhanh chóng ứng phó và xử lý khi xảy ra sự cố an ninh.
Sự kiện này một lần nữa làm nổi bật tầm quan trọng của an ninh hợp đồng thông minh, nhắc nhở các nhà phát triển và người dùng dự án Web3 luôn giữ cảnh giác, cùng nhau bảo vệ sự an toàn và ổn định của hệ sinh thái blockchain.