Các nhà phát triển XRP Ledger đã vá một lỗ hổng nghiêm trọng trong hệ thống xử lý thanh toán, vốn có thể cho phép kẻ tấn công tạo ra lượng XRP có thể chi tiêu vượt xa giới hạn nguồn cung 100 tỷ XRP của mạng lưới chỉ trong một giao dịch, theo báo cáo công bố của Veria Labs. Lỗ hổng này đã tồn tại trong mã xrpld từ năm 2015, dù báo cáo cho biết “không có bằng chứng cho thấy vấn đề này từng bị khai thác trên bất kỳ mạng công khai nào.”
Lỗ hổng được báo cho RippleX vào ngày 22 tháng 9 và được vá ba ngày sau đó trong phiên bản xrpld 3.4.1. Veria Labs cho biết hơn 80% trình xác thực trong Unique Node List mặc định của XRP Ledger đã cài đặt bản phát hành này ngay trong ngày được phát hành, qua đó hạn chế khoảng thời gian thực tế để tấn công mạng lưới.
Cayden Liao, đồng sáng lập Veria Labs, cho biết một tác nhân AI đã xác định lỗ hổng và tạo ra một mã khai thác hoạt động được. Trong một bài đăng trên X, Liao ước tính rằng một giao dịch độc hại có thể đã tạo ra khoảng 18 nghìn tỷ XRP — gấp khoảng 184 lần nguồn cung tối đa ban đầu của mạng lưới — nếu giao dịch đó đến được một mạng lưới dễ bị tấn công.
Tính toán thanh toán có thể bị tràn số
Lỗ hổng liên quan đến các khoản thanh toán sử dụng nhiều lệnh chào bán từ sổ lệnh phi tập trung của XRP Ledger. Những giao dịch như vậy có thể khớp với nhiều lệnh chào bán cùng lúc, khiến phần mềm phải cộng tổng lượng XRP được thanh toán cho tất cả các lệnh đó.
Theo báo cáo của Veria Labs, phép cộng này không có bước kiểm tra tràn số. Trong điện toán, tràn số xảy ra khi một số trở nên quá lớn so với kiểu dữ liệu được cấp phát; thay vì tạo ra giá trị lớn chính xác, phép tính có thể quay vòng thành một số nhỏ hơn nhiều.
Kẻ tấn công có thể đã sử dụng vài trăm tài khoản để đặt các lệnh chào bán một phần cực nhỏ của token với số lượng XRP lớn đến mức phi thường. Sau đó, một giao dịch thanh toán duy nhất có thể sử dụng các lệnh chào bán đó. Hệ thống xử lý thanh toán sẽ ghi có cho mỗi người bán số XRP được nêu, trong khi chi phí được tính cho người mua có thể quay vòng thành “chỉ vài trăm drop cộng với phí”, theo báo cáo. Một drop là đơn vị nhỏ nhất của XRP, tương đương một phần triệu XRP.
Lỗi này có thể đã làm tăng số dư XRP mà không khấu trừ đúng số tiền từ tài khoản của kẻ tấn công. Veria Labs cho biết một biện pháp bảo vệ riêng được thiết kế để phát hiện XRP mới tạo ra đã sử dụng một phép cộng khác cũng dễ bị tràn số. Do đó, bước kiểm tra nguồn cung nội bộ của giao thức cũng có thể không nhận ra sự gia tăng giả tạo trong số dư.
Quy mô của vụ khai thác trên lý thuyết khiến nó thuộc một nhóm hoàn toàn khác so với một vụ xâm phạm sàn giao dịch hoặc đánh cắp tài sản từ cầu nối thông thường. Thay vì đánh cắp số tiền hiện có từ một nguồn quỹ xác định, kẻ tấn công có thể đã đưa các đơn vị mới có thể chi tiêu vào lưu thông, qua đó có khả năng làm suy giảm niềm tin vào các quy tắc nguồn cung của sổ cái nếu những đơn vị đó đến được các địa điểm giao dịch hoặc những bên tham gia mạng lưới khác.
Bản sửa lỗi đã bỏ qua lịch trình sửa đổi thông thường
Veria Labs cho biết bản vá của RippleX có hiệu lực thông qua việc nâng cấp máy chủ thay vì quy trình sửa đổi thông thường của XRP Ledger. Các sửa đổi thường chỉ thay đổi quy tắc mạng sau khi nhận được hơn 80% sự ủng hộ từ các trình xác thực đáng tin cậy trong hai tuần.
Quy trình đó được thiết kế để cho các bên vận hành có thời gian xem xét và triển khai các bản nâng cấp trước khi một quy tắc giao thức có hiệu lực. Trong trường hợp này, vấn đề bảo mật đòi hỏi phản hồi nhanh hơn: mỗi máy chủ nhận được biện pháp bảo vệ khi bên vận hành nâng cấp lên xrpld 3.4.1.
Veria Labs mô tả phương pháp này là lần đầu tiên sử dụng quy trình kích hoạt do nâng cấp dẫn dắt trong hơn một thập kỷ sửa đổi XRP Ledger. Quyết định này phản ánh sự đánh đổi thực tế khi xử lý một lỗ hổng có thời gian khắc phục ngắn: việc thảo luận công khai rộng rãi trước khi bản vá được triển khai trên diện rộng có thể cung cấp cho kẻ tấn công đủ chi tiết kỹ thuật để tái dựng vụ khai thác.
Justin Bons, nhà sáng lập kiêm giám đốc đầu tư của Cyber Capital, viết trên X rằng xrpld 3.4.1 đã được giữ mã nguồn đóng trong khoảng hai tuần trước khi mã được công bố. Mayukha Vadari, một kỹ sư phần mềm tại RippleX, cho biết những lo ngại về việc phát hiện và thiết kế ngược nhanh chóng đã định hình quy trình phát hành.
Trình tự này thu hút sự chú ý vì các mạng nguồn mở nhìn chung phụ thuộc vào việc xem xét mã công khai, trong khi việc tạm thời hạn chế khả năng tiếp cận mã nguồn sẽ giới hạn hoạt động kiểm tra độc lập. Cách tiếp cận của RippleX ưu tiên ngăn chặn việc khai thác trong lúc các bên vận hành trình xác thực triển khai bản sửa chữa, sau đó công bố mã khi giai đoạn khẩn cấp đã qua.
Bản vá thứ hai đã xử lý tính năng Batch
Phiên bản 3.4.1 cũng khắc phục một vấn đề riêng liên quan đến Batch, một tính năng chưa được kích hoạt khi các nhà nghiên cứu phát hiện lỗ hổng đầu tiên. Veria Labs cho biết lỗ hổng của Batch có thể khiến mạng bị đình trệ trong một số trường hợp.
Báo cáo cho biết kẻ tấn công sẽ không thể chiếm được tài sản trên chuỗi thông qua sự cố Batch. Tác động tiềm tàng của sự cố là tạo ra một bản ghi sổ cái bị sai lệch vĩnh viễn, có thể làm gián đoạn các dịch vụ ngoài chuỗi như trình lập chỉ mục, trình khám phá blockchain và bộ công cụ phát triển phần mềm. Các dịch vụ này diễn giải và sắp xếp dữ liệu sổ cái cho ví, ứng dụng và người dùng; do đó, các bản ghi sai lệch có thể gây ra vấn đề vận hành ngay cả khi số dư trên sổ cái vẫn nguyên vẹn.
Veria Labs cho biết Batch và bản sửa lỗi đã được kích hoạt vào thứ Sáu, đồng thời các máy chủ chạy phiên bản phần mềm cũ không thể tiếp tục đồng bộ với mạng. Kết quả này tạo động lực mạnh mẽ để những đơn vị vận hành còn lại cập nhật, vì các máy chủ lỗi thời không thể theo dõi trạng thái sổ cái hiện tại một cách đáng tin cậy.
Liao cho biết Veria Labs đã nhận được khoản tiền thưởng tối đa 250.000 USD nhờ báo cáo các lỗ hổng. Phần thưởng này phản ánh mức độ nghiêm trọng tiềm tàng của một lỗi đã ảnh hưởng đến logic kế toán cốt lõi của một blockchain công khai, thay vì chỉ nằm trong một ứng dụng bên ngoài.
Sự cố này cũng bổ sung bằng chứng cho thấy việc phân tích mã tự động đang trở thành một phần thiết thực trong quá trình phát hiện lỗ hổng. Lời kể của Liao về việc một tác nhân AI phát hiện và khai thác vấn đề không chứng minh rằng tự động hóa có thể thay thế hoạt động kiểm tra bảo mật của con người, nhưng cho thấy các lỗi số học cũ có thể được phát hiện nhanh chóng như thế nào khi các nhà nghiên cứu kết hợp quét tự động với hiểu biết kỹ thuật về các quy tắc giao dịch của một giao thức.
Việc sửa lỗi của XRP Ledger đã ngăn lỗ hổng trở thành một sự kiện phát hành nguồn cung có thể quan sát trên thị trường. Những câu hỏi còn lại tập trung vào việc liệu các bộ mã blockchain lâu đời khác có chứa những rủi ro tràn số nguyên tương tự trong các luồng giao dịch phức tạp hay không, đặc biệt ở những nơi nhiều thao tác được tổng hợp và số dư được kiểm tra thông qua các quy trình kế toán riêng biệt.
Lo ngại về các rủi ro giao thức sau lỗi XRP Ledger này? Khám phá động lực thanh toán xuyên chuỗi trong bản phân tích về thanh toán xuyên biên giới này.
Tuyên bố miễn trừ trách nhiệm: Nội dung trên trang này chỉ được cung cấp cho mục đích thông tin chung và không thể hiện quan điểm hay lời khuyên tài chính của Toobit. Chúng tôi không đảm bảo về tính chính xác hoặc đầy đủ của thông tin này và không chịu trách nhiệm đối với bất kỳ lỗi, thiếu sót hoặc kết quả nào phát sinh từ việc sử dụng thông tin. Đầu tư vào tài sản kỹ thuật số có rủi ro; người dùng nên tự đánh giá tình hình tài chính của mình và các rủi ro liên quan. Để biết thêm chi tiết, vui lòng tham khảo Điều khoản dịch vụ và Công bố rủi ro.
