Lỗ hổng lưu trữ tạm thời dẫn đến việc dự án Ethereum bị tấn công bởi Hacker với số tiền 300.000 USD

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

Một vụ cướp trên chuỗi do lưu trữ tạm thời gây ra: Hậu quả của việc mất 300.000 USD

Vào ngày 30 tháng 3 năm 2025, một dự án giao dịch đòn bẩy trên chuỗi Ethereum có tên SIR.trading đã bị tấn công, dẫn đến thiệt hại tài sản lên đến hơn 300.000 đô la. Đội ngũ an ninh đã tiến hành phân tích sâu về sự kiện này, tiết lộ chi tiết và nguyên nhân của cuộc tấn công.

Di chứng chết người: Một vụ cướp 300.000 đô la trên chuỗi do lưu trữ tạm thời gây ra

Bối cảnh sự kiện

Kẻ tấn công đã lợi dụng đặc tính lưu trữ tạm thời được giới thiệu trong phiên bản Solidity 0.8.24. Vị trí lưu trữ dữ liệu mới này nhằm cung cấp một phương pháp lưu trữ tạm thời có hiệu quả trong suốt quá trình giao dịch với chi phí thấp. Các đặc điểm chính của lưu trữ tạm thời bao gồm:

  1. Chi phí gas thấp: Chi phí hoạt động cố định là 100 gas.
  2. Tính bền vững trong giao dịch: Dữ liệu giữ nguyên hiệu lực trong suốt thời gian giao dịch.
  3. Tự động xóa: Sau khi giao dịch kết thúc, lưu trữ tự động được đặt lại về 0.

Di tích chết người: Một vụ cướp 300.000 USD trên chuỗi do bộ nhớ tạm thời gây ra

Nguồn gốc tấn công

Nguyên nhân cơ bản của cuộc tấn công là giá trị được lưu trữ tạm thời bằng tstore trong hàm không được xóa sau khi kết thúc cuộc gọi hàm. Điều này cho phép kẻ tấn công tạo ra các địa chỉ độc hại cụ thể, vượt qua kiểm tra quyền hạn và chuyển token ra ngoài.

Di sản chết người: Một vụ cướp 300.000 đô la trên chuỗi do lưu trữ tạm thời gây ra

Quy trình tấn công

  1. Kẻ tấn công tạo ra hai mã thông báo độc hại A và B, và tạo bể cho hai mã thông báo này trên một DEX và bơm thanh khoản.

  2. Kẻ tấn công gọi hàm initialize của hợp đồng Vault, sử dụng token A làm tài sản thế chấp và token B làm token nợ để tạo ra thị trường giao dịch đòn bẩy.

  3. Kẻ tấn công gọi hàm mint của hợp đồng Vault, gửi token nợ B để đúc token đòn bẩy. Trong quá trình này, địa chỉ pool DEX và số lượng đúc được lưu trữ tạm thời.

  4. Kẻ tấn công tạo ra một hợp đồng độc hại, có địa chỉ giống với số lượng đúc đã được lưu trữ tạm thời trước đó.

  5. Kẻ tấn công đã gọi hàm callback của hợp đồng Vault thông qua hợp đồng độc hại, do giá trị trong bộ nhớ tạm thời không được xóa, đã thành công vượt qua kiểm tra quyền.

  6. Cuối cùng, kẻ tấn công trực tiếp thông qua việc tấn công hợp đồng gọi hàm callback của hợp đồng Vault, chuyển các token khác (như WBTC, WETH) ra ngoài để thu lợi.

Di sản chết người: Một vụ cướp 300.000 đô la trên chuỗi gây ra bởi lưu trữ tạm thời

Di sản chết người: Một vụ cướp trên chuỗi trị giá 300.000 đô la do lưu trữ tạm thời gây ra

Di sản chết người: Một vụ cướp 300.000 đô la trên chuỗi do lưu trữ tạm thời gây ra

