摘要:
Android系统使用权限机制对应用程序进行控制,即应用程序需要使用哪些系统资源就必须提前声明相应的权限。为了确保安全性和可靠性,应用程序声明权限时应该满足最小特权原则,即只声明其所需要使用到的最少权限,但现实中有很多应用存在权限过度声明的现象,给用户带来安全隐患。提出了一种Android应用程序权限自动裁剪系统PTailor,通过对Android应用程序安装文件(APK文件)进行分析和修改,使其满足最小特权原则。PTailor首先从APK文件中提取程序所调用的所有系统API,并在预先生成的API权限映射表中查找该API所对应的系统权限,从而得到应用程序实际使用到的最少权限列表。然后根据该权限列表对程序的权限声明文件进行修改,裁剪掉已声明但未使用的权限。最后将裁剪过的权限声明文件与程序的其他部分重新合并成新的APK文件,新的APK文件中除了所声明权限满足最小特权原则外,其结构和语义都没有发生改变。使用PTailor对现实中的1 246个Android应用进行权限裁剪实验,实验结果表明,PTailor能够在很短的时间内完成权限分析和裁剪,而且大多数被裁剪的程序都能够正确运行。