Gần đây, giao thức tương tác đa chuỗi Poly Network đã bị tấn công bởi hacker, gây ra sự chú ý rộng rãi trong ngành. Nhóm an ninh đã thực hiện phân tích sâu về sự kiện này, cho rằng kẻ tấn công đã thông qua việc xây dựng dữ liệu một cách tinh vi để sửa đổi keeper của hợp đồng EthCrossChainData thành địa chỉ chỉ định, chứ không phải như thông tin trước đây về việc rò rỉ khóa riêng của keeper.
Chi tiết tấn công
Trung tâm của cuộc tấn công nằm ở hàm verifyHeaderAndExecuteTx của hợp đồng EthCrossChainManager có thể thực hiện giao dịch xuyên chuỗi thông qua hàm _executeCrossChainTx.
Chủ sở hữu của hợp đồng EthCrossChainData là hợp đồng EthCrossChainManager, điều này cho phép hợp đồng sau gọi hàm putCurEpochConPubKeyBytes của hợp đồng trước để sửa đổi keeper.
Hợp đồng EthCrossChainManager có hàm verifyHeaderAndExecuteTx có thể gọi nội bộ hàm _executeCrossChainTx để thực hiện giao dịch xuyên chuỗi do người dùng chỉ định. Kẻ tấn công lợi dụng điều này, thông qua việc 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 việc thay thế địa chỉ vai trò keeper, kẻ tấn công có thể tự do tạo giao dịch và rút bất kỳ số tiền nào từ hợp đồng.
Quy trình tấn công
Kẻ tấn công trước tiên thông qua hàm verifyHeaderAndExecuteTx của hợp đồng EthCrossChainManager gọi hàm putCurEpochConPubKeyBytes, đã thay đổi keeper.
Sau đó, kẻ tấn công bắt đầu thực hiện một loạt giao dịch tấn công, rút tiền từ hợp đồng.
Sau khi tấn công hoàn thành, do keeper bị sửa đổi, dẫn đến việc giao dịch bình thường của người dùng khác bị từ chối thực hiện.
Các mẫu tấn công tương tự cũng đã xuất hiện trên mạng Ethereum, kẻ tấn công đã sử dụng cùng một phương pháp để thay đổi keeper và thực hiện tấn công.
Tóm tắt
Lỗ hổng chính trong cuộc tấn công này nằm ở việc keeper của hợp đồng EthCrossChainData có thể bị sửa đổi bởi hợp đồng EthCrossChainManager, trong khi hàm verifyHeaderAndExecuteTx của hợp đồng EthCrossChainManager có thể thực thi dữ liệu do người dùng truyền vào thông qua hàm _executeCrossChainTx. Kẻ tấn công đã lợi dụng lỗ hổng thiết kế này để sửa đổi keeper của hợp đồng EthCrossChainData bằng cách xây dựng dữ liệu cụ thể, chứ không phải do rò rỉ khóa riêng của keeper như đã được dự đoán trước đó. Sự kiện này một lần nữa nhấn mạnh tầm quan trọng của thiết kế an toàn cho hợp đồng thông minh, đồng thời cung cấp cho ngành công nghiệp những bài học kinh nghiệm quý giá.
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.
11 thích
Phần thưởng
11
4
Chia sẻ
Bình luận
0/400
RugPullAlarm
· 07-20 15:15
Dữ liệu hoàn toàn trên chuỗi nói lên tất cả, không lỗ nhiều tiền
Xem bản gốcTrả lời0
SchrodingerAirdrop
· 07-20 15:11
Lại có sự cố an ninh nữa rồi, haha
Xem bản gốcTrả lời0
MetaDreamer
· 07-20 14:50
Lại là kp bị làm phiền, không biết khi nào mới dứt điểm.
Xem bản gốcTrả lời0
GasFeeLady
· 07-20 14:47
smh... sự thỏa hiệp của người giữ bóng chỉ chờ để xảy ra thật lòng. phải kiểm tra những điểm vào đó
Poly Network bị Hacker xâm nhập, keeper bị chỉnh sửa dẫn đến mất mát tài sản.
Phân tích sự kiện Poly Network bị Hacker tấn công
Gần đây, giao thức tương tác đa chuỗi Poly Network đã bị tấn công bởi hacker, gây ra sự chú ý rộng rãi trong ngành. Nhóm an ninh đã thực hiện phân tích sâu về sự kiện này, cho rằng kẻ tấn công đã thông qua việc xây dựng dữ liệu một cách tinh vi để sửa đổi keeper của hợp đồng EthCrossChainData thành địa chỉ chỉ định, chứ không phải như thông tin trước đây về việc rò rỉ khóa riêng của keeper.
Chi tiết tấn công
Trung tâm của cuộc tấn công nằm ở hàm verifyHeaderAndExecuteTx của hợp đồng EthCrossChainManager có thể thực hiện giao dịch xuyên chuỗi thông qua hàm _executeCrossChainTx.
Chủ sở hữu của hợp đồng EthCrossChainData là hợp đồng EthCrossChainManager, điều này cho phép hợp đồng sau gọi hàm putCurEpochConPubKeyBytes của hợp đồng trước để sửa đổi keeper.
Hợp đồng EthCrossChainManager có hàm verifyHeaderAndExecuteTx có thể gọi nội bộ hàm _executeCrossChainTx để thực hiện giao dịch xuyên chuỗi do người dùng chỉ định. Kẻ tấn công lợi dụng điều này, thông qua việc 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 việc thay thế địa chỉ vai trò keeper, kẻ tấn công có thể tự do tạo giao dịch và rút bất kỳ số tiền nào từ hợp đồng.
Quy trình tấn công
Kẻ tấn công trước tiên thông qua hàm verifyHeaderAndExecuteTx của hợp đồng EthCrossChainManager gọi hàm putCurEpochConPubKeyBytes, đã thay đổi keeper.
Sau đó, kẻ tấn công bắt đầu thực hiện một loạt giao dịch tấn công, rút tiền từ hợp đồng.
Sau khi tấn công hoàn thành, do keeper bị sửa đổi, dẫn đến việc giao dịch bình thường của người dùng khác bị từ chối thực hiện.
Các mẫu tấn công tương tự cũng đã xuất hiện trên mạng Ethereum, kẻ tấn công đã sử dụng cùng một phương pháp để thay đổi keeper và thực hiện tấn công.
Tóm tắt
Lỗ hổng chính trong cuộc tấn công này nằm ở việc keeper của hợp đồng EthCrossChainData có thể bị sửa đổi bởi hợp đồng EthCrossChainManager, trong khi hàm verifyHeaderAndExecuteTx của hợp đồng EthCrossChainManager có thể thực thi dữ liệu do người dùng truyền vào thông qua hàm _executeCrossChainTx. Kẻ tấn công đã lợi dụng lỗ hổng thiết kế này để sửa đổi keeper của hợp đồng EthCrossChainData bằng cách xây dựng dữ liệu cụ thể, chứ không phải do rò rỉ khóa riêng của keeper như đã được dự đoán trước đó. Sự kiện này một lần nữa nhấn mạnh tầm quan trọng của thiết kế an toàn cho hợp đồng thông minh, đồng thời cung cấp cho ngành công nghiệp những bài học kinh nghiệm quý giá.