背景技术
随着企业信息化、网络化的不断深入,计算机网络在企业内部起着越来越重要的作用。但由于计算机网络的互连性、开放性等特征,使得其极易成为恶意攻击的目标和载体,企业网络安全也越来越受到重视。为此,很多企业都根据自身的实际情况构建了企业网络安全体系,通过部署诸如防火墙、IDS入侵检测系统等设备用以防止来自于企业外部网络的恶意渗透和攻击。
然而,尽管企业构建了符合自身特点的安全体系,部署了通过权威机构测试认证的安全产品,但在实际工作中仍不可避免的会遇到各种各样的安全问题。这些问题,可能是由于对安全设备的策略设置不当,可能是由于随着时间的推移未能得到及时更新和升级,也可能是由于某安全设备的安全机制被攻破或失效等原因引起的。
为了尽可能的保障企业网络安全,及时提早的发现企业网络中可能存在的问题,并针对这些问题进行整改,不少企业都会通过第三方机构对企业网络进行安全测试评估,并根据测试评估结果进行网络安全改造。这种传统的企业网络安全测试方式存在以下几个问题:
(1)作为对企业网络安全进行测试的第三方机构较多,且水平参差不齐,没有任何一家第三方能替代所有的其他测试机构。而且在实际工作中,由于各种原因往往不能找到一个完美的合作方。
(2)第三方测试费用较高,虽然企业根据第三方测试报告进行了网络的安全整改,但随着时间的推移又会出现新的各种各样的问题。这些问题的出现使得企业可能又需要进行新的第三方测试,由此会不断地产生较高的测试费用。
(3)企业委托第三方测试属于间歇性工作,企业在两次测试工作之间有一定的时间间隔,在该间隔时间内企业网络有可能安全事故频发但得不到有效的解决,对于新出现的安全问题也难以得到及时的响应,可能会对企业造成严重的网络安全事故。
(4)企业委托第三方测试工作的开展,往往是集中式实施。第三方测试机构的工作团队可能对企业的日常运行以及企业网络的正常使用造成一定的影响,可能会干扰到部分企业员工的正常工作。
发明内容
本发明所要解决的技术问题是:提出一种企业网络安全自动化测试系统及方法,解决传统的企业网络安全测试方式存在的问题。
本发明解决上述技术问题所采用的技术方案是:
企业网络安全自动化测试系统,包括网络主机抽样模块、主机扫描和端口嗅探模块、网络安全自动化测试模块、测试信息收集模块、测试信息聚合分析及反馈模块;
所述网络主机抽样模块,用于在企业网络中根据预先设置的抽样策略抽取需要进行网络安全测试的主机,生成测试主机列表;
所述主机扫描和端口嗅探模块,用于对测试主机列表中的主机进行系统信息扫描和端口嗅探,生成对应于测试主机列表的主机系统和活动端口信息;
所述网络安全自动化测试模块,以主机系统和活动端口信息作为网络安全测试工具集的选择依据,从网络安全测试工具集中根据不同的被测试主机特征定制选择相应的测试工具,并实施自动化测试;
所述测试信息收集模块,用于将不同的测试工具实施自动化测试所生成的结果进行数据格式的统一化,并将格式统一后的数据存储于测试信息数据库中;
所述测试信息聚合分析及反馈模块,用于根据预定策略从测试信息数据库中提取被测试主机的测试结果进行聚合分析,根据分析结果对用户进行相应预警和显示。
具体的,所述网络主机抽样模块根据预先设置的抽样策略抽取需要进行网络安全测试的主机,包括:在测试前根据企业网络的VALN划分,在每个VLAN中根据主机权重进行抽样确定被测试主机。
具体的,所述主机扫描和端口嗅探模块对测试主机列表中的主机进行系统信息扫描和端口嗅探是指:针对测试主机列表中不同类型的被测试主机构建对应的扫描和端口嗅探工具集,对被测试主机进行系统信息扫描和活动端口嗅探。
具体的,所述测试信息收集模块将格式统一后的数据存储于测试信息数据库中包括:以六元组元素的形式对格式统一后的数据进行存储,所述六元组元素包括:主机IP、MAC地址、系统类型、活动端口、风险问题标识、风险问题描述。
具体的,所述测试信息聚合分析及反馈模块根据预定策略从测试信息数据库中提取被测试主机的测试结果进行聚合分析,包括:通过对测试信息数据库中的已存储的测试信息按照主机IP、活动端口、安全风险标识度进行聚类分析,归类测试过程中发现的问题,并同步修改主机权重。
此外,本发明的另一目地还在于提出一种相应的企业网络安全自动化测试方法,该方法包括以下步骤:
a.在企业网络中根据预先设置的抽样策略抽取需要进行网络安全测试的主机,生成测试主机列表;
b.对测试主机列表中的主机进行系统信息扫描和端口嗅探,生成对应于测试主机列表的主机系统和活动端口信息;
c.以主机系统和活动端口信息作为网络安全测试工具集的选择依据,从网络安全测试工具集中根据不同的被测试主机特征定制选择相应的测试工具,并实施自动化测试;
d.将不同的测试工具实施自动化测试所生成的结果进行数据格式的统一化,并将格式统一后的数据存储于测试信息数据库中;
e.根据预定策略从测试信息数据库中提取被测试主机的测试结果进行聚合分析,根据分析结果对用户进行相应预警和显示。
具体的,步骤a中,所述根据预先设置的抽样策略抽取需要进行网络安全测试的主机,包括:在测试前根据企业网络的VALN划分,在每个VLAN中根据主机权重进行抽样确定被测试主机。
具体的,步骤b中,所述对测试主机列表中的主机进行系统信息扫描和端口嗅探是指:针对测试主机列表中不同类型的被测试主机构建对应的扫描和端口嗅探工具集,对被测试主机进行系统信息扫描和活动端口嗅探。
具体的,步骤d中,所述测试信息收集模块将格式统一后的数据存储于测试信息数据库中包括:以六元组元素的形式对格式统一后的数据进行存储,所述六元组元素包括:主机IP、MAC地址、系统类型、活动端口、风险问题标识、风险问题描述。
具体的,步骤e中,所述根据预定策略从测试信息数据库中提取被测试主机的测试结果进行聚合分析,包括:通过对测试信息数据库中的已存储的测试信息按照主机IP、活动端口、安全风险标识度进行聚类分析,归类测试过程中发现的问题,并同步修改主机权重。
本发明的有益效果是:通过构建企业自身的网络安全自动化测试平台,整个网络安全测试过程不需要第三方测试机构的参与,大大降低企业进行网络安全测试的费用,并提高了企业对网络安全问题及时发现和响应的能力。
具体实施方式
本发明旨在提出一种企业网络安全自动化测试系统及方法,解决传统的企业网络安全测试方式存在的问题。
下面结合附图对本发明的方案作更进一步的描述:
如图1所示,本发明中的企业网络安全自动化测试系统,包括网络主机抽样模块、主机扫描和端口嗅探模块、网络安全自动化测试模块、测试信息收集模块、测试信息聚合分析及反馈模块几个部分;各个模块的功能如下:
(1)网络主机抽样模块,用于在企业网络中根据预先设置的抽样策略抽取需要进行网络安全测试的主机,生成测试主机列表;
(2)主机扫描和端口嗅探模块,用于对测试主机列表中的主机进行系统信息扫描和端口嗅探,生成对应于测试主机列表的主机系统和活动端口信息;
(3)网络安全自动化测试模块,以主机系统和活动端口信息作为网络安全测试工具集的选择依据,从网络安全测试工具集中根据不同的被测试主机特征定制选择相应的测试工具,并实施自动化测试;
(4)测试信息收集模块,用于将不同的测试工具实施自动化测试所生成的结果进行数据格式的统一化,并将格式统一后的数据存储于测试信息数据库中;
(5)测试信息聚合分析及反馈模块,用于根据预定策略从测试信息数据库中提取被测试主机的测试结果进行聚合分析,根据分析结果对用户进行相应预警和显示。
上述系统的工作原理如图2所示,其包括以下实现步骤:
1.企业网络被测试主机抽样,在测试前根据企业网络的VALN划分,在每个VLAN中根据主机权重进行抽样确定被测试主机,所有被抽样出的主机构成本次企业网络安全自动化测试的样本集。
这里所述的主机权重,在初始时均被定义为0,当某主机被抽为被测主机时权重加1,当权重已为最大值时重新置0。抽样时,优先在低权重主机中进行样本抽取,对于同等权重的主机进行随机抽样。
2.根据被测主机类型选取扫描和嗅探工具,对主机实施系统信息扫描和活动端口嗅探,生成主机系统和活动端口信息。扫描嗅探工具筛选主要根据被测主机系统类型进行,如个人PC、服务器、防火墙、路由器等,针对不同类型的被测试主机构建对应的工具集。
3.根据主机系统和活动端口信息,从工具集合中筛选出用于网络安全自动化测试的工具,并进行自动化测试。筛选分为扫描嗅探工具筛选和安全测试工具筛选两个阶段。网络安全自动化测试工具筛选根据被测主机的主机系统信息列表和主机活动端口列表进行,主机系统信息如Windows、Linux、Ubuntu、Andriod等,主机活动端口如21(FTP)、80(Web)、135(Netbios)、1314(Unkown)等,针对不同的主机系统类型和活动端口建立对应的测试工具集。
4.测试信息统一格式化数据,将不同测试工具的输出结果进行二次加工,按照统一的数 据格式存放到数据库中,单条记录参考数据格式为六元组<主机IP,MAC地址,系统类型,活动端口,风险问题标识,风险问题描述>。
5.测试结果聚类分析,通过对测试中已入库的测试信息按照主机IP、活动端口、安全风险标识三个纬度进行聚类分析,归类测试过程中发现的问题,并同步修改主机权重。
6.聚类分析结果通过数据统计面板提供给用户参考,如HTML网页方式。
实施例:
本例中给出了上述技术方案的一个具体实施实例,具体步骤如下:
步骤1:企业网络管理员启动测试工作,完成被测主机抽样:
为了实现企业网络主机抽样,可以构建企业网络主机权重信息表,包括各主机在企业网络中的VLAN属性表。企业网络中的主机信息记录可如表1所示。
表1企业网络主机权重信息表
主机IP |
主机MAC |
主机名称 |
主机权重 |
VLAN属性 |
类别 |
192.168.1.10 |
F0-DE-F1-35-F5-9C |
WebServer |
2 |
VLAN01 |
Server |
192.168.62.7 |
F0-DE-F1-00-ED-0E |
ZhangSan |
1 |
VLAN62 |
PC |
192.168.52.3 |
D0-00-F2-39-22-1F |
LiSi |
0 |
VLAN52 |
PC |
192.168.0.11 |
EE-DC-F2-11-25-33 |
SangFor |
0 |
N/A |
FW |
抽样时,根据需抽样主机总数平均分配到每个VLAN,在单个VLAN中抽样时优先在低权重主机中进行样本抽取,对于同等权重的主机进行随机抽样。
步骤2:根据被测主机类型选取扫描和嗅探工具,对主机实施系统信息扫描和活动端口嗅探,生成主机系统和活动端口信息:
在已构建的主机信息系统扫描和活动端口嗅探工具集合中,根据抽样出的被测试主机类型进行选择。如,根据步骤1抽样出了如下2台主机用于安全自动化测试:
Host1:<192.168.1.10,F0-DE-F1-35-F5-9C,WebServer,2,VLAN01,Server>
Host2:<192.168.62.7,F0-DE-F1-00-ED-0E,ZhangSan,1,VLAN62,PC>
根据主机类型生成筛选条件,例如:
通过对该筛选条件的解析,可获得被测试主机类型,并根据类型筛选后获得用于对该被测主机进行主机系统信息扫描和活动端口嗅探的工具信息,例如:
根据生成的被测主机进行主机系统信息扫描和活动端口嗅探的工具信息,通过平台调用工具完成对被测主机的系统扫描和端口嗅探,并获得对应的被测主机系统信息列表和活动端口列表,例如:
步骤3:根据主机系统和活动端口信息,从工具集合中筛选出用于网络安全自动化测试的工具,并进行自动化测试。
通过对步骤2获取到的主机系统和活动端口信息的解析,可获得主机系统版本、活动端口、开放服务等信息,并根据这些信息从工具集合中筛选出用于网络安全自动化测试的工具,例如:
根据生成的网络安全自动化测试工具信息,通过平台调用工具完成对被测主机的测试。步骤4:测试信息统一格式化数据,将不同测试工具的输出结果进行二次加工,按照统一的数据格式存放到数据库中。
将实施步骤3中测试工具执行的输出数据统一进行格式化,格式为六元组<主机IP,MAC地址,系统类型,活动端口,风险问题标识,风险问题描述>,在数据库中的测试信息记录如表2所示。
表2测试信息记录表
步骤5:测试结果聚类分析,并同步修改主机权重。
在实施步骤4的基础上获取了被测主机的安全测试记录信息,通过对测试中已入库的测试信息按照主机IP、活动端口、安全风险标识三个纬度进行聚类分析,归类测试过程中发现的问题,例如按表2聚类分析后结果如下:
完成对测试结果的聚类分析后,同步修改主机权重,例如主机192.168.1.10被抽样测试前权重信息如下:
该主机被测试抽样并完成测试后,其测试权重信息变更为:
步骤6:聚类分析结果通过数据统计面板提供给用户,例如以下表方式:
表3安全测试结果IP聚类分析
表4安全测试结果PORT聚类分析
表5安全测试结果安全风险标识聚类分析
需要说明的是,本发明要求保护的范围包含但不仅限于上述实施例,本领域技术人员根据以上描述在不脱离本发明精神实质的情况下对本发明的技术内容作出的等同修改/替换,均在本发明的保护范围之内。