SHARE THE PERSPECTIVE
Hãy so sánh ai có thể tiếp cận bản rõ và tác động đến cập nhật — không chỉ tên thuật toán mã hóa.

Một ứng dụng nhắn tin mã hóa trên web không mặc nhiên là không an toàn, và một ứng dụng Android gốc không mặc nhiên là an toàn. Cả hai đều có thể triển khai mã hóa đầu cuối; cả hai đều phải xử lý bản rõ trên thiết bị của người dùng. Điều đáng so sánh là ai có thể tác động đến ứng dụng khách, đọc nội dung hiển thị hoặc tiếp cận các khóa của ứng dụng đó.

Việc dùng các thuật toán cùng tên không chứng minh rằng hai ứng dụng khách có cách triển khai hoặc mức độ bảo mật giống hệt nhau. Với Livara, kiến trúc bảo mật đã công bố mô tả biện pháp bảo vệ dự kiến. Bài viết này so sánh ranh giới tin cậy của các nền tảng, chứ không trình bày kết quả kiểm toán độc lập đối với một trong hai ứng dụng khách.

Những khác biệt đáng kiểm tra

Bề mặt tấn công Ứng dụng khách web Ứng dụng khách Android
Phân phối mã Mã trang web, các thành phần phụ thuộc, bộ nhớ đệm của trình duyệt và cách cập nhật Gói đã cài đặt và kênh cập nhật của gói
Phần mềm bổ sung Tiện ích mở rộng có quyền liên quan, mã được chèn vào trang web Dịch vụ hỗ trợ tiếp cận, bàn phím và phần mềm khác có đặc quyền
Lưu trữ Hồ sơ trình duyệt và bộ nhớ được giới hạn theo nguồn gốc web Bộ nhớ ứng dụng, cơ chế kiểm soát của hệ điều hành và cấu hình sao lưu
Tiếp cận trực tiếp thiết bị Phiên trình duyệt đã mở khóa và máy tính dùng chung Điện thoại đã mở khóa và phiên ứng dụng đang hoạt động
Kiểm tra tính toàn vẹn Tin cậy vào quá trình phân phối trang web và bảo mật trình duyệt Chữ ký gói và, nếu có, giá trị băm đáng tin cậy của bản phát hành

Đây là các bề mặt tấn công khác nhau, không phải một bảng xếp hạng chung cho mọi trường hợp. Một trình duyệt chuyên dụng được duy trì tốt có thể là lựa chọn tốt hơn một điện thoại lỗi thời đã cài phần mềm độc hại.

Tiện ích mở rộng có thể đọc tin nhắn trò chuyện được mã hóa không?

Một tiện ích mở rộng có quyền truy cập phù hợp vào trang web có thể dùng tập lệnh nội dung để đọc hoặc thay đổi nội dung trang. Tài liệu của Chrome về tập lệnh nội dung giải thích rằng các tập lệnh này tương tác với DOM của trang. Nếu một tin nhắn được hiển thị tại đó dưới dạng văn bản đọc được, tập lệnh được cấp quyền có thể tiếp cận tin nhắn mà không cần phá mã hóa của nó.

Tiện ích mở rộng thường có môi trường JavaScript biệt lập, nhưng điều đó không ngăn chúng tiếp cận DOM hiển thị của trang. Ngược lại, nói rằng bất kỳ trang web không liên quan nào trong cùng hồ sơ trình duyệt cũng tự động đọc được cuộc trò chuyện của trang khác là không đúng. Ranh giới giữa các nguồn gốc web trong trình duyệt vẫn có ý nghĩa; muốn vượt qua chúng cần có tương tác được phép, lỗ hổng hoặc hình thức truy cập khác.

Rà soát quyền truy cập trang web của các tiện ích mở rộng và gỡ bỏ những tiện ích không cần thiết. Một hồ sơ riêng với số tiện ích tối thiểu có thể giảm mức độ phơi nhiễm, nhưng không khắc phục được hệ điều hành đã bị xâm phạm hoặc mã trang web không an toàn.

Ảnh cận cảnh làm mờ thanh công cụ trình duyệt dưới ánh sáng tím.

WebCrypto cung cấp và không cung cấp điều gì

Đặc tả Web Cryptography của W3C cung cấp các phép toán mật mã cho ứng dụng web. Nó không chứng nhận giao thức được xây dựng từ các phép toán đó, cũng không khiến tập lệnh độc hại trở nên vô hại.

Một khóa không thể trích xuất sẽ hạn chế thao tác xuất dữ liệu khóa thông thường qua API. Mã có quyền truy cập phù hợp vẫn có thể dùng khóa đó cho các phép toán được phép hoặc đọc bản rõ thu được. Vì vậy, tính không thể trích xuất không phải biện pháp phòng vệ hoàn chỉnh trước môi trường ứng dụng đã bị xâm phạm. Thuật toán nào khả dụng còn phụ thuộc vào cách triển khai của trình duyệt; cần kiểm tra khả năng hỗ trợ thay vì suy đoán từ tên của một đặc tả.

