admin管理员组

文章数量:1532656

2024年4月30日发(作者:)

恶意程序检测的现有技术分析 翟紫伶

发布时间:2021-09-16T03:41:32.054Z 来源:《中国科技人才》2021年第18期 作者: 翟紫伶

[导读] 通过发明专利申请分析现有恶意程序检测技术,主要包括静态检测技术、动态检测技术、基于虚拟机的检测技术,静态检测技术主

要包括签名扫描检测、完整性检测技术和机器学习检测技术;动态检测技术主要为行为监控检测技术。上述检测技术都是目前较为常用的

检测技术,其各有利弊,本领域技术人员在现有恶意检测技术的基础上进一步改进,使其满足系统对于安全的需求。

国家知识产权局专利局专利审查协作广东中心 广东广州 510555

摘要:通过发明专利申请分析现有恶意程序检测技术,主要包括静态检测技术、动态检测技术、基于虚拟机的检测技术,静态检测技

术主要包括签名扫描检测、完整性检测技术和机器学习检测技术;动态检测技术主要为行为监控检测技术。上述检测技术都是目前较为常

用的检测技术,其各有利弊,本领域技术人员在现有恶意检测技术的基础上进一步改进,使其满足系统对于安全的需求。

关键词:专利申请;恶意程序检测;入侵检测;计算机安全

1.引言

近年来,恶意代码的广泛传播和日益泛滥,给信息系统(计算机、手机终端等)的发展带来了不利的影响,也使个人信息、系统存在

安全隐患。因此,研究高效可行的检测方法,准确地发现程序中的隐藏的恶意程序是系统安全研究的主流,而针对恶意程序的检测手段也

推陈出新,相应的专利申请也大量涌现。

2. 恶意程序检测技术

2.1 静态检测技术

2.1.1 签名扫描检测

签名扫描检测技术是基于早期计算机病毒特征发展起来的检测技术。由于当时每一种恶意代码固定不变,通过从恶意代码中抽取不同

于其他程序的字符串,称为签名,组成签名数据库。然后对目标程序进行扫描,如果在程序中发现有匹配的签名值,则判定为恶意代码。

签名信息提取可以手动方法和自动方法来实现。手动方法利用人工对二进制代码进行反汇编,分析反汇编的代码,发现非常规的代码片

段,标示相应机器码作为签名值;自动方法通过构造可被感染的程序,触发恶意代码进行感染,然后分析被感染的程序,发现感染区域中

的相同部分,作为候选,然后在正常程序中进行检查,选择误警率最低的一个或几个作为签名值。

2.1.2 完整性检测技术

完整性检测技术室一种强有力的恶意代码检测技术,也是Cohen推荐采用的检测方式,既能发现已知病毒,也能发现未知病毒。该技术

基于这样一个事情:在正常的计算机操作期间,大多数程序文件和引导记录的内容不会改变。这样在干净的计算机系统状态,取得每个可

执行文件和引导记录的签名,将该信息存放在硬盘的数据库中。以后在文件使用、系统启动过程中,检查文件内容的签名与保存在数据库

中的签名是否一致,因而可以发现文件中是否受到篡改。签名提取算法可利用常见的散列算法如MD5、SHA1等实现。完整性检测技术通过

检测散列值的变化作为判定恶意代码感染的依据,容易实现且保护能力较强。但技术也面临一些问题:不能识别恶意代码的类别和名称,

不能清除恶意代码,对隐藏性恶意代码无效等。此外,程序执行时必须修改其自身,这也使得完整性检测技术会产生误报。

2.1.3机器学习检测技术

基于机器学习的计算机安全应用是近年来计算机安全领域里的一个应用分支,伴随着计算机安全问题的日益严峻和复杂化,基于机器

学习的计算机安全应用已经出现了很对研究成果。本文在概述计算机安全领域里常见的机器学习方法及其应用的基础上,论述了机器学习

方法在软件缺陷查找、恶意程序检测和入侵检测方面的应用技术,对各种机器学习方法做了分析和比较。机器学习包括线性判别分析、多

元线性回归、人工神经网络、支持向量机、粗糙集、增强学习、遗传算法、主成分分析、数据挖掘、决策树、朴素贝叶斯等。机器学习检

测技术是目前检测恶意程序较为可靠的一种技术。

目前关于该领域的专利申请都使用了机器学习算法对提取的特征进行训练,生成特征检测模型实现恶意程序的检测,但他们都各有区

别且各有进步,文献[1][2]申请是针对代码程序提取特征作为机器学习的训练数据。然而,文献[3]针对文献[1][2]的缺陷:当程序被杀毒软

