st-Ethereum Merge proofof-work (PoW) chuỗi ETHW đã chuyển sang quell tuyên bố rằng nó đã phải chịu một cuộc tấn công replay trên chuỗi vào cuối tuần.
Smart contract auditing firm BlockSec flagged what it described as a replay attack that took place on Sept. 16, in which attackers harvested ETHW tokens by replaying the call data of Ethereum’s proof-of-stake (PoS) chain on the forked Ethereum PoW chain.
Theo BlockSec, nguyên nhân gốc rễ của khai thác là do cầu 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 điệp chéo chuỗi.
Mạng lưới Mainnet và thử nghiệm của Ethereum sử dụng hai mã nhận dạng cho các mục đích khác nhau, cụ thể là ID mạng và ID chuỗi (ChainID). Thông điệp ngang hàng giữa các nút sử dụng mạng ID, 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à ETC.
1/ Cảnh báo | BlockSec phát hiện ra rằng các nhà khai thác đang phát lại tin nhắn (calldata) của chuỗi POS trên @EthereumPow. Nguyên nhân gốc rễ của việc khai thác là cầu không xác minh đúng chainid thực tế (được duy trì bởi chính nó) của thông điệp chuỗi chéo.
—BlockSec (@BlockSecTeam) Tháng Chín 18, 2022
BlockSec là dịch vụ phân tích đầu tiên gắn cờ cho cuộc tấn công phát lại và thông báo cho ETHW, từ đó nhanh chóng bác bỏ những 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 đã nỗ lực thông báo cho Omni Bridge về việc khai thác ở cấp độ hợp đồng:
Đã cố gắng mọi cách để liên lạc với Omni Bridge hôm qua.
Cầucần phải xác minh chính xác ChainID thực tế của các thông điệp chuỗi chéo. Một
lần nữa đây không phải là một giao dịch phát lại ở cấp độ chuỗi, nó là một calldata replay do lỗ hổng của hợp đồng cụ thể. https://t.co/bHbYR4b2AW pic.twitter.com/NZDN61cslJ
— EthereumPow (ETHW) Chính thức #ETHW #ETHPoW (@EthereumPoW) 18 tháng 9 năm 2022
Phân tích cuộc tấn công tiết lộ rằng 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 điệp trên chuỗi PoW, lưới thêm một 200ETHW. Điều này dẫn đến sự cân bằng của hợp đồng chuỗi được triển khai trên chuỗi PoW bị ráo nước.
Cóliên quan: Cross-chain trong crosshairs: Hacks kêu gọi cơ chế phòng thủ tốt hơn
Phân tích của BlockSec về mã nguồn cầu Omni cho thấy logic để xác minh ChainID đã có mặt, nhưng ChainID đã xác minh được sử dụng trong hợp đồng đã được rút ra từ một giá trị được lưu trữ trong kho có tên là UnitStorage.
Nhóm nghiên cứu 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ầm trọng thêm bởi ngã ba kết quả sau khi Ethereum Merge:
“ Điều này có lẽ là do thực tế là mã khá cũ (sử dụng Solidity 0.4.24). Các mã hoạt động tốt tất cả các thời gian cho đến ngã ba của chuỗi PoW.”
This allowed attackers to harvest ETHW and potentially other tokens owned by the bridge on the PoW chain and go on to trade these on marketplaces listing the relevant tokens. Cointelegraph has reached out BlockSec to ascertain the value extracted during the exploit.
Sau sự kiện 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ợ mỏ quyết định tiếp tục chuỗi PoW thông qua một ngã ba cứng.