Giao thức Matrix đối mặt với chỉ trích về các lỗ hổng bảo mật và hạn chế kỹ thuật

Nhóm Cộng đồng BigGo
Giao thức Matrix đối mặt với chỉ trích về các lỗ hổng bảo mật và hạn chế kỹ thuật

Matrix , giao thức mã nguồn mở cho truyền thông phi tập trung, đã bị các nhà phát triển và nhà nghiên cứu bảo mật xem xét kỹ lưỡng khi họ phát hiện ra nhiều vấn đề kỹ thuật có thể ảnh hưởng đến độ tin cậy và bảo mật của nó. Mặc dù giao thức này đã được các cơ quan chính phủ và các dự án mã nguồn mở áp dụng, một phân tích chi tiết đã tiết lộ những lo ngại đáng kể về kiến trúc và triển khai của nó.

Các Ví dụ Áp dụng Matrix

  • Chính phủ: Các cơ quan chính phủ Đức và Pháp
  • Nền tảng: Hệ thống chat backend của Reddit
  • Mã nguồn mở: Các cộng đồng dự án mã nguồn mở khác nhau
  • Doanh nghiệp: Dịch vụ nhắn tin Beeper

Dữ liệu liên tục và mối lo ngại về quyền riêng tư

Một trong những vấn đề quan trọng nhất với Matrix là thiết kế chỉ thêm vào (append-only), khiến việc xóa dữ liệu thực sự trở nên gần như không thể. Khi người dùng cố gắng xóa tin nhắn, hệ thống chỉ gửi các sự kiện chỉnh sửa (redaction events) để lịch sự yêu cầu các máy chủ khác xóa nội dung. Tuy nhiên, các máy chủ độc hại hoặc được cấu hình kém có thể đơn giản bỏ qua những yêu cầu này và giữ lại dữ liệu gốc vô thời hạn. Điều này trở nên đặc biệt có vấn đề khi các máy chủ mới tham gia phòng và yêu cầu dữ liệu lịch sử - họ có thể nhận được nội dung chưa được chỉnh sửa từ các máy chủ đã bỏ qua yêu cầu xóa.

Tình huống thậm chí còn phức tạp hơn đối với các hành động quản trị như cấm hoặc thay đổi thành viên. Những sự kiện này trở thành một phần vĩnh viễn trong chuỗi xác thực của phòng và không thể bị xóa, vì chúng được yêu cầu để hệ thống xác minh các sự kiện trong tương lai.

Vấn đề đặt lại trạng thái và sự bất ổn của phòng

Các phòng Matrix thường xuyên gặp phải tình trạng đặt lại trạng thái - những tình huống mà hệ thống đồng thuận phân tán thất bại và khôi phục cài đặt phòng hoặc đuổi người dùng một cách bất ngờ. Những vấn đề này xảy ra thường xuyên hơn khi các triển khai máy chủ khác nhau cố gắng làm việc cùng nhau, một phần do sự không nhất quán trong cách chúng xử lý định dạng JSON và chữ ký mật mã.

Đặc tả của giao thức không định nghĩa nghiêm ngặt định dạng JSON chính tắc, dẫn đến thất bại xác minh chữ ký giữa các máy chủ được viết bằng các ngôn ngữ lập trình khác nhau. Điều này đã dẫn đến việc các quản trị viên phòng mất quyền kiểm duyệt trong những thời điểm quan trọng, khiến các cộng đồng dễ bị tấn công spam và quấy rối.

Thách thức mã hóa và vấn đề triển khai

Mặc dù Matrix hỗ trợ mã hóa đầu cuối, tính năng này vẫn là tùy chọn và từ lâu đã không ổn định. Hệ thống dựa vào việc cập nhật danh sách thiết bị được phân phối một cách đáng tin cậy giữa các máy chủ, và sự thất bại trong quá trình này có thể dẫn đến tin nhắn Không thể giải mã đã làm phiền người dùng trong nhiều năm. Mặc dù các nhà phát triển Matrix tuyên bố đã giải quyết những vấn đề này vào năm 2024, phản hồi từ cộng đồng cho thấy vấn đề vẫn tồn tại.

Một client khác mà tôi có thể thấy tin nhắn của những người đó, có lẽ vì nó đã trực tuyến tại thời điểm client của những người đó tham gia / xoay khóa, bởi vì Matrix E2EE dường như phụ thuộc vào việc tất cả client của các bên phải trực tuyến cùng lúc để có thể chia sẻ khóa.

Ngoài ra, hành vi mặc định của các client Matrix là gửi tin nhắn được mã hóa đến các thiết bị chưa được xác minh, có thể cho phép các homeserver độc hại thêm thiết bị giả mạo và chặn thông tin liên lạc mà người dùng không biết.

Xử lý phương tiện và rủi ro pháp lý

Hệ thống xử lý phương tiện của Matrix đặt ra những lo ngại bổ sung về bảo mật và pháp lý. Cho đến gần đây, việc tải xuống phương tiện không được xác thực, cho phép bất kỳ ai truy cập các tệp đã tải lên. Hệ thống sao chép tích cực có nghĩa là các máy chủ tự động lưu trữ phương tiện từ các máy chủ khác khi người dùng yêu cầu, có thể khiến các nhà điều hành máy chủ phải chịu trách nhiệm pháp lý vì lưu trữ nội dung bất hợp pháp mà họ không biết.

Giao thức thiếu khả năng quét nội dung tích hợp, vì phương tiện được mã hóa không thể được phân tích phía máy chủ. Điều này đặt gánh nặng kiểm duyệt nội dung lên các client riêng lẻ và quản trị viên máy chủ.

Các vấn đề chính của giao thức Matrix

Danh mục Vấn đề Trạng thái
Xóa dữ liệu Các sự kiện biên tập chỉ mang tính tư vấn Vấn đề đang tồn tại
Tính ổn định phòng Việc đặt lại trạng thái gây mất quyền quản trị Dự kiến sửa chữa vào năm 2025
Mã hóa Tin nhắn "Không thể giải mã" Tuyên bố đã sửa vào năm 2024
Bảo mật phương tiện Tải xuống không xác thực Đã sửa vào năm 2024
Tương thích JSON Lỗi chữ ký giữa các triển khai Đang được xem xét
Kiểm duyệt nội dung Không có tính năng quét nội dung bất hợp pháp tích hợp Không có kế hoạch sửa chữa

Phản hồi từ nhà phát triển và cải tiến đang diễn ra

Trưởng nhóm dự án Matrix Matthew Hodgson đã thừa nhận một số vấn đề này trong khi bảo vệ các quyết định thiết kế của giao thức. Ông chỉ ra những cải tiến gần đây bao gồm truy cập phương tiện được xác thực được triển khai vào năm 2024 và các bản sửa lỗi bảo mật sắp tới được lên kế hoạch cho năm 2025. Tuy nhiên, nhiều mối lo ngại kiến trúc cơ bản vẫn chưa được giải quyết sau hơn một thập kỷ phát triển.

Cuộc tranh luận làm nổi bật những thách thức vốn có của việc xây dựng các hệ thống truyền thông thực sự phi tập trung. Mặc dù Matrix cung cấp một giải pháp thay thế cho các nền tảng tập trung, sự phức tạp và hạn chế kỹ thuật của nó tiếp tục hạn chế việc áp dụng rộng rãi và tạo ra rào cản cho cả người dùng và nhà phát triển đang tìm kiếm các công cụ truyền thông đáng tin cậy, an toàn.

Tham khảo: why not matrix?