OrionProtocol bị tấn công tái nhập, thiệt hại 2,9 triệu đô la mã hóa

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, một nền tảng DEX đã bị tấn công tái nhập do lỗ hổng hợp đồng trên Ethereum và chuỗi thông minh Binance, tổng cộng thiệt hại khoảng 2,9 triệu đô la tài sản tiền điện tử, trong đó bao gồm 2.844.766 USDT trên Ethereum và 191.606 BUSD trên chuỗi thông minh Binance.

Tóm tắt 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 đã mượn tiền thông qua chức năng swap của một DEX và gọi phương thức swapThroughOrionPool của nền tảng mục tiêu để thực hiện việc trao đổi token. Đường trao đổi bao gồm địa chỉ hợp đồng token mà kẻ tấn công đã tạo, điều này cho phép kẻ tấn công thực hiện các thao tác callback trong quá trình giao dịch.

Trong quá trình đổi, kẻ tấn công đã lợi dụng chức năng callback trong hợp đồng token do mình tạo ra, gọi lại phương thức depositAsset của nền tảng mục tiêu nhiều lần, dẫn đến số tiền gửi bị gia tăng. Cuối cùng, kẻ tấn công đã hoàn tất việc thu lợi 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

Nguồn vốn ban đầu của kẻ tấn công đến từ ví nóng của một sàn 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 đi thông 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 nhượng token, nhưng không xem xét đến nguy cơ tấn công tái nhập có thể xảy ra. Kẻ tấn công đã thành công thực hiện cuộc gọi tái nhập đến hàm depositAsset bằng cách thêm logic gọi lại vào hàm transfer của token tùy chỉnh, dẫn đến việc biến curBalance bị cập nhật sai.

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

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

Các nhà nghiên cứu đã thành công trong việc tái hiện quy trình tấn công và cung cấp mã POC liên quan. Kết quả thử nghiệm cho thấy, kẻ tấn công có thể khai thác lỗ hổng hợp đồng để lấy thêm tiền.

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 hợp đồng thông minh có chức năng trao đổi token, các nhà phát triển cần xem xét những điểm sau:

  1. Cân nhắc đầy đủ các loại token khác nhau và những tình huống bất ngờ có thể xảy ra do các con đường trao đổi.
  2. Tuân theo mô hình lập trình "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, cuối cùng mới tương tác với hợp đồng bên ngoài.
  3. Triển khai 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. Đối với các cuộc gọi từ bên ngoài, đặc biệt là các thao tác liên quan đến việc chuyển tiền, cần phải cẩn trọng đặc biệt và thực hiện kiểm toán an ninh toàn diện.

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. Trong hệ sinh thái Web3, đảm bảo an toàn hợp đồng là điều cần thiết để duy trì sự tin tưởng của người dùng và an toàn tài sản.

ETH2.44%
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
NftRegretMachinevip
· 08-09 01:43
Lại thấy cuộc tấn công tái nhập
Xem bản gốcTrả lời0
AirDropMissedvip
· 08-08 20:39
Người kiểm toán bị ngu ngốc rồi.
Xem bản gốcTrả lời0
TokenVelocityvip
· 08-07 01:39
Không nói lên lời, bị lừa
Xem bản gốcTrả lời0
LiquidatedNotStirredvip
· 08-06 03:45
Lỗ hổng tái nhập thật đau đầu
Xem bản gốcTrả lời0
NFT_Therapyvip
· 08-06 03:36
Lại thấy lỗ hổng hợp đồng
Xem bản gốcTrả lời0
GateUser-40edb63bvip
· 08-06 03:29
Một người nữa bị hack
Xem bản gốcTrả lời0
NotGonnaMakeItvip
· 08-06 03:24
又变 đồ ngốc了
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)