OrionProtocol bị tấn công tái nhập, thiệt hại 2,9 triệu USD

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 ngày 2 tháng 2 năm 2023 lúc 15:40:20 UTC, OrionProtocol trên Ethereum và Binance Smart Chain đã bị tấn công tái nhập do lỗ hổng hợp đồng. Kẻ tấn công đã thu lợi 2,844,766 USDT trên chuỗi Ethereum và 191,606 BUSD trên chuỗi Binance Smart Chain, tổng thiệt hại khoảng 2,9 triệu USD.

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 công việc chuẩn bị cần thiết. Sau đó, kẻ tấn công đã vay vốn thông qua chức năng swap của một DEX, gọi phương thức ExchangeWithAtomic.swapThroughOrionPool của OrionProtocol để thực hiện việc đổi token. Đường đổi bao gồm địa chỉ hợp đồng Token mà kẻ tấn công đã tạo ra.

Trong quá trình trao đổi, kẻ tấn công đã lợi dụng chức năng callback của hợp đồng Token tùy chỉnh để gọi lại phương thức ExchangeWithAtomic.depositAsset nhiều lần, dẫn đến số tiền gửi liên tục tăng lên. Cuối cùng, kẻ tấn công đã hoàn tất việc rút tiền và thu lợi.

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

Dòng tiề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. Trong số 1,651 ETH mà kẻ tấn công đã kiếm đượ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 nằm ở các hàm doSwapThroughOrionPool và _doSwapTokens của hợp đồng ExchangeWithAtomic. Những hàm này cập nhật biến curBalance sau khi thực hiện chuyển nhượng token, vi phạm mô hình "Kiểm tra - Hiệu lực - Tương tác" (Checks-Effects-Interactions). Kẻ tấn công đã thêm logic callback vào hàm transfer của Token tùy chỉnh, dẫn đến việc cập nhật curBalance sai, từ đó thực hiện tấn công tái nhập.

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

Tái hiện tấn công

Các nhà nghiên cứu đã cung cấp một phần mã POC, trình bày cách khai thác lỗ hổng này để tiến hành tấn công. Kết quả thử nghiệm cho thấy, kẻ tấn công đã thành công trong việc lấy thêm USDT.

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 tái nhập OrionProtocol kèm PoC

Đề xuất an toàn

  1. Các bên dự án khi thực hiện chức năng trao đổi token cần xem xét các loại token khác nhau và các con đường trao đổi có thể mang lại rủi ro an toàn.

  2. Tuân thủ nghiêm ngặt quy tắc mã hóa "kiểm tra - hiệu lực - tương tác", đảm bảo rằng việc cập nhật biến trạng thái hoàn tất trước khi gọi từ bên ngoài.

  3. Thực hiện các cơ chế bảo mật như khóa tái nhập để ngăn chặn các cuộc tấn công tái nhập.

  4. Thực hiện kiểm tra mã định kỳ và kiểm tra an ninh, kịp thời phát hiện và sửa chữa các lỗ hổng tiềm ẩn.

  5. Cân nhắc việc áp dụng cơ chế hạn mức, kiểm soát số tiền tối đa cho mỗi giao dịch, giảm thiểu tổn thất tiềm ẩn.

Sự kiện này một lần nữa nhắc nhở chúng ta rằng trong phát triển hợp đồng thông minh, chúng ta phải luôn cảnh giác và coi trọng tính an toàn. Chỉ bằng cách không ngừng hoàn thiện các biện pháp an ninh, chúng ta mới có thể đảm bảo sự phát triển lành mạnh của hệ sinh thái Web3.

TOKEN-2.07%
ETH1.23%
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
LadderToolGuyvip
· 5giờ trước
An toàn hợp đồng là rất quan trọng
Xem bản gốcTrả lời0
GreenCandleCollectorvip
· 9giờ trước
又 một đầu đồ ngốc清零
Xem bản gốcTrả lời0
LowCapGemHuntervip
· 14giờ trước
Bên dự án quá cẩu thả rồi.
Xem bản gốcTrả lời0
NeverPresentvip
· 08-07 03:18
Một lỗ hổng không thể hiểu được nữa.
Xem bản gốcTrả lời0
ProposalDetectivevip
· 08-07 03:17
Lỗ hổng hợp đồng làm hại người.
Xem bản gốcTrả lời0
GateUser-a606bf0cvip
· 08-07 03:14
Hợp đồng là một cái hố khổng lồ.
Xem bản gốcTrả lời0
GateUser-c802f0e8vip
· 08-07 03:13
Tài sản lại biến mất
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)