安卓APP恶意软件的安全检测机制

随着安卓操作系统的普及和快速发展,安卓恶意软件和测试软件相互间的对抗也愈来愈猛烈。如何高效准确地识别安卓恶意软件对用户的隐私保护和设备安全至关重要。对于传统文章的不足,明确提出了根据多维特征的安卓恶意软件检测方案。该方案利用对Android应用软件包进行反汇编,将手机权限、网络证书、代码混淆等多种特点融合在一起,并应用随机森林模型和支持空间向量模型进行培训。实验结果表明,与简单依赖权限和API特征的传统方式 相比,该方案对恶意软件测试集的检测率达到19.4%。安卓操作系统是应用人数最多的移动操作系统。据调查,到二零二零年十二月截止,谷歌商店Play可以下载350万种以上的APP,每月平均下载人数超过500万种。但是,广阔的应用场景也为恶意软件的发展提供了温床。据调查,二零二零年1月至3月,安卓恶意软件超过48万种,其中木马是最具体的类型。各种数据显示,恶意软件检测是一个重要的问题,随着时间的推移,安卓恶意软件也显示出更强的伪装性,怀疑传统的检测手段是否有效。


这篇文章对于上述问题,明确提出了根据多维特征的安卓恶意软件检测方式 。利用AndroidAPP的反汇编,获取权限,应用应用程序编程接口(ApplicatorDataramchengIncerfacr、API)、网络证书的时效性、代码混淆程度等不同特征,组成空间向量,随后应用随机森林和支持向量计算法进行培训分类器

现阶段,Android恶意代码检测的文章较多,具体思路还可以梳理为三种类型:根据权限和特征的API、程序控制流和数据流和动态行为分析。文章考虑了不同权限的组合和恶意代码的关系,明确提出了根据随机森林的静态恶意代码检测方式 。代码控制流信息也常用于恶意代码检测。


文章明确提出了Dalvik字节代码插入方案,利用监视控制流,实现了对恶意行为的认识。与静态分析相比,动态分析对软件的运行状态有更强的捕捉能力,因此也经常应用于恶意代码检测。文章应用污点分析技术跟踪多个敏感数据源的数据流,从而判断应用是否存在威胁用户隐私的操作,但污点分析费用大,运行效率低。文章结合静态反汇编特点和动态运行特点,用卷积神经网络和长期记忆网络混合的方式 检测恶意应用。


由于Java语言易于逆向的特点,编码混淆技术被广泛应用于安卓程序开发过程中。代码混淆利用去除代码中的语义信息,用等效的代码替换原始代码结构等方式,混淆的代码难以理解,增加逆向成本。文章利用对谷歌官方市场、中国第三方应用市场和恶意软件等3个数据源的10万个以上的应用包进行大规模扫描,统计了常见的3个代码混淆技术的应用情况。据调查,安卓恶意软件对代码混淆技术的应用与普通应用有很大差异。


分享: