一种基于数据挖掘的网络入侵检测系统及方法

文档序号:7717972阅读:148来源:国知局
专利名称:一种基于数据挖掘的网络入侵检测系统及方法
技术领域
本发明涉及网络安全技术领域,尤其涉及一种基于数据挖掘的网络入侵检测系统
及方法。
背景技术
随着网络的飞速发展,信息化已经渗透到日常生活的方方面面。然而,在这个飞速 发展的过程中,伴随的是黑客攻击剧增和攻击方式复杂多样化,导致网络安全问题层出不 穷,这已经严重威胁到我们赖以生存的信息平台。当前单纯的防火墙技术已经不能阻止网 络入侵,入侵检测系统作为当前主要的网络安全技术得到了广泛的应用。入侵检测作为一 种积极主动的安全防护技术,不仅能够检测来自网络外部的入侵,还可以监督网络内部用 户的活动,提供了对内部攻击、外部攻击和误操作的实时防护,在网络系统受到攻击前进行 拦截和响应入侵,保障网络安全。 当前,网络入侵检测已经逐渐取代主机入侵检测成为研究重点,网络入侵检测系 统(NIDS)根据网络流量、网络数据包和协议来分析检测入侵事件,从而提供对计算机网络 系统的实时保护。入侵检测方法是入侵检测系统的核心组成,入侵检测方法的优劣直接影 响系统检测的精确度和准确度。目前存在众多网络入侵检测方法,其中用得最多的是模式 匹配方法。模式匹配就是将收集到的信息与已知的网络入侵和系统误用模式规则库进行 比较,从而发现违背安全策略的行为,单纯的模式匹配方法就是判断分析网络上的每一个 数据包是否具有某种攻击特征(即字符串匹配),其工作流程如图l所示①从网络数据包 包头开始与攻击特征字符串进行匹配;②如果匹配成功,就定义为检测到一个攻击,进行报 警;③匹配不成功,后移一个字节进行匹配,直到把攻击特征中所有字节都匹配完。此方法实 现起来虽较为简单,但是存在计算量大、变种攻击检测精度低和不能检测碎片攻击等缺点。
协议分析技术则能够有效解决上述问题,协议分析技术有效利用网络协议的层次 结构和相关协议知识,以快速判断攻击特征是否存在,大幅縮减匹配的计算量,节省系统资 源,能够在大规模高速网络中实现优秀的检测能力,获得更高效和更精确的检测结果。采用 协议分析技术可以进行数据包中应用内容的检测,能够将传输过程中拆分的数据包中的应 用内容进行重组,然后针对重组后的应用内容进行分析检测。近年来,随着高速网络技术如 ATM、千兆以太网、G比特光纤网等不断涌现,网络中数据和信息量以指数方式增长,使得上
述单纯的协议分析技术出现了越来越多的问题,包括单纯的对所有数据包都要进行还原 和解释,不能及时处理网络中产生的海量数据方面,导致大量丢包、持续占用系统资源和效
率低下等问题,而且协议分析技术只能针对单个数据包进行快速、实时的攻击检测,而对于 意图攻击和大规模分布式协同攻击无能为力,另外,单纯的协议分析技术不具有审计功能, 这也限制了协议分析技术的应用。

