《电子技术应用》
您所在的位置:首页 > 嵌入式技术 > 业界动态 > 基于数据挖掘的入侵防御系统研究

基于数据挖掘的入侵防御系统研究

2009-05-31
作者:王 杰, 刘亚宾

    摘  要: 针对传统异构安全设备的广泛应用而产生的海量不可靠安全事件和难以有效管理的现状,提出了一种基于数据挖掘的深度入侵防御系统模型。其中,以统一网络安全管理平台为核心,采用在线检测离线数据挖掘相结合的方式分析网络和主机数据。 

    关键词: 入侵防御; 深度防御; 数据挖掘; 统一网络安全管理平台

 

    目前,网络的安全威胁已发展为混合型,任何单一的安全技术措施都是可以被攻破的。因此一个安全的网络系统应该既要有完善的入侵检测手段,还需要有能够对网络安全进行实时监控和攻击与反攻击的纵深防御策略[1-3],实现系统内外的联合的安全防范,为网络系统提供良好的安全保障,这就是深度防御(Defense-in-Depth)核心思想[4]。 

1 入侵防御系统 

1.1  IPS的概念 

    入侵防御系统(IPS)是指能检测并积极主动地阻止已知和未知攻击的内嵌式硬件设备或软件系统。依据其操作平台,一般分为基于网络的入侵防御系统NIPS和基于主机的入侵防御系统HIPS。NIPS监视网络流量,部署在网关处,也称为串联型或网关型IPS,用来识别在不同网段恶意的或者未经认证的活动,并且将其阻止。倾向于提供更先进的问题警告并且保护更大范围的计算环境,预防对关键网段的攻击。HIPS提供对发生在主机上的行为的具体控制,通常监视系统调用并且阻止任何有害的请求,倾向于对面向特定主机的具体行为更深层次的识别。使用勾挂等技术,以代理的形式驻留在主机或服务器上,预防黑客对关键资产(如对关键服务器、数据库)的攻击。 

1.2  网络安全模型——WPDRRC 

    WPDRRC模型由我国863信息安全专家组推出。它涵盖了各个安全因素,突出了人、策略和管理的重要性,反映了各个安全组件之间的内在联系,保证了信息的机密性(confidentiality)、完整性(integrity)、可用性(availability)、可控制性(controllability)、真实性(authenticity)和不可抵赖性(non-repudiation)。 

    如图1所示,WPDRRC模型有六个环节和三大要素。六个环节是预警(Warning)、保护(Protect)、检测(Detect)、反应(Respond)、恢复(Restore)、反击(Counterattack),它们具有动态反馈关系。三大要素为人、策略、技术,人是核心,策略是桥梁,技术是保证,落实在WPDRRC六个环节的各个方面,将安全策略变为安全现实。 

 

 

1.3 基于数据挖掘的入侵防御技术[5] 

    该技术利用形式化语言、数据挖掘技术的方法和理论,对从网络中和主机系统中采集到的数据、安全日志和审计信息进行分析和过滤,从“正常/异常”的数据中发现“正常/异常”的用户和程序的使用模式,利用这些模式来检测网络上的入侵行为,从而提高系统对用户异常行为的识别能力和未知模式攻击的检测能力。 

1.4 深度防御思想 

    其目的是保障安全系统设计的广度和深度,促进建立全面综合、高效安全的网络安全保障体系。在广度上要求从网络架构、操作系统、应用系统、数据库系统等各个层面考虑安全系统建设;在深度上要求分层次的、由外而内从网络边界、内部网络、核心服务器乃至桌面PC各个层面考虑安全防御建设。 

