Khoảng 4.000 L-BTC được tạo trên Liquid Network mà không có tiền gửi bảo chứng, sau đó được peg-out và chuyển đổi thành khoảng 3.996 BTC. Lỗ hổng phần mềm cùng cơ chế vận hành tự động phê duyệt các khoản rút lớn được cho là đã làm gia tăng thiệt hại.
Blockstream cho biết ngày 23 rằng giao dịch được đưa vào một block của Liquid Network lúc 22 giờ 53 phút ngày 6 tháng 9 (giờ Việt Nam) đã khai thác lỗi bộ nhớ đệm xác minh range-proof của Elements. Theo Blockstream, các đầu vào xác minh khác nhau bị kết hợp mà không có thông tin độ dài, tạo ra cùng một khóa bộ nhớ đệm, khiến kết quả đã xác minh trước đó được tái sử dụng cho giao dịch khác.
Lỗi này khiến L-BTC không có tiền gửi thực tế vẫn được mạng lưới chấp thuận như tài sản hợp lệ. Liquid Network vận hành theo cơ chế phát hành L-BTC theo tỷ lệ 1:1 khi Bitcoin(BTC) được gửi vào, sau đó trả Bitcoin từ quỹ dự trữ liên bang khi L-BTC bị đốt.
Kẻ tấn công đã chuyển số L-BTC được tạo ra nhờ lỗ hổng tới dịch vụ peg-out của SideSwap. SideSwap xử lý lệnh như giao dịch của khách hàng bình thường, còn các bên ký thuộc liên minh Liquid đã chi trả 3.996,02 BTC.
SideSwap cho biết vào thời điểm đó, các lệnh khoảng 4.000 L-BTC không bị giới hạn quy mô hay tốc độ, không áp dụng hạn mức so với tổng lượng phát hành, không kiểm tra lịch sử ví nhận tiền và không có quy trình con người xét duyệt. Kẻ tấn công trước đó đã thử một giao dịch peg-out nhỏ trị giá 2,5 L-BTC rồi mới gửi lệnh quy mô lớn.
Việc khóa phê duyệt được duy trì trực tuyến và Bitcoin được chi trả tự động tới địa chỉ khách hàng trong cùng block cũng làm thiệt hại tăng lên. SideSwap giải thích rằng nếu khóa được lưu trữ ngoại tuyến, đồng thời áp dụng xét duyệt thủ công và thời gian trì hoãn trước khi thanh toán, số tiền có thể đã nằm trong tầm kiểm soát và còn cơ hội được hoàn trả.
Nếu có hạn mức chi trả hoặc cơ chế phê duyệt trì hoãn, các giao dịch rút lớn có thể đã bị tạm giữ và quy mô thiệt hại có khả năng được hạn chế. Tuy nhiên, chưa xác định được mức hạn mức cụ thể nào trên thực tế có thể ngăn chặn cuộc tấn công.
Việc thiết lập hạn mức cũng kéo theo đánh đổi, vì các giao dịch rút lớn hợp lệ có thể bị trì hoãn. Do đó, xác minh mã nguồn và kiểm soát vận hành trong khâu chi trả cần được xem là hai tuyến phòng thủ riêng, xử lý các nhóm rủi ro khác nhau.
Alpen cho biết trong một phân tích kỹ thuật công bố ngày 22, công cụ bảo mật AI MASH của họ đã lần theo nguyên nhân trong mã nguồn Elements khoảng một giờ sau cuộc tấn công và tái hiện đường tấn công trong môi trường cục bộ. Tuy nhiên, đây là kết quả tái hiện sau sự cố, chưa chứng minh được hệ thống tương tự có thể phát hiện lỗ hổng trước cuộc tấn công.
Alpen cũng cho biết chưa thể xác nhận đầy đủ binary trong môi trường vận hành thực tế và trạng thái bộ nhớ đệm tại thời điểm đó. Vì vậy, chưa thể khẳng định AI có khả năng phát hiện cuộc tấn công trước khi xảy ra.
Elements 23.3.4 đã bổ sung thông tin độ dài vào đầu vào của bộ nhớ đệm range-proof. Tùy chọn -norangeproofcache để vô hiệu hóa bộ nhớ đệm cũng được thêm vào.
Trước đó, Liquid Network đã phát hành bản vá xử lý lỗ hổng bộ nhớ đệm xác minh range-proof. Phân tích lần này cho thấy việc chỉ sửa mã xác minh chưa đủ để loại bỏ các rủi ro vận hành trong khâu chi trả.
Với cấu trúc của Liquid Network, lỗi xác minh có thể dẫn tới việc tạo tài sản không có tiền gửi bảo chứng, trong khi cơ chế chi trả tự động của dịch vụ peg-out có thể biến lỗi đó thành dòng Bitcoin thực tế bị rút khỏi hệ thống. Sự cố cho thấy cần đồng thời có mã kiểm tra quy tắc đồng thuận và quy trình vận hành kiểm soát việc chi trả.
Blockstream cho biết khoảng 3.400 BTC đã được hoàn trả sau cuộc tấn công, trong khi khoảng 602 BTC đang được thu hồi. Kẻ tấn công tự nhận là 'white hat' qua một thông điệp on-chain, nhưng danh tính và trách nhiệm pháp lý vẫn chưa được xác định.
Tính đến ngày 24 tháng 9, chưa có lịch trình cụ thể về việc thu hồi toàn bộ số tiền còn lại và thời điểm Liquid Network nối lại dịch vụ peg-out.
Bình luận 0