System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本专利技术属于网络安全,具体涉及一种ids自动化测试方法和系统。
技术介绍
1、入侵检测系统(intrusion detection system),即ids,是目前主要的网络攻击检测设备。ids的工作原理是首先配置检测规则,规则中包括网络数据包特征值以及符合该特征值的数据包的处置动作,然后ids通过捕获网络数据包,将数据包中的内容与特征值进行比对,如果数据包内容与其中某条策略中的特征值一致,则执行ids规则的动作,例如告警。
2、为了验证ids设备的攻击检测功能的有效性,在ids设备开发过程中以及评测过程中需要对ids的攻击检测功能进行验证,其功能有效性的测试正是利用ids的工作原理。通过搭建测试拓扑环境,在ids两侧发送数据包,接收ids告警日志,检验是否与规则设置预期一致,从而判断ids攻击检测功能是否正确实现。
3、但是人工进行攻击检测功能的验证需要确定测试项目,根据测试项目配置ids规则,根据规则在ids一侧发送数据包,并查看ids的告警日志,然后人工比对结果判断功能是否有效。由于网络攻击种类和类型众多,因此需要不同的ids规则进行多次测试,以确保其功能的完备性,因此人工进行攻击检测功能测试效率低,且容易受测试人员技术能力影响,产生错误的测试结果。因此如何实现ids功能的自动化测试仍是目前亟需解决的问题。
技术实现思路
1、(一)要解决的技术问题
2、本专利技术要解决的技术问题是:如何设计一种ids自动化测试方法和系统,实现对ids网络
3、(二)技术方案
4、为了解决上述技术问题,本专利技术提供了一种ids自动化测试系统,该系统用于测试ids,包括测试控制模块、随机数生成模块、网络数据包库、脚本控制模块、ids策略配置模块、数据包发送模块、日志接收器和测试结果判别器;
5、所述测试控制模块负责ids安全策略测试用例的生成和测试用例的驱动,调用随机数生成模块生成该测试项测试攻击数据包id的随机数和正常数据包的id,调用脚本控制模块生成ids安全策略配置脚本、数据包发送脚本、日志接收脚本和测试结果比对脚本,并驱动脚本控制模块控制脚本执行;
6、网络数据包库存储用于测试的网络数据包,用于测试的网络数据包包括两类:分别为具有攻击特征的数据包和正常数据包,所述具有攻击特征的数据包为攻击数据包,网络数据包存储在网络数据包库中,并在网络数据包库中存储网络数据包的描述信息,包括数据包标识id、攻击类别;
7、随机数生成模块用于根据测试控制模块的指令生成随机数,随机数为网络数据包库中网络数据包的标识id;
8、脚本控制模块用于生成ids安全策略配置脚本、数据包发送脚本、日志接收脚本和测试结果比对脚本,各脚本间存在时序关系和触发条件,其中安全策略配置脚本首先执行,日志接收脚本和测试结果比对脚本随后执行并等待数据包发送脚本执行,直至数据包发送脚本执行或者测试超出时间阈值退出;
9、测试控制模块用于根据随机数生成模块产生的标识id选择攻击数据包,并根据攻击数据包的类型调用脚本控制模块生成对应的ids安全策略配置脚本,ids安全策略配置脚本根据被测试ids的安全策略配置接口配置ids安全策略;
10、数据包发送模块用于发送根据随机数生成的攻击数据包和正常数据包,其中攻击数据包中含有某种类型的网络攻击特征值,正常数据包则不含有网络攻击特征;
11、日志接收器用于在一定时间范围内监听ids发送的攻击检测日志,当日志接收器接收到攻击检测日志后,对攻击检测日志进行解析,提取攻击检测日志中的攻击类别,并发送测试结果至测试结果判别器,如果在该时间范围内没有接收到攻击检测日志,则发送“未检测”消息至测试结果判别器;
12、测试结果判别器用于对检测出的攻击类别与发送的攻击数据包的攻击类别进行比对,若检测出的攻击类别与发送的攻击数据包的攻击类别相同,则判定测试成功;反之则判定测试不成功。
13、本专利技术还提供了一种基于所述系统实现ids自动化测试的方法。
14、优选地,该方法包括以下步骤:
15、1)测试控制模块调用随机数生成模块随机生成一个整数作为id,该id代表网络数据包库中的针对漏洞的攻击数据包,同时随机数生成模块生成若干整数,根据这些整数在网络数据包库中选择正常数据包;
16、2)测试控制模块调用脚本控制模块生成4条脚本命令,脚本命令1为ids安全策略配置脚本;脚本命令2为日志接收脚本;脚本命令3为数据包发送脚本;脚本命令4为测试结果比对脚本;
17、3)脚本命令1驱动ids策略配置模块配置ids安全策略,配置针对漏洞的攻击检测策略,配置检测出攻击后向日志接收器发送的攻击检测日志;
18、4)脚本命令2驱动日志接收器启动监听进程,并设定一定的监听时间范围;
19、5)脚本命令3驱动数据包发送模块生成测试数据包,即攻击数据包,测试数据包从网络数据包库中加载,具有针对漏洞的攻击特征;
20、6)脚本命令3驱动数据包发送模块发送正常数据包,正常数据包从网络数据包库中加载,不具备攻击特征;
21、7)数据包发送模块发送测试数据包和正常数据包;
22、8)如果日志接收器接收到攻击检测日志,则根据攻击检测日志格式进行解析,提取攻击检测日志中的攻击类别,并发送给测试结果判别器;
23、9)如果日志接收器在一定的监听时间范围,未接收到攻击检测日志,则向测试结果判别器发送“未检测”消息;
24、10)脚本命令4调用测试结果判别器对日志接收器发来的攻击类别与脚本命令3驱动数据包发送模块发送的数据包攻击类别进行比对,若日志接收器发来的攻击类别信息与脚本命令3驱动数据包发送模块发送的数据包攻击类型相同且仅与脚本命令3驱动数据包发送模块发送的数据包攻击类别相同,则测试通过;
25、11)如果日志接收器发来的攻击类别与脚本命令3驱动数据包发送模块发送的数据包攻击类别不相同,则测试未通过。
26、本专利技术还提供了一种基于所述系统实现的网络攻击检测系统。
27、本专利技术还提供了一种基于所述方法实现的网络攻击检测方法。
28、(三)有益效果
29、本专利技术采用随机数随机产生测试数据包,通过发送测试数据包,并接收和比对ids发出日志中的攻击类型是否与测试数据包的攻击类型一致,从而对ids的策略有效性进行测试验证。通过脚本控制器控制ids策略的生成、数据包发送、日志接收和校验,从而可以实现ids的自动化测试。
本文档来自技高网...【技术保护点】
1.一种IDS自动化测试系统,其特征在于,该系统用于测试IDS,包括测试控制模块、随机数生成模块、网络数据包库、脚本控制模块、IDS策略配置模块、数据包发送模块、日志接收器和测试结果判别器;
2.如权利要求1所述的系统,其特征在于,所述网络数据包以PCAP文件的形式存储在网络数据包库中。
3.一种基于如权利要求1或2所述系统实现IDS自动化测试的方法。
4.如权利要求3所述的方法,其特征在于,该方法包括以下步骤:
5.如权利要求4所述的方法,其特征在于,所述漏洞为MS17-010漏洞。
6.如权利要求4所述的方法,其特征在于,所述监听时间范围为60秒。
7.如权利要求4所述的方法,其特征在于,两类网络数据包分别采用整数类型的编号作为数据包的标识ID。
8.如权利要求4所述的方法,其特征在于,两类网络数据包的标识ID分别处于独立的ID区间。
9.一种基于如权利要求1或2所述系统实现的网络攻击检测系统。
10.一种基于如权利要求3至8中任一项所述方法实现的网络攻击检测方法。
...【技术特征摘要】
1.一种ids自动化测试系统,其特征在于,该系统用于测试ids,包括测试控制模块、随机数生成模块、网络数据包库、脚本控制模块、ids策略配置模块、数据包发送模块、日志接收器和测试结果判别器;
2.如权利要求1所述的系统,其特征在于,所述网络数据包以pcap文件的形式存储在网络数据包库中。
3.一种基于如权利要求1或2所述系统实现ids自动化测试的方法。
4.如权利要求3所述的方法,其特征在于,该方法包括以下步骤:
5.如权利要求4所述的方法,其...
【专利技术属性】
技术研发人员:张继业,贾琼,海然,单联强,师文杰,杨茂深,夏旸,
申请(专利权)人:北京计算机技术及应用研究所,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。