SHARE THE PERSPECTIVE

Quét phía máy khách kiểm tra nội dung trên thiết bị của người dùng, nơi nội dung có thể đã đọc được trước khi gửi hoặc sau khi nhận. Vì vậy, nó có thể tạo ra một đường tiết lộ thông tin bên ngoài kênh chuyển phát được mã hóa. So sánh tổng kiểm tra APK không chứng minh rằng ứng dụng không chứa mã quét. Nó trả lời một câu hỏi hẹp hơn: các byte đã chọn có khớp với một giá trị băm cụ thể hay không.

Tách biệt các tuyên bố này giúp cả mã hóa lẫn xác minh phần mềm trở nên hữu ích hơn.

Vì sao quét trên thiết bị làm thay đổi ranh giới riêng tư

Ứng dụng phải xử lý bản rõ để hiển thị tin nhắn hoặc chuẩn bị ảnh để gửi. Tính năng quét có thể hoạt động tại thời điểm đó, ngay cả khi tin nhắn truyền qua mạng sau đó được mã hóa đầu cuối. Những gì rời khỏi thiết bị phụ thuộc vào thiết kế của bộ quét: nó có thể báo cáo một kết quả khớp, tải lên nội dung đã chọn hoặc gửi thông tin khác được suy ra.

Bài nghiên cứu Bugs in our Pockets xem xét các rủi ro như lạm dụng, dương tính giả và bề mặt tấn công bổ sung. Đây là lý do để kiểm tra luồng dữ liệu và cơ chế quản trị của một hệ thống quét được đề xuất. Chúng không chứng minh mọi tính năng trên thiết bị đều là giám sát, hoặc một đạo luật cụ thể đã áp đặt yêu cầu quét phổ quát.

Một tính năng cục bộ do người dùng kiểm soát không tự động tương đương với việc báo cáo bắt buộc. Hãy hỏi ai chọn hoạt động phân tích, điều gì kích hoạt nó, ai có thể cập nhật quy tắc và dữ liệu nào có thể rời khỏi thiết bị.

Bốn dạng bằng chứng phần mềm khác nhau

Kiểm tra Có thể xác lập điều gì Tự nó không thể xác lập điều gì
Tổng kiểm tra SHA-256 Tệp khớp với giá trị băm tham chiếu đáng tin cậy Rằng chương trình tham chiếu an toàn hoặc khớp với mã nguồn
Xác minh chữ ký APK Chữ ký gói hợp lệ và xác định một chứng chỉ ký Rằng bên ký đáng tin cậy hoặc mã không có hành vi không mong muốn
Bản dựng có thể tái tạo Mã nguồn và đầu vào xây dựng được chỉ định có thể tạo ra các sản phẩm đầu ra mong đợi Rằng mã nguồn không có lỗ hổng hoặc logic gây hại
Đánh giá và kiểm thử độc lập Các phát hiện về một phiên bản và phạm vi xác định Sự bảo đảm vĩnh viễn bao trùm mọi bản cập nhật tương lai

Tài liệu apksigner của Android giải thích việc xác minh gói và báo cáo chứng chỉ. Định nghĩa của Reproducible Builds giải thích vì sao mã nguồn, môi trường xây dựng và hướng dẫn đều quan trọng khi tái tạo một sản phẩm đầu ra.

Chỉ một kho lưu trữ mã nguồn và tổng kiểm tra được in bên cạnh không phải là kết quả của một bản dựng có thể tái tạo. Tương tự, chữ ký hợp lệ trên một bản phát hành độc hại vẫn là chữ ký hợp lệ.

Cách kiểm tra tệp tải xuống mà không diễn giải quá mức kết quả

Trước hết, xác định bản phát hành mong muốn và lấy APK cùng giá trị băm dự kiến qua kênh phân phối đáng tin cậy. Tính giá trị băm cục bộ. Nếu khác nhau, đừng cài đặt tệp khi chưa giải thích được sự sai lệch: một bản phát hành khác, tải xuống chưa hoàn tất hoặc hành vi sửa đổi trái phép đều có thể gây ra sự không khớp.

Nếu khớp, hãy ghi lại bản phát hành và kết quả. Bạn đã xác lập sự giống nhau từng byte so với tham chiếu đó, chứ không phải sự vắng mặt của hoạt động quét phía máy khách. Nếu cùng một kẻ tấn công có thể thay thế cả tệp tải xuống lẫn tổng kiểm tra hiển thị, phép so sánh vẫn có thể đạt. Tham chiếu độc lập, tính liên tục của khóa ký và sự minh bạch của bản phát hành giúp xử lý các phần khác nhau của vấn đề niềm tin này.

Với tuyên bố về sự tương ứng giữa mã nguồn và tệp nhị phân, hãy tìm hướng dẫn xây dựng được lập thành tài liệu và kết quả tái tạo độc lập cho chính bản phát hành đó. Đừng suy ra đặc tính này từ cụm từ “mã nguồn mở”.

Các bản cập nhật vẫn quan trọng

Hoạt động phân phối phần mềm có thể bị tấn công, nhưng tránh cập nhật bảo mật vô thời hạn không phải là biện pháp phòng vệ tổng quát hợp lý. Bản cập nhật cũng sửa những lỗ hổng có thể bị khai thác. Hãy dùng kênh cập nhật đáng tin cậy, đọc các thông báo bảo mật quan trọng và xác minh bằng chứng của bản phát hành khi mức rủi ro của bạn đòi hỏi. Một phiên bản cũ có lỗi đã biết không an toàn hơn chỉ vì tổng kiểm tra của nó từng khớp.

Proof Lab của Livara xác lập điều gì

Proof Lab của Livara cung cấp phép so sánh giá trị băm APK cục bộ và các minh họa mật mã trong trình duyệt. Trang này nêu rằng nó không chạy đầy đủ các cơ chế ratchet LVR1/LGS1 và không phải là kiểm toán giao thức. Mô hình mối đe dọa cũng giải thích giới hạn khi kẻ tấn công có thể thay thế cả tệp lẫn giá trị băm dự kiến.

Những phép kiểm tra đó hữu ích trong phạm vi của chúng. Chúng không chứng minh điện thoại có cài ứng dụng không chứa phần mềm độc hại, rằng Livara có các bản phát hành có thể tái tạo độc lập, hoặc rằng ứng dụng không thể chứa hành vi chưa được tiết lộ. Hãy đọc riêng tài liệu bảo mật để hiểu các ranh giới bảo vệ tin nhắn được tuyên bố.

Câu hỏi đúng không phải là một huy hiệu có ghi “đã xác minh” hay không. Mà là tuyên bố nào đã được kiểm thử, so với tham chiếu đáng tin cậy nào, cho chính xác bản phát hành nào.

Xác minh ứng dụng trong Proof Lab
CONTINUE THE THREADAndroid & device security ↗
YOU’VE REACHED THE ENDBack to the reading room ↗