OrionProtocol đã bị tấn công tái nhập 2,9 triệu đô la, phân tích và đề xuất biện pháp phòng ngừa

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

Phân tích sự kiện tấn công tái nhập của OrionProtocol

Vào chiều ngày 2 tháng 2 năm 2023, hợp đồng OrionProtocol trên Ethereum và Binance Smart Chain đã bị tấn công tái nhập do tồn tại lỗ hổng. Kẻ tấn công đã thành công trong việc đánh cắp khoảng 2,9 triệu đô la, trong đó bao gồm 2.844.766 USDT trên chuỗi Ethereum và 191.606 BUSD trên chuỗi Binance Smart.

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

Kẻ tấn công trước tiên triển khai một hợp đồng Token tùy chỉnh và thực hiện các thao tác chuyển nhượng và ủy quyền cho Token đó, chuẩn bị cho cuộc tấn công tiếp theo. Sau đó, kẻ tấn công sử dụng chức năng swap của Uniswap V2 để vay mượn và gọi phương thức ExchangeWithAtomic.swapThroughOrionPool của OrionProtocol để thực hiện việc đổi token.

Phân tích tấn công tái nhập OrionProtocol kèm PoC

Đường trao đổi được thiết lập là: USDC → Token tùy chỉnh của kẻ tấn công → USDT

Trong quá trình trao đổi, do hợp đồng Token tùy chỉnh của kẻ tấn công có chức năng gọi lại, khiến cho khi chuyển Token có thể gọi lại phương thức ExchangeWithAtomic.depositAsset. Cuộc tấn công tái nhập này dẫn đến số tiền gửi bị tính toán lại, cuối cùng cho phép kẻ tấn công rút tiền vượt quá số tiền thực tế đã gửi.

Phân tích tấn công tái nhập OrionProtocol kèm PoC

Dòng tiền

Nguồn vốn ban đầu của kẻ tấn công đến từ ví nóng của một nền tảng giao dịch lớn. Trong số 1,651 ETH mà kẻ tấn công đã thu được, 657.5 ETH vẫn còn trong địa chỉ ví của kẻ tấn công, phần còn lại đã được chuyển qua dịch vụ trộn coin.

Phân tích tấn công tái nhập OrionProtocol kèm PoC

Phân tích lỗ hổng

Vấn đề cốt lõi của lỗ hổng xuất hiện trong hàm doSwapThroughOrionPool. Hàm này cập nhật biến curBalance sau khi thực hiện chuyển tiền mã thông báo, tạo điều kiện cho các cuộc tấn công tái nhập. Kẻ tấn công thông qua việc thêm logic callback vào hàm transfer của Token tùy chỉnh, cho phép gọi lại hàm depositAsset trước khi cập nhật curBalance, dẫn đến sai lệch trong việc tính toán số dư.

Phân tích tấn công tái nhập OrionProtocol kèm PoC

Phân tích tấn công tái nhập OrionProtocol kèm PoC

Phân tích tấn công tái nhập OrionProtocol kèm PoC

Phân tích tấn công tái nhập OrionProtocol kèm PoC

Phân tích tấn công Reentrancy của OrionProtocol kèm PoC

Phân tích tấn công tái nhập OrionProtocol kèm PoC

Phân tích tấn công tái nhập OrionProtocol kèm PoC

Phân tích tấn công tái nhập OrionProtocol kèm PoC

Đề xuất phòng ngừa

Để ngăn chặn các cuộc tấn công tương tự, nhóm dự án nên chú ý đến những điểm sau:

  1. Thực hiện kiểm soát truy cập và quản lý quyền hạn nghiêm ngặt.
  2. Tuân theo mô hình "Kiểm tra - Hiệu ứng - Tương tác" (Checks-Effects-Interactions) khi viết hợp đồng thông minh.
  3. Sử dụng khóa tái nhập hoặc cơ chế tương tự để ngăn chặn tấn công tái nhập.
  4. Đối với các chức năng liên quan đến việc đổi token, cần xem xét các loại Token khác nhau và những rủi ro an ninh có thể phát sinh từ các đường dẫn đổi khác nhau.
  5. Thực hiện kiểm toán an ninh toàn diện, bao gồm phân tích tĩnh, kiểm tra động và đánh giá thủ công.
  6. Theo dõi hoạt động hợp đồng liên tục, thiết lập cơ chế phản ứng nhanh.

Sự kiện này một lần nữa nhấn mạnh rằng khi phát triển và triển khai hợp đồng thông minh, an ninh luôn phải là yếu tố hàng đầu cần xem xét. Các dự án cần liên tục hoàn thiện các biện pháp an ninh để bảo vệ tài sản của người dùng và duy trì uy tín của nền tảng.

TOKEN-1.34%
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
  • Đăng lại
  • Chia sẻ
Bình luận
0/400
CryptoCrazyGFvip
· 58phút trước
Lại một lần nữa bị mất coin, không hổ danh là Thị trường Bear để đạt thành tích.
Xem bản gốcTrả lời0
FUD_Vaccinatedvip
· 08-14 03:57
Lại đến chơi đùa với đồ ngốc rồi
Xem bản gốcTrả lời0
GateUser-aa7df71evip
· 08-13 22:35
Một đồ ngốc nữa bị cắt. Hãy xem bài phân tích lớp học nhỏ của tôi ở phía sau.
Xem bản gốcTrả lời0
CoinBasedThinkingvip
· 08-13 22:34
Lại là trò cũ rích này.
Xem bản gốcTrả lời0
HalfBuddhaMoneyvip
· 08-13 22:29
Một vụ lật xe kinh điển của hợp đồng thông minh nữa. Đồ ngốc không giữ được tiền rồi.
Xem bản gốcTrả lời0
NewPumpamentalsvip
· 08-13 22:26
Lại là một cuộc tấn công tái nhập, bao giờ mới kết thúc?
Xem bản gốcTrả lời0
ShibaOnTheRunvip
· 08-13 22:23
Lại bị tấn công rồi, hơi lo lắng.
Xem bản gốcTrả lời0
  • Ghim
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)