Cảnh Báo Về Mã Nguy Hiểm Từ Charles Hoskinson
Người sáng lập Cardano, Charles Hoskinson, đã đưa ra cảnh báo về “mã cực kỳ nguy hiểm” khi chia sẻ một phân tích cho rằng tính năng ủy quyền EIP-7702 của Ethereum đã giúp các kẻ tấn công nhanh chóng làm trống một ví nóng của Binance. Trong bài đăng trên X của mình, Hoskinson viết:
“Cẩn thận, có một số mã cực kỳ nguy hiểm ở ngoài kia,”
kèm theo một phân tích được công bố bởi CyberSatoshi. Bài đăng mà ông chia sẻ mô tả mã byte được tái cấu trúc cho một sweeper EIP-7702 bị cáo buộc của Binance, lập luận rằng hợp đồng này được thiết kế phù hợp với hoạt động của sàn giao dịch.
Phân Tích Bảo Mật
Thông điệp đi kèm của Hoskinson không xác định một lỗi giao thức cụ thể nào hoặc giải thích phần nào của phân tích mà ông ủng hộ. Tài khoản của CyberSatoshi đã đặt ra hai câu hỏi về bảo mật. Một câu hỏi liên quan đến cách mà một kẻ tấn công có được quyền thực hiện cho ví, trong khi câu hỏi khác liên quan đến những gì tính năng ủy quyền của Ethereum cho phép kẻ tấn công làm sau khi có được quyền đó.
Theo phân tích của CyberSatoshi, hợp đồng được tái cấu trúc đã để lại chính xác 1 ETH trong ví khi quét số dư gốc của nó. Người đăng lập luận rằng điều này đã ngăn chặn hàng đợi ví nóng tự động của Binance không bị thất bại do thiếu gas và gây ra báo động. Phân tích mô tả một vòng lặp xử lý token kiểm tra số dư thông qua các cuộc gọi cấp thấp và tiếp tục khi các hoạt động riêng lẻ thất bại. CyberSatoshi cho biết điều này cho phép sweeper tiếp tục xử lý tài sản ngay cả khi một token bị đưa vào danh sách đen hoặc không phản hồi không thể được chuyển.
Chức Năng Thực Thi Tùy Chỉnh
Một chức năng thực thi tùy chỉnh bị cáo buộc đã cho phép ví bị xâm phạm gọi một kho lưu trữ bên ngoài giữ $823 triệu USDC. Trong lời giải thích của người đăng, kho lưu trữ đã nhận diện Binance 14 là người kiểm soát của nó, cho phép các cuộc gọi thực hiện qua ví đó tiếp cận quỹ bên ngoài số dư ngay lập tức của nó. CyberSatoshi đã mô tả hợp đồng này là được xây dựng đặc biệt cho kiến trúc của Binance. Các tuyên bố về tác động của nó đối với các cảnh báo nội bộ và hệ thống kho bạc vẫn là lời giải thích của người đăng về cách hoạt động này diễn ra.
Đặc Tả EIP-7702
Đặc tả EIP-7702 của Ethereum mô tả một loại giao dịch cho phép một tài khoản sở hữu bên ngoài ủy quyền thực hiện cho mã được triển khai tại một địa chỉ khác. Một tài khoản sở hữu bên ngoài thường hoạt động thông qua chữ ký từ khóa riêng của nó. Việc ủy quyền cho phép nó thực hiện logic hợp đồng thông minh trong ngữ cảnh tài khoản của chính nó, hỗ trợ các tính năng như gộp nhiều hoạt động thành một giao dịch và cho phép một tài khoản khác thanh toán phí giao dịch.
Mỗi ủy quyền xác định một chuỗi, một địa chỉ ủy quyền và một nonce, cùng với một chữ ký mật mã. Giao thức phục hồi tài khoản ủy quyền từ chữ ký đó và kiểm tra nonce của nó trước khi áp dụng việc ủy quyền. CyberSatoshi đã thừa nhận yêu cầu này, nói rằng cuộc tấn công bị cáo buộc cần hoặc là khóa riêng thô hoặc quyền truy cập ký không hạn chế vào hạ tầng bảo mật của Binance 14.
Rủi Ro và Biện Pháp Bảo Vệ
Đặc tả không xác định cách mà bất kỳ thông tin xác thực ký nào của Binance đã được thu thập. Yêu cầu chữ ký của nó xác lập rằng việc ủy quyền không thể đơn giản được gán cho một tài khoản nạn nhân tùy ý mà không có sự ủy quyền hợp lệ. CyberSatoshi đã tuyên bố rằng kẻ tấn công đã gửi 50 ủy quyền đã ký trước bao gồm các nonce liên tiếp để bắt Binance 14 trong khi số lượng giao dịch của nó đang thay đổi.
Đặc tả xử lý các ủy quyền theo thứ tự. Khi một ủy quyền không vượt qua kiểm tra, việc xử lý tiếp tục với mục tiếp theo. Một mục hợp lệ thiết lập việc ủy quyền và tăng nonce của tài khoản ủy quyền. Các ủy quyền liên tiếp cho cùng một tài khoản do đó có thể trở nên hợp lệ khi nonce đó tiến lên. Nơi có nhiều mục hợp lệ tồn tại, việc ủy quyền hợp lệ cuối cùng xác định địa chỉ mã được sử dụng.
Tuyên bố riêng rằng các biện pháp phòng ngừa của sàn giao dịch sẽ ngăn chặn vụ trộm sau ba giao dịch là một đánh giá không thực tế của người đăng. Các tác giả của EIP rõ ràng cảnh báo rằng mã được ủy quyền có quyền truy cập không hạn chế vào tài khoản và phải được kiểm toán chặt chẽ bởi ví. Phần bảo mật của nó liệt kê các biện pháp bảo vệ mà các hợp đồng ủy quyền cần, bao gồm ngăn chặn phát lại và chữ ký bao gồm giá trị giao dịch, gas, điểm đến và dữ liệu gọi.
Việc ủy quyền được thực hiện kém có thể để lại cho kẻ tấn công quyền kiểm soát gần như hoàn toàn đối với tài khoản ký. Việc ủy quyền vẫn tồn tại sau giao dịch cài đặt nó. Đặc tả còn cho biết rằng một lỗi thực thi không quay ngược lại các chỉ báo ủy quyền đã được xử lý. Để xóa bỏ việc ủy quyền, giao thức cho phép một ủy quyền hợp lệ chỉ đến địa chỉ không, điều này xóa mã ủy quyền của tài khoản.