
3
(1
四川大学电子信息学院,四川 成都 610065; 2
成都信息工程学院通信工程学院,四川 成都 610225;
3
四川大学电子信息学院信息安全研究所,四川 成都 610065)
[摘 要]随着网络信息量的剧增,网络安全问题也日益突出,对目标人群特定上网行为的监测就是一种网络安全意识防范的措施。文中提出一种基于知识库的网络用户行为监测模型,该模型结合快速多模式匹配技术,可以在大流量的网络环境下对知识库中已有的行为特征进行快速、高效、准确的匹配,其优势在于特征知识库可以灵活扩展和控制。该模型在方便管理人员进行管理的同时,也能在高速网络环境下监测网络用户的特定行为。[关键词]特征知识库;行为检测;网络数据分析
[中图分类号] TP393 [文献标识码] A [文章编号] 1009-8054(2012)02-051-03
A Behavior Feature-Monitoring Model based on Knowledge Base
TANG Xiao-lan 1,LIU Zhong-lin 2,LIU Jia-yong
3
(1
College of Electronic Information,Sichuan University,Chengdu Sichuan 610065,China;
2
College of Communications Engineering,Chengdu University of Information Technology Chengdu Sichuan 610225,China;
3
Infosec Institute of Electronic Information College,Sichuan Univ.,Chengdu Sichuan 610065,China)
[Abstract] With the rapid growth of network information,network security becomes increasingly prominent,Monitoring the specified online behavior of the target people is a network security sense and also a protective measure. This paper proposes a knowledge-based monitoring model for network user's behavior,this model,in combination of fast multi-pattern matching techniques,could make fast,efficient and accurate match of the existing behavior characteristics in the knowledge base even in a large network traffic environment,and its advantage lies in the flexibility in expanding and controlling knowledge base features and the convenient management by the manager. This model could monitor network user's specific behavior in the high-speed network.[Keywords] features knowledge base;behavior detection;network data analysis
收稿日期:2011-10-12
作者简介:唐晓兰,1987年生,女,硕士研究生,研究方向:信息安全;刘中临,1990年生,男,本科生,研究方向:通信工程;刘嘉勇,1962年生,男,教授,研究方向:信息安全。
一种基于知识库的行为特征检测模型
0 引言
在互联网迅速发展的今天,网络已充斥着人们的生活、工作、娱乐等。网络安全问题也同时成为一个亟待解决的问题,因此对计算机的网络监控十分必要,其中对网络数据流的捕获和分析尤为重要。这里提出一种基于知识库的网络用户特定行为特征监测模型,在对特定行为进行预先的分析后,将准确的用户行为特征(也叫做指纹)按照自定义规则写入知识库,可以准确监测出具有该行为的任何用户。
1 网络用户行为检测模型
该模型由以下几个部分组成:数据采集部分、数据
预处理部分、用户行为检测部分、管理模块部分。模型的整体结构如图1所示。
图 1 系统功能模块架构
数据采集模块负责从网络通信信道中采集原始数据,
此模块采用旁路方式接入通信信道,使用开放的网络数据包捕获函数库Libpcap(Packet Capture Library)[1]
和网络入侵检测开发库(Libnids),并结合了镜像端口技术和零拷贝技术
[2-4]
,可适用于当今高速海量的网络数据流的环境。
原始数据流经过数据采集部分(可进行过滤)后变为
2 知识库的构建
系统知识库包括策略配置和特征知识库。策略配置是对不同网络行为的管理配置,控制行为检测的开启与关闭。特征知识库是对具体行为网络特征的详细描述,用户行为的特征是指能唯一标识该行为的特征,这里简单举例出网络用户行为分析和检测模块中的3个功能,而对于具体网络用户行为特征分析技术和查找将另写论文论述,提供的功能如下所述:
1) 提供目标网络远程控制行为(Remote Control)的识别与检测。实现基于通信行为和数据特征的快速检测与分析,如对VNC、远程桌面等典型远程控制和已知木马的通信行为进行识别和检测,主要监控远程控制类软件。
2) 提供特定可疑通信行为识别与内容分析。实现基于黑白名单机制的外链通信行为识别,以及特殊通信行为的识别和分析,如可疑主机境外连接、被动连接、通信协议伪装等。
3) 提供特定聊天应用软件通信行为(Application software)识别及重要信息检测。实现对使用Skype、QQ等聊天应用软件的通信行为的自动识别和相关信息检测,如聊天、文件传输等行为。
如果想对网络数据进行进一步的挖掘,如还原传输文件、聊天信息等,参见文献[7]中网络数据的重组,提供了如何快速正确地对IP报文分析重组。
2.1 策略配置库的构建
策略配置和特征知识库采用XML文档构建,该模型中采用一个XML配置文档集中控制各功能模块的开启和关闭,各功能模块以动态链接库的方式进行动态加载,不同模块生成各自的动态链接库,供检测程序调用(模块开启则加载该模块,关闭则不加载该模块)。用户在管理模块可以灵活控制各模块的开启与关闭。策略配置知识库feature_library.xml部分的构建如下所示:
......
配置文档相关字段说明:
尖括弧“<>”中的字段是自定义的,用于XML文档的解析,整个XML文档的结构也是由编程者自己组织,层次清晰,做到前后对应(即<>和>成对)即可。
module定义该知识库所包含的功能模块,有远程控制、文件传输、应用软件3个模块,detect_enable定义是否开启该功能模块,true为开启,false为关闭。上述feature_library.xml中,文档中开启了远程控制功能模块,对各模块分别定义module_path和software两个字段,module_path为该模块的配置文件所在的文件的文件夹名称,software中有该模块包含的所有软件。每个软件对应一个配置文件,各配置文件的文件名在config_file中给出,文件的命名与软件名保持一致。
2.2 特征知识库的构建
在该模型中,检测特定用户使用软件的行为分类为:上线、下线、发送消息(聊天软件)、传输文件、文件上传等。以远程桌面的特征配置文件中的“文件上传”(File Upload)行为为例,各个软件对应的配置文件结构如下所示: ...... 0300003702f08000ec70290808 ...... ......
配置文档相关字段说明:
一个软件包含的多个行为分别在behavior字段中列出,各分支分别为entry_behavior,行为的名称在behavior_ name字段中给出,以上例中“文件上传”行为为例。
behavior_return中对每个行为定义返回值,程序根据该返回值确定检测到该行为时所要进行的操作,如写数据库或保存该数据包文件进行进一步的数据挖掘;behavior_ priority标识该行为的优先级,对优先级高的行为先进行匹配;behavior_feature即为标识该行为的特征,各个特征分别在entry_behavior_feature中描述;packet为该特征中所包含的数据包,每个数据包都符合各自的特征才可对该行为特征进行匹配;packet_position为该数据包在数据包序列中所处的位置;packet_number为标识数据包个数的字段,其中threshold标记个数的阈值,is_continuance标记数据包是否连续,如果不需要包含多个该项特征的数据包,则不填此项;packet_feature中描述数据包需满足的特征,各个特征在分支entry_packet_feature中描述;layer为各个协议层,各协议层的layer_name字段分别为:mac、ip、transmission、application;layer_feature为各协议层需要满足的特征,各个分支在entry_layer_feature中定义;feature_series为各个特征所包含的特征串,数据包必须包含全部特征串才算匹配上该项特征,各个特征串的具体描述在entry_feature_series中;series_position为特征串的本层偏移量,如果位置不固定则不填此项;series_length为特征串的长度,长度不固定则不填此项;series_describe 为特征串的描述,采用十六进制形式描述,如有固定个数的不确定字符,每个字符都用“?”表示,如有不固定个数的不确定字符,用“*”表示。
该特征库中文件上传行为的特征包含了2个数据包,该知识库显示了第一个数据包需要满足的特征;IP层的特征是距IP头部9字节度为1的字节是0x06(表示IP头部中传输层协议为TCP协议);应用层的特征是负载长度为50字节,在本层0偏移量处特征串为0x03000 03702f08000ec70290808,长度为16字节,并且在特征串的第10字节和11字节处字符不确定。
3 用户行为匹配
解析知识库后,特征以树的形式存储在内存中,根节点定义为指向各个模块的指针队列,解析时,将各个叶子节点的特征所存放的地址都放在一个链表中,链表的每个节点定义两个指针,一个指向匹配上该节点时要匹配的下一个特征的位置,另一个指向不能匹配该节点时要匹配的下一个特征的位置。然后分别对各层的特征树进行有限状态自动机(Deterministic Finite Automation,DFA)编译,该方法在文献[8]中有详细论述。为进行快速多模式匹配做准备,只需对网络数据流扫描一次就可实现全部行为匹配。
4 结语
通过以上基于知识库的网络用户行为分析,可以准确识别出知识库中已构建的用户行为。在结合了多模式匹配算法下,该模型完全可以在高速网络的主干道上进行实时的网络用户行为分析。该模型可以作为网络数据挖掘的初步数据分析。除了需要更新特征知识库外,该模型还可以对进一步的规则关联和深层次数据挖掘进行分析,使网络数据分析更加充分。
参考文献
[1] 梁理,黄樟钦,侯义斌. 网络信息侦听系统的研究与实
现[J]. 计算机工程与应用,2002,38(17):184-186. [2] 王佰玲,方滨兴,云晓春. 零拷贝报文捕获平台的研究
与实现[J]. 计算机学报,2005,28(1):46-51.
(下转第56页)U={"http://"、"http://www.baidu.com"、"http://A*256" …}
F={"C:\\"、"C:\\Windows\\system32\\calc.exe\\"…}
C={"cmd"、"calc"、"notepad" …}
(2)
(U:URL操作,F:文件操作,C:命令操作)
(3) 动态检测模块
控件接口的缓冲区溢出主要在几个方面:整数溢出(I)、超长字符串溢出(C)、特殊字符(E)等。整数溢出方面主要针对临界值进行检测,字符串针对超长字符进行检测,特殊字符主要针对软件在处理特定字符时是否异常。测试时,通过对不同参数类型传递不同的数值,达到智能化测试目的,如式(3)所示:
I={-1、0、32 767、-32 768、2 147 483 7、-2 147 483 7} C={"A"*256、"A"*1 024、"A" *2 000、"A"*10 000… }
E={"%s"、"%n"、"#"、"!"、"%00"、"\\"、"/"… })
(3)
(I:整数溢出,C:超长字符串溢出,E:特殊字符)数据引擎根据控件的CLSID和接口类型生成不同的数据,然后浏览器动态加载样本,调试器捕获浏览器异常,并将发生异常时参数和寄存器的值保存。
(4) 报告生成模块
主要对两次测试结果进行处理,得到完整的测试报告。分析人员可以对结果进行人工分析,进而判定该漏洞是否可以被利用。
4.3 试验结果与分析
实验中采用开发的挖掘器对UUSee网络电视ActiveX控件进行测试分析,得到如下的分析结果:从表1可以看出,挖掘器可以对ActiveX控件的不安全接口和缓冲区溢出进行检测,实现了对ActiveX控件两类漏洞的检测。
但是也存在一些问题,从实验结果看,未来还需要改进的地方如下:一方面,针对ActiveX控件的不安全接口的特征字符库需要进一步加强,匹配算法不能单单依靠常规的正则匹配;另一方面,动态检测模块的数据生成类型考虑的情况不多,需要对畸形数据进行深入研究,并在数据生成方面向智能化方向发展。
5 结语
文中首先阐述了漏洞挖掘与分析技术的原理,对ActiveX控件的安全性和漏洞分析方法进行了详细的研究,并结合ActiveX控件安全及漏洞信息,设计了一个基于Fuzz 的ActiveX控件漏洞挖掘工具。试验表明,该工具弥补了现有工具对ActiveX漏洞挖掘类型不全的缺陷,效果良好。
参考文献
[1] 胡晓荷. 浏览器安全——不能被忽视的问题[J]. 信息
安全与通信保密,2009(8):25-28.
[2] 袁江. 基于CVE知识库的危急漏洞挖掘与分析技术
研究[D]. 哈尔滨:哈尔滨理工大学,2008.
[3] 曹军. Windows危急级漏洞挖掘及分析技术研究[D].
成都:四川大学,2006.
[4] 段刚. 加密与解密[M]. 第3版. 北京:电子工业出版社,
2009.
[5] 王京峰,张保稳,刘凤格. 一种基于IDA PRO缓冲
区溢出的检测方法[J]. 信息安全与通信保密,2007(3):135-137.
[6] 曾颖. 基于补丁比对的Windows下缓冲区溢出漏洞挖
掘技术研究[D]. 郑州:信息工程大学,2007. [7] failwest. 0day安全:软件漏洞分析技术[M]. 北京:电
子工业出版社,2009.
[8] 孔鹏. Visual C++ 6.0完全自学手册[M]. 北京:机械
工业出版社,2007:490-491.
[9] OlehYuschuk. OllyDbg 2.01[DB/OL]. (2011-8-3)[2011-
10-12]. http://www.ollydbg.de/version2.html.
[10]
IlfakGuilfanov.IDA[DB/OL]. (2011)[2011-10-12].
http://www.hex-rays.com/products/ida/support/
download.shtml.
[3] TEZUKA H,O'CARROLL F,HORI A. A Virtual Memory
Management Technique for Zero-copy Communication[J].
Proc.of the Int'l Parallel Processing Symp,1998,26(1):308-341.
[4] 石飞,史岚,乔建忠,等. 网络数据采集技术研究[J].
小型微型计算机系统,2008,10(10):1912-1915. [5] STEVENS W Richard. TCP/IP详解(卷1:协议)[M]. 范
建华,胥光辉,张涛,等,译. 北京:机械工业出版社,2008.
[6] 梁伟,李晗. 网络流量识别方法研究[J]. 通信技术,
2008,41(11):88-90.
[7] 李芳馨,刘嘉勇. 网络数据流还原技术研究[J]. 通信技
术,2011,44(7):113-114.
[8] 孙强,辛阳,陈林顺. AC多模式匹配算法的优化与应
用[J]. 中国科技论文在线,2011,6(1):45-48.
(上接第53页)
