Euler Finance遭受 cuộc tấn công cho vay chớp nhoáng,损失近2亿美元
Gần đây, một sự kiện an ninh lớn đã thu hút sự chú ý rộng rãi trong cộng đồng tiền điện tử. Theo dữ liệu giám sát trên chuỗi, dự án Euler Finance đã bị tấn công cho vay chớp nhoáng nghiêm trọng vào ngày 13 tháng 3 năm 2023, dẫn đến khoản lỗ lên đến 197 triệu USD, liên quan đến 6 loại tiền điện tử khác nhau.
Nguyên nhân cơ bản của cuộc tấn công lần này nằm ở một lỗ hổng chính trong hợp đồng của dự án Euler Finance. Cụ thể, hàm donateToReserves trong Etoken của dự án thiếu cơ chế kiểm tra thanh khoản cần thiết, tạo cơ hội cho kẻ tấn công. Tin tặc đã lợi dụng lỗ hổng này, thông qua việc gọi nhiều lần các hàm liên quan đến các loại tiền khác nhau, cuối cùng hoàn thành vụ đánh cắp tài sản quy mô lớn này.
Quá trình tấn công có thể được tóm tắt thành các bước sau:
Hacker đầu 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 quan trọng: một cái dùng cho các hoạt động cho vay, cái còn lại dùng cho các hoạt động thanh lý.
Hacker đã thế chấp 20 triệu DAI vay mượn vào hợp đồng Euler Protocol, nhận được khoảng 19.5 triệu eDAI.
Sử dụng tính năng đòn bẩy 10 lần của Euler Protocol, hacker đã vay một lượng lớn eDAI và dDAI.
Bằng cách thao tác khéo léo các hàm repay và mint, hacker đã tăng thêm hạn mức vay mượn.
Bước quan trọng là gọi hàm donateToReserves, đóng góp số tiền gấp 10 lần số tiền hoàn trả, sau đó thực hiện thanh lý thông qua hàm liquidate, thu được một lượng lớn dDAI và eDAI.
Cuối cùng, hacker đã rút khoảng 3890 triệu DAI, hoàn trả khoản vay nhanh 3000 triệu DAI ban đầu, lợi nhuận ròng khoảng 887 triệu DAI.
Cuộc tấn công này đã phơi bày một thiết kế nghiêm trọng trong hợp đồng của dự án Euler Finance. So với các chức năng quan trọng khác, hàm donateToReserves thiếu bước checkLiquidity cần thiết, bước này lẽ ra phải gọi RiskManager để đảm bảo rằng Etoken của người dùng luôn lớn hơn Dtoken. Chính sự sơ suất này đã tạo điều kiện cho kẻ tấn công có cơ hội, có thể thao túng trạng thái tài khoản của mình để đáp ứng các điều kiện thanh lý và từ đó kiếm lợi.
Sự kiện này lại một lần nữa làm nổi bật tầm quan trọng của việc kiểm toán an toàn hợp đồng thông minh. Đối với các dự án cho vay, đặc biệt cần chú ý đến sự an toàn của 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ợ. Chỉ thông qua việc kiểm toán an toàn nghiêm ngặt và đánh giá rủi ro toàn diện, mới có thể giảm thiểu tối đa khả năng xảy ra các sự kiện an toàn tương tự, bảo vệ an toàn 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.
7 thích
Phần thưởng
7
1
Đăng lại
Chia sẻ
Bình luận
0/400
DaoDeveloper
· 08-11 00:17
đúng như những gì chúng tôi mong đợi khi thiếu kiểm tra thanh khoản... kiểm toán hợp đồng thông minh 101 thật ra
Euler Finance遭1.97亿美元cuộc tấn công cho vay chớp nhoáng 合约漏洞暴露重大安全风险
Euler Finance遭受 cuộc tấn công cho vay chớp nhoáng,损失近2亿美元
Gần đây, một sự kiện an ninh lớn đã thu hút sự chú ý rộng rãi trong cộng đồng tiền điện tử. Theo dữ liệu giám sát trên chuỗi, dự án Euler Finance đã bị tấn công cho vay chớp nhoáng nghiêm trọng vào ngày 13 tháng 3 năm 2023, dẫn đến khoản lỗ lên đến 197 triệu USD, liên quan đến 6 loại tiền điện tử khác nhau.
Nguyên nhân cơ bản của cuộc tấn công lần này nằm ở một lỗ hổng chính trong hợp đồng của dự án Euler Finance. Cụ thể, hàm donateToReserves trong Etoken của dự án thiếu cơ chế kiểm tra thanh khoản cần thiết, tạo cơ hội cho kẻ tấn công. Tin tặc đã lợi dụng lỗ hổng này, thông qua việc gọi nhiều lần các hàm liên quan đến các loại tiền khác nhau, cuối cùng hoàn thành vụ đánh cắp tài sản quy mô lớn này.
Quá trình tấn công có thể được tóm tắt thành các bước sau:
Hacker đầu 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 quan trọng: một cái dùng cho các hoạt động cho vay, cái còn lại dùng cho các hoạt động thanh lý.
Hacker đã thế chấp 20 triệu DAI vay mượn vào hợp đồng Euler Protocol, nhận được khoảng 19.5 triệu eDAI.
Sử dụng tính năng đòn bẩy 10 lần của Euler Protocol, hacker đã vay một lượng lớn eDAI và dDAI.
Bằng cách thao tác khéo léo các hàm repay và mint, hacker đã tăng thêm hạn mức vay mượn.
Bước quan trọng là gọi hàm donateToReserves, đóng góp số tiền gấp 10 lần số tiền hoàn trả, sau đó thực hiện thanh lý thông qua hàm liquidate, thu được một lượng lớn dDAI và eDAI.
Cuối cùng, hacker đã rút khoảng 3890 triệu DAI, hoàn trả khoản vay nhanh 3000 triệu DAI ban đầu, lợi nhuận ròng khoảng 887 triệu DAI.
Cuộc tấn công này đã phơi bày một thiết kế nghiêm trọng trong hợp đồng của dự án Euler Finance. So với các chức năng quan trọng khác, hàm donateToReserves thiếu bước checkLiquidity cần thiết, bước này lẽ ra phải gọi RiskManager để đảm bảo rằng Etoken của người dùng luôn lớn hơn Dtoken. Chính sự sơ suất này đã tạo điều kiện cho kẻ tấn công có cơ hội, có thể thao túng trạng thái tài khoản của mình để đáp ứng các điều kiện thanh lý và từ đó kiếm lợi.
Sự kiện này lại một lần nữa làm nổi bật tầm quan trọng của việc kiểm toán an toàn hợp đồng thông minh. Đối với các dự án cho vay, đặc biệt cần chú ý đến sự an toàn của 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ợ. Chỉ thông qua việc kiểm toán an toàn nghiêm ngặt và đánh giá rủi ro toàn diện, mới có thể giảm thiểu tối đa khả năng xảy ra các sự kiện an toàn tương tự, bảo vệ an toàn tài sản của người dùng.