OrionProtocol bị tấn công tái nhập, gần 3 triệu đô la đã bị đánh cắp.

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 chuỗi Ethereum và Binance đã 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 Ethereum và 191,606 BUSD trên BSC.

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

Kẻ tấn công trước tiên tạo ra 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, chuẩn bị cho cuộc tấn công tiếp theo. Sau đó, kẻ tấn công vay mượn thông qua phương thức swap của UNI-V2, và gọi phương thức swapThroughOrionPool của hợp đồng ExchangeWithAtomic để thực hiện việc trao đổi token.

Thiết lập đường trao đổi thành [USDC, Token do kẻ tấn công tạo ra, USDT]. Trong quá trình trao đổi, do hợp đồng Token do kẻ tấn công tạo ra chứa chức năng gọi lại, dẫn đến việc tấn công tái nhập xảy ra khi thực hiện phương thức ExchangeWithAtomic.swapThroughOrionPool. Kẻ tấn công tiếp tục gọi lại phương thức ExchangeWithAtomic.depositAsset thông qua Token.Transfer, gây ra việc số tiền gửi liên tục gia tăng, cuối cùng hoàn thành việc rút tiền để 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ừ tài khoản 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 đi thông qua dịch vụ trộn tiền.

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 nhượng token, điều này tạo điều kiện cho kẻ tấn công. Kẻ tấn công đã thêm chức năng callback vào hàm transfer của hợp đồng Token mà họ tạo ra, và callback này sẽ gọi lại hàm depositAsset. Điều này dẫn đến việc biến curBalance bị cập nhật sai, cho phép kẻ tấn công rút thêm tiền 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

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

Các nhà nghiên cứu đã cung cấp một phần mã POC, mô phỏng quá trì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 khai thác lỗ hổng hợp đồng để 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

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

Đề xuất an toàn

Đối với loại tấn công này, khuyến nghị các dự án nên xem xét các điểm sau khi thiết kế hợp đồng:

  1. Đánh giá toàn diện các rủi ro an ninh có thể phát sinh từ nhiều Token và các lộ trình trao đổi.
  2. Tuân theo quy tắc lập trình "đánh giá trước, ghi vào biến sau, sau đó gọi bên ngoài" (mô hình Checks-Effects-Interactions).
  3. Khi thực hiện chức năng đổi token, đặc biệt chú ý phòng ngừa tấn công tái nhập.
  4. Thực hiện kiểm toán mã định kỳ, 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 thực hiện hạn chế số tiền giao dịch hoặc các biện pháp kiểm soát rủi ro khác.

Sự kiện này một lần nữa nhấn mạnh tầm quan trọng của an ninh hợp đồng thông minh. Các dự án nên tiếp tục chú ý đến an ninh hợp đồng, thực hiện các biện pháp tích cực để bảo vệ tài sản của người dùng, nhằm duy trì sự phát triển lành mạnh của toàn bộ hệ sinh thái Web3.

TOKEN4.42%
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
  • 6
  • Chia sẻ
Bình luận
0/400
SybilSlayervip
· 07-28 15:34
Lại là tái nhập thật chán.
Xem bản gốcTrả lời0
CantAffordPancakevip
· 07-28 11:05
Lại là lỗ hổng hợp đồng, thật phục.
Xem bản gốcTrả lời0
GateUser-26d7f434vip
· 07-25 18:03
Sợ là phải Rug Pull rồi~
Xem bản gốcTrả lời0
OvertimeSquidvip
· 07-25 17:55
Lại là hợp đồng bị Phiếu giảm giá, nhìn chóng mặt.
Xem bản gốcTrả lời0
BrokenYieldvip
· 07-25 17:55
một ngày nữa, một vụ hack defi nữa... các lỗ hổng giao thức không bao giờ ngủ
Xem bản gốcTrả lời0
SerumSquirrelvip
· 07-25 17:40
又一个牺牲品Rug Pull了~
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)