Với người dùng, các câu hỏi thực tế là trình duyệt và hệ điều hành đã được cập nhật chưa, nguồn gốc web có đúng không, những tiện ích nào có thể truy cập trang web, và ứng dụng xử lý các khóa được lưu lâu dài cùng việc đăng xuất như thế nào.

Mã web mới có luôn đồng nghĩa với bản sửa lỗi mới nhất không?

Không. Phân phối qua web có thể giúp cập nhật nhanh, nhưng bộ nhớ đệm, service worker và các thẻ mở lâu có thể ảnh hưởng đến mã đang chạy. Điều đó cũng có nghĩa là phải tin cậy quy trình phân phối mã của trang web. Ứng dụng đã cài đặt có những rủi ro riêng: cập nhật chậm, quy trình ký hoặc phân phối bị xâm phạm, và phiên bản hệ điều hành không còn được hỗ trợ.

Luôn cập nhật cả hai loại ứng dụng khách qua kênh chính thức. Đừng cho rằng tải lại trang chứng minh bản vá bảo mật đã được áp dụng, hay chữ ký gói chứng minh ứng dụng không có lỗ hổng.

Cách kiểm tra một bản tải xuống cho Android

Chữ ký gói Android và giá trị băm tệp được công bố trả lời những câu hỏi khác nhau. Tài liệu chính thức về apksigner mô tả việc xác minh chữ ký. So sánh SHA-256 có thể cho biết tệp tải xuống có khớp với một giá trị tham chiếu cụ thể hay không, nhưng bản thân giá trị tham chiếu phải đáng tin cậy.

Nếu kẻ tấn công kiểm soát cả APK lẫn tổng kiểm tra hiển thị, việc chúng khớp nhau không xác lập tính xác thực. Băm một tệp cũng không chứng minh rằng bản dựng có thể tái lập, không có hành vi độc hại hay cơ chế mật mã là đúng. Mô hình đe dọa của Livara thừa nhận giới hạn này về độ tin cậy của giá trị tham chiếu.

Đừng cài một ứng dụng thay thế từ bên ngoài kênh chính thức chỉ vì một bài blog nói ứng dụng gốc an toàn hơn. Hãy xác nhận kênh phân phối chính thức và đúng phiên bản bạn định cài đặt.

Danh sách kiểm tra để chọn nền tảng

  • Máy tính dùng chung? Tránh để phiên trò chuyện riêng tư mở; kiểm tra các phiên đã lưu và cách đăng xuất hoạt động.
  • Nhiều tiện ích mở rộng? Giảm quyền truy cập trang web hoặc dùng hồ sơ sạch cho công việc nhạy cảm.
  • Thiết bị được quản lý? Hiểu chính sách quản lý và giám sát của tổ chức trước khi dùng tài khoản cá nhân.
  • Dịch vụ Android không đáng tin? Rà soát quyền truy cập của dịch vụ hỗ trợ tiếp cận, thông báo, bàn phím và hỗ trợ từ xa, nhưng không tùy tiện tắt các công cụ trợ năng bạn cần.
  • Lưu lịch sử lâu dài? Trước khi xóa bất cứ thứ gì, hãy hiểu cách khóa và bản sao lưu được giữ lại khi xóa bộ nhớ trình duyệt hoặc cài lại ứng dụng.
  • Cuộc trò chuyện rủi ro cao? Xác minh người liên hệ qua một kênh độc lập đáng tin cậy và cân nhắc bảo mật thiết bị của cả hai người tham gia.

Để cân nhắc toàn diện hơn, hãy dùng danh sách kiểm tra ứng dụng nhắn tin an toàn. Không lựa chọn nền tảng nào loại bỏ được việc người nhận sao chép nội dung, khả năng truy cập qua thiết bị đã bị xâm phạm hoặc siêu dữ liệu mà dịch vụ lưu giữ.

Câu hỏi thường gặp

Tiện ích mở rộng trình duyệt có cần phá mã hóa không?

Không, nếu nó có quyền truy cập bản rõ đã được hiển thị trên trang. Các quyền liên quan và biện pháp bảo vệ của trình duyệt quyết định khả năng truy cập đó.

Ứng dụng Android có luôn là lựa chọn an toàn hơn không?

Không. Tình trạng thiết bị, hỗ trợ cập nhật, nguồn cài đặt và phần mềm có đặc quyền đều quan trọng. Hãy so sánh môi trường bạn thực sự đang có.

Tổng kiểm tra khớp nhau có chứng minh bản dựng an toàn không?

Nó chứng minh sự trùng khớp với giá trị băm tham chiếu theo các giả định của hàm băm. Nó không xác lập rằng giá trị tham chiếu là xác thực hay mã là an toàn.

Nguồn tham khảo

Tự xác minh APK của Livara
CONTINUE THE THREADAndroid & device security ↗
YOU’VE REACHED THE ENDBack to the reading room ↗