论文部分内容阅读
摘要:本文首先对恶意应用检测技术进行技术分支介绍,然后对全球范围内的恶意应用检测领域的专利申请进行检索,分析了恶意应用检测技术演进路线,及各个技术分支的发展过程,最后进行了总结。
关键词:恶意应用;检测技术;安全;隐私;风险
1、引言
随着移动互联网的发展以及以智能手机为代表的智能终端的普及,恶意软件给人们造成的诸如经济损失、隐私泄露等后果也会越来越严重。相较于传统PC,智能手机等终端设备同人们的生活更加密切,恶意软件造成的危害会更加严重,想要最大限度的保障用户的隐私和利益,降低恶意软件对用户的威胁,就必须采取有效的方法对恶意应用进行检测。
2、恶意应用检测方法技术分支
在恶意应用检测方面,目前主要的分析技术可以分为:静态检测技术、动态检测技术、动静态结合检测技术、机器学习检测技术。静态检测和动态检测的主要区别在于是否实际运行程序进行检测。动态分析方法一般监测系统调用、网络访问、文件和内存修改,信息的访问模式和處理行为等,具体的分析方法包括:特征提取和行为分析、语义分析、污点跟踪等。将机器学习算法应用到恶意软件检测过程中,是近年来研究的热点,机器学习检测技术主要包括:决策树、随机森林、支持向量、神经网络、贝叶斯算法、最近邻法KNN等。
3、恶意应用检测技术相关专利技术发展
通过关键词和分类号,在CNABS,CNTXT,VEN和incopat专利数据,对全球范围内的恶意应用检测领域的专利申请进行检索,并参考相关非专利文献,经过去噪、人工筛选、标引得到最终所要分析的专利数据样本1471件,其中静态检测技术申请量378件,动态检测技术584件,动静态结合检测技术267件,机器学习分类检测技术242件。经检索发现,自2001年至2008年以前发展非常缓慢,每年的申请量都在20件以下,主要可能于这一时期恶意应用的检测主要针对PC端,并且恶意应用问题技术尚未得到广泛的关注有关。2009年到2011年申请量开始缓慢增加,每年的申请量增长到100件左右,恶意应用的检测技术开始得到关注,2012年以后,专利申请量得到快速发展,这与移动互联网的快速发展和智能终端的应用的普及有着密切的关系。下面选取各个时期代表性专利介绍具体技术分支的演进。
静态检测技术是通过静态分析,获取应用程序的特征码,如签名特征、权限特征、API调用特征等样本的特征进行比对,进而判定应用程序是否有恶意行为,US20030074573A1提出了通过使用与用于压缩计算机文件相同的压缩算法压缩恶意软件签名来扫描压缩计算机文件,该方法比解压完整压缩的计算机文件更有效率,US20050028002A1提出了将可执行二进制文件转换为功能唯一形式,通过避免直接比较病毒代码的表达,而是查看其功能,旨在隐藏病毒代码的混淆技术的效力大大降低,US20070240218A1提出将一个或多个恶意软件签名的散列部分与来自可疑应用的散列进行散列比较,以确定可疑应用是否是无恶意软件的方法。US8312545B2通过计算可执行文件的校验和并将该校验和与从可执行文件的无恶意软件副本获得的校验和进行比较来验证可执行文件是否是无恶意软件,US20160057159A1基于语义的方法,加权上下文API依赖图被提取为程序语义来构建特征集,通过依赖关系图对恶意软件进行分类。
动态分析检测技术领域,US6775780B1提出了一种通过分析模拟软件期间进行的系统调用的模式来确定软件是否可能表现出恶意行为,US20050188272A1公开了一种根据所述代码模块的所表现出的行为检测一个可执行代码模块中的恶意软件方法,US7779472B1提出了使用虚拟机仿真可执行文件,仿真期间虚拟机跟踪应用编程接口(APIs),仿真期间和扫描期间确定的API与一组已知的行为进行比较,基于行为来检测恶意应用,US20060015940A1提出检测可执行文件内API调用来指示是否是恶意应用,CN103207969A,通过对插桩收集的数据进行分析来确定待测软件是否包含恶意代码,前置性地检测恶意的Android软件,有助于最小化用户的Android系统可能遭受的安全危害。
在动静态结合检测领域,US20080184367A1,提供了用于执行基于数据熵确定可疑数据的恶意软件检测的系统和方法,US8832829B2,基于网络的二进制文件提取和分析的恶意软件检测,通过静态分析提取和虚拟环境重放分析确定是否存在可疑,US20150096022A1提出了一种动态自适应框架和智能恶意软件分类的方法,恶意软件的分类器105来分类标本是否可能恶意基于所述静态分析和动态分析的结果。
机器学习检测技术主要是通过大量的正常应用和恶意应用的特征来训练学习并产生一个分类器,这个分类器能够实现对未知应用的判断。US8161548B1,提出了一种基于支持向量机(SVM)算法的恶意软件的分类器,US20070294768A1,提出已知的恶意代码样本是通过诸如决策树和人工神经网络之类的机器学习过程学习的,根据机器学习过程的结果识别已知和未知的恶意代码样本,US20080184371A1,提出已知的恶意代码样本是通过决策树,朴素贝叶斯,贝叶斯网络和人工神经网络机器学习过程学习,US20120227105A1,一种用于确定软件应用程序是否是恶意的计算机实现的方法,从软件应用程序提取特征向量,将特征向量应用于分类算法,分类算法开发由支持向量机,神经网络,决策树,朴素贝叶斯,逻辑回归组成的组中选择。
4、结语
本文从恶意应用检测技术手段入手,并对相应的典型技术方案及专利进行分析,就其发明点进行分类,着重关注了主要技术分支的技术演进以及本领域的核心专利,完整地了解恶意应用检测技术当前的发展情况。
参考文献:
[1] 张玉清等.Android安全综述[J].计算机研究与发展,2014,51(5):1385-139630-35.
[2] 李江华,邱晨.Android恶意软件检测方法研究综述[J].计算机应用研究优先出版.预排期卷2019,36(1).
[3] 王站.Android平台恶意代码静态检测技术研究[D].电子科技大学,2015.
[4] Shabtai A.Malware detection on mobile devices[C].Proceeding of the11th International Conferenceon Mobile Data Management,Kansas City Missouri USA:IEEE,2010:289-290.
关键词:恶意应用;检测技术;安全;隐私;风险
1、引言
随着移动互联网的发展以及以智能手机为代表的智能终端的普及,恶意软件给人们造成的诸如经济损失、隐私泄露等后果也会越来越严重。相较于传统PC,智能手机等终端设备同人们的生活更加密切,恶意软件造成的危害会更加严重,想要最大限度的保障用户的隐私和利益,降低恶意软件对用户的威胁,就必须采取有效的方法对恶意应用进行检测。
2、恶意应用检测方法技术分支
在恶意应用检测方面,目前主要的分析技术可以分为:静态检测技术、动态检测技术、动静态结合检测技术、机器学习检测技术。静态检测和动态检测的主要区别在于是否实际运行程序进行检测。动态分析方法一般监测系统调用、网络访问、文件和内存修改,信息的访问模式和處理行为等,具体的分析方法包括:特征提取和行为分析、语义分析、污点跟踪等。将机器学习算法应用到恶意软件检测过程中,是近年来研究的热点,机器学习检测技术主要包括:决策树、随机森林、支持向量、神经网络、贝叶斯算法、最近邻法KNN等。
3、恶意应用检测技术相关专利技术发展
通过关键词和分类号,在CNABS,CNTXT,VEN和incopat专利数据,对全球范围内的恶意应用检测领域的专利申请进行检索,并参考相关非专利文献,经过去噪、人工筛选、标引得到最终所要分析的专利数据样本1471件,其中静态检测技术申请量378件,动态检测技术584件,动静态结合检测技术267件,机器学习分类检测技术242件。经检索发现,自2001年至2008年以前发展非常缓慢,每年的申请量都在20件以下,主要可能于这一时期恶意应用的检测主要针对PC端,并且恶意应用问题技术尚未得到广泛的关注有关。2009年到2011年申请量开始缓慢增加,每年的申请量增长到100件左右,恶意应用的检测技术开始得到关注,2012年以后,专利申请量得到快速发展,这与移动互联网的快速发展和智能终端的应用的普及有着密切的关系。下面选取各个时期代表性专利介绍具体技术分支的演进。
静态检测技术是通过静态分析,获取应用程序的特征码,如签名特征、权限特征、API调用特征等样本的特征进行比对,进而判定应用程序是否有恶意行为,US20030074573A1提出了通过使用与用于压缩计算机文件相同的压缩算法压缩恶意软件签名来扫描压缩计算机文件,该方法比解压完整压缩的计算机文件更有效率,US20050028002A1提出了将可执行二进制文件转换为功能唯一形式,通过避免直接比较病毒代码的表达,而是查看其功能,旨在隐藏病毒代码的混淆技术的效力大大降低,US20070240218A1提出将一个或多个恶意软件签名的散列部分与来自可疑应用的散列进行散列比较,以确定可疑应用是否是无恶意软件的方法。US8312545B2通过计算可执行文件的校验和并将该校验和与从可执行文件的无恶意软件副本获得的校验和进行比较来验证可执行文件是否是无恶意软件,US20160057159A1基于语义的方法,加权上下文API依赖图被提取为程序语义来构建特征集,通过依赖关系图对恶意软件进行分类。
动态分析检测技术领域,US6775780B1提出了一种通过分析模拟软件期间进行的系统调用的模式来确定软件是否可能表现出恶意行为,US20050188272A1公开了一种根据所述代码模块的所表现出的行为检测一个可执行代码模块中的恶意软件方法,US7779472B1提出了使用虚拟机仿真可执行文件,仿真期间虚拟机跟踪应用编程接口(APIs),仿真期间和扫描期间确定的API与一组已知的行为进行比较,基于行为来检测恶意应用,US20060015940A1提出检测可执行文件内API调用来指示是否是恶意应用,CN103207969A,通过对插桩收集的数据进行分析来确定待测软件是否包含恶意代码,前置性地检测恶意的Android软件,有助于最小化用户的Android系统可能遭受的安全危害。
在动静态结合检测领域,US20080184367A1,提供了用于执行基于数据熵确定可疑数据的恶意软件检测的系统和方法,US8832829B2,基于网络的二进制文件提取和分析的恶意软件检测,通过静态分析提取和虚拟环境重放分析确定是否存在可疑,US20150096022A1提出了一种动态自适应框架和智能恶意软件分类的方法,恶意软件的分类器105来分类标本是否可能恶意基于所述静态分析和动态分析的结果。
机器学习检测技术主要是通过大量的正常应用和恶意应用的特征来训练学习并产生一个分类器,这个分类器能够实现对未知应用的判断。US8161548B1,提出了一种基于支持向量机(SVM)算法的恶意软件的分类器,US20070294768A1,提出已知的恶意代码样本是通过诸如决策树和人工神经网络之类的机器学习过程学习的,根据机器学习过程的结果识别已知和未知的恶意代码样本,US20080184371A1,提出已知的恶意代码样本是通过决策树,朴素贝叶斯,贝叶斯网络和人工神经网络机器学习过程学习,US20120227105A1,一种用于确定软件应用程序是否是恶意的计算机实现的方法,从软件应用程序提取特征向量,将特征向量应用于分类算法,分类算法开发由支持向量机,神经网络,决策树,朴素贝叶斯,逻辑回归组成的组中选择。
4、结语
本文从恶意应用检测技术手段入手,并对相应的典型技术方案及专利进行分析,就其发明点进行分类,着重关注了主要技术分支的技术演进以及本领域的核心专利,完整地了解恶意应用检测技术当前的发展情况。
参考文献:
[1] 张玉清等.Android安全综述[J].计算机研究与发展,2014,51(5):1385-139630-35.
[2] 李江华,邱晨.Android恶意软件检测方法研究综述[J].计算机应用研究优先出版.预排期卷2019,36(1).
[3] 王站.Android平台恶意代码静态检测技术研究[D].电子科技大学,2015.
[4] Shabtai A.Malware detection on mobile devices[C].Proceeding of the11th International Conferenceon Mobile Data Management,Kansas City Missouri USA:IEEE,2010:289-290.