Euler Finance遭 cuộc tấn công cho vay chớp nhoáng损失近2亿美元

robot
Đang tạo bản tóm tắt

Euler Finance遭遇 cuộc tấn công cho vay chớp nhoáng,损失近2亿美元

Ngày 13 tháng 3 năm 2023, dự án Euler Finance đã bị cuộc tấn công cho vay chớp nhoáng do lỗ hổng hợp đồng thông minh, gây ra thiệt hại nghiêm trọng khoảng 197 triệu USD. Kẻ tấn công đã lợi dụng lỗ hổng thiếu kiểm tra tính thanh khoản trong hàm donateToReserves của hợp đồng, thực hiện cuộc tấn công thông qua nhiều thao tác.

Phân tích lỗ hổng Euler Finance: Làm thế nào để bị cuộc tấn công cho vay chớp nhoáng, thiệt hại 1.97 triệu đô la!

Phân tích quá trình tấn công

Các bước chính của kẻ tấn công như sau:

  1. 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 cho vay và thanh lý.

  2. Đặt 20 triệu DAI vào hợp đồng Euler Protocol, nhận 19,5 triệu eDAI.

  3. Sử dụng chức năng đòn bẩy 10x của Euler Protocol, cho vay 1.956 triệu eDAI và 2 triệu dDAI.

  4. Sử dụng 10 triệu DAI còn lại để trả một phần nợ, tiêu hủy số dDAI tương ứng, sau đó lại vay ra số lượng eDAI và dDAI tương đương.

  5. 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.

  6. Cuối cùng rút 3890 triệu DAI, hoàn trả 3000 triệu Khoản vay nhanh, lợi nhuận ròng khoảng 887 triệu DAI.

Phân tích lỗ hổng Euler Finance: Làm thế nào bị cuộc tấn công cho vay chớp nhoáng, thiệt hại 1.97 tỷ đô la!

Phân tích lỗ hổng Euler Finance: Làm thế nào để bị tấn công cho vay chớp nhoáng, thiệt hại 1.97 triệu đô la!

Phân tích lỗ hổng Euler Finance: Làm thế nào bị cuộc tấn công cho vay chớp nhoáng, thiệt hại 1.97 triệu đô la!

Phân tích lỗ hổng Euler Finance: Làm thế nào để bị tấn công cho vay chớp nhoáng, thiệt hại 1.97 triệu đô la!

Phân tích lỗ hổng Euler Finance: Làm thế nào bị tấn công cho vay chớp nhoáng, thiệt hại 1.97 triệu đô la!

Phân tích lỗ hổng Euler Finance: Làm thế nào để bị cuộc tấn công cho vay chớp nhoáng, thiệt hại 1.97 triệu đô la!

Phân tích lỗ hổng Euler Finance: Làm thế nào để bị tấn công cho vay chớp nhoáng, thiệt hại 1.97 triệu đô la!

Phân tích lỗ hổng Euler Finance: Làm thế nào bị cuộc tấn công cho vay chớp nhoáng, thiệt hại 1.97 triệu đô la!

Phân tích lỗ hổng Euler Finance: Làm thế nào để bị cuộc tấn công cho vay chớp nhoáng, thiệt hại 1.97 triệu đô la!

Nguyên nhân lỗ hổng

Điểm cốt lõi của cuộc tấn công là hàm donateToReserves trong hợp đồng Euler Finance thiếu kiểm tra tính thanh khoản cần thiết. So với các hàm quan trọng khác (như mint), hàm donateToReserves không gọi checkLiquidity để xác minh tính thanh khoản của người dùng. Điều này cho phép kẻ tấn công thông qua các thao tác cụ thể để đưa 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.

Trong điều kiện bình thường, hàm checkLiquidity sẽ gọi mô-đun RiskManager, đảm bảo rằng Etoken của người dùng luôn lớn hơn Dtoken để duy trì tính an toàn của hợp đồng. Tuy nhiên, hàm donateToReserves đã bỏ qua bước quan trọng này, dẫn đến lỗ hổng bảo mật nghiêm trọng.

Phân tích lỗ hổng Euler Finance: Làm thế nào để bị cuộc tấn công cho vay chớp nhoáng, thiệt hại 1.97 triệu đô la!

Bài học và lời khuyên

Sự kiện này một lần nữa nhấn mạnh tầm quan trọng của việc kiểm toán an ninh hợp đồng thông minh. Đối với các dự án cho vay, cần đặc biệt chú ý đến một số khía cạnh quan trọng sau đây:

  1. Tính toàn vẹn của cơ chế hoàn trả vốn
  2. Tính toàn diện của việc kiểm tra tính thanh khoản
  3. An toàn của quy trình thanh lý nợ

Các dự án cần thực hiện kiểm toán an toàn toàn diện trước khi ra mắt, đảm bảo rằng mọi chức năng của hợp đồng đã trải qua kiểm tra an toàn nghiêm ngặt. Đồng thời, việc giám sát an toàn liên tục và chương trình thưởng lỗi cũng là các biện pháp hiệu quả để đảm bảo an toàn lâu dài cho dự án.

Ngoài ra, các nhà phát triển nên chú ý đến tính nhất quán giữa các hàm, đảm bảo rằng các kiểm tra an toàn quan trọng (như kiểm tra tính thanh khoản) được thực hiện chính xác trong tất cả các hàm liên quan. Điều này không chỉ bao gồm các chức năng chính mà còn nên bao gồm các chức năng phụ như quyên góp.

Cuối cùng, các bên dự án và nhà phát triển nên giữ cảnh giác trước các phương thức tấn công mới nổi, thường xuyên cập nhật chiến lược an ninh để đối phó với các mối đe dọa an ninh blockchain đang không ngừng phát triển.

EUL10%
Xem bản gốc
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.
  • Phần thưởng
  • 7
  • Chia sẻ
Bình luận
0/400
StableGeniusvip
· 9giờ trước
thật là... như đã dự đoán, một giao thức khác học về độ chính xác toán học theo cách khó khăn. Nói một cách thực nghiệm, điều này là không thể tránh khỏi.
Xem bản gốcTrả lời0
SelfCustodyBrovip
· 9giờ trước
Nằm yên ăn dưa thôi~
Xem bản gốcTrả lời0
PoetryOnChainvip
· 9giờ trước
Một hợp đồng giòn nữa chết tiệt
Xem bản gốcTrả lời0
MevHuntervip
· 9giờ trước
又一卖合约的Rug Pull了
Xem bản gốcTrả lời0
SorryRugPulledvip
· 9giờ trước
Hợp đồng không có kiểm toán kỹ thuật cũng giống như đang phát tiền.
Xem bản gốcTrả lời0
0xInsomniavip
· 9giờ trước
Lại thấy lỗi hợp đồng thông minh
Xem bản gốcTrả lời0
GasFeeNightmarevip
· 9giờ trước
Nửa đêm ngồi xem gas suýt nữa thì lỗ chết... Mười giao dịch thì bảy giao dịch thất bại còn phải trả thuế thông minh cho người khai thác.
Xem bản gốcTrả lời0
Giao dịch tiền điện tử mọi lúc mọi nơi
qrCode
Quét để tải xuống ứng dụng Gate
Cộng đồng
Tiếng Việt
  • 简体中文
  • English
  • Tiếng Việt
  • 繁體中文
  • Español
  • Русский
  • Français (Afrique)
  • Português (Portugal)
  • Bahasa Indonesia
  • 日本語
  • بالعربية
  • Українська
  • Português (Brasil)