Các ứng dụng nhắn tin nổi tiếng với hàng tỷ người dùng như Facebook Messenger, Instagram, Twitter đang bị một lỗ hổng bảo mật nghiêm trọng thông qua chức năng Link Previews (xem trước liên kết).
Theo đó, hai nhà nghiên cứu bảo mật Talal Haj Bakry và Tommy Mysk đã đăng một blog mô tả chi tiết những rủi ro bảo mật mà chức năng xem trước liên kết có thể gây ra. Hầu hết tất cả các ứng dụng nhắn tin hiện cung cấp xem trước liên kết, các nhà nghiên cứu cho rằng tính năng này là một lỗ hổng bảo mật nghiêm trọng nếu không được xử lý đúng cách.
Trong bài đăng, hai nhà nghiên cứu cho biết đã tìm thấy một số lỗi như rò rỉ địa chỉ IP, lộ các liên kết được gửi trong các cuộc trò chuyện được mã hóa đầu cuối và tải xuống hàng gigabyte dữ liệu trong nền một cách không cần thiết.
Mysk và Bakry đã mô tả chi tiết cách các ứng dụng nhắn tin sử dụng các phương thức tiếp cận khác nhau để tạo bản xem trước liên kết. Ví dụ như Reddit tạo bản xem trước liên kết bằng cách mở liên kết tự động ngay cả trước khi người dùng nhấn vào nó. Người dùng chỉ cần thấy thông báo này trên Reddit để kích hoạt chương trình phụ trợ này. Cách tiếp cận này có thể dẫn đến việc những kẻ tấn công lấy được địa chỉ IP, gián tiếp dẫn đến chi tiết vị trí của nạn nhân. Reddit đã khắc phục sự cố này sau khi các nhà nghiên cứu liên hệ với họ.
Các ứng dụng Discord, Facebook Messenger, Google Hangouts, Instagram, Line, LinkedIn, Slack, Twitter và Zoom sử dụng cách tiếp cận khác liên quan đến việc gửi liên kết đến máy chủ bên ngoài để tạo bản xem trước. Máy chủ gửi lại bản xem trước cho cả người gửi và người nhận. Với phương thức này, máy chủ sẽ cần tạo một bản sao của nội dung liên kết để tạo bản xem trước, bản sao có thể được lưu trên máy chủ và bị sử dụng sai với mong muốn.
Phương thức này có thể vi phạm quyền riêng tư của người dùng bằng cách gửi các liên kết được chia sẻ trong cuộc trò chuyện riêng tư đến máy chủ của ứng dụng. Những liên kết này có thể chứa thông tin cá nhân chỉ dành cho người nhận. Đây có thể là hóa đơn, hợp đồng, hồ sơ y tế hoặc bất cứ thứ gì có thể được bảo mật. Ứng dụng Line được phát hiện đang gửi các liên kết được mã hóa end-to-end (e2ee) đến các máy chủ để tạo bản xem trước, làm thất bại mã hóa đầu cuối này.
Trong khi một số ứng dụng có giới hạn về lượng dữ liệu được thu thập và lưu trữ, Instagram và Facebook Messenger lại không có bất kỳ giới hạn nào và có thể tải xuống bất kỳ thứ gì, bất kể kích thước. Các nhà nghiên cứu đã dùng Instagram đã tải xuống liên kết có kích thước 2,7GB từ nhiều máy chủ của Facebook. Liên kết này đã được tải xuống trên 8 máy chủ của Facebook và khoảng 24,7GB dữ liệu đã được tải chỉ thông qua một liên kết được chia sẻ trên Instagram. Đây là điều đáng báo động, vì hầu hết các ứng dụng đều có giới hạn tải xuống. Cả Facebook và Instagram đều chưa phản hồi về nghiên cứu này.
Slack có giới hạn tải xuống là 50MB, trong khi LinkedIn giới hạn ở mức 30MB. Ngay cả với những hạn chế này, ứng dụng có thể dẫn đến vi phạm quyền riêng tư nếu các máy chủ này bị tấn công. Các nhà nghiên cứu cho rằng có một cách tiếp cận chung được sử dụng bởi WhatsApp, Signal, iMessage và Viber, nơi “ứng dụng sẽ truy cập và tải xuống những gì trong liên kết.
Chương trình sẽ tạo ra một bản tóm tắt và hình ảnh xem trước của trang web và gửi dưới dạng tệp đính kèm cùng với liên kết. Khi ở phía nhận tin nhắn, ứng dụng sẽ hiển thị bản xem trước như nhận được từ người gửi mà không cần phải mở liên kết. Bằng cách này, người nhận sẽ được bảo vệ khỏi rủi ro nếu liên kết độc hại.
Phương pháp này giả định rằng bất kỳ ai đang gửi liên kết phải tin tưởng vào nó, vì ứng dụng của người gửi sẽ phải mở liên kết. Phương pháp này có thể bị các mối đe dọa lạm dụng để chạy mã độc hại chèn vào các bản xem trước liên kết. WeChat, Threema và TikTok hoàn toàn không tạo bản xem trước liên kết, thậm chí Signal còn có tùy chọn tắt tính năng này nếu muốn.