OrionProtocol bị tấn công tái nhập, 2.9 triệu đô la bị đánh cắp

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

Lỗ hổng hợp đồng OrionProtocol gây thiệt hại 2.9 triệu đô la

Vào 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, gây ra thiệt hại khoảng 2,9 triệu đô la. Cụ thể, thiệt hại 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 đặc biệt và thực hiện các thao tác chuyển nhượng và ủy quyền liên quan. Sau đó, kẻ tấn công vay vốn thông qua phương thức swap của một DEX và gọi phương thức swapThroughOrionPool của OrionProtocol để thực hiện đổi token. Đường đổi token bao gồm địa chỉ hợp đồng Token mà kẻ tấn công đã tạo.

Khi thực hiện phương thức swapThroughOrionPool, do hợp đồng Token của kẻ tấn công chứa chức năng callback, điều này cho phép gọi lại phương thức depositAsset trong quá trình chuyển tiền. Điều này đã dẫn đến việc số tiền gửi bị tính toán lại nhiều lần, cuối cùng kẻ tấn công đã thu được lợi nhuận vượt mức thông qua thao tác rút tiền.

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 nào đó. Trong số 1,651 ETH kiếm được từ cuộc tấn công, 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 của OrionProtocol kèm PoC

Lỗ hổng cốt lõi

Vấn đề xảy ra trong hàm doSwapThroughOrionPool. Hàm này thực hiện thao tác chuyển tiền trước khi cập nhật biến curBalance khi thực hiện _doSwapTokens. Kẻ tấn công đã lợi dụng hàm chuyển tiền của Token tùy chỉnh để gọi lại phương thức depositAsset, dẫn đến việc curBalance bị cập nhật sai. Điều này cho phép kẻ tấn công rút tiền thừa thông qua hàm withdraw sau khi hoàn trả khoản vay chớp nhoáng.

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

Phân tích tấn công Reentrancy của 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

Đề xuất an toàn

Đối với hợp đồng thông minh có chức năng hoán đổi token, các nhà phát triển cần xem xét những điểm sau:

  1. Xem xét các tình huống bất ngờ có thể xảy ra do nhiều Token và các lộ trình trao đổi khác nhau.
  2. Tuân theo mô hình mã hóa "Kiểm tra - Hiệu lực - Tương tác" (Checks-Effects-Interactions), tức là trước tiên thực hiện kiểm tra trạng thái, sau đó cập nhật trạng thái hợp đồng, và cuối cùng là tương tác với hợp đồng bên ngoài.
  3. Cập nhật các biến trạng thái quan trọng trước khi thực hiện gọi bên ngoài.
  4. Thực hiện các cơ chế an ninh như khóa tái nhập.
  5. Thực hiện kiểm toán an ninh toàn diện cho hợp đồng.

Bằng cách thực hiện những biện pháp này, có thể giảm đáng kể rủi ro hợp đồng thông minh bị tấn công, nâng cao tính an toàn và ổn định của dự án.

TOKEN4.95%
ETH2.6%
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
  • 1
  • Chia sẻ
Bình luận
0/400
BoredStakervip
· 16giờ trước
Lại là một cuộc tấn công tái nhập
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)