VPN 앱이 연락처와 접근성 권한을 요구합니다: 무엇을 허용해야 할까
VPN에는 네트워크 권한 하나만 필요합니다. 접근성, 연락처, 인증서 설치에는 라우팅 기능이 제공할 수 없는 각자의 이유가 필요합니다.
설치 프로그램은 먼저 네트워크 접근을 요구하고, 이어서 연락처, 접근성, 인증서 설치를 요구합니다. 이 작업에 속하는 것은 첫 번째 요청뿐입니다. 실제 결정은 두 번째 화면에서 이뤄집니다.
선택한 기능과 사용하는 플랫폼을 기준으로 각 요청을 판단하세요. 모든 VPN 제품을 아우르는 보편적인 권한 목록은 없으며, 긴 목록 자체로는 아무것도 증명하지 못합니다.
이 작업이 정말로 필요로 하는 유일한 권한
Android는 터널이 시작되기 전에 시스템 대화상자로 VPN 서비스를 승인하도록 사용자에게 요청하며, 앱의 서비스는 시스템이 연결할 수 있도록 BIND_VPN_SERVICE를 선언합니다. 운영상 앱이 라우팅 작업을 수행합니다. 동의는 기기를 가진 사람으로부터, 앱 이름을 밝히는 대화상자에서 이뤄지며, 나중에 이를 철회하는 것도 지원되는 동작입니다.
Apple 플랫폼은 같은 개념을 권한 화면 대신 네트워크 확장과 설치 승인으로 표현합니다. Windows는 가상 어댑터 드라이버와 권한 상승 프롬프트를 사용합니다. 두 가지 형태, 하나의 의미: 이 프로그램은 패킷을 처리할 수 있습니다. 그 승인에는 주소록 읽기나 자체 인증 기관 발급이 포함되지 않습니다.
추가 접근은 별개의 효력을 지닌 별개의 권한입니다. 그것을 원하는 라우팅 클라이언트에는 그 나름의 이유가 필요합니다.
추가 요청에 각자의 설명이 필요한 경우
접근성 서비스는 화면 내용을 읽고 사용자를 대신해 동작할 수 있습니다, 이는 라우팅을 효씬 넘어섭니다. 기기 관리는 잠금 정책을 강제하고 데이터를 지울 수 있습니다. 사용자가 설치한 루트 인증서가 있으면 해당 키를 가진 사람은 TLS가 보호했을 트래픽을 읽을 수 있습니다.
이 중 어느 것도 정당할 수 있습니다. 관리 기기용 제품과 자녀 보호 기능은 정책 권한이 필요할 수 있고, 지원 도구는 설정을 안내하기 위해 접근성이 필요할 수 있습니다.
요구 사항은 추적 가능성, 즉 요청이 이름이 붙은 기능을 가리키고 그 기능이 설치한 제품에서 확인되어야 한다는 것입니다. 연락처를 보여 주는 화면이 없는 연락처 요청에는 내놓을 설명이 없습니다. 암호화 논리도 통하지 않습니다, 패킷 보호는 친구가 누구인지에 대해 아무 말도 하지 않기 때문입니다. 정당한 제품도 함께 포함된 라이브러리를 통해 과도하게 요청할 수 있으며, 그것은 알려야 할 결함이지 신고해야 할 범죄가 아닙니다.
요청과 그에 대응하는 기능을 기록한 뒤 결정하세요. 그 메모는 거부 이후 기능이 깨졌을 때 지원 팀에 보여 줄 자료이기도 합니다.
기기에서 요청 읽기
스토어 등록 정보는 의도를 설명하고, 설치된 패키지는 현실을 설명합니다. 다른 무엇을 승인하기 전에 패키지 관리자에게 무엇이 선언되었고 무엇이 부여되었는지 물어보세요. 등록 정보와 매니페스트가 어긋날 때 이 짝이 가장 중요합니다.
두 가지 질의로 대부분을 확인할 수 있습니다:
adb shell dumpsys package com.example.vpn | grep -E "requested permissions|install permissions" -A 30 adb shell cmd appops get com.example.vpn
첫 번째는 선언된 권한과 부여된 권한을 나란히 보여 주며, 바로 이 비교가 지나치게 넓은 매니페스트를 드러냅니다. 두 번째는 런타임 앱 작업을 보여 주며, 일반 권한으로는 결코 나타나지 않는 특수 접근도 포함합니다. 개발자 도구가 없으면 플랫폼 설정 화면에서 같은 사실을 읽으세요.
그 화면들은 일 분이면 충분하고 소프트웨어도 필요 없습니다. 접근성, 기기 관리, 인증서 저장소가 각각 권한을 가진 앱을 나열합니다.
결정하고, 그다음 피해를 줄이기
선택한 클라이언트에 네트워크 권한을 주고, 추가 요청은 각각 별개의 결정으로 다루세요. 대응하는 기능이 없는 요청은 거부하고 나서 무엇이 깨지는지 보세요. 연락처 접근이 거부되었을 때 실패하는 라우팅 클라이언트는 애초에 사용자를 대신해 연락처를 요청한 적이 없습니다.
권한 하나를 철회하면 보통 앱을 제거하지 않고 각 프로필을 해체하지도 않은 채 기능 하나만 비활성화됩니다. 그 뒤 다시 연결해 터널이 여전히 수립되는지 확인하세요.
하나의 요청이 으례 뒤섞는 두 질문, 즉 이 프로그램이 기기에서 무엇을 해도 되는지와 터널이 올라간 뒤 운영자가 트래픽을 어떻게 다루는지를 분리하세요. 전자는 여기서 답합니다. 후자는 보존 정책이 필요하며 어느 대화상자도 그것을 제공하지 않습니다.