Zilliqa đã tạm dừng các giao dịch bản địa sau khi phát hiện rằng khoảng năm chữ ký bị ảnh hưởng từ cùng một khóa riêng có thể cung cấp đủ thông tin để khôi phục khóa đó, tạo ra vấn đề khôi phục mà một khoản chuyển thông thường không thể giải quyết một cách an toàn.
Lỗ hổng này chỉ giới hạn ở các chữ ký Schnorr được tạo cho các giao dịch bản địa, không phải EVM thông qua ứng dụng Zilliqa Ledger, theo thông báo bảo mật của mạng lưới. Zilliqa cho biết mọi phiên bản ứng dụng được phát hành từ năm 2019 đến 2026 đều chứa lỗi này.
Zilliqa cho biết đã phát hiện hoạt động trên chuỗi phù hợp với việc khai thác chủ động vào ngày 19 tháng 7 và xác định nguyên nhân gốc rễ vào ngày 21 tháng 7. Thông báo không xác định các địa chỉ bị ảnh hưởng hoặc định lượng bất kỳ tổn thất nào.
Chữ ký công khai có thể làm lộ khóa riêng
Lỗi xảy ra khi ứng dụng Ledger tạo nonce tạm thời cần thiết cho mỗi chữ ký gốc Zilliqa. Quy trình ký tạo ra 40 byte dữ liệu ngẫu nhiên và giảm kết quả theo modulo thứ tự đường cong secp256k1, nhưng sau đó sao chép sai phạm vi 32 byte vào bộ đệm nonce.
Hoạt động đó giữ lại tám byte đệm không trong khi loại bỏ tám byte entropy thực sự, cố định 64 bit cao nhất của nonce ở mức không và giữ mỗi giá trị dưới 2192.
Zilliqa cho biết một kẻ tấn công có thể kết hợp khoảng năm chữ ký bị ảnh hưởng được tạo bởi cùng một khóa riêng và sử dụng các kỹ thuật giảm mạng để khôi phục khóa đó trong vài giây trên phần cứng thông thường.
Theo Zilliqa, bất kỳ tài khoản nào đã phát sóng khoảng năm hoặc nhiều hơn các giao dịch bản địa được ký thông qua ứng dụng Zilliqa Ledger nên được coi là đã bị xâm phạm. Các chữ ký bị suy yếu vẫn tồn tại vĩnh viễn trên chuỗi, do đó việc cập nhật ứng dụng không thể xóa bỏ thông tin đã bị lộ. Các khóa riêng bị ảnh hưởng cuối cùng phải được ngừng sử dụng.
Zilliqa đã ghi nhận KuCoin đã báo cáo sự cố và hỗ trợ xác minh lỗ hổng. Theo báo cáo tiết lộ, sàn giao dịch đã khôi phục các khóa riêng bị ảnh hưởng bằng cách sử dụng các chữ ký có sẵn công khai và hỗ trợ truy tìm vấn đề đến mã tạo nonce của ứng dụng.
Một chuyển khoản cứu trợ bình thường có thể bị front-run
Việc chuyển tài sản đến một địa chỉ mới sau khi các giao dịch bản địa được khôi phục mang theo một rủi ro khác. Một kẻ tấn công đã tái tạo thành công khóa riêng cũng có thể ký một giao dịch hợp lệ và cố gắng front-run việc chuyển của chủ sở hữu hợp pháp.
Điều này khiến Zilliqa phải cân bằng hai yêu cầu trước khi tái khởi động hoạt động bản địa: cho phép người dùng hợp pháp di chuyển tài sản của họ trong khi ngăn chặn những kẻ tấn công có cùng quyền ký kết giành chiến thắng trong cuộc đua giao dịch.
Mạng lưới cho biết đang hoàn tất kế hoạch khắc phục có sự phối hợp và khuyên bất kỳ ai đã ký giao dịch Zilliqa bản địa bằng thiết bị Ledger hãy chờ hướng dẫn chính thức trước khi thực hiện hành động.
Zilliqa đã tạm dừng các giao dịch bản địa, không phải EVM như một biện pháp bảo vệ sau khi phát hiện lỗ hổng. Dự án cho biết việc tạm dừng đã ngăn chặn việc tiếp tục rút tiền từ các tài khoản bị ảnh hưởng.
Tại thời điểm xuất bản, Zilliqa chưa công bố ngày tái hoạt động hoặc công bố quy trình di chuyển cuối cùng qua các kênh chính thức của nó.
Một phiên bản đã được sửa đổi của ứng dụng Ledger đang được chuẩn bị phối hợp với Ledger và sẽ khôi phục việc tạo nonce đầy đủ chiều rộng. Bản cập nhật có thể ngăn các chữ ký tương lai tiết lộ cùng một thông tin, nhưng không thể bảo vệ các khóa bị xâm phạm bởi các chữ ký đã được ghi trên chuỗi. Zilliqa cho biết chi tiết về việc phát hành sẽ được công bố riêng biệt.
Các đường dẫn ký của EVM và SDK chính thức không bị ảnh hưởng
Thông báo này không mô tả việc thiết bị phần cứng Ledger bị xâm phạm nói chung. Zilliqa cho rằng lỗ hổng này xuất phát từ cách triển khai chức năng ký giao dịch bản địa trong ứng dụng Ledger của họ.
Zilliqa cho biết các giao dịch EVM không bị ảnh hưởng. Các đường dẫn tạo nonce được sử dụng bởi các bộ công cụ phát triển phần mềm chính thức zilliqa-js, gozilliqa-sdk và pyzil cũng nằm ngoài lỗ hổng đã được tiết lộ.
Bài viết Lỗi của Ledger kéo dài 7 năm cho phép kẻ tấn công tái tạo khóa riêng từ năm chữ ký trong vài giây xuất hiện đầu tiên trên CryptoSlate.