2 基于数据挖掘的入侵防御系统模型及其原理 

    依据WPDRRC模型和深度防御思想构建了该体系结构,如图2所示。它主要由统一网络安全管理平台UPNSM(United Platform of Network Security Management)、本地安全策略服务器LPS(Local Policy Server)、远程日志服务器RLS(Remote Log Server)、蜜网(Honeynet)等组成。 

 

 

    传感器(Sensor)分别部署在分流器(TAP)之后的核心层边界网关处、汇聚层交换机映像端口和串联于接入层,获取网络与主机数据。 

    UPNSM集网络防火墙、访问控制、日志、入侵检测/防御、策略管理、负载均衡和内网监控等管理于一身,并配置一个全局数据库(GDB),负责收集各层安全信息。 

    LPS监控各个支干的传感器,其后也配置了一个数据库,主要用来存储本地收集到的系统和网络日志文件、目录和文件中不期望的改变、程序执行中不期望的行为、物理形式的入侵信息及系统弱点评估状况等信息。 

    蜜网实现入侵转移、牵制和主动诱捕等功能。在入侵者被重定向到该网络后,数据处理模块将记录所有入侵者的行为数据,分析其行为特征和计算统计数据,并及时存储到远程日志服务器上。 

    统一网络安全管理平台为该模型体系结构的核心模块。 

3 统一网络安全管理平台 

    统一网络安全管理平台(UPNSM)模块的系统结构[6]如图3所示。它由在线检测阶段和离线训练阶段组成,其中在线检测/防御阶段又是该模块的核心。 

 

 

