Phân tích độ sâu cuộc tấn công hacker Poly Network: Vai trò keeper của hợp đồng EthCrossChainData bị sửa đổi

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

Phân tích chi tiết về việc Poly Network bị Hacker tấn công

Gần đây, giao thức tương tác chuỗi chéo Poly Network đã bị tấn công bởi Hacker, thu hút sự chú ý rộng rãi. Đội ngũ an ninh đã tiến hành phân tích sâu về sự kiện này và cho rằng kẻ tấn công đã sửa đổi vai trò keeper của hợp đồng EthCrossChainData thông qua dữ liệu được xây dựng cẩn thận, chứ không phải do rò rỉ khóa riêng của keeper như những tin đồn trước đó.

Tấn công lõi

Chìa khóa của cuộc tấn công nằm ở việc hàm verifyHeaderAndExecuteTx của hợp đồng EthCrossChainManager có thể thực hiện giao dịch xuyên chuỗi cụ thể thông qua hàm _executeCrossChainTx. Do hợp đồng EthCrossChainData có chủ sở hữu là hợp đồng EthCrossChainManager, nên hợp đồng này có thể gọi hàm putCurEpochConPubKeyBytes của hợp đồng EthCrossChainData để sửa đổi keeper của hợp đồng.

Kẻ tấn công chỉ cần truyền dữ liệu được thiết kế cẩn thận thông qua hàm verifyHeaderAndExecuteTx, thì có thể thực hiện cuộc gọi đến hàm putCurEpochConPubKeyBytes của hợp đồng EthCrossChainData thông qua hàm _executeCrossChainTx, từ đó thay đổi vai trò keeper thành địa chỉ mà kẻ tấn công chỉ định. Sau khi hoàn thành việc thay thế địa chỉ vai trò keeper, kẻ tấn công có thể tùy ý tạo giao dịch và rút bất kỳ số tiền nào từ hợp đồng.

Quá trình tấn công

  1. Kẻ tấn công đầu tiên gọi hàm putCurEpochConPubKeyBytes thông qua hàm verifyHeaderAndExecuteTx của hợp đồng EthCrossChainManager để thay đổi vai trò keeper.

  2. Sau đó, kẻ tấn công bắt đầu thực hiện một loạt các giao dịch tấn công, rút tiền từ hợp đồng.

  3. Sau khi cuộc tấn công hoàn tất, do keeper bị sửa đổi, dẫn đến việc các giao dịch bình thường của người dùng khác bị từ chối thực hiện.

  4. Các phương pháp tấn công tương tự cũng đã được thực hiện trên mạng Ethereum, quá trình tương tự như cuộc tấn công trên BSC.

Kết luận

Nguyên nhân cơ bản của cuộc tấn công này là do keeper của hợp đồng EthCrossChainData có thể bị hợp đồng EthCrossChainManager sửa đổi, và hàm verifyHeaderAndExecuteTx của hợp đồng EthCrossChainManager lại có thể thực thi dữ liệu do người dùng nhập thông qua hàm _executeCrossChainTx. Kẻ tấn công đã lợi dụng lỗ hổng này, bằng cách xây dựng dữ liệu cụ thể, thành công thay đổi keeper của hợp đồng EthCrossChainData thành địa chỉ do mình kiểm soát, từ đó thực hiện việc rút tiền trái phép từ hợp đồng.

Sự kiện này một lần nữa nhấn mạnh tầm quan trọng của việc kiểm tra an toàn hợp đồng thông minh, đặc biệt là trong các hệ thống phức tạp liên quan đến các hoạt động liên chuỗi và quản lý các vai trò quan trọng. Nhóm phát triển nên cẩn thận hơn trong việc thiết kế và thực hiện cơ chế quản lý quyền hợp đồng để ngăn chặn việc khai thác các lỗ hổng bảo mật tương tự.

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
  • 4
  • Chia sẻ
Bình luận
0/400
ChainWanderingPoetvip
· 14giờ trước
Lại bị hack rồi? Hợp đồng vẫn có thể nuôi
Xem bản gốcTrả lời0
OfflineValidatorvip
· 14giờ trước
Một lỗ hổng nữa đã bị phát hiện.
Xem bản gốcTrả lời0
Rugpull幸存者vip
· 15giờ trước
Lại bị đè xuống đất và đấm.
Xem bản gốcTrả lời0
airdrop_huntressvip
· 15giờ trước
Lại thấy lỗ hổng hợp đồng, chỉ có vậy thôi?
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)