Pectra cho phép hacker rút tiền trong ví chỉ bằng chữ ký off-chain

Bản nâng cấp mạng mới nhất của Ethereum mang tên Pectra không chỉ mang đến những cải tiến mạnh mẽ về khả năng mở rộng và tính năng tài khoản thông minh, mà còn đánh dấu một bước tiến quan trọng trong quá trình phát triển của hệ sinh thái. Tuy nhiên, bên cạnh những điểm sáng về công nghệ, Pectra cũng tiềm ẩn lỗ hổng nghiêm trọng: vô tình mở ra một vectơ tấn công mới, cho phép kẻ xấu có thể rút tiền khỏi ví người dùng chỉ bằng một chữ ký off-chain – không cần truy cập trực tiếp vào khóa riêng tư.

Với bản nâng cấp Pectra được triển khai vào ngày 7/5 tại epoch 364032, kẻ tấn công có thể exploit (tấn công khai thác) một loại giao dịch mới để kiểm soát các tài khoản do bên ngoài sở hữu (EOA) mà không yêu cầu người dùng ký giao dịch on-chain.

Arda Usman, một kiểm toán viên hợp đồng thông minh của Solidity, đã xác nhận rằng “hacker có thể rút tiền của EOA chỉ bằng một tin nhắn đã ký off-chain (không có giao dịch trực tiếp on-chain do người dùng ký)”.

Trung tâm của rủi ro là EIP-7702, một thành phần cốt lõi của bản nâng cấp Pectra. Đề xuất cải tiến Ethereum này giới thiệu giao dịch SetCode (loại 0x04), cho phép người dùng ủy quyền kiểm soát ví cho một hợp đồng khác chỉ bằng cách ký một tin nhắn.

Nếu kẻ tấn công có được chữ ký này — chẳng hạn như thông qua một trang web phishing, chúng có thể ghi đè code ví bằng một proxy nhỏ chuyển tiếp các lệnh đến hợp đồng độc hại.

Usman giải thích:

“Sau khi code được thiết lập, kẻ tấn công có thể gọi code đó để chuyển ETH hoặc token của tài khoản ra ngoài mà không cần người dùng phải ký một giao dịch chuyển tiền thông thường”.

Ví có thể được thay đổi bằng chữ ký off-chain

Yehor Rudytsia, nhà nghiên cứu on-chain tại Hacken, lưu ý rằng loại giao dịch mới này do Pectra giới thiệu cho phép cài đặt code tùy ý trên tài khoản của người dùng, về cơ bản biến ví của họ thành hợp đồng thông minh có thể lập trình được.

“Loại giao dịch này cho phép người dùng đặt code tùy ý (hợp đồng thông minh) để có thể thực hiện các hoạt động thay mặt cho người dùng”, Rudytsia cho biết.

Trước Pectra, ví không thể được sửa đổi nếu không có giao dịch do người dùng ký trực tiếp. Bây giờ, một chữ ký off-chain đơn giản có thể cài đặt code ủy quyền toàn quyền kiểm soát cho hợp đồng của kẻ tấn công.

“Trước Pectra, người dùng cần gửi giao dịch (không phải ký tin nhắn) để cho phép chuyển tiền… Sau Pectra, bất kỳ hoạt động nào cũng có thể được thực hiện từ hợp đồng mà người dùng đã chấp thuận thông qua SET_CODE”, Rudytsia giải thích.

Mối đe dọa là có thật và ngay lập tức. “Pectra đã kích hoạt vào ngày 7/5/2025. Từ thời điểm đó, bất kỳ chữ ký ủy quyền hợp lệ nào cũng có thể thực hiện được”, Usman cảnh báo. Anh nói thêm rằng các hợp đồng thông minh dựa trên các giả định lỗi thời, chẳng hạn như sử dụng tx.origin hoặc các kiểm tra cơ bản chỉ EOA, đặc biệt dễ bị tấn công.

Ví và giao diện không phát hiện hoặc không thể biểu diễn đúng các loại giao dịch mới này là những ví có nguy cơ cao nhất. Rudytsia cảnh báo “ví dễ bị tấn công nếu không phân tích các loại giao dịch của Ethereum”, đặc biệt là loại giao dịch 0x04.

Anh nhấn mạnh các công cụ ví phải hiển thị rõ ràng yêu cầu ủy quyền và đánh dấu bất kỳ địa chỉ đáng ngờ nào.

Hình thức tấn công mới này có thể dễ dàng thực hiện thông qua các tương tác off-chain phổ biến như email phishing, DApp giả mạo hoặc lừa đảo Discord.

“Chúng tôi tin rằng đây sẽ là vectơ tấn công phổ biến nhất liên quan đến những thay đổi đột phá do Pectra giới thiệu. Từ giờ trở đi, người dùng phải xác thực cẩn thận những gì họ sẽ ký”, Rudytsia cho biết.

Ví phần cứng không còn an toàn nữa

Rudytsia cho biết ví phần cứng không còn an toàn nữa. Anh nói thêm ví phần cứng từ giờ trở đi có nguy cơ giống như ví nóng khi ký các tin nhắn độc hại.

“Nếu thực hiện, tất cả tiền sẽ biến mất trong chốc lát”.

Có nhiều cách để giữ an toàn, nhưng chúng đòi hỏi phải hiểu biết. Rudytsia khuyên “người dùng không nên ký các tin nhắn mà họ không hiểu”. Anh cũng kêu gọi các nhà phát triển ví cung cấp cảnh báo rõ ràng khi người dùng được yêu cầu ký tin nhắn ủy quyền.

Cần đặc biệt thận trọng với các định dạng chữ ký ủy quyền mới do EIP-7702 giới thiệu, không tương thích với các tiêu chuẩn EIP-191 hoặc EIP-712 hiện có. Các tin nhắn này thường xuất hiện dưới dạng hash 32 byte đơn giản và có thể bỏ qua các cảnh báo ví thông thường.

“Nếu một tin nhắn bao gồm nonce tài khoản của bạn, thì có thể nó đang ảnh hưởng trực tiếp đến tài khoản của bạn. Các tin nhắn đăng nhập thông thường hoặc cam kết off-chain thường không liên quan đến nonce của bạn”, Usman cảnh báo.

Thêm vào rủi ro, EIP-7702 cho phép chữ ký với chain_id = 0, nghĩa là tin nhắn đã ký có thể được phát lại trên bất kỳ chain nào tương thích với Ethereum. “Hiểu rằng nó có thể được sử dụng ở bất kỳ đâu”, Usman nói.

Trong khi ví đa chữ ký vẫn an toàn hơn theo bản nâng cấp này, nhờ yêu cầu nhiều người ký, ví sử dụng khóa đơn — phần cứng hoặc các loại khác — phải áp dụng các công cụ phân tích chữ ký và cảnh báo mới để ngăn chặn nguy cơ exploit.

Cùng với EIP-7702, Pectra cũng bao gồm EIP-7251 nâng giới hạn staking của trình xác thực của Ethereum từ 32 lên 2.048 ETH và EIP-7691 tăng số lượng blob dữ liệu trên mỗi block để có khả năng mở rộng layer 2 tốt hơn.

Minh Anh

Disclaimer: Bài viết chỉ có mục đích thông tin, không phải lời khuyên đầu tư. Nhà đầu tư nên tìm hiểu kỹ trước khi ra quyết định. Chúng tôi không chịu trách nhiệm về các quyết định đầu tư của bạn.

CÓ THỂ BẠN QUAN TÂM