发明内容
本发明的目的在于提供一种基于数据挖掘的网络入侵检测系统,本发明有效结合了数据挖掘技术和协议分析技术,提高了检测的精确性和可靠性,同时利用数据挖掘技术处理海量数据,实现实时响应。 本发明的再一 目的是提供一种基于数据挖掘的网络入侵检测方法。
本发明目的通过下述技术方案实现一种基于数据挖掘的网络入侵检测系统,包
括 数据包捕获模块,用于捕获网络中的数据包,将捕获到的数据包按类型进行分类,丢弃不符合的数据包并生成丢弃数据包报告信息发送到报警响应模块,然后将分类和丢弃处理后的数据包发送到数据包分析模块; 数据包分析模块,用于对数据包捕获模块传来的数据包进行数据报格式分析,判断当前数据包是否是完整数据包,如果是则直接将完整数据包发送到数据挖掘模块,否则调用碎片重组模块对碎片数据包进行重组; 碎片重组模块,用于对碎片数据包进行重组,将重组还原成的完整数据包发送到数据挖掘模块,将不能重组还原成完整数据包的相应碎片数据包丢弃,并生成丢弃碎片数据包报告信息发送到报警响应模块; 数据挖掘模块,用于对完整数据包进行数据挖掘,生成新的关联规则并发送到报警响应模块,在所有数据包完成数据挖掘后生成数据挖掘报告信息发送到报警响应模块,然后将数据包发送到协议分析模块; 协议分析模块,根据从规则库解析出来的协议,利用协议的特征对数据包进行协议分析,如果当前数据包和规则库中协议的某种特征匹配,则发送报警信息到报警响应模块,当对所有数据包完成协议分析后,生成协议分析报告信息发送到报警响应模块;
报警响应模块,根据数据包捕获模块、碎片重组模块、数据挖掘模块和协议分析模块传来的报告信息生成报警信息,对协议分析模块传来的报警信息进行实时响应,同时,判断是否将数据挖掘模块所新生成的关联规则保存到规则库中; 规则解析模块,用于使用入侵事件描述语言将定义好的规则库从文件中读取出
来,然后进行解析,读入内存,同时用于将新的攻击模式或规则写入规则库中。 本发明基于数据挖掘的网络入侵检测系统还包括 规则库细化模块,用于接收分类预测模块生成的分类结果,依据分类结果对规则库中的规则进行分类细化,同时根据分类细化结果,将新生成的关联规则对应存入规则库。
所述数据挖掘模块进一步包括 时间序列分析模块,用于对完整数据包进行时间序列分析,然后生成报告信息发送到报警响应模块; 关联规则挖掘模块,用于对时间序列分析模块处理后的完整数据包进行关联规则挖掘,生成新的关联规则发送到报警响应模块,在所有数据包完成数据挖掘后生成报告信息发送到报警响应模块;然后将数据包发送到分类预测模块; 分类预测模块,用于对数据包按照协议类型进行分类,获得稳定的分类模型,同时采用预测方法,利用分类模型对未知类别数据包进行预测分类,将分类结果发送到规则库细化模块,并生成报告信息发送到报警响应模块,然后将分类后的数据包发送到协议分析模块。 —种基于数据挖掘的网络入侵检测方法,包括以下步骤
(1)数据包捕获模块捕获网络中的数据包,将捕获到的数据包按类型进行分类,丢弃不符合的数据包并生成丢弃数据包报告信息发送到报警响应模块,然后将分类和丢弃处理后的数据包发送到数据包分析模块; (2)数据包分析模块对数据包捕获模块传来的数据包进行数据报格式分析,判断当前数据包是否是完整数据包,如果是则直接将完整数据包发送到数据挖掘模块,否则调用碎片重组模块对碎片数据包进行重组; (3)碎片重组模块对碎片数据包进行重组,将重组还原成的完整数据包发送到数据挖掘模块,将不能重组还原成完整数据包的相应碎片数据包丢弃,并生成丢弃碎片数据包报告信息发送到报警响应模块; (4)数据挖掘模块对完整数据包进行数据挖掘,生成新的关联规则发送到报警响应模块,在所有数据包完成数据挖掘后生成数据挖掘报告信息发送到报警响应模块,然后将数据包发送到协议分析模块; (5)协议分析模块根据从规则库解析出来的协议,利用协议的特征对数据包进行协议分析,如果当前数据包和规则库中协议的某种特征匹配,则发送报警信息到报警响应模块,当对所有数据包完成协议分析后,生成协议分析报告信息发送到报警响应模块;
(6)报警响应模块根据数据包捕获模块、碎片重组模块、数据挖掘模块和协议分析模块传来的报告信息生成报警信息,对协议分析模块传来的报警信息进行实时响应,同时,判断是否将数据挖掘模块所新生成的关联规则保存到规则库中。 上述方法中,步骤(3)所述碎片重组模块对碎片数据包进行重组,具体操作如下根据碎片数据包格式中总长度、标识、偏移信息、源IP地址和目的IP地址对相应的碎片数据包进行重组,重复碎片重组步骤直至还原为完整数据包,将完整数据包发送到数据挖掘
模块,否则认为是重组失败,丢弃相应碎片数据包并生成丢弃碎片数据包报告信息发送到报警响应模块。 上述方法中,步骤(4)所述数据挖掘模块对完整数据包进行数据挖掘,具体操作如下 (4. 1)时间序列分析模块对完整数据包进行时间序列分析,然后生成报告信息发送到报警响应模块; (4. 2)关联规则挖掘模块对时间序列分析模块处理后的完整数据包进行关联规则挖掘,生成新的关联规则发送到报警响应模块,在所有数据包完成数据挖掘后生成报告信息发送到报警响应模块;然后将数据包发送到分类预测模块; (4. 3)分类预测模块对数据包按照协议类型进行分类,获得稳定的分类模型,同时采用预测方法,利用分类模型对未知类别数据包进行预测分类,将分类结果发送到规则库细化模块,并生成报告信息发送到报警响应模块,然后将分类后的数据包发送到协议分析模块。 上述数据挖掘的优选方法中,步骤(4. 2)所述关联规则挖掘模块还同时对时间序列分析模块的报告信息、分类检测模块的报告信息、协议分析模块生成的报告结果和报警响应模块生成的报警信息进行关联规则挖掘,并执行后续操作。 上述数据挖掘的优选方法中,步骤(4. 3)所述分类预测模块对数据包按照协议类型进行分类,其中只需将第一次分类结果发送到规则库细化模块,在以后运行过程中仅发
7送新增加的分类到规则库细化模块,实现规则库细化模块的动态调整,同时降低系统负载。
上述数据挖掘的优选方法中,步骤(4. 3)所述分类预测模块将分类结果发送到规则库细化模块后,规则库细化模块依据分类结果对规则库中的规则进行分类细化,以便在协议分析模块进行并行协议分析时,可设置更多、更具体的线程,实现高速匹配,提高协议分析的检测准确性。 上述方法中,步骤(5)所述协议分析模块对数据包进行协议分析,其具体方法如下 (5. 1)接收由分类预测模块按照协议类型将数据包进行分类后传来的数据包;
(5. 2)规则库细化模块将规则库的规则进行分类细化后,再由协议解析模块进行协议解析,得到分类细化后的协议,由协议分析模块将该分类细化后的协议映射到协议分析采用的并行数据包检测线程的对应线程上,与分类预测模块传来的分类后数据包进行一一匹配,从而达到并行协议匹配多个数据包的目的; (5. 3)如果当前数据包和协议的某种特征匹配,则发送报警信息到报警响应模块,
当对所有数据包完成协议分析后,生成协议分析报告信息发送到报警响应模块。 上述方法中,步骤(6)所述报警响应模块根据数据包捕获模块、碎片重组模块、数
据挖掘模块和协议分析模块传来的报告信息生成报警信息后,还依次调用时间序列分析模
块和分类预测模块对报警信息依次进行时间序列分析和分类处理,以便于审计管理。 上述方法中,步骤(6)所述报警响应模块判断是否将数据挖掘模块所新生成的关
联规则保存到规则库中,其具体方法如下 报警响应模块判断关联规则中是否存在攻击数据包,将新生成的关联规则中的攻击数据包个数作为危险标识,初始时为0 (无危险),危险标识越大则危险级别越高,如果关联规则的危险标识不为0,则将新生成的关联规则通过规则库细化模块将新生成的关联规则进行分类细化,然后和危险标识信息一起添加到规则库中;如果为0则丢弃。
本发明相对于现有技术具有以下优点 (1)本发明中数据挖掘模块充分利用数据挖掘处理海量数据的优势,将捕获的数据包经过时间序列分析一关联规则挖掘一分类预测这个过程,通过时间序列分析,找出数据包之间时间序列关系,便于发现协同攻击,能有效防范分布式攻击,提高检测的准确度;通过关联规则挖掘,找出数据包之间潜在联系,产生新的关联规则,实现动态添加新规则,能有效检测未知攻击;通过分类实现并行处理不同类别的数据包,提高处理速度,并将分类结果发送到规则库细化模块,实现高速匹配。 (2)本发明中规则库细化模块通过对规则库进行详细划分,通过映射方式与特定检测线程关联,每个线程对应规则库中特定位置,提高规则库模块复用率减少冗余,克服协议分析技术只能针对单个数据包进行快速、实时攻击检测的缺陷,并行处理显著提高检测速度和检测准确性。 (3)本发明将数据挖掘技术和协议分析技术相结合,使用数据挖掘技术弥补了协议分析技术不具有审计功能的缺点,但数据挖掘技术具有滞后性,无法实施对新型未知的入侵行为做出判断,而这一点又恰恰是协议分析技术所具有的优势。本发明能够大幅提高匹配精确度,节省大量系统资源,降低了系统误报和漏报率,真正实现了入侵检测的高性
(4)本发明中报警响应模块能够全面接收入侵检测系统中各模块所发送的报告信息或报警信息,为管理员提供了全面、完整的检测结果。