件识别后,攻击者会做程序代码的调整,以避免各种靠特征码查杀的引擎,采用文件信息作为特征提取,因为攻击者一般不会去调整文件

信息,因此将文件信息作为训练特征,生成训练模型去对未知程序进行预测,实现简单,对于修改了代码而保持原文件信息的未知恶意程

序也能够有效查杀。

在现有技术中针对采用机器学习算法来检测恶意程序的逐年申请量如下:

图1 采用机器学习算法检测恶意程序申请量情况

图1所示为,采用机器学习算法检测恶意程序在incopat专利数据库的申请量情况。由图可知,采用机器学习算法来检测恶意程序的申请

量从2002年逐年增长,并在2018年达到了顶峰,这说明神经网络算法在恶意程序检测得到广泛的应用。并于2018之后逐渐回落,主要的原

因是虚拟技术和沙箱技术、以及区块链检测在恶意程序检测技术中的兴起。

2.2 动态检测技术

2.2.1 行为监控检测技术

行为监控检测技术是指通过审查应用程序的执行行为来判断其是否具有恶意属性。恶意行为是在对大量恶意代码和正常程序分析的基

础上归纳下总结的,主要是针对程序对操作系统所产生负面影响的行为,典型的如对执行文件进行写入操作、搜索API函数地址、对关键性

的系统设置(如注册表启动项)进行修改等。目前提出的行为监控检测系统的基本构成一般包含数据收集模块、解释分析模块和匹配算法

三个模块:数据收集模块负责捕获目标程序的执行行为;解释分析模块将收集到的行为表示为易于识别的中间语言,并进行模式提取和建

模;匹配算法用于将中间语言与行为特征匹配。

行为监控检测技术归属于异常检测的范畴,其核心是如何有效的实现数据收集。一般程序对环境的操作行为是通过API函数来实现的,

因此可采用驻留内存的监控程序监视目标程序调用的API及相关参数完成数据收集。

专利[4]和[5]都是通过检测API函数调用行为是否合法以达到检测恶意代码的目的,所不同的是专利文献[4]采用的是调用参数的特征码

是否与先前存储的特征码相匹配,而专利文献[5]采用API函数运行状态信息是否合法以检测是否存在恶意程序。这两种技术方案是这类行

为监控检测技术的典型代表。

2.3 基于虚拟机的检测技术

基于虚拟执行环境的恶意代码检测技术,实现了系统的原型,该系统主要有以下优点:

1、实现检测环境与主机的隔离。该虚拟机检测系统能让运行在虚拟机里面的应用程序在不改变主机资源的条件下尽可能地访问主机的

资源,就是说运行在操作系统级别的虚拟能和主机共享运行环境但是对资源的改变被限定在虚拟机的运行环境中。由于在虚拟隔离环境

中,所以即使是没有觉察的行为对系统做了修改或者可疑软件检测到是虚拟环境而主动禁止其可疑行为的时候,也不会影响到主机,这样

就避免了恶意程序对系统的影响。

2、采用以行为分析为基础的加权分析技术。对可疑程序的行为进行采集后,采用加权分析的方法,当超过一定的阈值,就判断为恶意

代码,且用日志记录了该可疑程序运行的行为。

3、实现了主机环境的重现。该系统采用系统调用重定向技术来实现的,虚拟机尽可能和主机共享资环,虚拟机里只保留修改的部分。

总体来说,该系统能够满足隔离性和主机环境的重现的功能,并且能很好地检测出恶意程序,实验证明该系统是有效的。

3. 小结

目前的恶意程序检测技术在不断的推陈出新,技术随着领域应用更新换代,且该技术在计算机保护和信息安全方面发挥这至关作用。

通过对恶意程序检测技术的研究和总结,便于技术人员实现该技术的利用和改进。

参考文献:

[1]迈克菲股份有限公司,经由信誉系统的恶意软件检测,CN102822839[P],2012.12.12

[2]北京奇虎科技有限公司,基于机器学习的程序识别方法及装置,CN102479298[P],2012.05.30

[3]奇智软件(北京)有限公司,恶意程序检测方法及扫描引擎,CN102779249[P],2012.11.14

[4]科博技术有限公司,一种阻止恶意代码入侵的系统及方法,CN101005497[P],2007.07.25

[5]国家计算机网络与信息安全管理中心,基于沙箱技术的客户端蜜罐网页恶意代码检测方法与装置,CN102088379[P],2011-06-08

本文标签: 检测技术行为程序机器