Trình cài đặt hỏi quyền truy cập mạng, rồi đến danh bạ, trợ năng và cài đặt chứng chỉ. Chỉ yêu cầu đầu tiên thuộc về công việc. Màn hình thứ hai là nơi đặt quyết định thực sự.

Đánh giá từng yêu cầu dựa trên một tính năng bạn đã chọn, trên nền tảng bạn dùng. Không có danh sách quyền phổ quát nào bao phủ mọi sản phẩm VPN, và một danh sách dài tự nó không chứng minh được gì.

Quyền duy nhất mà công việc thực sự cần

Android yêu cầu người dùng phê duyệt dịch vụ VPN qua hộp thoại hệ thống trước khi bất kỳ đường hầm nào khởi động, và dịch vụ của ứng dụng khai báo BIND_VPN_SERVICE để hệ thống có thể liên kết với nó. Về mặt vận hành, ứng dụng thực hiện việc định tuyến. Sự đồng thuận đến từ người đang giữ thiết bị, trong hộp thoại nêu tên ứng dụng, và việc thu hồi sau đó là một hành động được hỗ trợ.

Các nền tảng Apple diễn đạt cùng ý tưởng đó qua một tiện ích mở rộng mạng cùng phê duyệt cài đặt thay vì màn hình quyền. Windows dùng trình điều khiển bộ chuyển đổi ảo và lời nhắc nâng quyền. Hai hình thức, một ý nghĩa: chương trình này có thể xử lý gói tin. Không có gì trong quyền đó bao gồm việc đọc danh bạ của bạn hay tự phát hành một tổ chức chứng nhận.

Quyền truy cập thêm là một khoản cấp riêng với tác động riêng. Một ứng dụng khách định tuyến muốn có nó cần lý do của chính mình.

Nơi các yêu cầu thêm cần câu chuyện riêng

Một dịch vụ trợ năng có thể đọc nội dung màn hình và hành động thay bạn, điều này vượt xa định tuyến. Quản trị thiết bị có thể áp đặt chính sách khóa và xóa dữ liệu. Một chứng chỉ gốc do người dùng cài đặt cho phép bất kỳ ai giữ khóa tương ứng đọc lưu lượng mà TLS lẽ ra bảo vệ.

Bất kỳ điều nào trong số đó đều có thể chính đáng. Các sản phẩm dành cho thiết bị được quản lý và kiểm soát phụ huynh có thể cần quyền hạn chính sách, và một công cụ hỗ trợ có thể cần trợ năng để dẫn bạn qua các cài đặt.

Yêu cầu là khả năng truy xuất: yêu cầu chỉ vào một tính năng được nêu tên, và tính năng đó hiển thị trong sản phẩm bạn đã cài. Một yêu cầu danh bạ không có màn hình hướng tới danh bạ không có gì để giải thích. Lập luận mã hóa cũng không chuyển được, vì bảo vệ gói tin không nói gì về việc bạn bè của bạn là ai. Một sản phẩm chính đáng vẫn có thể yêu cầu quá nhiều qua một thư viện đi kèm, và đó là một khiếm khuyết cần nêu ra, không phải tội phạm cần báo cáo.

Ghi lại yêu cầu và tính năng mà nó ánh xạ tới, rồi quyết định. Ghi chú đó cũng là thứ bạn đưa cho bộ phận hỗ trợ khi một tính năng hỏng sau khi bị từ chối.

Đọc yêu cầu trên thiết bị

Danh sách trên cửa hàng mô tả ý định, còn gói đã cài mô tả thực tế. Hỏi trình quản lý gói xem điều gì đã được khai báo và điều gì đã được cấp trước khi phê duyệt bất cứ điều gì khác. Cặp này quan trọng nhất khi danh sách và tệp kê khai không khớp nhau.

Hai truy vấn bao phủ phần lớn:

adb shell dumpsys package com.example.vpn | grep -E "requested permissions|install permissions" -A 30
adb shell cmd appops get com.example.vpn

Truy vấn đầu liệt kê các quyền được khai báo so với được cấp, và đó là phép so sánh phơi bày một tệp kê khai quá rộng. Truy vấn thứ hai hiển thị app-ops lúc chạy, gồm các truy cập đặc biệt không bao giờ xuất hiện như quyền thông thường. Nơi không có công cụ dành cho nhà phát triển, hãy đọc cùng những sự thật đó từ màn hình cài đặt của nền tảng.

Những màn hình đó mất một phút và không cần phần mềm. Trợ năng, quản trị thiết bị và kho chứng chỉ mỗi mục đều liệt kê các ứng dụng đang giữ quyền.

Quyết định, rồi giới hạn thiệt hại

Cấp quyền truy cập mạng cho một ứng dụng khách bạn đã chọn, và coi mỗi yêu cầu thêm là một quyết định riêng. Từ chối những yêu cầu không có tính năng tương ứng, rồi xem điều gì hỏng. Một ứng dụng khách định tuyến thất bại khi quyền truy cập danh bạ bị từ chối chưa bao giờ xin danh bạ thay bạn.

Thu hồi một quyền thường vô hiệu hóa một tính năng duy nhất mà không gỡ cài đặt ứng dụng hay phá từng hồ sơ. Sau đó kết nối lại và xác nhận đường hầm vẫn được thiết lập.

Tách hai câu hỏi mà một lời nhắc thường gộp lại: chương trình này được làm gì trên thiết bị, và nhà vận hành của nó làm gì với lưu lượng khi đường hầm đã lên. Câu thứ nhất được trả lời ở đây. Câu thứ hai cần một chính sách lưu trữ, và không hộp thoại nào cung cấp điều đó.

Bài viết liên quan