应用专家系统开发Windows恶意代码检测系统的研究水

来源:南粤论文中心 作者:周瑞丽,潘剑锋,谭小 发表于:2010-05-13 07:58  点击:
【关健词】启发式技术;专家系统;行为检测
【摘要】传统的基于特征的恶意代码检测方法无法检测未知恶意代码以及一些采用加壳等规避技术的恶意代码。为 克服这些缺点,文章提出了基于专家系统的启发式检测方法。该方法可以检测采用了底层技术的恶意代码,如 rootldt,以及加过壳或加过密的恶意代码,而且其检测率比一些知名的反病毒工具的检测率要高。

 
O    引言

恶意代码是指有恶意企图的程序,它可能会损害执行的 机器或者它传播的网络【lJ。传统的恶意代码检测主要是基于 特征码扫描Ⅲ的检测技术,其本质决定只能检测已知恶意代 码,对未知病毒的检测能力极弱。为此,本文提出了一种基 于专家系统的启发式Ⅲ恶意代码检测系统框架并实现了该系 统。该系统的优势是:准确性和高性能;能够检测已知或未

检测采用了一些加壳等规避技术的恶意代码。

1              专家系统

专家系统是一个具有智能特点的计算机程序,它的智能 化主要表现为能够在特定的领域内模仿人类专家思维来求解 复杂问题。本文采用的专家系统工具是CLIPs【4】,其基本组 成为:事实表、知识库、推理机。本文之所以采用cLIPS专 家系统是因为.它是用C语言开发的可以提高速度和可移植
性:同时使用强大的模式匹配算R啦而且CLIPS不仅是免
费的而且具有完备的源程序说明文档;CLIPs可以被安装在 许多计算机系列上。

2恶意代码检测系统的框架

图l显示了基于专家系统的恶意代码检测系统的框架。该 系统包括5个主要部分,分别为=知识库、事实表、推理引擎、 行为捕获与预处理模块,用户界面。该系统检测时,通过它的
行为捕获与预处理模块收集主机中发生的行为,然后根据知识
瓠 的恶意代码的可疑行为的知识,用专家系统推理引擎进行推
理并给出推理结果以判断被检程序是否是恶意代码。该系统检 测时的工作流程如下.主程序加载并初始化CLms推理引擎, 启动行为捕获与预处理模块收集系统中的各类信息数据,并将 这些数据转换成事实的表示形式添加到事实表中,然后推理引 擎加载知识库和事实表并开始推理,最后给出判断被检程序是 否是恶意的推理结果。下面将具体介绍各个部分。

图l基于专家系统的恶意代码检测系统框架

2.1知识库 这一部分包括领域知识和以推理规则形式表示的行为知
识。领域知识是指操作系统方面的知识,包括系统进程列表、 系统服务列表、文件系统知识,注册表键等。行为知识是关 于不同种类的恶意代码的主要可疑行为的专家知识。以内存 驻留型恶意代码和木马为例,来讨论行为知识库的构造。内 存驻留型恶意代码的工作过程主要包括以下几个步骤:
——获得系统的控制权。
——为恶意代码自身分配一块内存空间。
——将恶意代码拷贝到新分配的内存空间中。
——激活刚刚拷贝的恶意程序体。
——通过钩挂(Hook)方式接管代码执行流程。
——感染新的文件或者系统。
上述步骤是内存驻留型恶意代码最典型的工作模式,但 是还有一些其他的工作方式,可能并不需要完成上述所有步 骤。这类恶意代码的主要恶意行为是:在其他进程的内存空 间中分配一块内存;向该块内存中写入数据;进行一些钩挂 等。将这些行为特征知识表示为规则的形式如图2所示。
万方数据
典型基本木马的行为列表包括:设置自身在重启时自动
运行;建立隐蔽的通讯或者控制通道;能进行广泛的基本系 统控制;试图收集密码或其他机密信息;开启一个端口;有 隐蔽代码;有间谍代码、插入进程、插入窗口等;有权限提 升代码。根据木马的工作方式,有时并不需要收集到上述所 有行为即能判断出其是恶意代码。如某些木马具有如下行为
——运行后生成新的病毒文件,多释放在系统目录下,
如C: \wfndow8\system52。
——通过修改注册表的莱些项将自身或生成的.exe或.
dll文件设置为自启动。
——修改其他进程内存,多是修改expIorer.exe进程的
内存空间。
——DLL注入,多是将.d¨或.dat等文件注入到莱些正
在运行的进程中。
——安装全局钩子。
——印象劫持一些重要程序,如regedlt.e×e等和很多安
全工具。
——禁用注册表或任务管理器等。
——底层键盘存取行为。
——注册表转储、创建远线程等行为。
这些行为实现了上述典型基本木马的行为列表中大部 分。而且通过这些行为中的几项已经可以判断出其恶意性。 故这些木马的主要恶意行为可以表示为:自身或其生成的文 件通过某种方式实现自启动或内存驻留;非法修改系统进程 的内存空间;向多个正在运行的进程中进行注入操作;印象 劫持很多安全工具;禁用注册表或任务管理器;注册表转储 等。将这些行为特征知识表示为规则的形式,如图3所示。其 他种类的恶意代码也都有其显著的恶意行为,可将它们表示 成规则的形式载入规则库中,用于恶意代码的检测。

上述规则中用到的自定义模板结构部分将在事实表一节 进行描述。
2.2行为捕获与预处理模块
行为捕获与预处理模块,能够捕获系统服务调用及参数
 
信息,驱动间通讯信息,内核模式或用户模式的mhne   hook,
IAT hook、EAT hook以及内核模式的Driver    dispatch hook,NDIS hook等痕迹信息,以及进程控制块.内核线 程控制块、内核模块等系统关键内核数据。
(1)截获系统服务调用可以捕获存在用户模式代码的恶 意软件行为,也能截获纯核心态恶意软件部分行为。行为捕 获模块通过HoOK来获取所有的系统服务调用并收集所有相 关感兴趣的信息。
(2)驱动间通讯截获内核驱动间的数据流,主要包括: (a)钩挂驱动对象的分派例程,NT架构系统通常在加载一个 驱动后为其分配一个驱动对象结构,驱动程序初始化时填充 对象结构中的多个分派例程,之后操作系统和其他驱动程序 就可以使用这些分派例程与之通信。因此,替换这些分派例
程就可以截获驱动间通信,如截获文件、磁盘等的访问请求
(b)钩挂系统内核的驱动通信有关函数,一般上层驱动向下层 驱动发出请求使用一些系统提供内核函数,因此可以替换函
数指针或直接Inlille钩挂相关函数截获通信(c)NDIs钩挂截
获网络的访问请求数据。 (3)扫描HooK的种类包括内核模式或用户模式的(责任编辑:南粤论文中心)转贴于南粤论文中心: http://www.nylw.net(南粤论文中心__代写代发论文_毕业论文带写_广州职称论文代发_广州论文网)

顶一下
(0)
0%
踩一下
(0)
0%


版权声明:因本文均来自于网络,如果有版权方面侵犯,请及时联系本站删除.