王泽东
(中国电力工程顾问集团有限公司,北京 100120)
随着计算机互联网技术的迅速发展,信息化技术已经广泛应用到政府民生、科研、制造等领域,信息化带来了种种便捷的同时,随之而来诸如恶意软件、病毒等许多安全问题。尤其是恶意软件,由于其攻击具有强隐蔽性、危害大等特点,严重威胁信息系统安全。本文设计了基于行为分析的恶意软件防护系统,通过实时动态监测信息系统,提高系统的安全防护能力。
调研分析传统的分析恶意软件技术和恶意软件检测方法,重点分析恶意软件在信息搜索、信息获取、信息转移、信息发送等各个环节中的行为特征,设计行为特征模型,形成行为特征库,用于对恶意软件进行自动检查和分析。常用的恶意软件检测方法主要有以下三种:(1)静态恶意软件检测;(2)基于信息流的恶意软件检测;(3)动态恶意软件监测。
静态恶意软件检测技术主要通过检测程序的静态特征行为判断,包括恶意软件程序在计算机中放置的静态生成文件特征字符串、注册表信息、运行时打开的固定TCP/IP端口、在目标系统中的文件名、文件大小及所在目录、启动加载方式等。
基于信息流的恶意软件检测。监听通信信息上的接收报文,根据网络通信协议进行内容分析,把网络数据按照标准协议细分,如按照IP分解出源IP、目的IP等,按TCP协议分解出源端口、目的端口等,按照HTTP协议分解出URL、HTTP命令等数据。
动态行为分析技术就是监控恶意软件对注册表修改,对外通信信息行为,启动系统的进程,调用应用程序接口等行为。综合监控到的行为,结合特征库对可疑程序是否是恶意软件作出判断。
图1 结构示意图
图2 流程图
恶意软件防护系统为系统的常驻进程,实时保护计算机并对所有进程行为实时监控,再综合利用行为分析技术,根据监测到的特征和贝叶斯恶意软件行为分析算法,检测出可疑进程。系统框架结构分为:分析器、日志器,处理器、隔离恢复器、行为特征库等五个部分,如下图1所示。
恶意软件特征库就是一个关于可疑恶意软件行为的数据库,其可疑行为可用一个三元组描述:<ID,可疑操作,类别>。根据可疑行为来源不同,恶意软件的可疑行为有五类:
对注册表可疑操作。自启动项操作,关联项写操作,安全配置修改操作。
常用端口的可疑开放,即此端口资源在正常情况下应由策略中定义的系统服务和应用占用,但系统中没有提供此服务和应用。
创建、隐藏进程,远程注入进程、关闭安全相关进程;
修改系统文件,创建、删除文件,往系统目录写可执行文件或DLL文件。
运行隐蔽功能的常用函数调用、通信隐蔽功能常用函数调用、恶意操作功能常用函数调用,木马常用来进行隐蔽操作和恶意操作的函数调用。
基于行为的恶意软件检测方法主要是监测恶意软件启动过程、运行状态、通信信息等行为和操作,流程如图2所示。再经过行为分析模型对行为操作进行判断分析,下面详细介绍利用钩子机制监测可疑程序和贝叶斯行为分析算法等关键技术。
恶意软件分析器实时对系统调用、目录操作、进程端口、注册表变化、通信详细等监控。对这些操作的监控采用的是API HOOK技术。当系统把进程模块加载到内存中时,PE文件映射到程序进程地址空间,通过模块句柄返回模块映像在内存中的地址。从模块句柄返回开始,使用API函数定位IAT输入地址表。找到IAT输入地址表并遍历就可找到所需地址,再通过自定义函数地址覆盖表项中函数调用地址,实现API调用拦截。
由于贝叶斯算法简单实用、高效的特点,被广泛应用各种监测分类系统中,本文将贝叶斯算法引入到对可疑恶意软件行为结果的分析。目标程序有恶意软件程序、不确定程序、非恶意软件程序三类。对于每一个样本程序M,将反映M是否存在异常行为的特征用向量表示为:A=(a1,a2,…,an),an为行为库中的行为特征。定义C为分类结果集合,C1为正常,C2为不确定,C3为恶意软件。贝叶斯行为分析模型目标是:在获得给定样本程序文件中的特征集F后,计算出该样本是否木马程序的概率,即计算P(C|A)。
P(C|A)的最大值来确定A最大概率类。待测样本X类别Cx:
在恶意软件查杀器中根据Cx值来判断程序的类别。恶意软件处理器将对分析模型结果处理,有以下三种处理方式:(1)确定是恶意软件,直接终止运行,释放占用的进程资源,再删除宿主中的恶意软件及其副本,最后解除恶意软件启动方式。(2)对于明确确定不是恶意软件的,让其正常运行,不再监测。(3)隔离可疑恶意软件。对于可疑恶意软件程序,系统无法准确判断,系统会将其隔离到隔离区域,用户人工分析后可恢复或者删除之。
本文设计了采用行为分析的恶意软件安全防护系统。首先介绍了几种常用检测技术,设计了安全防护系统的基本框架:分析器,记录器,处理器,恢复器以及特征库,对其中的api 钩子调用技术和基于贝叶斯行为分析算法等核心技术进行了分析说明。
[1]朱明,徐骞,刘春明.木马病毒分析及其检测方法研究[J].计算机工程与应用,2003,(28):176-179.
[2]朱建军,熊兵.网络安全防范手册[M].北京:人民邮电出版社,2007.
[3]孙鑫,余安萍.VC++深入详解[M].北京:电子工业出版社,2006.
[4]陈福志,史杏荣.基于改进贝叶斯算法的信息安全模型[J].计算机工程,2003,(20):116-118.