Zilliqa đã tạm dừng giao dịch ZIL gốc sau khi phát hiện một lỗi trong ứng dụng Ledger tồn tại từ năm 2019, có thể khiến khóa riêng tư bị suy ra từ chữ ký đã công khai trên blockchain.
Lỗ hổng này chỉ ảnh hưởng đến các giao dịch native ZIL ký bằng thiết bị Ledger, trong khi các giao dịch EVM và công cụ SDK của Zilliqa không nằm trong phạm vi bị tác động. Dữ liệu hiện có cho thấy mạng lưới đang ưu tiên ngăn rủi ro phát sinh thêm và chuẩn bị bản vá.
- Zilliqa đã khóa giao dịch native ZIL vì phát hiện lỗi liên quan đến Ledger app.
- Lỗ hổng nằm ở cơ chế tạo chữ ký Schnorr và có thể làm yếu độ ngẫu nhiên của nonce.
- Chỉ ví Ledger ký native ZIL bị ảnh hưởng; EVM và SDK của Zilliqa không bị tác động.
Lỗ hổng nằm ở cơ chế tạo chữ ký Schnorr trên Ledger
Zilliqa cho biết lỗi xuất phát từ cách ứng dụng Ledger tạo chữ ký Schnorr cho giao dịch native, không tương thích EVM. Cơ chế này đã hoạt động sai từ năm 2019, khiến phần ngẫu nhiên của nonce bị suy yếu.
Theo mô tả của dự án, hệ thống lấy nhầm 32 byte từ một giá trị 40 byte, làm cho 64 bit cao nhất của mỗi nonce bị bằng 0. Khi độ ngẫu nhiên bị giảm mạnh như vậy, khóa riêng tư có thể bị suy ra từ các chữ ký đã công khai trên chuỗi.
Phạm vi ảnh hưởng chỉ giới hạn ở native ZIL ký bằng Ledger
Native ZIL giao dịch bằng Ledger là nhóm duy nhất được xác định là có rủi ro. Những người chỉ dùng công cụ tương thích EVM hoặc bộ công cụ SDK của Zilliqa để chuyển ZIL sẽ không bị ảnh hưởng.
Zilliqa cũng khuyến nghị người đã từng ký native ZIL bằng Ledger không tự tìm cách xử lý và không di chuyển tài sản cho đến khi có hướng dẫn chính thức. Ledger đang làm việc trên bản vá cho ứng dụng của mình, nhưng thời điểm phát hành chưa được công bố.
Diễn biến phát hiện và phản ứng của Zilliqa
Zilliqa cho biết đã ghi nhận hoạt động on-chain có dấu hiệu khai thác vào ngày 19/7, xác định nguyên nhân gốc vào ngày 21/7 và công bố sự cố vào ngày 22/7. Dự án nói đã áp dụng biện pháp bảo vệ để hạn chế thiệt hại phát sinh thêm.
KuCoin được Zilliqa ghi nhận là đã hỗ trợ xác định lỗi nonce. Theo mô tả của dự án, sàn này đã đối chiếu các chữ ký công khai và xác nhận việc khai thác có thể xảy ra từ dữ liệu trên blockchain.
Áp lực lên ZIL và các biện pháp liên quan
Sự cố diễn ra trong lúc ZIL đã chịu thêm áp lực sau một vụ thất thoát từ ví lạnh của đối tác sàn giao dịch của Zilliqa vào ngày 20/7. Khi đó, Coinone và KuCoin đã tạm dừng nạp rút ZIL, còn ZIL chạm mức thấp mới là 0,002441 USD.
Zilliqa chưa nói hai sự việc này có liên quan với nhau hay không. Trong 24 giờ được nhắc tới, ZIL giảm 3,5% xuống 0,00244 USD, trong khi đỉnh lịch sử được nêu là khoảng 0,2563 USD vào tháng 5/2021.
Tổng kết
Zilliqa đang xử lý một lỗi bảo mật kéo dài nhiều năm liên quan đến Ledger và native ZIL, với phạm vi ảnh hưởng được xác định khá hẹp nhưng tác động đủ lớn để buộc mạng lưới phải tạm dừng giao dịch. Điểm cần theo dõi là bản vá từ Ledger và hướng dẫn khắc phục từ Zilliqa.



