论文部分内容阅读
随着移动互联网的蓬勃发展,移动智能终端被广泛地应用在人们的日常生活中。近年来,越来越多恶意黑客将攻击目标转移到了移动互联网中的智能平台,相比较而言,由于Android系统的开放性,用户不仅可以通过官方应用商店安装应用,还可以安装从各种其它渠道获得的应用。分散的应用传播方式、不完善的安全机制以及应用本身存在的安全漏洞使得针对Android平台的安全问题愈发严重。为保护Android应用生态环境安全,应对Android应用中存在的诸多安全问题展开深入研究。第三方代码库为应用开发提供了各种高级功能,促进了应用的快速开发,但是也给应用带来了安全隐患。有漏洞的第三方代码库可以将安全威胁带给大量的应用,恶意应用开发者可以通过重打包技术可以篡改、伪造以及注入恶意代码到代码库。由于代码混淆等代码保护技术的广泛使用,使得面向代码库的攻击难以被发现。通过分析应用中第三方代码库的使用特征,提出了基于包名和特征的第三方代码库识别方法,解决了标识符混淆影响对第三方代码库的识别的问题。第三方代码库通常被应用广泛使用,通过将第三方代码库中每个类作为一个项,提出采用基于频繁模式离群点分析的方法来识别应用中的异常第三方代码库,解决了第三方代码库异常检测需要依赖第三方代码文件的问题。随着应用功能变得越来越复杂,应用所需要的权限数量也在逐渐增长,仅依靠权限特征难以高效地区分恶意与正常应用。仅采用应用权限为特征向量的基于机器学习方法的恶意应用检测不能适应正常应用的变化,需要研究正常应用与恶意应用之间差异的原因,改进基于机器学习方法的恶意应用检测效果。通过研究Android应用事件驱动特征,对比大量恶意应用与正常应用在监听事件信息上的差异,发现恶意应用比正常应用监听更多来自系统的事件信息,以此来触发恶意行为。采用实验对比分析不同应用特征运用到恶意应用检测中的效果,结果显示提出的结合应用权限与事件为特征向量的检测方法能够有效地提高恶意应用检测的效果。移动终端是一个隐私密集设备,各种应用都存在使用隐私信息的行为,各种工具被开发出来用于识别应用中隐私泄露,但是自动判断应用是否该使用隐私信息是一个问题。提出基于案例推理的方法,利用安全人员已经分析过的应用内隐私泄露案例,自动分析应用中存在的隐私泄露问题。通过构建基于案例推理的隐私泄露分析引擎,实现了对应用内隐私泄露行为进行推理和判定,有效地识别出潜在的恶意隐私泄露。在Android生态系统中,同一个设备上通常会安装多个应用,Android应用不仅可以通过单个应用为用户提供服务,也可以通过多应用间协作来提供服务,但是恶意应用可以利用这一特性发起特权提升攻击。通过分析多应用共存带来的安全问题,提出通过频繁模式挖掘识别应用使用模式,该模式表明用户通常喜欢同时将哪些应用安装在同一设备上。通过应用间通讯分析识别出有效的应用使用模式,通过分析多应用共存所带来的风险问题,引入背包问题求解多应用共存的安全策略,在安全策略指导下,使用安全隔离域方式来实现多应用间共存的安全环境。