Tác giả gốc: Kelvin Fichter, nhà phát triển Ethereum
Vào ngày 9 tháng 6, Optimism đã thông báo trên mạng xã hội rằng do lỗi giao tiếp và kỹ thuật trong quá trình hợp tác với nhà tạo lập thị trường tiền điện tử Wintermute, 20 triệu OP đã bị tin tặc kiểm soát. Ban đầu, Optimism Foundation gửi 20 triệu OP cho Wintermute để tạo lập thị trường, sau đó Wintermute phát hiện ra rằng địa chỉ nhận mà nó cung cấp là địa chỉ Layer 1. Trước khi Wintermute chuyển nó sang Layer2, kẻ tấn công đã triển khai nó bằng các tham số khởi tạo khác nhau. . Cho đến nay, hacker đã bán được khoảng 1 triệu OP đánh cắp được.
Để đối phó với sự cố này, nhà phát triển Ethereum Kelvin Fichter đã giải thích lý do khiến lỗ hổng bị tấn công. Ông nói rằng tài khoản hợp đồng thông minh khác với EOA. Người dùng EOA thông thường có thể truy cập vào tài khoản trên bất kỳ chuỗi EVM nào, nhưng tài khoản hợp đồng thông minh thì không thể. Văn bản sau đây được tổng hợp từ bài phát biểu của Kelvin Fichter trên mạng xã hội.
Cần giải thích, Sự cố này không phải là kết quả của bất kỳ lỗ hổng nào trong Optimism hoặc Gnosis Safe mà xuất phát từ các giả định bảo mật (hợp lý) được đưa ra trong các phiên bản cũ hơn của Gnosis Safe.
Các phiên bản cũ hơn của hợp đồng nhà máy Gnosis Safe đã được triển khai thông qua các giao dịch không có ID chuỗi (giao dịch không phải EIP-155). Điều này có nghĩa là các giao dịch này có thể được đặt lại trên các chuỗi khác ngoài Ethereum. Ở một khía cạnh nào đó, điều này thực sự hữu ích. Điều này có nghĩa là cùng một nhà máy có thể được triển khai đến cùng một địa chỉ trên mỗi chuỗi. Hiện tại nhà máy đã được triển khai theo hướng Optimism.
Thật không may, khi sử dụng cái này Khi sử dụng các hợp đồng nhà máy cũ hơn, Gnosis Safe UI đôi khi sử dụng hàm createProxy để tạo nhiều chữ ký thông qua CREATE thay vì CREATE2. Không giống như CREATE2, địa chỉ hợp đồng được tạo thông qua CREATE không dựa trên mã được sử dụng để tạo hợp đồng mà chỉ dựa trên địa chỉ nonce của người tạo. Điều này có nghĩa là kẻ tấn công có thể triển khai Safe Factory cũ sang Optimism và bắt đầu kích hoạt lại hàm createProxy để tạo multisig trên L2.


Tuy nhiên, vì createProxy sử dụng CREATE thay vì CREATE2 nên kẻ tấn công có thể khởi tạo các multisig này, khiến chúng thuộc quyền sở hữu của kẻ tấn công.
Người dùng thường cho rằng bất kỳ tài khoản nào họ có quyền truy cập trên Ethereum cũng sẽ có thể truy cập được trên các chuỗi dựa trên EVM khác. Điều này thường đúng với các tài khoản EOA (còn được gọi là tài khoản không có hợp đồng). Nhưng điều này không nhất thiết phải áp dụng cho tài khoản hợp đồng thông minh. Hợp đồng có thể được tạo tại cùng một địa chỉ trên các chuỗi khác nhau bằng cách sử dụng mã hoàn toàn khác nhau, dẫn đến các chủ sở hữu hoàn toàn khác nhau.
Thích điều này Hiểu lầm có thể gây ra hậu quả nghiêm trọng trong thế giới thực. Tuần trước, Wintermute đã chấp nhận khoản vay 20 triệu mã thông báo OP cho ví đa chữ ký L1 mà họ tin rằng có thể truy cập được trên L2. Địa chỉ L2 này là một trong những địa chỉ multisig sau đó được kẻ tấn công triển khai.
Đây là sự tăng trưởng của đa -xiềng xích thế giới nỗi đau. Thật không may, nhưng nó nhấn mạnh tầm quan trọng của việc thiết kế hệ thống cho người dùng đa chuỗi. CREATE2 và triển khai mang tính quyết định là rất quan trọng, đặc biệt đối với ví hợp đồng.
Nếu bạn đang sử dụng ví đa chữ ký trên Ethereum, tôi thực sự khuyên bạn nên dành thời gian để tìm hiểu các đặc tính bảo mật của ví và liệu bạn có kiểm soát ví trên một chuỗi khác ngoài Ethereum hay không.
Chào mừng bạn tham gia cộng đồng chính thức của BlockBeats:
Nhóm Telegram đăng ký: https://t.me/theblockbeats
Nhóm Telegram thảo luận: https://t.me/BlockBeats_App
Tài khoản Twitter chính thức: https://twitter.com/BlockBeatsAsia