Di sản chết người: Một vụ cướp 300.000 đô la trên chuỗi do lưu trữ tạm thời gây ra

Di sản chết người: Một vụ cướp 300.000 đô la trên chuỗi do lưu trữ tạm thời gây ra

Di sản chết người: Một vụ cướp 300.000 đô la trên chuỗi do lưu trữ tạm thời gây ra

Di sản chết người: Một vụ cướp 300.000 đô la trên chuỗi do bộ nhớ tạm thời gây ra

Di sản chết người: Một vụ cướp 300.000 đô la trên chuỗi do lưu trữ tạm thời gây ra

Di sản chết người: Một vụ cướp 300.000 đô la trên chuỗi do lưu trữ tạm thời gây ra

Di sản chết người: Một vụ cướp 300.000 đô la trên chuỗi do lưu trữ tạm thời gây ra

Di chứng chết người: Một vụ cướp 300.000 đô la trên chuỗi do lưu trữ tạm thời gây ra

Di sản chết người: Một cuộc cướp trên chuỗi trị giá 300.000 đô la do bộ nhớ tạm thời gây ra

Di sản chết người: Một vụ cướp 300.000 đô la trên chuỗi do lưu trữ tạm thời gây ra

Phân tích dòng tiền

Theo dữ liệu từ công cụ phân tích on-chain, kẻ tấn công đã đánh cắp khoảng 300.000 đô la tài sản, bao gồm:

  • 17,814.8626 USDC
  • 1.4085 WBTC
  • 119.871 WETH

Các tài sản này sau đó được chuyển đổi thành WETH và cuối cùng được chuyển vào một công cụ ẩn danh nào đó. Nguồn vốn ban đầu của kẻ tấn công là 0.3 ETH được chuyển từ công cụ đó.

Di sản chết người: Một vụ cướp 300.000 đô la trên chuỗi do lưu trữ tạm thời gây ra

Đề xuất an toàn

Để ngăn chặn các cuộc tấn công tương tự, nhóm dự án nên:

  1. Ngay sau khi kết thúc cuộc gọi hàm, hãy sử dụng tstore(key, 0) để xóa giá trị trong bộ nhớ tạm thời.
  2. Tăng cường kiểm tra mã hợp đồng và thử nghiệm an toàn.
  3. Cẩn thận sử dụng các đặc điểm ngôn ngữ mới được giới thiệu, hiểu rõ ràng về những rủi ro tiềm ẩn của chúng.

Sự kiện này một lần nữa nhấn mạnh tầm quan trọng của việc duy trì sự cân bằng giữa an ninh và ứng dụng công nghệ mới trong phát triển dự án blockchain. Khi công nghệ liên tục tiến bộ, các nhà phát triển và chuyên gia an ninh cần phải cảnh giác, kịp thời nhận diện và ứng phó với những thách thức an ninh mới.

ETH6.72%
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
MemeTokenGeniusvip
· 19giờ trước
Ngốc ngách thật đáng yêu, đã lên sóng mà không đo đạc gì sao?
Xem bản gốcTrả lời0
quiet_lurkervip
· 19giờ trước
Một dự án nữa bị đè xuống đất cọ xát.
Xem bản gốcTrả lời0
PumpBeforeRugvip
· 19giờ trước
Nghe nói lần này quay đầu là chạy~hợp đồng thông minh nhỏ lỗ hổng
Xem bản gốcTrả lời0
MEVHuntervip
· 19giờ trước
30w này rẻ quá, Khoản vay nhanh cũng lười chạy.
Xem bản gốcTrả lời0
ContractSurrendervip
· 19giờ trước
Dự án cũ All in tính năng mới Lạnh lẽo...
Xem bản gốcTrả lời0
MissedAirdropAgainvip
· 19giờ trước
Hê, chỉ là 30w nhỏ nhặt mà thôi.
Xem bản gốcTrả lời0
NeverPresentvip
· 19giờ trước
Lỗi cấp thấp như vậy cũng bị dính sao?
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)