图1为现有的模式匹配流程 图2为本发明网络入侵检测系统的整体结构 图3为本发明网络入侵检测系统的层次结构 图4为本发明网络入侵检测方法的流程示意 图5为本发明数据挖掘模块的结构图。
具体实施例方式
下面结合实施例及附图,对本发明作进一步详细说明,但本发明的实施方式不限于此。 实施例 如图2所示,一种基于数据挖掘的网络入侵检测系统,包括 数据包捕获模块,用于捕获网络中的数据包,将捕获到的数据包按类型进行分类,丢弃不符合的数据包并生成丢弃数据包报告信息发送到报警响应模块,然后将分类和丢弃处理后的数据包发送到数据包分析模块; 数据包分析模块,用于对数据包捕获模块传来的数据包进行数据报格式分析,判断当前数据包是否是完整数据包,如果是则直接将完整数据包发送到数据挖掘模块,否则调用碎片重组模块对碎片数据包进行重组; 碎片重组模块,用于对碎片数据包进行重组,将重组还原后的完整数据包发送到数据挖掘模块,将不能重组还原成完整数据包的相应碎片数据包丢弃,并生成丢弃碎片数据包报告信息发送到报警响应模块; 数据挖掘模块,用于对完整数据包进行数据挖掘,生成新的关联规则,发送到报警响应模块,在所有数据包完成数据挖掘后生成数据挖掘报告信息发送到报警响应模块,然后将数据包发送到协议分析模块; 协议分析模块,根据从规则库解析出来的协议,利用协议的特征对数据包进行协议分析,如果当前数据包和规则库中协议的某种特征匹配,则发送报警信息到报警响应模块,当对所有数据包完成协议分析后,生成协议分析报告信息发送到报警响应模块;
报警响应模块,根据数据包捕获模块、碎片重组模块、数据挖掘模块和协议分析模块传来的报告信息生成报警信息,对协议分析模块传来的报警信息进行实时响应,同时,判断是否将数据挖掘模块所新生成的关联规则保存到规则库中; 规则解析模块,用于使用入侵事件描述语言将定义好的规则库从文件中读取出
来,然后进行解析,读入内存,同时用于将新的攻击模式或规则写入规则库中。 本发明基于数据挖掘的网络入侵检测系统还包括 规则库细化模块,用于接收分类预测模块生成的分类结果,依据分类结果对规则库中的规则进行分类细化,同时根据分类细化结果,将新生成的关联规则对应存入规则库;
如图5所示,所述数据挖掘模块进一步包括 时间序列分析模块,用于对完整数据包进行时间序列分析,然后生成报告信息发送到报警响应模块; 关联规则挖掘模块,用于对时间序列分析模块处理后的完整数据包进行关联规则挖掘,生成新的关联规则发送到报警响应模块,在所有数据包完成数据挖掘后生成报告信息发送到报警响应模块;然后将数据包发送到分类预测模块; 分类预测模块,用于对数据包按照协议类型进行分类,获得稳定的分类模型,同时采用预测方法,利用分类模型对未知类别数据包进行预测分类,将分类结果发送到规则库细化模块,并生成报告信息发送到报警响应模块,然后将分类后的数据包发送到协议分析模块。 如图3所示,从层次结构上看,本发明系统大致分为基本层、中间层和高层,具体如下 数据包捕获模块属于基本层,采用BPF(Berkeley Packet Filter,伯克利包过滤器)机制,BPF在内核设置了过滤器,预先对数据包进行过滤,只将需要的数据包提交给进程,每个BPF都有一个buffer,它复制需要的数据包到相应的buffer中暂存,等收集到足够的数据包再一起提交给进程,提高了捕包效率,由于它采用循环双缓存的缓存机制,大大节省了时间,减少内存开销,使数据包捕获模块能够高效快速实现捕包,降低系统负荷。
数据挖掘模块和协议分析模块属于中间层,是入侵检测系统的核心部分。数据挖掘模块中的时间序列分析模块检测数据包发生时间、源IP地址和目的IP地址信息预防分布式攻击,关联规则挖掘模块挖掘数据包之间的隐含关系,而分类预测模块实现数据包类别划分,实现协议分析模块的并行处理;协议分析模块通过规则解析模块的入侵事件描述语言对规则进行解析、将新的攻击模式转换成规则,并将经过规则库细化后的规则映射到对应检测线程上。 报警响应模块属于高层,主要负责报警响应和存储各层发送的报告信息,报告信息包括数据包捕获模块丢弃数据包报告信息、碎片重组模块丢弃碎片数据包报告信息、数据挖掘模块生成的报告信息和协议分析模块生成的报警信息。这部分采用mySQL数据库进行分类存储,并实现简单归并分类,方便管理员浏览,适当修正新添加的关联规则,根据数据库中攻击信息进行相应安全策略调整。 —种基于数据挖掘的网络入侵检测方法,如图4所示,包括以下步骤
(1)系统首次启动,进行初始化,将规则库读入内存,然后将网卡设置为混杂模式,数据包捕获模块使用libpcap库函数循环捕获数据包,将捕获到的数据包按类型进行分类,丢弃不符合的数据包并生成丢弃数据包报告信息发送到报警响应模块,然后将分类和丢弃处理后的数据包发送到数据包分析模块; (2)数据包分析模块对数据包捕获模块传来的数据包进行数据报格式分析,判断当前数据包是否是完整数据包,如果是则直接将完整数据包发送到数据挖掘模块,否则调用碎片重组模块对碎片数据包进行重组; (3)由于链路层具有最大传输单位MTU (Maximum Transmission Unit)的特性,它限制了数据帧的最大长度,而实际应用中发送的数据包长度多数超过了MTU,就需要对数据包进行碎片操作,致使网络中存在大量的碎片数据包,这样就需要将碎片数据包还原为完整数据包,以用来检测可能的攻击行为。所以碎片重组模块需要对数据包进行碎片重组,将 重组还原成的完整数据包发送到数据挖掘模块,将不能重组还原成完整数据包的相应碎片 数据包丢弃,并生成丢弃碎片数据包报告信息发送到报警响应模块; (4)数据挖掘模块对完整数据包进行数据挖掘,"生成新的关联规则发送到报警响 应模块在所有数据包完成数据挖掘后生成数据挖掘报告信息发送到报警响应模块,然后将 数据包发送到协议分析模块; (5)协议分析模块根据从规则库解析出来的协议,利用协议的特征对数据包进行 协议分析,如果当前数据包和规则库中协议的某种特征匹配,则发送报警信息到报警响应 模块,当对所有数据包完成协议分析后,生成协议分析报告信息发送到报警响应模块;
(6)报警响应模块根据数据包捕获模块、碎片重组模块、数据挖掘模块和协议分析 模块传来的报告信息生成报警信息,对协议分析模块传来的报警信息进行实时响应,同时, 判断是否将数据挖掘模块所新生成的关联规则保存到规则库中。。 上述方法中,步骤(3)所述碎片重组模块对碎片数据包进行重组,具体操作如下 根据碎片数据包格式中总长度、标识、偏移信息、源IP地址和目的IP地址对相应的碎片数 据包进行重组,重复碎片重组步骤直至还原为完整数据包,将完整数据包发送到数据挖掘
模块,否则认为是重组失败,丢弃相应碎片数据包并生成丢弃碎片数据包报告信息发送到 报警响应模块。 上述方法中,步骤(4)所述数据挖掘模块对完整数据包进行数据挖掘,具体操作 如下 (4. 1)时间序列分析模块对完整数据包进行时间序列分析,发掘事件发生的顺序, 尤其对于攻击事件来说,时间序列分析能够根据攻击发生前一系列事件顺序(攻击征兆) 来预防攻击甚至是避免攻击,然后生成报告信息发送到报警响应模块,方便统计和预防同 类攻击; (4. 2)关联规则挖掘模块对时间序列分析模块处理后的完整数据包进行关联规则
挖掘,发现数据项之间的相互联系,生成新的关联规则发送到报警响应模块,在所有数据包
完成数据挖掘后生成报告信息发送到报警响应模块;然后将数据包发送到分类预测模块; (4. 3)分类预测模块对数据包按照协议类型进行分类,发现数据包不同协议类型
的特征,构建一个具体分类模型,利用捕获到的数据包进行分类修正,获得稳定的分类模
型,提高分类效率,实现数据包并行处理。同时采用预测方法,利用分类模型对未知类别数
据包进行预测分类,能够快速处理未知类别数据包,将分类结果发送到规则库细化模块,并
生成报告信息发送到报警响应模块,然后将分类后的数据包发送到协议分析模块。 上述数据挖掘的优选方法中,步骤(4. 2)所述关联规则挖掘模块还同时对时间序
列分析模块的报告信息、分类检测模块的报告信息、协议分析模块生成的报告结果和报警
响应模块生成的报警信息进行关联规则挖掘,并执行后续操作。 上述数据挖掘的优选方法中,步骤(4. 3)所述分类预测模块对数据包按照协议类 型进行分类,其中只需将第一次分类结果发送到规则库细化模块,在以后运行过程中仅发 送新增加的分类到规则库细化模块,实现规则库细化模块的动态调整,同时降低系统负载。
上述数据挖掘的优选方法中,步骤(4. 3)所述分类预测模块将分类结果发送到规 则库细化模块后,规则库细化模块依据分类结果对规则库中的规则进行分类细化,以便在
11协议分析模块进行并行协议分析时,可设置更多、更具体的线程,实现高速匹配,提高协议 分析的检测准确性。 上述方法中,步骤(5)所述协议分析模块对数据包进行协议分析,其具体方法如 下 (5. 1)接收由分类预测模块按照协议类型将数据包进行分类后传来的数据包;
(5. 2)规则库细化模块将规则库的规则进行分类细化后,再由协议解析模块进行 协议解析,得到分类细化后的协议,由协议分析模块将该分类细化后的协议映射到协议分 析采用的并行数据包检测线程的对应线程上,与分类预测模块传来的分类后数据包进行 一一匹配,从而达到并行协议匹配多个数据包的目的; (5. 3)如果当前数据包和协议的某种特征匹配,则发送报警信息到报警响应模块,
当对所有数据包完成协议分析后,生成协议分析报告信息发送到报警响应模块。 上述方法中,步骤(6)所述报警响应模块根据数据包捕获模块、碎片重组模块、数
据挖掘模块和协议分析模块传来的报告信息生成报警信息后,还依次调用时间序列分析模
块和分类预测模块对报警信息依次进行时间序列分析和分类处理,以便于审计管理。 上述方法中,步骤(6)所述报警响应模块判断是否将数据挖掘模块所新生成的关
联规则保存到规则库中,其具体方法如下 报警响应模块判断关联规则中是否存在攻击数据包,将新生成的关联规则中的攻 击数据包个数作为危险标识,初始时为0 (无危险),危险标识越大则危险级别越高,如果关 联规则的危险标识不为0,则将新生成的关联规则通过规则库细化模块将新生成的关联规 则进行分类细化,然后和危险标识信息一起添加到规则库中;如果为0则丢弃。
当前,网络攻击中以DDos/DRDos攻击是最常见的攻击方式,而且最难以防范,本 发明对DDos/DRDos攻击检测方法包括对SYN Flood攻击的检测方法,对ICMP Smurf攻击 的检测方法,对DRDos Flood攻击的检测方法。 对SYN Flood攻击的检测方法由于TCP是基于连接的,在传输数据前必须建立 一个连接,在此过程中存在三次握手机制,SYN Flood攻击原理是利用TCP协议缺陷,发送 大量伪造的TCP连接请求,从而使得被攻击方资源耗尽(CPU满负荷或内存不足)的攻击方 式,攻击者向服务器发送大量的连接请求,使其满负荷,并且所有的返回IP地址都是不存 在或不合法的值,当服务器企图将确认信息返回给用户时将无法找到用户,这样服务器只 能等待,并不断给该用户发送请求确认信息,直至超时关闭连接。本发明中首先利用数据包 捕获模块的BPF过滤机制,过滤非法的IP地址和畸形数据包,然后经过数据挖掘和协议分 析将数据包分类结果发送到报警响应模块,能够统计同一时刻TCP请求连接的详细信息, 发现和阻断网络中TCP半开连接,由于目的IP地址不存在,故侧重防范SYN Flood攻击。
对ICMP Smurf攻击的检测方法Smurf攻击原理是攻击者向安全薄弱网络的广 播地址发送伪造的ICMP响应数据包。那些网络上的所有系统都会向受害计算机系统发送 ICMP响应的答复信息,占用了目标系统的可用带宽并导致合法通信的服务拒绝,Smurf导 致攻击者可以利用一个数据包通过服务器放大产生成千的数据包对受害主机进行攻击,加 深ICMP攻击泛滥。由于Smurf攻击中真实攻击者仍是伪造IP地址,且不直接进行攻击, 直接攻击者是真实IP地址,故本发明中主要依赖时间序列分析模块和分类检测模块根据 ICMP包判断是否发生Smurf攻击,将分析结果发送到报警响应模块,根据直接攻击者IP地址信息追踪到攻击网络,记录薄弱网络信息,生成追踪报告发送到报警响应模块,防范重复 攻击。 对DRDos Flood攻击的检测方法DRDos攻击原理是基于网络上的主机(路由器) 对任何一个SYN数据包都会反射一个SYN/ACK回应包,与一般的DDos相比,多了一个反射 层,使控制层次复杂化,具有更大的危害和更强的隐蔽性。基于SYN/ACK回应包的异常增 加,通过数据包分析模块判断收到或发送的包数量是否大于预设的包数量阈值、收包数与 发包数的比值是否超出了预设的阈值范围,最终根据分类模块对数据包进行分类判断SYN/ ACK应答数据包在总数据包中比例是否异常,判断DRDos Flood攻击是否发生,并根据异常 信息生成报告发送到报警响应模块,供以后攻击事件统计使用。 上述实施例为本发明典型的实施方式,但本发明的实施方式并不受所述实施例的 限制,其他的任何未背离本发明的精神实质与原理下所作的改变、修饰、替代、组合、简化, 均应为等效的置换方式,都包含在本发明的保护范围之内。
1权利要求
一种基于数据挖掘的网络入侵检测系统,其特征在于,包括数据包捕获模块,用于捕获网络中的数据包,将捕获到的数据包按类型进行分类,丢弃不符合的数据包并生成丢弃数据包报告信息发送到报警响应模块,然后将分类和丢弃处理后的数据包发送到数据包分析模块;数据包分析模块,用于对数据包捕获模块传来的数据包进行数据报格式分析,判断当前数据包是否是完整数据包,如果是则直接将完整数据包发送到数据挖掘模块,否则调用碎片重组模块对碎片数据包进行重组;碎片重组模块,用于对碎片数据包进行重组,将重组还原成的完整数据包发送到数据挖掘模块,将不能重组还原成完整数据包的相应碎片数据包丢弃,并生成丢弃碎片数据包报告信息发送到报警响应模块;数据挖掘模块,用于对完整数据包进行数据挖掘,生成新的关联规则发送到报警响应模块”,所有数据包完成数据挖掘后并生成数据挖掘报告信息发送到报警响应模块,然后将数据包发送到协议分析模块;协议分析模块,根据从规则库解析出来的协议,利用协议的特征对数据包进行协议分析,如果当前数据包和规则库中协议的某种特征匹配,则发送报警信息到报警响应模块,当对所有数据包完成协议分析后,生成协议分析报告信息发送到报警响应模块;报警响应模块,根据数据包捕获模块、碎片重组模块、数据挖掘模块和协议分析模块传来的报告信息生成报警信息,对协议分析模块传来的报警信息进行实时响应,同时,判断是否将数据挖掘模块所新生成的关联规则保存到规则库中;规则解析模块,用于使用入侵事件描述语言将定义好的规则库从文件中读取出来,然后进行解析,读入内存,同时用于将新的攻击模式或规则写入规则库中。
2. 根据权利要求1所述的一种基于数据挖掘的网络入侵检测系统,其特征在于本基 于数据挖掘的网络入侵检测系统还包括规则库细化模块,用于接收分类预测模块生成的分类结果,依据分类结果对规则库中 的规则进行分类细化,同时根据分类细化结果,将新生成的关联规则对应存入规则库。
3. 根据权利要求2所述的一种基于数据挖掘的网络入侵检测系统,其特征在于所述 数据挖掘模块包括时间序列分析模块,用于对完整数据包进行时间序列分析,然后生成报告信息发送到 报警响应模块;关联规则挖掘模块,用于对时间序列分析模块处理后的完整数据包进行关联规则挖 掘,生成新的关联规则发送到报警响应模块,在所有数据包完成数据挖掘后生成报告信息 发送到报警响应模块;然后将数据包发送到分类预测模块;分类预测模块,用于对数据包按照协议类型进行分类,获得稳定的分类模型,同时采用 预测方法,利用分类模型对未知类别数据包进行预测分类,将分类结果发送到规则库细化 模块,并生成报告信息发送到报警响应模块,然后将分类后的数据包发送到协议分析模块。
4. 一种基于数据挖掘的网络入侵检测方法,其特征在于,包括以下步骤(1)数据包捕获模块捕获网络中的数据包,将捕获到的数据包按类型进行分类,丢弃不 符合的数据包并生成丢弃数据包报告信息发送到报警响应模块,然后将分类和丢弃处理后 的数据包发送到数据包分析模块;(2) 数据包分析模块对数据包捕获模块传来的数据包进行数据报格式分析,判断当前 数据包是否是完整数据包,如果是则直接将完整数据包发送到数据挖掘模块,否则调用碎 片重组模块对碎片数据包进行重组;(3) 碎片重组模块对碎片数据包进行重组,将重组还原成的完整数据包发送到数据挖 掘模块,将不能重组还原成完整数据包的相应碎片数据包丢弃,并生成丢弃碎片数据包报 告信息发送到报警响应模块;(4) 数据挖掘模块对完整数据包进行数据挖掘,生成新的关联规则发送到报警响应模 块,所有数据包完成数据挖掘后并生成数据挖掘报告信息发送到报警响应模块,然后将数 据包发送到协议分析模块;(5) 协议分析模块根据从规则库解析出来的协议,利用协议的特征对数据包进行协议 分析,如果当前数据包和规则库中协议的某种特征匹配,则发送报警信息到报警响应模块, 当对所有数据包完成协议分析后,生成协议分析报告信息发送到报警响应模块;(6) 报警响应模块根据数据包捕获模块、碎片重组模块、数据挖掘模块和协议分析模块 传来的报告信息生成报警信息,对协议分析模块传来的报警信息进行实时响应,同时,判断 是否将数据挖掘模块所新生成的关联规则保存到规则库中。
5. 根据权利要求4所述的一种基于数据挖掘的网络入侵检测方法,其特征在于,步骤(4) 所述数据挖掘模块对完整数据包进行数据挖掘,具体操作如下(4. 1)时间序列分析模块对完整数据包进行时间序列分析,然后生成报告信息发送到 报警响应模块;(4. 2)关联规则挖掘模块对时间序列分析模块处理后的完整数据包进行关联规则挖 掘,生成新的关联规则发送到报警响应模块,在所有数据包完成数据挖掘后生成报告信息 发送到报警响应模块;然后将数据包发送到分类预测模块;(4. 3)分类预测模块对数据包按照协议类型进行分类,获得稳定的分类模型,同时采用 预测方法,利用分类模型对未知类别数据包进行预测分类,将分类结果发送到规则库细化 模块,并生成报告信息发送到报警响应模块,然后将分类后的数据包发送到协议分析模块。
6. 根据权利要求5所述的一种基于数据挖掘的网络入侵检测方法,其特征在于步骤 (4. 2)所述关联规则挖掘模块还同时对时间序列分析模块的报告信息、分类检测模块的报 告信息、协议分析模块生成的报告信息和报警响应模块生成的报警信息进行关联规则挖 掘,并执行后续操作;步骤(4. 3)所述分类预测模块对数据包按照协议类型进行分类,其中只需将第一次 分类结果发送到规则库细化模块,在以后运行过程中仅发送新增加的分类到规则库细化模 块;步骤(4. 3)所述分类预测模块将分类结果发送到规则库细化模块后,规则库细化模块 依据分类结果对规则库中的规则进行分类细化。
7. 根据权利要求6所述的一种基于数据挖掘的网络入侵检测方法,其特征在于步骤(5) 所述协议分析模块对数据包进行协议分析,其具体方法如下(5. 1)接收由分类预测模块按照协议类型将数据包进行分类后传来的数据包; (5. 2)规则库细化模块将规则库的规则进行分类细化后,再由协议解析模块进行协议 解析,得到分类细化后的协议,由协议分析模块将该分类细化后的协议映射到协议分析采用的并行数据包检测线程的对应线程上,与分类预测模块传来的分类后数据包进行一一匹 配;(5. 3)如果当前数据包和协议的某种特征匹配,则发送报警信息到报警响应模块,当对 所有数据包完成协议分析后,生成协议分析报告信息发送到报警响应模块。
8. 根据权利要求4至7任一项所述的一种基于数据挖掘的网络入侵检测方法,其特征 在于步骤(6)所述报警响应模块根据数据包捕获模块、碎片重组模块、数据挖掘模块和协 议分析模块传来的报告信息生成报警信息后,还依次调用时间序列分析模块和分类预测模 块对报警信息依次进行时间序列分析和分类处理。
9. 根据权利要求4至7任一项所述的一种基于数据挖掘的网络入侵检测方法,其特征 在于步骤(6)所述报警响应模块判断是否将数据挖掘模块所新生成的关联规则保存到规 则库中,其具体方法如下报警响应模块判断关联规则中是否存在攻击数据包,将新生成的关联规则中的攻击数 据包个数作为危险标识,初始时为O,危险标识越大则危险级别越高,如果关联规则的危险 标识不为0,则将新生成的关联规则通过规则库细化模块将新生成的关联规则进行分类细 化,然后和危险标识信息一起添加到规则库中;如果为0则丢弃。
全文摘要
本发明为一种基于数据挖掘的网络入侵检测系统及方法,系统包括数据包捕获模块、数据包分析模块、碎片重组模块、数据挖掘模块、协议分析模块、报警响应模块和规则解析模块。本发明有效结合了数据挖掘技术和协议分析技术,提高了检测的精确性和可靠性,同时利用数据挖掘技术处理海量数据,实现实时响应。
文档编号H04L12/56GK101789931SQ20091021460
公开日2010年7月28日 申请日期2009年12月31日 优先权日2009年12月31日
发明者姚国祥, 官全龙, 尚华益, 罗伟其 申请人:暨南大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1