3.1 在线检测/防御阶段 

    将nCap零拷贝技术、协议分析和基于排斥的E2xB模式匹配算法相结合进行高速网络数据捕获,以实现实时检测与深度防御。在线检测/防御部分的结构如图3虚线框内所示。 

    nCap是一个纯用户端的高速数据包捕获和传输库,其体系结构如图4所示。 

 

 

    内核加速驱动提供底层支持,nCap SDK或Enhanced libpcap库提供基于pcap的上层调用,如图4所示。主要使用步骤如下:(1)初始化struct ncap_device_info *init_ncap_device(char *dev_name, int *error);(2)设置混杂模式int ncap_set_if_promisc(const char *device,int set_promisc);(3)接收数据并调用协议分析int ncap_recv_packet(struct ncap_device_info*dev, unsigned short *recv_packet_len,unsigned char* packet_buffer,unsigned short packet_buffer_len, int wait_for_packet);(4)关闭设备void term_ncap_device(struct ncap_device_info *dev)。 

    协议分析包括协议解码和命令解析等技术,具有快速、高精度、低资源占有率的特性。它有效地利用网络协议的层次性和相关协议的知识,快速判断攻击特征是否存在,极大地减小了运算量,并能通过基于状态的动态分析(如IP碎片与TCP流重组)进行反逃避检测。协议分析流程如图5所示。 

 

 

    举例分析下述数据包是否符合攻击特征“GET /cgi-bin/./phf ”:  

 

   

 

    依据RFC 0791(2)和0793(3)文档中TCP数据包和IP数据包的格式规范分四步跳跃性检测:(1)跳过前面l2个字节,读取l3字节处的协议标识0800(IPv4包);(2)跳过的l5~24字节直接读取第4层协议标识06(TCP协议);(3)跳过第25~34字节直接读取第35字节的端口号:80(HTTP协议);(4)HTTP协议规定第55字节开始处的URL交由HTTP命令解析器提取主要信息,识别攻击字符串及其变种,如 “/./phf”、“/phf”及类似“/.”的序列改变视为同种攻击,这意味着协议分析技术只需较小的分类/行为特征库就能检测更大范围的攻击。 

    E2xB算法专为入侵检测的特殊需求而设计,其基本思想是:若欲检测输入字符串I不包含字符串S的子串,则字符串I必不包含字符串S。用集合论公式证明该命题的真理性:因I>S,S>s=>I>s,则I≯s,S>s=>I≯S(其中,“>”为“集合包含”符号)。如果所有s均为I的子串,则视为一次疑似匹配,之后调用标准模式匹配算法如BMH判定S是否为I的子串。若匹配成功,调用响应处理模块。 

    为加快匹配速度,借助触发位图(occurence_map)增强该算法效率。首先对输入字符串I进行预处理,若8位一组的连续或间断的子串对s出现在I中,则在一个256单元的位图上以s_th标记对应单元(置为1表示s在I中出现)。为减小花在每一个数据包对应单元的清除开销,使用当前网络数据包的索引序号标记该位图单元。即如果s_th位置的位图单元包括该数据包的索引序号,则表示s出现在I中。E2xB算法伪代码如下: 

    pre_process(char *input, int len) 

      { 

        pktid=pktno & (1<

        for (int idx = 0 ; idx < len-1 ; idx++) { 

            element = s[idx]<< (elementsize-8)^s[idx+1]; 

            occurence_map [element]= pktid; 

            } 

      } 

    search(char *s, char *input, int len_s, int len) 

    { 

       for (int idx = 0 ; idx < len_s-1 ; idx++) { 

        element= s[idx]<< (elementsize-8)^ s[idx+1]; 

        if (occurence_map [element] != pktid) 

        return DOES_NOT_EXIST ; 

       } 

       return boyer_moore(s, len_s, input, len); 

    } 

    响应处理模块对匹配成功的入侵产生告警,通过声音、图像、电子邮件或其他许多不同的方式通知安全人员。按照告警产生预定义的响应,或按安全人员的指令完成响应,如对异常数据进行转发存储(转发给Honeynet和存储系统,对入侵行为做进一步跟踪和分析)、发送RST包阻断TCP连接、E-mail日志报文通知、与其他安全产品(Firewall、Router、Switch)联动、停止非法进程运行或删除某个应用程序、重新配置系统、注销用户等。 

    警报管理器根据告警信息[8] (包括告警时间、告警源、告警类型、告警级别、告警描述等内容)和分类/行为规则调用机器学习算法调整相关的规则参数。 

    策略分发模块负责将相关策略发送至各分支的LPS。 

3.2 离线训练阶段 

    其主要组成部分及其原理如下: 

    (1)预处理模块将来自RLS和主机数据、指令、转发存储而得到的可疑和入侵数据或评估数据(如DARPA、KDD CUP99等)处理成网络会话记录并进行命令特征提取。即对于每一个连接,将记录在通信期间需要统计的41个属性分为三大类:网络连接的基本属性、安全领域知识建议的连接属性及最近一定时间内的流统计属性。这些属性又分为数值型和符号型两种类型,而其中的数据类型又包括两种:连续型和非连续型。采用离散和正则化的方法和相应的离散化工具对整个数据集合做离散化和正则化处理后,以连接记录为行、连接记录的属性为列建立网络事件数据库;输出包含对威胁源的识别、恶意的活动、威胁的分类、攻击的频率、对映射目标潜在的严重性的评估等信息,以适用于离线数据挖掘器的输入格式存储到训练数据集中。 

    (2)离线挖掘器综合利用关联分析、序列模式分析、分类分析和聚类分析对训练数据集数据进行挖掘分析,从中提取分类/行为安全规则。其中,关联分析和序列分析方法可以发现隐藏在数据间的关系,提取出入侵者入侵行为之间的关联特征,找出各种入侵行为之间的相关性;分类分析方法可以在前两项分析的基础上,对具有不同的行为特征的入侵进行分类,判断入侵行为的可疑程度;聚类分析根据一定的规则对用户行为数据重新划分,以此获得更好的结果。 

    (3)复合检测引擎综合使用误用检测与异常检测技术,数据挖掘对训练数据集中的数据进行分析发现其中隐含的证据后,该检测引擎比较证据与规则中已有规则的相似性,并将结果提交给决策引擎。 

    (4)决策引擎合并规则,消除冲突与冗余,最终裁决活动的合法性,据此维护分类/行为规则集,并通过人机接口管理和控制策略数据库的优化。 

    (5)策略数据库通过规则与策略脚本的交互(调用功能函数执行响应操作)实现机制与策略分离,以满足简单性和灵活性的统一。 

4 仿真实验与性能分析 

    主机配置:PD E2140 processor 1.2GHz,1GB Memory,intel e1000网卡; 

    操作系统:RedhatLinux 9.0,kernel version 2.4.20. 

    实验数据: 

    (1) MIT Lincoln lab实验室给出的入侵检测攻击场景数据集2000 DARPA; 

    (2) 2003年第11届DefCon CRF(Capture the RootFu!)的TSG (The Shmoo Group)数据集。 

    依据上述基于数据挖掘的入侵防御系统模型和统一网络安全管理平台模块,采用Linux+Snort+Bro+ACID+MySQL+Apache+Single-honeypot架构对汇聚层、IPS HBLR+Netfilter/iptables架构对接入层进行仿真实验。 

    基于PHP的ACID WEB管理平台统一管理警告信息,并图形化分类显示触发安全规则的网络流量中各种协议所占的比例、警报的数量、入侵主机和目标主机的IP地址及端口号等。此外还提供远程控制、规则配置功能和策略分发功能,远程对Sensor发送控制命令,如迅速启用协同机制,自动通知防火墙、路由器或其他安全控制设备切断攻击源,配置规则等帮助管理员进行分析和网络整体安全的管理。同时,集成网络管理系统通过各个网段上Sensor发送到警告及规则总数据库的警告进行协同分析,基于复杂精确的协同算法,进行数据挖掘、状态转移预测等,以便做出更正确的决断和防御措施。 

    分三种情况测试数据包捕获速度:64 B,550’789 pkt/s;512 B,213’548 pkt/s;1 500 B,81’616 pkt/s。小数据包情况下,存在适量包丢失;大数据包情况下,几乎不丢包,基本满足线速抓包的要求。 

    在Snort中运用E2XB算法后,整体性能相对其他算法(BM,FVh)提升了10%~36%,在一些特定规则集与流模式中,匹配性能提升了将近三倍。但该算法对包的大小分布和规则匹配数目相对敏感,在小数据包和极大或极小规则集的情况下算法性能会有所降低。 

    深度入侵防御技术的研究是目前网络安全研究的热点,本文提出的基于数据挖掘的深度入侵防御系统模型能收集边界网关、汇聚层和接入层等各个网段的数据,并能将这些数据传送到统一网络安全管理平台集中处理,同时综合利用各种安全技术对传统IPS的缺陷(如检测率与误检率的矛盾、性能瓶颈、实时性差等)在一定程度上加以解决,大大增强了网络环境的安全性。 

参考文献 

[1] RUBEL P, IHDE M, HARP  S, et al. Generating policies for defense in depth [J]. IEEE Computer Security Applications Conference, 2005,10. 

[2] CHUNG S P, MOK A K. The LAIDS/LIDS framework for systematic IPS design [J]. IEEE Information Assurance,2006, 9. 

[3] CHEN Yao Min, YANG Yan Yan. Policy management for network-based intrusion detection and prevention [J].IEEE   Network Operations and Management Symposium, 2004(2):219-232.  

[4] HUANG Nen Fu, KAO Chia Nan, HUN HsienWei,et al.Apply data mining to defense-in-depth network security system[J]. IEEE Advanced Information Networking and Applications, 2005(2):159-162. 

[5] Thuraisingham, Bhavani. Data mining for security applications[J]. Proceedings of the 2004 International Conference  on Machine Learning and Applications, ICMLA’04,2004. 

[6] 席骁,刘滔. 基于网络的数据挖掘系统设计[J]. 计算机与现代化,2007(5). 

[7] 郭山清,谢立,曾英佩. 入侵检测在线规则生成模型[J].计算机学报, 2006(9). 

[8] 肖立中,邵志清. 基于序列分析的报警综合处理研究[J]. 计算机工程与应用, 2006(8).

本站内容除特别声明的原创文章之外,转载内容只为传递更多信息,并不代表本网站赞同其观点。转载的所有的文章、图片、音/视频文件等资料的版权归版权所有权人所有。本站采用的非本站原创文章及图片等内容无法一一联系确认版权者。如涉及作品内容、版权和其它问题,请及时通过电子邮件或电话通知我们,以便迅速采取适当措施,避免给双方造成不必要的经济损失。联系电话:010-82306118;邮箱:aet@chinaaet.com。