Android VPN权限– 2019研究
许可的目的是为了保护Android用户的隐私.
根据适用于应用程序开发人员的Android文档,权限分为两类-正常和危险.
- 普通权限 –不会对用户的隐私构成风险,系统会自动将其授予应用.
- 危险权限 –可能会影响用户的隐私或设备的正常运行,因此用户必须明确同意授予这些权限.
作为VPN用户,您希望您的VPN不会要求VPN应用程序正常运行不需要的任何危险权限,否则会危害您的隐私.
在这个研究中, 81 Android VPN应用是根据其请求的权限进行评估的.
我们的目标是找出VPN应用程序最常用的权限,以及VPN应用程序不需要的可疑和更可疑的权限,或者这些权限侵犯了用户的隐私或安全性.
所有经过测试的应用都是从Google Play商店下载的,权限列表是直接从该应用的.apk文件中提取的。这是一份更详细的Google电子表格,其中包含来自经过测试的Android VPN应用程序的所有权限.
Contents
VPN最常见的权限
Android针对不同目的具有各种不同的权限。根据应用程序要执行的操作及其操作方式,它可能需要不同的权限集。表1显示了本研究中VPN应用程序请求的最常见权限.
表1. Android VPN应用程序最常请求的权限.
- 绿色: 普通–由Android系统自动授予的权限.
- 红色: 危险-损害用户隐私或系统的权限(用户必须同意).
允许 | 计数 |
android.permission.INTERNET 允许VPN应用程序打开网络套接字. | 81 |
android.permission.ACCESS_NETWORK_STATE 允许VPN应用程序访问有关网络的信息. | 79 |
android.permission.WAKE_LOCK 用于保持设备清醒. | 58 |
android.permission.RECEIVE_BOOT_COMPLETED 通知设备重新启动是否完成. | 55 |
android.permission.ACCESS_WIFI_STATE 允许VPN应用程序访问有关Wi-Fi网络的信息. | 54 |
com.android.vending.BILLING 用于应用内结算. | 50 |
com.google.android.c2dm.permission.RECEIVE 推送通知. | 49 |
com.google.android.finsky.permission.BIND_GET_INSTALL_REFERRER_SERVICE 向VPN开发人员提供有关用户在安装之前如何到达应用程序的信息. | 32 |
android.permission.WRITE_EXTERNAL_STORAGE 允许VPN写入外部存储,例如SD. | 27 |
android.permission.READ_EXTERNAL_STORAGE 允许VPN从外部存储设备(例如SD)读取. | 27 |
android.permission.FOREGROUND_SERVICE 用于保持VPN应用程序运行. | 20 |
android.permission.READ_PHONE_STATE 允许以只读方式访问电话状态,包括设备的电话号码,当前的蜂窝网络信息以及任何正在进行的呼叫的状态. | 18岁 |
android.permission.ACCESS_COARSE_LOCATION 允许API使用WiFi或移动单元数据(或两者)来确定设备的位置. | 16 |
android.permission.CHANGE_WIFI_STATE 允许VPN应用程序更改Wi-Fi连接状态. | 16 |
android.permission.ACCESS_FINE_LOCATION 允许VPN应用访问用户的精确位置. | 9 |
要使VPN正常运行,需要上面的许多权限,其中包括访问Internet,检查连接状态以及使应用保持唤醒状态。这些完全正常,不应引起任何担心。它们被Android开发人员列为“正常”.
某些权限(例如android.permission.INTERNET和android.permission.ACCESS_NETWORK_STATE)已自动授予所有VPN应用.
但是,在此列表中,还存在“危险”权限,这些权限可能会危害Android用户的隐私,这些权限与访问您的确切位置,设备名称,电话号码以及读取SD卡有关.
Alex的回复(Seed 4 Me VPN):
android.permission.ACCESS_FINE_LOCATION
android.permission.ACCESS_COARSE_LOCATION获得Wi-Fi网络名称所需的位置权限。在我们的应用程序中,我们具有“受信任的网络”功能。当用户连接到新的Wi-Fi网络时,该应用程序会通知用户;如果该网络不在“受信任的网络”列表中,则该应用程序会建议用户使用VPN。这是一项非常有用的隐私保护功能,尤其是当您在酒店或咖啡厅连接了免费的Wi-Fi时。由于Android 9是我们的应用的早期版本,因此不需要Android操作系统的许可。该应用程序在开始屏幕上请求许可,并显示消息解释为什么需要许可。如果用户不想使用“受信任的网络”功能,则可以在开始屏幕上不提供访问权限,也可以稍后在系统设置中对此功能禁用对我们应用程序的访问权限(设置 > 应用 & 通知事项 > Seed4.Me VPN > 权限 > 位置)。该应用程序的所有其他功能都可以正常运行.android.permission.READ_EXTERNAL_STORAGE
android.permission.WRITE_EXTERNAL_STORAGE
收集错误日志所需的从外部存储器读取和写入的权限。我们有24/7全天候支持,如果应用程序无法按预期运行,则用户可以收集技术日志。长按“支持”按钮即可获得支持。应用程序将询问用户是否要启用日志收集,如果用户同意,则应用程序会将其日志保存到外部驱动器。用户可以重现该问题,然后再次按“支持”按钮以向我们的支持团队发送电子邮件。日志将自动附加到电子邮件中,并从外部存储中删除.
在用户想要收集日志之前,应用程序不会请求权限。默认情况下,该应用程序的权限为“禁用”,并且该应用程序的其他功能不需要它们。如果用户收集了一次日志,则可以禁用设置访问权限(“设置” > 应用 & 通知事项 > Seed4.Me VPN > 权限 > 存储).
查看“危险”权限
一旦确定了每个81个VPN的所有权限(包括公用VPN),我们就会过滤掉VPN应用正常运行所不需要的权限,并且可能会损害用户的隐私.
本研究中审查的许多VPN应用程序都要求获得VPN正常运行所需的权限.
一些权限是相当无害的。喜欢使手机振动或推送应用通知的功能.
但是其他人则更加可疑。虽然这些权限可以用于良性目的(例如,请求访问coare位置是获取用于处理重新连接的WiFi网络名称的一种方式),但它们也可以损害用户的隐私.
其他人在VPN应用中没有合法目的,例如 WRITE_SETTINGS 允许VPN应用写入系统设置或 READ_LOGS, 允许VPN应用读取底层系统日志文件.
表2.具有最可疑/危险权限的应用程序
VPN名称 | 危险许可数量 | 确切的权限名称 |
瑜伽VPN Google Play连结 | 6 | android.permission.ACCESS_FINE_LOCATION android.permission.READ_PHONE_STATE android.permission.WRITE_SETTINGS android.permission.ACCESS_COARSE_LOCATION android.permission.READ_EXTERNAL_STORAGE android.permission.WRITE_EXTERNAL_STORAGE |
proXPN VPN Google Play连结 | 5 | android.permission.ACCESS_FINE_LOCATION android.permission.READ_PHONE_STATE android.permission.ACCESS_COARSE_LOCATION android.permission.READ_EXTERNAL_STORAGE android.permission.WRITE_EXTERNAL_STORAGE |
Hola免费VPN Google Play连结 | 4 | android.permission.READ_PHONE_STATE android.permission.ACCESS_FINE_LOCATION android.permission.READ_EXTERNAL_STORAGE android.permission.WRITE_EXTERNAL_STORAGE |
Seed4.Me VPN Google Play连结 | 4 | android.permission.ACCESS_FINE_LOCATION android.permission.ACCESS_COARSE_LOCATION android.permission.READ_EXTERNAL_STORAGE android.permission.WRITE_EXTERNAL_STORAGE |
Ovpn蜘蛛 Google Play连结 | 4 | android.permission.ACCESS_FINE_LOCATION android.permission.READ_LOGS android.permission.ACCESS_COARSE_LOCATION android.permission.WRITE_EXTERNAL_STORAGE |
SwitchVPN Google Play连结 | 4 | android.permission.ACCESS_FINE_LOCATION android.permission.ACCESS_COARSE_LOCATION android.permission.READ_EXTERNAL_STORAGE android.permission.WRITE_EXTERNAL_STORAGE |
Zoog VPN Google Play连结 | 4 | android.permission.ACCESS_FINE_LOCATION android.permission.ACCESS_COARSE_LOCATION android.permission.READ_EXTERNAL_STORAGE android.permission.WRITE_EXTERNAL_STORAGE |
最相关的权限由Yoga VPN应用(在Google Play上安装了5百万次以上)和oVPNSpider使用,这些权限要求读取和写入系统设置的权限,对手机状态的访问权限以及具有对SD进行读写功能的确切位置, VPN应用程序不需要.
oVPNSpider和tigerVPN使用的另一个值得注意的权限是READ_LOGS权限。出于隐私方面的考虑,此权限不再对第三方应用程序(例如VPN)可用,并且该应用程序根本不应请求该权限.
以下是Android VPN应用要求的可疑权限的说明:
1. WRITE_EXTERNAL_STORAGE和READ_EXTERNAL_STORAGE
允许VPN读取和写入外部存储-VPN应用程序正常运行并不需要它,并且可能会损害用户的隐私.
- 权限:android.permission.WRITE_EXTERNAL_STORAGE和READ_EXTERNAL_STORAGE
- 由以下27个VPN应用程序使用:Betternet,免费VPN组织,OneVPN,X-VPN,StarVPN,一键式VPN,Yoga VPN,AppVPN,ProXPN,Seed4me VPN,oVPNSpider,Goose VPN,SpyOFF,TouchVPN,SwitchVPN,信任区域,McAfee VPN,SurfEasy,Psiphon, TigerVPN,Dash VPN,热点盾,NordVPN,Hola VPN,SurfShark,VPN Secure,Zoog VPN.
2. READ_PHONE_STATE
允许VPN只读访问电话状态,包括设备的电话号码,当前的蜂窝网络信息以及任何正在进行的呼叫的状态-VPN正常工作不需要.
- 权限:android.permission.READ_PHONE_STATE
- 由以下Android 18 VPN应用程序使用:Avira VPN,免费VPN组织,诺顿安全VPN,VPN一键式,Yoga VPN,HideMyAss,AVG VPN,ProXPN,Goose VPN,Touch VPN,McAfee VPN,SurfEasy,Kaspersky VPN,Speedify,Dash VPN,热点屏蔽,ibVPN, Hola VPN.
3. ACCESS_COARSE_LOCATION
允许VPN使用WiFi或移动小区数据(或两者)来确定设备的位置-潜在的隐私风险.
- 权限:android.permission.ACCESS_COARSE_LOCATION
- 由以下16个VPN应用程序使用:WindScribe,免费VPN组织,Yoga VPN,HideMyAss,Avast VPN,AVG VPN,iVPN,ProXPN,oVPNSpider,TouchVPN,SwitchVPN,Kaspersky VPN,Psiphon VPN,Speedify,Dash VPN,Zoog VPN .
4. ACCESS_FINE_LOCATION
允许VPN应用访问用户的精确位置-高度的隐私风险.
- 权限:android.permission.ACCESS_FINE_LOCATION
- 由以下9个VPN应用程序使用:Yoga VPN,VPN Unlimited,ProXPN,Seed4me VPN,oVPNSpider,SwitchVPN,Dash VPN,Hola VPN,Zoog VPN
5. WRITE_SETTINGS
允许VPN应用读取或写入系统设置-高安全性和隐私风险.
- 权限:android.permission.WRITE_SETTINGS
- 由以下3个VPN应用程序使用:Speedify和Yoga VPN.
6. READ_LOGS
允许VPN应用读取低级系统日志文件。不适用于第三方应用程序,因为日志条目可能包含用户的私人信息-高度的隐私风险.
- 权限:android.permission.READ_LOGS
- 由以下2个VPN应用程序使用:TigerVPN,oVPNSpider.
7. MANAGE_DOCUMENTS
允许VPN应用程序通常作为文档选择器的一部分来管理对文档的访问。仅应平台文档管理应用程序请求此权限。无法将此权限授予第三方应用.
- 权限:android.permission.MANAGE_DOCUMENTS
- 由TigerVPN使用
8.转储
允许应用程序从系统服务中检索状态转储信息。不适用于第三方应用程序.
- 权限:android.permission.DUMP
- 由PureVPN使用
结果
在上一张表中,我们列出了所有经过测试的VPN及其总计的权限,自定义权限和可疑权限.
表3. VPN应用程序按请求的权限排名
VPN名称 | .apk文件名 | 可疑权限 | 总权限 | 自定义权限 |
瑜伽VPN | com.yogavpn | 6 | 13 | 2 |
ProXPN | com.proxpn.proxpn | 5 | 16 | 5 |
达世币VPN | com.actmobile.dashvpn | 5 | 14 | 2 |
种子4我 | me.seed4.app.android | 4 | 17 | 4 |
oVPNSpider | com.ovpnspider | 4 | 8 | 0 |
SwitchVPN | com.switchvpn.ovpn | 4 | 12 | 3 |
你好 | 奥拉 | 4 | 15 | 1个 |
Zoog VPN | com.zoogvpn.android | 4 | 13 | 2 |
免费VPN组织 | org.freevpn | 3 | 12 | 2 |
一键式VPN | com.vpnoneclick.android | 3 | 7 | 0 |
鹅VPN | com.goosevpn.gooseandroid | 3 | 11 | 3 |
触摸VPN | com.northghost.touchvpn | 3 | 14 | 3 |
轻松冲浪 | 舒适 | 3 | 14 | 3 |
赛风VPN | com.psiphon3.subscription | 3 | 11 | 0 |
加速 | com.speedify.speedifyandroid | 3 | 12 | 1个 |
老虎VPN | com.tigeratwork.tigervpn | 3 | 9 | 1个 |
热点盾VPN | hotspotshield.android.vpn | 3 | 16 | 3 |
虚拟专用网 | com.ibvpn.client | 3 | 8 | 0 |
贝特网 | com.freevpnintouch | 2 | 16 | 4 |
OneVPN | com.dave.onevpnfresh | 2 | 9 | 2 |
Windscribe | com.windscribe.vpn | 2 | 14 | 2 |
虚拟专用网 | com.security.xvpn.z35kb | 2 | 13 | 2 |
星际VPN | com.peach.vpn | 2 | 10 | 2 |
HideMyAss | com.hidemyass.hidemyassprovpn | 2 | 19 | 6 |
平均VPN | com.avg.android.vpn | 2 | 19 | 6 |
间谍关闭 | com.spyoff.client.android | 2 | 5 | 0 |
PureVPN | com.gaditek.purevpnics | 2 | 21 | 6 |
信任区 | 区域信任 | 2 | 5 | 0 |
Mcafee安全连接 | com.mcafee.safeconnect.android | 2 | 10 | 2 |
卡巴斯基VPN | com.kaspersky.secure.connection | 2 | 17 | 4 |
冲浪鲨 | com.surfshark.vpnclient.android | 2 | 14 | 4 |
VPN安全 | com.vpnsecure.pty.ltd | 2 | 9 | 1个 |
伊瓦西 | 亲和力 | 1个 | 11 | 2 |
阿维拉幻影VPN | com.avira.vpn.AviraVPNApplication | 1个 | 13 | 1个 |
诺顿安全VPN | com.symantec.securewifi | 1个 | 13 | 3 |
迅雷VPN | com.fast.free.unblock.thunder.vpn | 1个 | 9 | 3 |
应用VPN | appvpn.vpn | 1个 | 8 | 2 |
Avast VPN | com.avast.android.vpn | 1个 | 19 | 7 |
VPN联系 | com.vpnintouch.android | 1个 | 9 | 2 |
虚拟专用网 | net.ivpn.client | 1个 | 6 | 0 |
VPN无限 | com.simplexsolutionsinc.vpn_unlimited | 1个 | 17 | 4 |
开放VPN | de.blinkt.openvpn | 1个 | 5 | 0 |
隐藏我的IP | com.hidemyip.hideme | 1个 | 10 | 1个 |
私人VPN | com.pvpn.privatevpn | 1个 | 7 | 0 |
VPN专区 | com.vpnarea | 1个 | 5 | 0 |
空中VPN | org.airvpn.eddie | 1个 | 4 | 0 |
匿名VPN | com.aprovpn.openvpn | 1个 | 4 | 0 |
NordVPN | com.nordvpn.android | 1个 | 14 | 4 |
私人上网 | com.privateinternetaccess.android | 1个 | 5 | 0 |
VPN交流 | ac.vpn.androidapp | 1个 | 5 | 1个 |
强VPN | com.strongvpn | 0 | 5 | 0 |
Hoxx VPN | com.hoxxvpn.main | 0 | 3 | 0 |
TurboVPN | free.vpn.unblock.proxy.turbovpn | 0 | 7 | 2 |
VPN主机 | 免费.vpn.unblock.proxy.vpn.master.pro | 0 | 7 | 2 |
断开我的连接 | com.disconnect.samsungcontentblocker | 0 | 3 | 1个 |
六角科技 | 技术六 | 0 | 12 | 4 |
网络鬼 | de.mobileconcepts.cyberghost | 0 | 11 | 4 |
AstrillVPN | com.astrill.astrillvpn | 0 | 2 | 0 |
守卫者 | net.torguard.openvpn.client | 0 | 6 | 0 |
超冲浪 | us.ultrasurf.mobile.ultrasurf | 0 | 1个 | 0 |
质子VPN | com.protonvpn.android | 0 | 5 | 0 |
VPN 360 | co.infinitysoft.vpn360 | 0 | 6 | 2 |
F-Secure VPN | com.fsecure.freedome.vpn.security.privacy.android | 0 | 10 | 2 |
IPVanish | com.ixolit.ipvanish | 0 | 5 | 0 |
浏览器VPN | com.browsec.vpn | 0 | 8 | 2 |
仙人掌VPN | cactusvpn.app | 0 | 8 | 2 |
私人隧道 | net.openvpn.privatetunnel | 0 | 6 | 0 |
缓冲VPN | com.buffered.vpn | 0 | 4 | 0 |
LiquidVPN | com.liquidvpn.liquidvpn | 0 | 3 | 0 |
黑色VPN | com.blackvpn | 0 | 7 | 2 |
热点VPN | com.hotspotvpn.android | 0 | 5 | 0 |
点VPN | com.dotvpn.vpn | 0 | 5 | 0 |
ZenMate | com.zenmate.android | 0 | 12 | 4 |
加密我 | com.stackpath.cloak | 0 | 10 | 3 |
ExpressVPN | com.expressvpn.vpn | 0 | 10 | 2 |
安全VPN | com.safervpn.android | 0 | 8 | 2 |
最快的VPN | com.vpn.fastestvpnservice | 0 | 6 | 2 |
VPN集线器 | com.appatomic.vpnhub | 0 | 9 | 3 |
VPN通道 | com.oneonone.vpntunnel.android | 0 | 8 | 2 |
虚拟专用网 | com.goldenfrog.vyprvpn.app | 0 | 8 | 2 |
链接到电子表格,其中包含VPN要求的所有权限.
从理论上讲,VPN应用程序只需要几个权限即可运行。 INTERNET和ACCESS_NETWORK_STATE通常应该足够.
但是,平均而言,每个VPN应用要求11个权限.
Android为应用程序利用提供了多种可能的许可。但是,应用程序也有可能定义自己的权限。在许多情况下,这些权限是无害的,例如允许某个应用与制造商的云系统对话(这些应用通常要求使用该许可).
排在最上方的是具有最危险权限(可能会影响用户隐私)的VPN应用。特别是Yoga VPN,ProxPN和TigerVPN
但是,使用大量危险权限 可能引起怀疑.
在Android上选择和安装VPN应用时,注意权限很重要。阅读说明,并考虑该应用是否真的需要记录您的能力以便提供VPN服务。在这项研究中,一些最大的公司的应用程序被证明是最可疑的,所以您不能只相信知名人士.