Euler Finance遭受 cuộc tấn công cho vay chớp nhoáng,损失近2亿美元
Gần đây, dự án Euler Finance đã bị tấn công cho vay chớp nhoáng do lỗ hổng trong hợp đồng thông minh, dẫn đến tổn thất tài chính lớn. Bài viết này sẽ phân tích chi tiết về sự kiện này.
Tóm tắt sự kiện
Vào ngày 13 tháng 3 năm 2023, hàm donateToReserves trong hợp đồng Etoken của dự án Euler Finance đã thiếu kiểm tra tính thanh khoản cần thiết, bị kẻ tấn công lợi dụng để thực hiện cuộc tấn công cho vay chớp nhoáng. Kẻ tấn công đã thực hiện nhiều thao tác với các loại tiền tệ khác nhau, cuối cùng gây ra thiệt hại khoảng 197 triệu USD, liên quan đến 6 loại token. Hiện tại, số tiền bị đánh cắp vẫn đang bị giữ trong tài khoản của kẻ tấn công.
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 hợp đồng cho vay và hợp đồng thanh lý.
Thông qua hàm deposit để đặt cọc 20 triệu DAI vào hợp đồng Euler Protocol, nhận được 19,5 triệu eDAI.
Sử dụng chức năng đòn bẩy 10 lần của Euler Protocol, vay 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 ra số lượng eDAI và dDAI tương đương.
Gọi hàm donateToReserves để quyên góp 100 triệu eDAI, sau đó thực hiện thanh lý qua hàm liquidate để nhận 310 triệu dDAI và 250 triệu eDAI.
Cuối cùng, thông qua hàm withdraw, rút 39 triệu DAI, hoàn trả 300.000 DAI Khoản vay nhanh, lợi nhuận ròng là 8.870.000 DAI.
Phân tích nguyên nhân lỗ hổng
Sau khi kiểm tra mã, phát hiện vấn đề nằm ở hàm donateToReserves. So với các hàm quan trọng khác như mint, hàm donateToReserves thiếu bước checkLiquidity quan trọng.
Hàm checkLiquidity thường sẽ gọi mô-đun RiskManager để kiểm tra người dùng, đảm bảo số lượng Etoken lớn hơn số lượng Dtoken. Do hàm donateToReserves không thực hiện kiểm tra này, kẻ tấn công đã lợi dụng một số chức năng trong giao thức để trước tiên đặt mình vào trạng thái có thể bị thanh lý, sau đó hoàn thành việc thanh lý và thu lợi.
Đề xuất an toàn
Đối với các cuộc tấn công như vậy, dự án nên lưu ý những điểm sau:
Trước khi hợp đồng được ra mắt, phải tiến hành kiểm toán an ninh toàn diện để đảm bảo tính an toàn của hợp đồng.
Các dự án cho vay cần 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ợ.
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 phải bao gồm các cơ chế kiểm tra an ninh cần thiết.
Thực hiện định kỳ việc xem xét mã và kế hoạch thưởng lỗi, kịp thời phát hiện và sửa chữa các mối đe dọa tiềm ẩn.
Thiết lập cơ chế phản ứng khẩn cấp, ngay khi xảy ra sự cố tấn công có thể nhanh chóng thực hiện các biện pháp khắc phục.
Với sự phát triển không ngừng của các dự án DeFi, vấn đề an ninh ngày càng trở nên quan trọng. Các dự án nên luôn cảnh giác và thực hiện các biện pháp bảo vệ an toàn toàn diện, nhằm đảm bảo an toàn cho tài sản của người dùng.
Trang này có thể chứa nội dung của bên thứ ba, được cung cấp chỉ nhằm mục đích thông tin (không phải là tuyên bố/bảo đảm) và không được coi là sự chứng thực cho quan điểm của Gate hoặc là lời khuyên về tài chính hoặc chuyên môn. Xem Tuyên bố từ chối trách nhiệm để biết chi tiết.
19 thích
Phần thưởng
19
3
Chia sẻ
Bình luận
0/400
BagHolderTillRetire
· 07-24 17:19
Chơi dự án cứng cáp gì không bằng theo tôi mua đáy BTC
Euler Finance遭2亿美元cuộc tấn công cho vay chớp nhoáng hợp đồng thông minh漏洞成祸根
Euler Finance遭受 cuộc tấn công cho vay chớp nhoáng,损失近2亿美元
Gần đây, dự án Euler Finance đã bị tấn công cho vay chớp nhoáng do lỗ hổng trong hợp đồng thông minh, dẫn đến tổn thất tài chính lớn. Bài viết này sẽ phân tích chi tiết về sự kiện này.
Tóm tắt sự kiện
Vào ngày 13 tháng 3 năm 2023, hàm donateToReserves trong hợp đồng Etoken của dự án Euler Finance đã thiếu kiểm tra tính thanh khoản cần thiết, bị kẻ tấn công lợi dụng để thực hiện cuộc tấn công cho vay chớp nhoáng. Kẻ tấn công đã thực hiện nhiều thao tác với các loại tiền tệ khác nhau, cuối cùng gây ra thiệt hại khoảng 197 triệu USD, liên quan đến 6 loại token. Hiện tại, số tiền bị đánh cắp vẫn đang bị giữ trong tài khoản của kẻ tấn công.
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 hợp đồng cho vay và hợp đồng thanh lý.
Thông qua hàm deposit để đặt cọc 20 triệu DAI vào hợp đồng Euler Protocol, nhận được 19,5 triệu eDAI.
Phân tích nguyên nhân lỗ hổng
Sau khi kiểm tra mã, phát hiện vấn đề nằm ở hàm donateToReserves. So với các hàm quan trọng khác như mint, hàm donateToReserves thiếu bước checkLiquidity quan trọng.
Hàm checkLiquidity thường sẽ gọi mô-đun RiskManager để kiểm tra người dùng, đảm bảo số lượng Etoken lớn hơn số lượng Dtoken. Do hàm donateToReserves không thực hiện kiểm tra này, kẻ tấn công đã lợi dụng một số chức năng trong giao thức để trước tiên đặt mình vào trạng thái có thể bị thanh lý, sau đó hoàn thành việc thanh lý và thu lợi.
Đề xuất an toàn
Đối với các cuộc tấn công như vậy, dự án nên lưu ý những điểm sau:
Trước khi hợp đồng được ra mắt, phải tiến hành kiểm toán an ninh toàn diện để đảm bảo tính an toàn của hợp đồng.
Các dự án cho vay cần 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ợ.
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 phải bao gồm các cơ chế kiểm tra an ninh cần thiết.
Thực hiện định kỳ việc xem xét mã và kế hoạch thưởng lỗi, kịp thời phát hiện và sửa chữa các mối đe dọa tiềm ẩn.
Thiết lập cơ chế phản ứng khẩn cấp, ngay khi xảy ra sự cố tấn công có thể nhanh chóng thực hiện các biện pháp khắc phục.
Với sự phát triển không ngừng của các dự án DeFi, vấn đề an ninh ngày càng trở nên quan trọng. Các dự án nên luôn cảnh giác và thực hiện các biện pháp bảo vệ an toàn toàn diện, nhằm đảm bảo an toàn cho tài sản của người dùng.