Gần đây, giao thức tương tác chuỗi chéo Poly Network đã trở thành mục tiêu của một cuộc tấn công hacker, gây ra sự chú ý rộng rãi trong ngành. Các chuyên gia an ninh đã thực hiện phân tích sâu sắc về sự kiện này, tiết lộ các phương pháp cụ thể của kẻ tấn công.
Vấn đề cốt lõi của cuộc tấn công này nằm ở hàm verifyHeaderAndExecuteTx của hợp đồng EthCrossChainManager. Hàm này có thể thực hiện giao dịch đa chuỗi cụ thể thông qua hàm _executeCrossChainTx. Do chủ sở hữu của hợp đồng EthCrossChainData là hợp đồng EthCrossChainManager, nên hợp đồng sau có thể gọi hàm putCurEpochConPubKeyBytes của hợp đồng trước để sửa đổi keeper của hợp đồng.
Kẻ tấn công đã lợi dụng lỗ hổng thiết kế này, thông qua hàm verifyHeaderAndExecuteTx truyền vào dữ liệu được xây dựng cẩn thận, khiến hàm _executeCrossChainTx gọi hàm putCurEpochConPubKeyBytes của hợp đồng EthCrossChainData, từ đó thay đổi vai trò keeper thành địa chỉ mà kẻ tấn công chỉ định. Sau khi hoàn thành bước này, kẻ tấn công có thể tự do xây dựng giao dịch, rút ra bất kỳ số tiền nào từ hợp đồng.
Cụ thể quy trình tấn công như sau:
Kẻ tấn công trước tiên đã khóa hợp đồng mục tiêu.
Thông qua hàm verifyHeaderAndExecuteTx của hợp đồng EthCrossChainManager gọi hàm putCurEpochConPubKeyBytes, đã thay đổi keeper.
Sau đó thực hiện nhiều giao dịch tấn công, rút tiền từ hợp đồng.
Do keeper bị sửa đổi, giao dịch bình thường của các người dùng khác ngay lập tức bị từ chối thực hiện.
Cần lưu ý rằng sự kiện lần này không phải do việc rò rỉ khóa riêng của keeper gây ra, mà là kẻ tấn công đã khéo léo lợi dụng những thiếu sót trong thiết kế hợp đồng. Trường hợp này một lần nữa nhấn mạnh tầm quan trọng của việc kiểm toán an ninh hợp đồng thông minh, đặc biệt là đối với các giao thức đa chuỗi phức tạp.
Nhóm phát triển và các chuyên gia an ninh nên rút ra bài học từ sự kiện này, tăng cường kiểm tra quản lý quyền hợp đồng và logic gọi hàm, nhằm ngăn chặn sự cố tấn công tương tự xảy ra. Đồng thời, cũng nhắc nhở người dùng cần duy trì sự cảnh giác khi sử dụng các giao thức DeFi mới nổi, chú ý đến việc phòng ngừa rủi ro.
Xem bản gốc
This page may contain third-party content, which is provided for information purposes only (not representations/warranties) and should not be considered as an endorsement of its views by Gate, nor as financial or professional advice. See Disclaimer for details.
5 thích
Phần thưởng
5
3
Chia sẻ
Bình luận
0/400
SerumSquirrel
· 19giờ trước
Lại rơi vào bẫy rồi
Xem bản gốcTrả lời0
ParanoiaKing
· 19giờ trước
Lỗ hổng bảo mật này đã thấy nhiều, ai hiểu thì sẽ hiểu.
Poly Network bị tấn công bởi Hacker: Lỗ hổng thiết kế hợp đồng dẫn đến việc rút tiền.
Phân tích sự kiện tấn công mạng Poly Network
Gần đây, giao thức tương tác chuỗi chéo Poly Network đã trở thành mục tiêu của một cuộc tấn công hacker, gây ra sự chú ý rộng rãi trong ngành. Các chuyên gia an ninh đã thực hiện phân tích sâu sắc về sự kiện này, tiết lộ các phương pháp cụ thể của kẻ tấn công.
Vấn đề cốt lõi của cuộc tấn công này nằm ở hàm verifyHeaderAndExecuteTx của hợp đồng EthCrossChainManager. Hàm này có thể thực hiện giao dịch đa chuỗi cụ thể thông qua hàm _executeCrossChainTx. Do chủ sở hữu của hợp đồng EthCrossChainData là hợp đồng EthCrossChainManager, nên hợp đồng sau có thể gọi hàm putCurEpochConPubKeyBytes của hợp đồng trước để sửa đổi keeper của hợp đồng.
Kẻ tấn công đã lợi dụng lỗ hổng thiết kế này, thông qua hàm verifyHeaderAndExecuteTx truyền vào dữ liệu được xây dựng cẩn thận, khiến hàm _executeCrossChainTx gọi hàm putCurEpochConPubKeyBytes của hợp đồng EthCrossChainData, từ đó thay đổi vai trò keeper thành địa chỉ mà kẻ tấn công chỉ định. Sau khi hoàn thành bước này, kẻ tấn công có thể tự do xây dựng giao dịch, rút ra bất kỳ số tiền nào từ hợp đồng.
Cụ thể quy trình tấn công như sau:
Kẻ tấn công trước tiên đã khóa hợp đồng mục tiêu.
Thông qua hàm verifyHeaderAndExecuteTx của hợp đồng EthCrossChainManager gọi hàm putCurEpochConPubKeyBytes, đã thay đổi keeper.
Sau đó thực hiện nhiều giao dịch tấn công, rút tiền từ hợp đồng.
Do keeper bị sửa đổi, giao dịch bình thường của các người dùng khác ngay lập tức bị từ chối thực hiện.
Cần lưu ý rằng sự kiện lần này không phải do việc rò rỉ khóa riêng của keeper gây ra, mà là kẻ tấn công đã khéo léo lợi dụng những thiếu sót trong thiết kế hợp đồng. Trường hợp này một lần nữa nhấn mạnh tầm quan trọng của việc kiểm toán an ninh hợp đồng thông minh, đặc biệt là đối với các giao thức đa chuỗi phức tạp.
Nhóm phát triển và các chuyên gia an ninh nên rút ra bài học từ sự kiện này, tăng cường kiểm tra quản lý quyền hợp đồng và logic gọi hàm, nhằm ngăn chặn sự cố tấn công tương tự xảy ra. Đồng thời, cũng nhắc nhở người dùng cần duy trì sự cảnh giác khi sử dụng các giao thức DeFi mới nổi, chú ý đến việc phòng ngừa rủi ro.