CN101789931B - 一种基于数据挖掘的网络入侵检测系统及方法 - Google Patents
一种基于数据挖掘的网络入侵检测系统及方法 Download PDFInfo
- Publication number
- CN101789931B CN101789931B CN2009102146026A CN200910214602A CN101789931B CN 101789931 B CN101789931 B CN 101789931B CN 2009102146026 A CN2009102146026 A CN 2009102146026A CN 200910214602 A CN200910214602 A CN 200910214602A CN 101789931 B CN101789931 B CN 101789931B
- Authority
- CN
- China
- Prior art keywords
- module
- packet
- data
- mining
- rule
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明为一种基于数据挖掘的网络入侵检测系统及方法,系统包括:数据包捕获模块、数据包分析模块、碎片重组模块、数据挖掘模块、协议分析模块、报警响应模块和规则解析模块。本发明有效结合了数据挖掘技术和协议分析技术,提高了检测的精确性和可靠性,同时利用数据挖掘技术处理海量数据,实现实时响应。
Description
技术领域
本发明涉及网络安全技术领域,尤其涉及一种基于数据挖掘的网络入侵检测系统及方法。
背景技术
随着网络的飞速发展,信息化已经渗透到日常生活的方方面面。然而,在这个飞速发展的过程中,伴随的是黑客攻击剧增和攻击方式复杂多样化,导致网络安全问题层出不穷,这已经严重威胁到我们赖以生存的信息平台。当前单纯的防火墙技术已经不能阻止网络入侵,入侵检测系统作为当前主要的网络安全技术得到了广泛的应用。入侵检测作为一种积极主动的安全防护技术,不仅能够检测来自网络外部的入侵,还可以监督网络内部用户的活动,提供了对内部攻击、外部攻击和误操作的实时防护,在网络系统受到攻击前进行拦截和响应入侵,保障网络安全。
当前,网络入侵检测已经逐渐取代主机入侵检测成为研究重点,网络入侵检测系统(NIDS)根据网络流量、网络数据包和协议来分析检测入侵事件,从而提供对计算机网络系统的实时保护。入侵检测方法是入侵检测系统的核心组成,入侵检测方法的优劣直接影响系统检测的精确度和准确度。目前存在众多网络入侵检测方法,其中用得最多的是模式匹配方法。模式匹配就是将收集到的信息与已知的网络入侵和系统误用模式规则库进行比较,从而发现违背安全策略的行为,单纯的模式匹配方法就是判断分析网络上的每一个数据包是否具有某种攻击特征(即字符串匹配),其工作流程如图1所示:①从网络数据包包头开始与攻击特征字符串进行匹配;②如果匹配成功,就定义为检测到一个攻击,进行报警;③匹配不成功,后移一个字节进行匹配,直到把攻击特征中所有字节都匹配完。此方法实现起来虽较为简单,但是存在计算量大、变种攻击检测精度低和不能检测碎片攻击等缺点。
协议分析技术则能够有效解决上述问题,协议分析技术有效利用网络协议的层次结构和相关协议知识,以快速判断攻击特征是否存在,大幅缩减匹配的计算量,节省系统资源,能够在大规模高速网络中实现优秀的检测能力,获得更高效和更精确的检测结果。采用协议分析技术可以进行数据包中应用内容的检测,能够将传输过程中拆分的数据包中的应用内容进行重组,然后针对重组后的应用内容进行分析检测。近年来,随着高速网络技术如ATM、千兆以太网、G比特光纤网等不断涌现,网络中数据和信息量以指数方式增长,使得上述单纯的协议分析技术出现了越来越多的问题,包括:单纯的对所有数据包都要进行还原和解释,不能及时处理网络中产生的海量数据方面,导致大量丢包、持续占用系统资源和效率低下等问题,而且协议分析技术只能针对单个数据包进行快速、实时的攻击检测,而对于意图攻击和大规模分布式协同攻击无能为力,另外,单纯的协议分析技术不具有审计功能,这也限制了协议分析技术的应用。
发明内容
本发明的目的在于提供一种基于数据挖掘的网络入侵检测系统,本发明有效结合了数据挖掘技术和协议分析技术,提高了检测的精确性和可靠性,同时利用数据挖掘技术处理海量数据,实现实时响应。
本发明的再一目的是提供一种基于数据挖掘的网络入侵检测方法。
本发明目的通过下述技术方案实现:一种基于数据挖掘的网络入侵检测系统,包括:
数据包捕获模块,用于捕获网络中的数据包,将捕获到的数据包按类型进行分类,丢弃不符合的数据包并生成丢弃数据包报告信息发送到报警响应模块,然后将分类和丢弃处理后的数据包发送到数据包分析模块;
数据包分析模块,用于对数据包捕获模块传来的数据包进行数据报格式分析,判断当前数据包是否是完整数据包,如果是则直接将完整数据包发送到数据挖掘模块,否则调用碎片重组模块对碎片数据包进行重组;
碎片重组模块,用于对碎片数据包进行重组,将重组还原成的完整数据包发送到数据挖掘模块,将不能重组还原成完整数据包的相应碎片数据包丢弃,并生成丢弃碎片数据包报告信息发送到报警响应模块;
数据挖掘模块,用于对完整数据包进行数据挖掘,生成新的关联规则并发送到报警响应模块,在所有数据包完成数据挖掘后生成数据挖掘报告信息发送到报警响应模块,然后将数据包发送到协议分析模块;
协议分析模块,根据从规则库解析出来的协议,利用协议的特征对数据包进行协议分析,如果当前数据包和规则库中协议的某种特征匹配,则发送报警信息到报警响应模块,当对所有数据包完成协议分析后,生成协议分析报告信息发送到报警响应模块;
报警响应模块,根据数据包捕获模块、碎片重组模块、数据挖掘模块和协议分析模块传来的报告信息生成报警信息,对协议分析模块传来的报警信息进行实时响应,同时,判断是否将数据挖掘模块所新生成的关联规则保存到规则库中;
规则解析模块,用于使用入侵事件描述语言将定义好的规则库从文件中读取出来,然后进行解析,读入内存,同时用于将新的攻击模式或规则写入规则库中。
本发明基于数据挖掘的网络入侵检测系统还包括:
规则库细化模块,用于接收分类预测模块生成的分类结果,依据分类结果对规则库中的规则进行分类细化,同时根据分类细化结果,将新生成的关联规则对应存入规则库。
所述数据挖掘模块进一步包括:
时间序列分析模块,用于对完整数据包进行时间序列分析,然后生成报告信息发送到报警响应模块;
关联规则挖掘模块,用于对时间序列分析模块处理后的完整数据包进行关联规则挖掘,生成新的关联规则发送到报警响应模块,在所有数据包完成数据挖掘后生成报告信息发送到报警响应模块;然后将数据包发送到分类预测模块;
分类预测模块,用于对数据包按照协议类型进行分类,获得稳定的分类模型,同时采用预测方法,利用分类模型对未知类别数据包进行预测分类,将分类结果发送到规则库细化模块,并生成报告信息发送到报警响应模块,然后将分类后的数据包发送到协议分析模块。
一种基于数据挖掘的网络入侵检测方法,包括以下步骤:
(1)数据包捕获模块捕获网络中的数据包,将捕获到的数据包按类型进行分类,丢弃不符合的数据包并生成丢弃数据包报告信息发送到报警响应模块,然后将分类和丢弃处理后的数据包发送到数据包分析模块;
(2)数据包分析模块对数据包捕获模块传来的数据包进行数据报格式分析,判断当前数据包是否是完整数据包,如果是则直接将完整数据包发送到数据挖掘模块,否则调用碎片重组模块对碎片数据包进行重组;
(3)碎片重组模块对碎片数据包进行重组,将重组还原成的完整数据包发送到数据挖掘模块,将不能重组还原成完整数据包的相应碎片数据包丢弃,并生成丢弃碎片数据包报告信息发送到报警响应模块;
(4)数据挖掘模块对完整数据包进行数据挖掘,生成新的关联规则发送到报警响应模块,在所有数据包完成数据挖掘后生成数据挖掘报告信息发送到报警响应模块,然后将数据包发送到协议分析模块;
(5)协议分析模块根据从规则库解析出来的协议,利用协议的特征对数据包进行协议分析,如果当前数据包和规则库中协议的某种特征匹配,则发送报警信息到报警响应模块,当对所有数据包完成协议分析后,生成协议分析报告信息发送到报警响应模块;
(6)报警响应模块根据数据包捕获模块、碎片重组模块、数据挖掘模块和协议分析模块传来的报告信息生成报警信息,对协议分析模块传来的报警信息进行实时响应,同时,判断是否将数据挖掘模块所新生成的关联规则保存到规则库中。
上述方法中,步骤(3)所述碎片重组模块对碎片数据包进行重组,具体操作如下:根据碎片数据包格式中总长度、标识、偏移信息、源IP地址和目的IP地址对相应的碎片数据包进行重组,重复碎片重组步骤直至还原为完整数据包,将完整数据包发送到数据挖掘模块,否则认为是重组失败,丢弃相应碎片数据包并生成丢弃碎片数据包报告信息发送到报警响应模块。
上述方法中,步骤(4)所述数据挖掘模块对完整数据包进行数据挖掘,具体操作如下:
(4.1)时间序列分析模块对完整数据包进行时间序列分析,然后生成报告信息发送到报警响应模块;
(4.2)关联规则挖掘模块对时间序列分析模块处理后的完整数据包进行关联规则挖掘,生成新的关联规则发送到报警响应模块,在所有数据包完成数据挖掘后生成报告信息发送到报警响应模块;然后将数据包发送到分类预测模块;
(4.3)分类预测模块对数据包按照协议类型进行分类,获得稳定的分类模型,同时采用预测方法,利用分类模型对未知类别数据包进行预测分类,将分类结果发送到规则库细化模块,并生成报告信息发送到报警响应模块,然后将分类后的数据包发送到协议分析模块。
上述数据挖掘的优选方法中,步骤(4.2)所述关联规则挖掘模块还同时对时间序列分析模块的报告信息、分类检测模块的报告信息、协议分析模块生成的报告结果和报警响应模块生成的报警信息进行关联规则挖掘,并执行后续操作。
上述数据挖掘的优选方法中,步骤(4.3)所述分类预测模块对数据包按照协议类型进行分类,其中只需将第一次分类结果发送到规则库细化模块,在以后运行过程中仅发送新增加的分类到规则库细化模块,实现规则库细化模块的动态调整,同时降低系统负载。
上述数据挖掘的优选方法中,步骤(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)所述分类预测模块将分类结果发送到规则库细化模块后,规则库细化模块依据分类结果对规则库中的规则进行分类细化,以便在协议分析模块进行并行协议分析时,可设置更多、更具体的线程,实现高速匹配,提高协议分析的检测准确性。
上述方法中,步骤(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攻击是否发生,并根据异常信息生成报告发送到报警响应模块,供以后攻击事件统计使用。
上述实施例为本发明典型的实施方式,但本发明的实施方式并不受所述实施例的限制,其他的任何未背离本发明的精神实质与原理下所作的改变、修饰、替代、组合、简化,均应为等效的置换方式,都包含在本发明的保护范围之内。
Claims (4)
1.一种基于数据挖掘的网络入侵检测系统,其特征在于,包括:
数据包捕获模块,用于捕获网络中的数据包,将捕获到的数据包按类型进行分类,丢弃不符合的数据包并生成丢弃数据包报告信息发送到报警响应模块,然后将分类和丢弃处理后的数据包发送到数据包分析模块;
数据包分析模块,用于对数据包捕获模块传来的数据包进行数据报格式分析,判断当前数据包是否是完整数据包,如果是则直接将完整数据包发送到数据挖掘模块,否则调用碎片重组模块对碎片数据包进行重组;
碎片重组模块,用于对碎片数据包进行重组,将重组还原成的完整数据包发送到数据挖掘模块,将不能重组还原成完整数据包的相应碎片数据包丢弃,并生成丢弃碎片数据包报告信息发送到报警响应模块;
数据挖掘模块,用于对完整数据包进行数据挖掘,生成新的关联规则发送到报警响应模块,所有数据包完成数据挖掘后并生成数据挖掘报告信息发送到报警响应模块,然后将数据包发送到协议分析模块;
协议分析模块,根据从规则库解析出来的协议,利用协议的特征对数据包进行协议分析,如果当前数据包和规则库中协议的某种特征匹配,则发送报警信息到报警响应模块,当对所有数据包完成协议分析后,生成协议分析报告信息发送到报警响应模块;
报警响应模块,根据数据包捕获模块、碎片重组模块、数据挖掘模块和协议分析模块传来的报告信息生成报警信息,对协议分析模块传来的报警信息进行实时响应,同时,判断是否将数据挖掘模块所新生成的关联规则保存到规则库中;报警响应模块判断关联规则中是否存在攻击数据包,将新生成的关联规则中的攻击数据包个数作为危险标识,初始时为0,表示无危险,危险标识越大则危险级别越高,如果关联规则的危险标识不为0,则将新生成的关联规则通过规则库细化模块将新生成的关联规则进行分类细化,然后和危险标识信息一起添加到规则库中;如果为0则丢弃;
规则解析模块,用于使用入侵事件描述语言将定义好的规则库从文件中读取出来,然后进行解析,读入内存,同时用于将新的攻击模式或规则写入规则库中;
规则库细化模块,用于接收分类预测模块生成的分类结果,依据分类结果对规则库中的规则进行分类细化,同时根据分类细化结果,将新生成的关联规则对应存入规则库;
所述数据挖掘模块包括:
时间序列分析模块,用于对完整数据包进行时间序列分析,然后生成报告信息发送到报警响应模块;
关联规则挖掘模块,用于对时间序列分析模块处理后的完整数据包进行关联规则挖掘,生成新的关联规则发送到报警响应模块,在所有数据包完成数据挖掘后生成报告信息发送到报警响应模块;然后将数据包发送到分类预测模块;
分类预测模块,用于对数据包按照协议类型进行分类,获得稳定的分类模型,同时采用预测方法,利用分类模型对未知类别数据包进行预测分类,将分类结果发送到规则库细化模块,并生成报告信息发送到报警响应模块,然后将分类后的数据包发送到协议分析模块。
2.一种基于数据挖掘的网络入侵检测方法,其特征在于,包括以下步骤:
(1)数据包捕获模块捕获网络中的数据包,将捕获到的数据包按类型进行分类,丢弃不符合的数据包并生成丢弃数据包报告信息发送到报警响应模块,然后将分类和丢弃处理后的数据包发送到数据包分析模块;
(2)数据包分析模块对数据包捕获模块传来的数据包进行数据报格式分析,判断当前数据包是否是完整数据包,如果是则直接将完整数据包发送到数据挖掘模块,否则调用碎片重组模块对碎片数据包进行重组;
(3)碎片重组模块对碎片数据包进行重组,将重组还原成的完整数据包发送到数据挖掘模块,将不能重组还原成完整数据包的相应碎片数据包丢弃,并生成丢弃碎片数据包报告信息发送到报警响应模块;
(4)数据挖掘模块对完整数据包进行数据挖掘,生成新的关联规则发送到报警响应模块,所有数据包完成数据挖掘后并生成数据挖掘报告信息发送到报警响应模块,然后将数据包发送到协议分析模块;
(5)协议分析模块根据从规则库解析出来的协议,利用协议的特征对数据包进行协议分析,如果当前数据包和规则库中协议的某种特征匹配,则发送报警信息到报警响应模块,当对所有数据包完成协议分析后,生成协议分析报告信息发送到报警响应模块;
(6)报警响应模块根据数据包捕获模块、碎片重组模块、数据挖掘模块和协议分析模块传来的报告信息生成报警信息,对协议分析模块传来的报警信息进行实时响应,同时,判断是否将数据挖掘模块所新生成的关联规则保存到规则库中;
步骤(4)所述数据挖掘模块对完整数据包进行数据挖掘,具体操作如下:
(4.1)时间序列分析模块对完整数据包进行时间序列分析然后生成报告信息发送到报警响应模块;
(4.2)关联规则挖掘模块对时间序列分析模块处理后的完整数据包进行关联规则挖掘,生成新的关联规则发送到报警响应模块,在所有数据包完成数据挖掘后生成报告信息发送到报警响应模块;然后将数据包发送到分类预测模块;
(4.3)分类预测模块对数据包按照协议类型进行分类,获得稳定的分类模型,同时采用预测方法,利用分类模型对未知类别数据包进行预测分类,将分类结果发送到规则库细化模块,并生成报告信息发送到报警响应模块,然后将分类后的数据包发送到协议分析模块;
步骤(5)所述协议分析模块对数据包进行协议分析,其具体方法如下:
(5.1)接收由分类预测模块按照协议类型将数据包进行分类后传来的数据包;
(5.2)规则库细化模块将规则库的规则进行分类细化后,再由协议解析模块进行协议解析,得到分类细化后的协议,由协议分析模块将该分类细化后的协议映射到协议分析采用的并行数据包检测线程的对应线程上,与分类预测模块传来的分类后数据包进行一一匹配;
(5.3)如果当前数据包和协议的某种特征匹配,则发送报警信息到报警响应模块,当对所有数据包完成协议分析后,生成协议分析报告信息发送到报警响应模块;
步骤(6)所述报警响应模块判断是否将数据挖掘模块所新生成的关联规则保存到规则库中,其具体方法如下:
报警响应模块判断关联规则中是否存在攻击数据包,将新生成的关联规则中的攻击数据包个数作为危险标识,初始时为0,危险标识越大则危险级别越高,如果关联规则的危险标识不为0,则将新生成的关联规则通过规则库细化模块将新生成的关联规则进行分类细化,然后和危险标识信息一起添加到规则库中;如果为0则丢弃。
3.根据权利要求2所述的一种基于数据挖掘的网络入侵检测方法,其特征在于:步骤(4.2)所述关联规则挖掘模块还同时对时间序列分析模块的报告信息、分类检测模块的报告信息、协议分析模块生成的报告信息和报警响应模块生成的报警信息进行关联规则挖掘,并执行后续操作;
步骤(4.3)所述分类预测模块对数据包按照协议类型进行分类,其中只需将第一次分类结果发送到规则库细化模块,在以后运行过程中仅发送新增加的分类到规则库细化模块;
步骤(4.3)所述分类预测模块将分类结果发送到规则库细化模块后,规则库细化模块依据分类结果对规则库中的规则进行分类细化。
4.根据权利要求2至3任一项所述的一种基于数据挖掘的网络入侵检测方法,其特征在于:步骤(6)所述报警响应模块根据数据包捕获模块、碎片重组模块、数据挖掘模块和协议分析模块传来的报告信息生成报警信息后,还依次调用时间序列分析模块和分类预测模块对报警信息依次进行时间序列分析和分类处理。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2009102146026A CN101789931B (zh) | 2009-12-31 | 2009-12-31 | 一种基于数据挖掘的网络入侵检测系统及方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2009102146026A CN101789931B (zh) | 2009-12-31 | 2009-12-31 | 一种基于数据挖掘的网络入侵检测系统及方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101789931A CN101789931A (zh) | 2010-07-28 |
CN101789931B true CN101789931B (zh) | 2012-12-05 |
Family
ID=42532988
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2009102146026A Expired - Fee Related CN101789931B (zh) | 2009-12-31 | 2009-12-31 | 一种基于数据挖掘的网络入侵检测系统及方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101789931B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105530098A (zh) * | 2015-12-04 | 2016-04-27 | 北京浩瀚深度信息技术股份有限公司 | 一种协议指纹自动提取方法及系统 |
Families Citing this family (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101938382A (zh) * | 2010-08-13 | 2011-01-05 | 杭州迪普科技有限公司 | 审计特征的检测方法及用户行为审计系统 |
CN101976313B (zh) * | 2010-09-19 | 2012-09-26 | 四川大学 | 基于频繁子图挖掘的异常入侵检测方法 |
CN102045358A (zh) * | 2010-12-29 | 2011-05-04 | 深圳市永达电子股份有限公司 | 一种基于整合相关性分析与分级聚类的入侵检测方法 |
CN102592093B (zh) * | 2012-01-16 | 2014-12-10 | 河南科技大学 | 一种基于生物免疫机制的主机入侵检测方法 |
CN102594625B (zh) * | 2012-03-07 | 2016-04-20 | 北京启明星辰信息技术股份有限公司 | 一种apt智能检测分析平台中的白数据过滤方法及系统 |
CN103281336A (zh) * | 2013-06-19 | 2013-09-04 | 上海众恒信息产业股份有限公司 | 网络入侵检测方法 |
CN104022999A (zh) * | 2013-09-05 | 2014-09-03 | 北京科能腾达信息技术股份有限公司 | 基于协议分析的网络数据处理方法及系统 |
CN103701769A (zh) * | 2013-11-07 | 2014-04-02 | 江南大学 | 一种检测网络危害源头的方法与系统 |
CN104104675A (zh) * | 2014-06-24 | 2014-10-15 | 赖洪昌 | Internet控制报文协议伪装捕获与分析技术 |
CN105930967A (zh) * | 2016-04-19 | 2016-09-07 | 成都晨越建设项目管理股份有限公司 | 安全可靠的地铁造价审计信息系统 |
CN107979567A (zh) * | 2016-10-25 | 2018-05-01 | 北京计算机技术及应用研究所 | 一种基于协议分析的异常检测系统及方法 |
CN106533830B (zh) * | 2016-10-28 | 2020-07-14 | 上海斐讯数据通信技术有限公司 | 一种提高报文响应时间的装置及方法 |
CN107241226B (zh) * | 2017-06-29 | 2020-10-16 | 北京工业大学 | 基于工控私有协议的模糊测试方法 |
CN108337237A (zh) * | 2017-12-28 | 2018-07-27 | 广州华夏职业学院 | 一种基于云计算机的远程教学系统接口安全检测系统 |
CN108471430A (zh) * | 2018-07-03 | 2018-08-31 | 杭州安恒信息技术股份有限公司 | 一种物联网嵌入式安全防护方法及装置 |
CN110225001B (zh) * | 2019-05-21 | 2021-06-04 | 清华大学深圳研究生院 | 一种基于主题模型的动态自更新网络流量分类方法 |
CN110995733B (zh) * | 2019-12-12 | 2022-10-28 | 江苏亨通工控安全研究院有限公司 | 一种基于遥测技术的工控领域的入侵检测系统 |
US11444961B2 (en) * | 2019-12-20 | 2022-09-13 | Intel Corporation | Active attack detection in autonomous vehicle networks |
CN111327625A (zh) * | 2020-03-02 | 2020-06-23 | 武汉中旗生物医疗电子有限公司 | 一种参数监测方法、装置、多参数监护仪以及存储介质 |
CN112532538A (zh) * | 2020-11-23 | 2021-03-19 | 中信银行股份有限公司 | 流量的控制方法、装置、电子设备及计算机可读存储介质 |
CN115134250B (zh) * | 2022-06-29 | 2024-03-15 | 北京计算机技术及应用研究所 | 一种网络攻击溯源取证方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1507233A (zh) * | 2002-12-11 | 2004-06-23 | 中国科学院研究生院 | 一种坚固网关系统及其检测攻击方法 |
CN1668015A (zh) * | 2004-12-20 | 2005-09-14 | 华中科技大学 | 基于协同入侵检测的大规模网络安全防御系统 |
US7089592B2 (en) * | 2001-03-15 | 2006-08-08 | Brighterion, Inc. | Systems and methods for dynamic detection and prevention of electronic fraud |
CN1878093A (zh) * | 2006-07-19 | 2006-12-13 | 华为技术有限公司 | 安全事件关联分析方法和系统 |
-
2009
- 2009-12-31 CN CN2009102146026A patent/CN101789931B/zh not_active Expired - Fee Related
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7089592B2 (en) * | 2001-03-15 | 2006-08-08 | Brighterion, Inc. | Systems and methods for dynamic detection and prevention of electronic fraud |
CN1507233A (zh) * | 2002-12-11 | 2004-06-23 | 中国科学院研究生院 | 一种坚固网关系统及其检测攻击方法 |
CN1668015A (zh) * | 2004-12-20 | 2005-09-14 | 华中科技大学 | 基于协同入侵检测的大规模网络安全防御系统 |
CN1878093A (zh) * | 2006-07-19 | 2006-12-13 | 华为技术有限公司 | 安全事件关联分析方法和系统 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105530098A (zh) * | 2015-12-04 | 2016-04-27 | 北京浩瀚深度信息技术股份有限公司 | 一种协议指纹自动提取方法及系统 |
CN105530098B (zh) * | 2015-12-04 | 2018-10-09 | 北京浩瀚深度信息技术股份有限公司 | 一种协议指纹自动提取方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN101789931A (zh) | 2010-07-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101789931B (zh) | 一种基于数据挖掘的网络入侵检测系统及方法 | |
CN104022999A (zh) | 基于协议分析的网络数据处理方法及系统 | |
CN1330131C (zh) | 一种交互式的网络蠕虫检测系统和方法 | |
CN107018084B (zh) | 基于sdn架构的ddos攻击防御网络安全方法 | |
CN101656634B (zh) | 基于IPv6网络环境的入侵检测方法 | |
CN102801738B (zh) | 基于概要矩阵的分布式拒绝服务攻击检测方法及系统 | |
CN101465855B (zh) | 一种同步泛洪攻击的过滤方法及系统 | |
CN105554016A (zh) | 网络攻击的处理方法和装置 | |
US20050278779A1 (en) | System and method for identifying the source of a denial-of-service attack | |
CN108063765A (zh) | 适于解决网络安全的sdn系统 | |
CN101364981A (zh) | 基于因特网协议版本6的混合式入侵检测方法 | |
CN103281293A (zh) | 一种基于多维分层相对熵的网络流量异常检测方法 | |
CN101217547B (zh) | 基于开源内核的无状态的泛洪请求攻击过滤方法 | |
WO2002021771A1 (en) | Device to protect victim sites during denial of service attacks | |
WO2002021279A1 (en) | Thwarting source address spoofing-based denial of service attacks | |
CN103281336A (zh) | 网络入侵检测方法 | |
CN106357685A (zh) | 一种防御分布式拒绝服务攻击的方法及装置 | |
CN102821081A (zh) | 监测小流量ddos攻击的方法和系统 | |
KR100684602B1 (ko) | 세션 상태전이를 이용한 시나리오 기반 침입대응 시스템 및그 방법 | |
KR101602189B1 (ko) | 10기가급 패킷 캡쳐링에 의한 트래픽 분석 및 망 감시 시스템 | |
Xing et al. | Research on the defense against ARP spoofing attacks based on Winpcap | |
CN113810362A (zh) | 一种安全风险检测处置系统及其方法 | |
Fenil et al. | Towards a secure software defined network with adaptive mitigation of dDoS attacks by machine learning approaches | |
KR101488271B1 (ko) | Ids 오탐 검출 장치 및 방법 | |
CN117560196A (zh) | 一种智慧变电站二次系统测试系统及方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20121205 Termination date: 20151231 |
|
EXPY | Termination of patent right or utility model |