他们可能会要求用户在不知不觉中授予他们非常关键的权限。查看此应用的“权限”标签(截至 2012 年 6 月 15 日):https ://play.google.com/store/apps/details?id=com.nqmobile.antivirus20&hl=en 。
这个应用程序获得的权限列表令人不寒而栗。除其他事项外:
系统工具检索正在运行的应用程序 允许该应用程序检索有关当前和最近运行的任务的信息。恶意应用可能会发现有关其他应用的私人信息。
更改/拦截网络设置和流量 允许应用更改网络设置并拦截和检查所有网络流量,例如更改任何 APN 的代理和端口。恶意应用程序可能会在您不知情的情况下监控、重定向或修改网络数据包。
阻止平板电脑休眠 阻止手机休眠 允许该应用阻止平板电脑进入休眠状态。允许该应用阻止手机进入睡眠状态。
更改您的 UI 设置 允许应用更改当前配置,例如区域设置或整体字体大小。修改全局系统设置 允许应用修改系统的设置数据。恶意应用程序可能会破坏您的系统配置。
显示系统级警报 允许应用显示系统警报窗口。恶意应用程序可能会占据整个屏幕。
装载和卸载文件系统 允许应用装载和卸载可移动存储的文件系统。
更改网络连接 允许应用更改网络连接状态。
更改 WI-FI 状态 允许应用连接和断开 Wi-Fi 接入点,并更改配置的 Wi-Fi 网络。
- 更新 -
我还发现,如果要求 Android 包管理器删除一个包,它几乎只会删除它。在这样做之前它执行的唯一检查是正在删除的包当前是否已注册为具有活动的设备管理员:
try {
if (dpm != null && dpm.packageHasActiveAdmins(packageName)) {
Slog.w(TAG, "Not removing package " + packageName + ": has active device admin");
return PackageManager.DELETE_FAILED_DEVICE_POLICY_MANAGER;
}
} catch (RemoteException e) {
}
请参阅此处AOSP 源中 PackageManagerService 中的第 6900 行。
为此,应用程序必须由用户显式注册为设备管理员。请参阅此处有关设备管理的说明:http: //developer.android.com/training/enterprise/device-management-policy.html。