ETHW xác nhận khai thác lỗ hổng bảo mật trong hợp đồng, bác bỏ tuyên bố tấn công phát lại
Phân nhánh bằng chứng công việc của chuỗi khối Ethereum được nhắm mục tiêu bởi một khai thác hợp đồng chuỗi chéo.
Chuỗi bằng chứng công việc (PoW) sau Merge Ethereum ETHW đã chuyển sang dập tắt những tuyên bố rằng họ đã phải chịu một cuộc tấn công phát lại trên chuỗi vào cuối tuần qua.
Công ty kiểm toán hợp đồng thông minh BlockSec đã gắn cờ những gì nó mô tả là một cuộc tấn công phát lại diễn ra vào ngày 16 tháng 9, trong đó những kẻ tấn công thu thập mã thông báo ETHW bằng cách phát lại dữ liệu cuộc gọi của chuỗi bằng chứng cổ phần (PoS) của Ethereum trên chuỗi Ethereum PoW đã phân nhánh.
Theo BlockSec, nguyên nhân sâu xa của việc khai thác là do cầu nối chuỗi chéo Omni trên chuỗi ETHW đã sử dụng chainID cũ và không xác minh chính xác chainID chính xác của thông báo chuỗi chéo.
Mainnet của Ethereum và các mạng thử nghiệm sử dụng hai mã nhận dạng cho các mục đích sử dụng khác nhau, đó là ID mạng và ID chuỗi (chainID). Thông báo ngang hàng giữa các nút sử dụng ID mạng, trong khi chữ ký giao dịch sử dụng chainID. EIP-155 đã giới thiệu chainID như một phương tiện để ngăn chặn các cuộc tấn công phát lại giữa các blockchain ETH và Ethereum Classic (ETC).
1/ Alert | BlockSec detected that exploiters are replaying the message (calldata) of the PoS chain on @EthereumPow. The root cause of the exploitation is that the bridge doesn't correctly verify the actual chainid (which is maintained by itself) of the cross-chain message.
— BlockSec (@BlockSecTeam) September 18, 2022
BlockSec là dịch vụ phân tích đầu tiên gắn cờ cuộc tấn công phát lại và thông báo cho ETHW, sau đó, nhanh chóng bác bỏ các tuyên bố ban đầu rằng một cuộc tấn công phát lại đã được thực hiện trên chuỗi. ETHW đã cố gắng thông báo cho Omni Bridge về việc khai thác ở cấp hợp đồng:
Had tried every way to contact Omni Bridge yesterday.
Bridges need to correctly verify the actual ChainID of the cross-chain messages.
Again this is not a transaction replay on the chain level, it is a calldata replay due to the flaw of the specific contract. https://t.co/bHbYR4b2AW pic.twitter.com/NZDn61cslJ
— EthereumPoW (ETHW) Official #ETHW #ETHPoW (@EthereumPoW) September 18, 2022
Một phân tích về cuộc tấn công cho thấy kẻ khai thác bắt đầu bằng cách chuyển 200 WETH qua cầu Omni của chuỗi Gnosis trước khi phát lại cùng một thông báo trên chuỗi PoW, thu thêm 200 ETHW. Điều này dẫn đến số dư của hợp đồng chuỗi được triển khai trên chuỗi PoW bị rút cạn.
Phân tích của BlockSec về mã nguồn cầu Omni cho thấy rằng logic để xác minh chainID đã có mặt, nhưng chainID đã xác minh được sử dụng trong hợp đồng được lấy từ một giá trị được lưu trữ trong bộ lưu trữ có tên unitStorage.
Nhóm giải thích rằng đây không phải là chainID chính xác được thu thập thông qua opcode CHAINID, được đề xuất bởi EIP-1344 và trở nên trầm trọng hơn bởi đợt fork kết quả sau khi Ethereum Merge:
“Điều này có thể là do thực tế là mã khá cũ (sử dụng Solidity 0.4.24). Mã này hoạt động tốt mọi lúc cho đến khi ngã ba của chuỗi PoW. ”
Điều này cho phép những kẻ tấn công thu hoạch ETHW và các mã thông báo tiềm năng khác thuộc sở hữu của cầu nối trên chuỗi PoW và tiếp tục giao dịch chúng trên các thị trường liệt kê các mã thông báo có liên quan.
Yajin Zhou, Giám đốc điều hành BlockSec, cho biết nhóm của ông đã không tiến hành tính toán chính xác nhưng nêu rõ giới hạn về chuyển ETH được bao bọc (WETH) thông qua Omni Bridge:
“Cầu nối có giới hạn về số lượng WETH có thể được chuyển. Kẻ tấn công chỉ có thể nhận được 250 ETHW mỗi ngày. Lưu ý rằng điều này chỉ dành cho hợp đồng cầu nối này. Một lỗ hổng như vậy có thể tồn tại trên các dự án khác trên chuỗi EthereumPoW.”
Sau sự kiệnThe Merge thành công của Ethereum , chứng kiến sự chuyển đổi blockchain hợp đồng thông minh từ PoW sang PoS, một nhóm thợ đào đã quyết định tiếp tục chuỗi PoW thông qua một đợt hard fork.