
Nhóm phát triển Bitcoin Core đăng bài trên X vào ngày 12 tháng 6, xác nhận rằng tính năng -privatebroadcast mới được giới thiệu trong phiên bản Bitcoin Core 31.0 tồn tại lỗ hổng về quyền riêng tư: trong một số điều kiện mạng nhất định, nếu bắt tay v2 thất bại, Bitcoin Core sẽ kết nối tới các nút ngang hàng thông qua IPv4 hoặc IPv6, qua đó làm lộ địa chỉ IP công khai của người gửi cho bên nhận.
Theo thông báo chính thức của Bitcoin Core, nút chỉ bị ảnh hưởng bởi lỗ hổng này khi đồng thời thỏa mãn cả năm điều kiện sau:
· Nút đang chạy Bitcoin Core 31.0 và đã bật tính năng -privatebroadcast
· Giao dịch được phát tán thông qua lệnh RPC sendrawtransaction (RPC của ví như sendtoaddress, sendall không dùng private broadcast, không bị ảnh hưởng)
· Có thể thiết lập kết nối đi ra trực tiếp bằng IPv4 hoặc IPv6 (không có giới hạn -onlynet và không có cấu hình -proxy=...)
· Truyền tải BIP324 v2 không bị tắt (không đặt -v2transport=0)
Các kết nối tới nút ngang hàng onion và I2P không bị ảnh hưởng, vì trong mọi lần thử lại v1, các kết nối này luôn đi qua tuyến proxy tương ứng.
Theo phần giải thích chính thức, cơ chế kích hoạt lỗ hổng như sau: khi private broadcast chọn các nút ngang hàng IPv4 hoặc IPv6 hỗ trợ truyền tải v2 (BIP324), kết nối ban đầu như mong đợi sẽ đi qua tuyến proxy Tor. Nếu bắt tay v2 thất bại, Bitcoin Core sẽ thử lại bằng giao thức v1; tuy nhiên, lần thử lại v1 này không đi qua tuyến proxy Tor mà kết nối trực tiếp qua IPv4 hoặc IPv6, từ đó làm lộ địa chỉ IP của người khởi tạo.
Hành vi này vi phạm cam kết về quyền riêng tư trong phần mô tả của phiên bản 31.0: “Bên nhận sẽ không bao giờ biết địa chỉ IP (và vị trí địa lý) của họ”. Nhóm phát triển xác nhận rằng lỗ hổng này có khả năng cao bị kích hoạt nhân tạo bởi các nút ngang hàng độc hại cố tình tắt bắt tay v2 để buộc thử lại v1.
Bitcoin Core chính thức cung cấp ba phương án khắc phục tạm thời sau:
Phương án một (khuyến nghị): trực tiếp tắt tùy chọn -privatebroadcast bằng cách đặt -privatebroadcast=0
Phương án hai: tắt truyền tải v2 bằng cách đặt -v2transport=0. Lưu ý: cài đặt này sẽ khiến mọi kết nối của nút đều sử dụng giao thức v1 không mã hóa, dễ bị nhận diện dấu vân tay và bị kiểm duyệt hơn trên mạng công khai.
Phương án ba: định tuyến lưu lượng đi ra IPv4/IPv6 tới Tor bằng đặt -proxy=127.0.0.1:9050 (thay bằng cổng SOCKS Tor thực tế). Lưu ý: cài đặt này sẽ khiến nút dễ bị tấn công Sybil (Sybil Attack) hơn.
Theo thông báo chính thức của Bitcoin Core, RPC của ví (như sendtoaddress, sendall, v.v.) không dùng tính năng private broadcast, nên không bị ảnh hưởng bởi lỗ hổng này. Lỗ hổng này chỉ được kích hoạt khi phát tán thông qua sendrawtransaction và thỏa mãn thêm bốn điều kiện còn lại.
Theo giải thích chính thức, với các nút ngang hàng thực sự hỗ trợ truyền tải v2, việc bắt tay v2 thất bại là khó xảy ra trong điều kiện bình thường. Lỗ hổng này có khả năng cao bị kích hoạt nhân tạo bởi các nút ngang hàng độc hại cố tình tắt bắt tay v2 để buộc thử lại v1.
Theo thông báo chính thức của Bitcoin Core, phương án sửa lỗi sẽ được phát hành cùng với phiên bản 31.1, nhưng thông báo không cung cấp ngày phát hành cụ thể. Phía chính thức khuyến nghị trước khi nâng cấp lên 31.1, hãy áp dụng một trong ba phương án khắc phục tạm thời nêu trên.
Tin tức liên quan
Cảnh báo báo cáo của Coinbase: rủi ro lượng tử đối với 7 triệu BTC, đề xuất 3 phương án ứng phó
Circle Ra mắt Arc Privacy để Bảo vệ Dữ liệu Blockchain cho Doanh nghiệp
Circle ra mắt Arc Privacy cho các hợp đồng thông minh bảo mật
Bản tin Gate trong ngày (11/6): Chương trình tạo lập thị trường tự động của Raydium bị tấn công; Tom Lee nói rằng lượng cung ETH (Ethereum) đang thu hẹp