一种面向异构主机的网络管控系统转让专利

申请号 : CN202210802799.0

文献号 : CN115333915B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 张峰丁晓丽郭乔进胡杰产院东宫世杰吴其华

申请人 : 中电莱斯信息系统有限公司

摘要 :

本发明公开了一种面向异构主机的网络管控系统,该系统由终端管控设备和管理服务器组成;其中管理服务器管控局域网中的多个终端管控设备,对各设备的策略进行配置管理,并生成综合态势;终端管控设备作为连接器连接终端主机和局域网交换机,实现对终端主机网络流量进行实时监测。本发明能够对不同种类的终端主机在不改变主机软件环境、不明显改动网络拓扑的情况下,搭建面向各类异构终端主机的专用网络流量管控系统,提升网络安全性。此外,本发明还在主动学习的基础上,针对此网络管控系统,提出了一种实时异常流量检测分类方法,为系统进行合理管控提供有力的支撑,达到进一步提升网络安全的目的。

权利要求 :

1.一种面向异构主机的网络管控系统,其特征在于,包括:终端管控设备和管理服务器;

所述管理服务器管控局域网中的多个终端管控设备,对各设备的策略进行配置管理,并生成综合态势;

所述终端管控设备作为连接器连接终端主机和局域网交换机,实现对终端主机网络流量进行实时监测;

所述管理服务器对多终端管控设备进行管理,包括网络监视模块,资源监视模块,告警管理模块,设备管理模块,日志管理模块以及态势生成模块;

网络监视模块,接收来自终端管控设备上报的实时网络状态;统计收发流量信息,检测异常流量,并对异常流量进行分类和统计;网络监视模块根据实时网络状态数据生成交互网络图,并将交互网络图转发给设备管理模块;

资源监视模块,接收来自终端管控设备上报的实时工作状态,包括:CPU利用率、网络占用率、内存占用率以及运行时长;统计资源信息;根据用户设定的规则进行判断,生成设备处理信息,包括:处理级别、处理时间、处理类型以及关联数据包;

告警管理模块,接收来自终端管控设备上报的实时工作状态和网络监视模块传送的异常流量信息,根据用户设定的告警规则进行判断,生成告警处理信息,包括:告警级别、告警时间、告警类型以及关联数据包;

设备管理模块,对接入的终端管控设备列表进行管理,并对每个终端管控设备的信息进行配置,包括:管理IP、用户名、密码、秘钥、网络设置、告警规则设置、限速规则设置以及封禁规则设置;

日志管理模块,接收终端管控设备上报的各模块工作日志,收集管理服务器各模块的运行日志,对上述日志进行日志记录和索引,并提供检索功能;

态势生成模块,对各终端管控设备的资源和网络信息进行综合统计,并以图表方式展现系统运行态势;

所述终端管控设备对终端主机的所有收发流量进行监听和管控,包括:资源监听模块、网络监听模块、网络转发模块、配置管理模块以及数据上报模块;

资源监听模块:对终端主机的工作状态进行采集,包括:CPU利用率、网络占用率、内存占用率以及运行时长;

网络监听模块:对终端主机的网络状态进行采集;

网络转发模块:根据设置的封禁规则对网络包进行转发,对特定的网络包进行拦截;

配置管理模块:接收管理服务器发送的配置数据,对设备参数进行配置,包括:管理IP、用户名、密码、秘钥、网络设置、告警规则设置、限速规则设置以及封禁规则设置;

数据上报模块:对由资源监听模块采集到的终端主机的工作状态数据,由网络监听模块采集到的终端主机的网络状态数据以及终端管控设备各模块的工作日志进行编码和封装,并上报到管理服务器。

2.根据权利要求1所述的一种面向异构主机的网络管控系统,其特征在于,所述终端管控设备在无法连接管理服务器的情况下,在本地文件临时存储设备离线工作日志,并在再次连接到管理服务器时,根据网络状态异步传输历史监控日志数据。

3.根据权利要求2所述的一种面向异构主机的网络管控系统,其特征在于,所述管理服务器的工作步骤包括:步骤a1,网络监视模块接收来自终端管控设备上报的实时网络状态,并对终端主机的收发网络流量进行分析统计,得到收发网络流量信息,生成交互网络图;

对接收到的网络流量信息进行异常流量检测,得到异常流量信息,并对异常流量信息进行分类和统计;

网络监视模块将异常流量信息转发给告警管理模块,并将收发网络流量信息和异常流量信息发送给态势生成模块,将收发网络流量信息和交互网络图发送给设备管理模块;

步骤a2,日志管理模块接收来自终端管控设备上报的各模块工作日志,收集管理服务器的各模块运行日志,对上述日志进行日志记录和索引,并提供检索功能,给系统异常运行提供修复支撑材料;

步骤a3,告警管理模块接收终端管控设备上报的实时工作状态和网络监视模块转发的异常流量信息;告警管理模块将实时工作状态与设定的阈值进行对比,超过阈值则进行工作状态异常告警处理,并生成告警处理信息;管理人员对告警管理模块接收到的异常流量信息进行实际类别查标注,如果异常流量分类错误则进行纠正,然后根据设定的网络异常告警规则进行提示或者告警处理,并生成对应的告警处理信息;告警管理模块将告警处理信息转发给设备管理模块,并将对应的告警信息在交互界面进行显示告警;

步骤a4,资源监视模块接收终端管控设备上报的实时工作状态,得到资源信息统计数据;若资源信息统计数据中的指标超过设定的阈值,则根据设定的规则生成设备处理信息,后续对终端主机进行管控;资源监视模块把得到的资源信息统计数据发送至态势生成模块,并将设备处理信息发送至设备管理模块;

步骤a5,态势生成模块对接收到的收发网络流量信息、异常流量信息和资源信息统计数据进行统计制图表,生成态势;

步骤a6,设备管理模块接收网络监视模块发来的收发流量信息和交互网络图,告警管理模块发来的告警处理信息和资源监视模块发来的设备处理信息,并根据步骤a1中生成的交互网络图,按照设定规则构建白名单和黑名单,最后按设定规则对每个终端管控设备进行配置和管控处理;

步骤a7,管理服务器管控局域网中多个终端管控设备,每个终端管控设备作为连接器连接终端主机和局域网交换机;

步骤a1中所述对异常流量信息进行检测和分类的方法包括:

步骤a1.1,获取已经确定标签的实时网络状态,即流量信息,标签包括正常标签以及异常标签;

步骤a1.2,将所有确定标签的实时网络状态去掉序号,时间戳,源IP,目的IP,源端口,目的端口属性,将实时网络状态进行最值归一化,并对所属标签独热编码;

步骤a1.3,搭建一个含卷积层、池化层、全连接层和softmax层的卷积神经网络模型,确定损失函数、优化器以及训练和测试过程监控指标,并把处理后带标签的实时网络数据划分成训练集、验证集和测试集;

步骤a1.4,使用训练集训练卷积神经网络模型;并在验证集上进行验证;观察训练损失、验证损失、训练准确率和验证准确率,随后进行正则化和调节模型,反复调节模型,直到获得设定的训练和验证评估准确率,完成训练;使用训练好的模型在测试集上验证模型的泛化能力,可以训练多个模型,选用其中泛化能力最好的一个模型来预测未来输入数据;

步骤a1.5,获取网络管控系统中新输入的实时网络状态,即流量信息,去掉序号,时间戳,源IP,目的IP,源端口以及目的端口属性;对其他属性进行最值归一化处理,放入训练好的模型进行预测分类,将分类好的流量信息数据用于分类和统计;

步骤a1.6,设置一个已检测新输入流量的阈值,到达阈值后,则采用主动学习方法挑选出有价值的新输入流量数据,并经过专家标注后并入训练样本集中,形成新的训练集,新的训练集用于训练新的模型;

当已检测的新输入流量到达阈值后,根据步骤a1.2处理确定标签的流量样本;在处理各类别训练样本数量不均衡问题后,训练一个朴素贝叶斯模型并选择概率输出;

根据基于信息熵的主动学习查询策略选出一个新输入流量信息,确认该新输入流量信息的标签类别,并将该新输入流量信息加入到已标注的流量信息中;设置一个阈值,重复以上操作,最终挑选出经过标注的新流量数据;若发现新的类别样本,则设定一个阈值用于保证获取到新类别样本的数量;若当前流量数据即实时网络状态的属性值无法表示新类别的特征,则增加统计新类别的特征属性值;

步骤a1.7,将获取的新标注的流量数据,加入到已标注流量数据中,重复步骤a1.2至步骤a1.4,用新的训练集训练新的模型,再用训练好的新模型分类网络流量;重复上述过程,使得训练集更丰富,不断更新模型,最终完成模型识别性能提升;

新模型的训练和旧模型的检测分类异常网络流量工作可以并行进行,当新模型训练好后,可以使用新模型取代旧模型进行检测分类异常网络流量。

4.根据权利要求3所述的一种面向异构主机的网络管控系统,其特征在于,所述网络监视模块生成交互网络图的方法包括:通过对终端管控设备上报的实时网络状态四元组数据,即源IP、目的IP、源端口以及目的端口加入队列;在初始化阶段,构建源IP根节点SIP_ROOT,和目的IP根节点DIP_ROOT;分别对各四元组数据进行处理,生成树;将数据包中的源IP和目的IP分别作为SIP_ROOT和DIP_ROOT的叶子节点,以源IP和目的IP作为父节点;将源端口和目的端口作为叶子节点;将源端口和目的端口相连,将两棵树合并,得到交互网络图。

5.根据权利要求4所述的一种面向异构主机的网络管控系统,其特征在于,所述终端管控设备的工作步骤包括:步骤b1,网络监听模块监听终端主机的网络状态,并采集终端主机的实时网络状态;将终端主机的实时网络状态发送给网络转发模块;

步骤b2,资源监听模块对终端主机的工作状态进行采集,得到终端主机的实时工作状态数据,并将实时工作状态数据转发给网络转发模块;

步骤b3,网络转发模块根据设置的封禁规则,对特定的网络包进行拦截;把符合放行规则的网络包转发给数据上报模块;对指定IP和端口进行实时管控,对合法流量放行,并对非法流量封禁过滤;

步骤b4,配置管理模块接收从管理服务器发送来的配置数据,对终端管控设备的配置参数进行设置;

步骤b5,数据上报模块对由资源监听模块采集到的终端主机的工作状态数据,由网络监听模块采集到的终端主机的网络状态数据以及终端管控设备各模块的工作日志进行编码和封装,得到网络数据包;将网络数据包上报给管理服务器。

6.根据权利要求5所述的一种面向异构主机的网络管控系统,其特征在于,步骤b1中所述采集终端主机的实时网络状态方法包括:系统抓取IP数据包、TCP数据包、UDP数据包和ICMP数据包,并提取关键信息;

系统将关键信息转换为ASCII格式的审计记录;分析网络协议,将其转换成连接记录;

将上述数据的类型统一转换为数字型数据;

系统对滑动窗口内的连接记录进行统计,得到实时网络状态数据。

7.根据权利要求6所述的一种面向异构主机的网络管控系统,其特征在于,步骤b1中所述抓取IP数据包的方法包括:获取抓包的终端主机,获取数据包捕获描述符,确定网络设备的网络掩码,把数据包捕获描述符编译进数据过滤程序,选择数据过滤程序,返回数据链路层类型,选择在全局缓冲队列中的数据包并由对应的回调函数处理。

说明书 :

一种面向异构主机的网络管控系统

技术领域

[0001] 本发明涉及一种网络管控系统,特别是一种面向异构主机的网络管控系统。

背景技术

[0002] 随着网络技术的大规模发展,网络对整个经济社会发展的渗透与驱动作用日益明显,网络环境中的风险与威胁也因此成为不容忽视的问题。对于一个分布式大型网络,各个节点网络流量不断增加,混迹其中的异常流量具备复杂多变的特征,不仅加大了管理人员的监管难度,也给用户及企业带来不可预知的损失。
[0003] 针对各类信息系统终端的网络防护,最基础的环境就是针对终端的防护,在网络中存在各类各式各样的终端设备,针对各种设备单独开发和部署软件类防护系统工程量大,且易对现有系统造成影响,并且有些终端不允许安装第三方软件。

发明内容

[0004] 发明目的:本发明所要解决的技术问题是针对现有技术的不足,提供一种面向异构主机的网络管控系统。
[0005] 为了解决上述技术问题,本发明公开了一种面向异构主机的网络管控系统,包括:终端管控设备和管理服务器;
[0006] 所述管理服务器管控局域网中的多个终端管控设备,对各设备的策略进行配置管理,并生成综合态势;
[0007] 所述终端管控设备作为连接器连接终端主机和局域网交换机,实现对终端主机网络流量进行实时监测。
[0008] 本发明中所述管理服务器对多终端管控设备进行管理,包括网络监视模块,资源监视模块,告警管理模块,设备管理模块,日志管理模块以及态势生成模块;
[0009] 网络监视模块,接收来自终端管控设备上报的实时网络状态,包括:序号,时间戳,源IP,目的IP,源端口,目的端口,源IP出现次数,目的IP出现次数,源端口出现次数,目的端口出现次数,持续时间,连接结束标志,源_端数据量,源_端存在紧急标志,源_端存在重发包标志,端_源存在重发包标志,源IP连接目的IP数,源IP连接目的端口数,目的端口对应不同源IP数,目的端口对应相同源IP数,源IP连接目的IP数占比,源IP连接目的端口数占比,目的端口对应不同源IP数占比,目的端口对应相同源IP数占比;统计收发流量信息,检测异常流量,并对异常流量进行分类和统计;网络监视模块根据实时网络状态数据生成交互网络图,并将交互网络图转发给设备管理模块;
[0010] 资源监视模块,接收来自终端管控设备上报的实时工作状态,包括:CPU利用率、网络占用率、内存占用率以及运行时长;统计资源信息;根据用户设定的规则进行判断,生成设备处理信息,包括:处理级别、处理时间、处理类型以及关联数据包;
[0011] 告警管理模块,接收来自终端管控设备上报的实时工作状态和网络监视模块传送的异常流量信息,根据用户设定的告警规则进行判断,生成告警处理信息,包括:告警级别、告警时间、告警类型以及关联数据包;
[0012] 设备管理模块,对接入的终端管控设备列表进行管理,并对每个终端管控设备的信息进行配置,包括:管理IP、用户名、密码、秘钥、网络设置、告警规则设置、限速规则设置以及封禁规则设置;
[0013] 日志管理模块,接收终端管控设备上报的各模块工作日志,收集管理服务器各模块的运行日志,对上述日志进行日志记录和索引,并提供检索功能;
[0014] 态势生成模块,对各终端管控设备的资源和网络信息进行综合统计,并以图表方式展现系统运行态势。
[0015] 本发明中所述终端管控设备对终端主机的所有收发流量进行监听和管控,包括:资源监听模块、网络监听模块、网络转发模块、配置管理模块以及数据上报模块;
[0016] 资源监听模块:对终端主机的工作状态进行采集,包括:CPU利用率、网络占用率、内存占用率以及运行时长;
[0017] 网络监听模块:对终端主机的网络状态进行采集,包括:序号,时间戳,源IP,目的IP,源端口,目的端口,源IP出现次数,目的IP出现次数,源端口出现次数,目的端口出现次数,持续时间,连接结束标志,源_端数据量,源_端存在紧急标志,源_端存在重发包标志,端_源存在重发包标志,源IP连接目的IP数,源IP连接目的端口数,目的端口对应不同源IP数,目的端口对应相同源IP数,源IP连接目的IP数占比,源IP连接目的端口数占比,目的端口对应不同源IP数占比,以及目的端口对应相同源IP数占比;
[0018] 网络转发模块:根据设置的封禁规则对网络包进行转发,对特定的网络包进行拦截;
[0019] 配置管理模块:接收管理服务器发送的配置数据,对设备参数进行配置,包括:管理IP、用户名、密码、秘钥、网络设置、告警规则设置、限速规则设置以及封禁规则设置;
[0020] 数据上报模块:对由资源监听模块采集到的终端主机的工作状态数据,由网络监听模块采集到的终端主机的网络状态数据以及终端管控设备各模块的工作日志进行编码和封装,并上报到管理服务器。
[0021] 本发明中所述终端管控设备在无法连接管理服务器的情况下,在本地文件临时存储设备离线工作日志,并在再次连接到管理服务器时,根据网络状态异步传输历史监控日志数据。
[0022] 本发明中所述管理服务器的工作步骤包括:
[0023] 步骤a1,网络监视模块接收来自终端管控设备上报的实时网络状态,并对终端主机的收发网络流量进行分析统计,得到收发网络流量信息,生成交互网络图;
[0024] 对接收到的网络流量信息进行异常流量检测,得到异常流量信息,并对异常流量信息进行分类和统计;
[0025] 网络监视模块将异常流量信息转发给告警管理模块,并将收发网络流量信息和异常流量信息发送给态势生成模块,将收发网络流量信息和交互网络图发送给设备管理模块;
[0026] 步骤a2,日志管理模块接收来自终端管控设备上报的各模块工作日志,收集管理服务器各模块运行日志,对上述日志进行日志记录和索引,并提供检索功能,给系统异常运行提供修复支撑材料;
[0027] 步骤a3,告警管理模块接收终端管控设备上报的实时工作状态和网络监视模块转发的异常流量信息;告警管理模块将实时工作状态与设定的阈值进行对比,超过阈值则进行工作状态异常告警处理,并生成告警处理信息;管理人员对告警管理模块接收到的异常流量信息进行实际类别查标注,如果异常流量分类错误则进行纠正,然后根据设定的网络异常告警规则进行提示或者告警处理,并生成对应的告警处理信息;告警管理模块将告警处理信息转发给设备管理模块,并将对应的告警信息在交互界面进行显示告警;
[0028] 步骤a4,资源监视模块接收终端管控设备上报的实时工作状态,得到资源信息统计数据;若资源信息统计数据中的指标超过设定的阈值,则根据设定的规则生成设备处理信息,后续对终端主机进行管控;资源监视模块把得到的资源信息统计数据发送至态势生成模块,并将设备处理信息发送至设备管理模块;
[0029] 步骤a5,态势生成模块对接收到的收发网络流量信息、异常流量信息和资源信息统计数据进行统计制图表,生成态势;
[0030] 步骤a6,设备管理模块接收网络监视模块发来的收发流量信息和交互网络图,告警管理模块发来的告警处理信息和资源监视模块发来的设备处理信息,根据步骤a1中生成的交互网络图,按照设定规则构建白名单和黑名单,作为封禁规则设置参考,收发流量信息作为限速规则设置参考,最后按设定规则对每个终端管控设备进行配置和管控处理;用户也可以根据实际需要,通过交互界面修改对应终端管控设备的配置信息,或者进行相应的管控操作。
[0031] 步骤a7,管理服务器管控局域网中多个终端管控设备,每个终端管控设备作为连接器连接终端主机和局域网交换机。
[0032] 本发明中步骤a1中所述对异常流量信息进行检测和分类的方法包括:
[0033] 步骤a1.1,获取已经确定标签的实时网络状态,即流量信息,标签包括正常标签以及异常标签;其中,异常标签还会细分为诸如Syn flood、Ddos攻击和land攻击等。
[0034] 步骤a1.2,将所有确定标签的实时网络状态去掉序号,时间戳,源IP,目的IP,源端口,目的端口属性,将实时网络状态进行最值归一化,并对所属标签独热编码;
[0035] 步骤a1.3,搭建一个含卷积层、池化层、全连接层和softmax层的卷积神经网络模型,其中损失函数选用categorical_crossentropy,优化器选用Adadelta,训练和测试过程监控指标选准确度(accuracy)。将80%确定标签类别的实时网络状态划分成训练集,再把剩下10%确定标签类别的实时网络状态划分到验证集,最后把剩下10%的实时网络状态划分成测试集。确定损失函数、优化器以及训练和测试过程监控指标,并把处理后带标签的实时网络数据划分成训练集、验证集和测试集;
[0036] 步骤a1.4,使用训练集训练卷积神经网络模型;并在验证集上进行验证;观察训练损失、验证损失、训练准确率和验证准确率,随后进行正则化和调节模型,反复调节模型,直到获得设定的训练和验证评估准确率,完成训练;使用训练好的模型在测试集上验证模型的泛化能力,可以训练多个模型,选用其中泛化能力最好的一个模型来预测未来输入数据;在调节模型过程中,采用粒子群算法和多目标优化算法等来加速调节模型优化过程和提升模型性能。此外,除了进行欠采样和过采样操作使得各类别训练样本数量相近外,还可以从模型算法的角度来解决样本不均衡问题。
[0037] 步骤a1.5,获取网络管控系统中新输入的实时网络状态,即流量信息,去掉序号,时间戳,源IP,目的IP,源端口以及目的端口属性;对其他属性进行最值归一化处理,放入训练好的模型进行预测分类,将分类好的流量信息数据用于分类和统计;
[0038] 步骤a1.6,设置一个已检测新输入流量的阈值,到达阈值后,则采用主动学习方法(例如,基于信息熵的主动学习查询策略)挑选出有价值的新输入流量数据,并经过专家标注后并入训练样本集中,形成新的训练集,新的训练集用于训练新的模型;
[0039] 当已检测的新输入流量到达阈值后,根据步骤a1.2处理确定标签的流量样本;在处理各类别训练样本数量不均衡问题后,训练一个朴素贝叶斯模型并选择概率输出;假设有n个未标注流量,当前共有m类流量类型,使用朴素贝叶斯模型来预测第i个(i∈1,...,n)未标注流量属于第j类(j∈1,...,m)流量标签的概率 然后使用基于信息熵的主动学习*查询策略来挑选出一个最有价值的未标注流量x,具体公式如下所示:
[0040]
[0041] 通过一些专业知识来实际确认标签类别,并将已确认类别的流量信息加入到已标注的流量信息中;设置一个阈值,重复以上操作,最终挑选出一批经过标注的新流量数据;若发现新的类别样本,则设定一个阈值用于保证获取到新类别样本的数量;若当前流量数据即实时网络状态的属性值无法表示新类别的特征,则增加统计新类别的特征属性值;
[0042] 步骤a1.7,将获取的新标注的流量数据,加入到已标注流量数据中,重复步骤a1.2至步骤a1.4,用新的训练集训练新的模型,再用训练好的新模型分类网络流量;重复上述过程,使得训练集更丰富,不断更新模型,最终完成模型识别性能提升;
[0043] 新模型的训练和旧模型的检测分类异常网络流量工作可以并行进行,当新模型训练好后,可以使用新模型取代旧模型进行检测分类异常网络流量。
[0044] 本发明中所述网络监视模块生成交互网络图的方法包括:
[0045] 通过对终端管控设备上报的实时网络状态四元组数据,即源IP、目的IP、源端口以及目的端口加入队列;在初始化阶段,构建源IP根节点SIP_ROOT,和目的IP根节点DIP_ROOT;分别对各四元组数据进行处理,生成树;将数据包中的源IP和目的IP分别作为SIP_ROOT和DIP_ROOT的叶子节点,以源IP和目的IP作为父节点;将源端口和目的端口作为叶子节点;将源端口和目的端口相连,将两棵树合并,得到交互网络图。
[0046] 本发明中所述终端管控设备的工作步骤包括:
[0047] 步骤b1,网络监听模块监听终端主机的网络状态,并采集终端主机的实时网络状态;将终端主机的实时网络状态发送给网络转发模块;
[0048] 步骤b2,资源监听模块对终端主机的工作状态进行采集,得到终端主机的实时工作状态数据,并将实时工作状态数据转发给网络转发模块;
[0049] 步骤b3,网络转发模块根据设置的封禁规则,对特定的网络包进行拦截;把符合放行规则的网络包转发给数据上报模块;对指定IP和端口进行实时管控,对合法流量放行,并对非法流量封禁过滤;
[0050] 步骤b4,配置管理模块接收从管理服务器发送来的配置数据,对终端管控设备的配置参数进行设置;
[0051] 步骤b5,数据上报模块对由资源监听模块采集到的终端主机的工作状态数据,由网络监听模块采集到的终端主机的网络状态数据以及终端管控设备各模块的工作日志进行编码和封装,得到网络数据包,将网络数据包上报给管理服务器。
[0052] 本发明中步骤b1中所述采集终端主机的实时网络状态方法包括:
[0053] 系统抓取IP数据包、TCP数据包、UDP数据包和ICMP数据包,并提取关键信息;
[0054] 系统将关键信息转换为ASCII格式的审计记录;分析网络协议,将其转换成连接记录;将上述数据的类型统一转换为数字型数据;
[0055] 系统对滑动窗口内的连接记录进行统计,得到实时网络状态数据。
[0056] 本发明中步骤b1中所述抓取数据包的方法包括:获取抓包的终端主机,获取数据包捕获描述符,确定网络设备的网络掩码,把数据包捕获描述符编译进数据过滤程序,选择数据过滤程序,返回数据链路层类型,选择在全局缓冲队列中的数据包并由对应的回调函数处理。
[0057] 有益效果:
[0058] 本发明通过使用一种面向异构主机的网络管控系统,通过多个终端管控设备,能够实现对局域网中多台多型异构终端主机进行网络流量的监听和管控,做到细粒度的流量管理控制,本发明采用的终端管控设备通过串接方式连接终端主机设备,有接入方便,无需改变现有网络配置,且能够适配各类型各系统的不同终端主机设备。管理服务器通过对多各终端管控设备进行综合管控,能够实时掌握局域网中各设备的综合网络安全态势,并及时对恶意端口、IP进行封禁,在细粒度上保证网络安全,此外,还针对本系统,本发明在主动学习的基础上,提出了一种异常流量检测分类算法,从新输入的流量数据中挖掘出有价值的新数据,使用新数据来更新模型达到提升模型性能目的,同时提供发现新的异常流量类型功能,能更好地实时检测分类异常流量,为系统进行合理管控提供有力的支撑,进一步提升网络安全。

附图说明

[0059] 下面结合附图和具体实施方式对本发明做更进一步的具体说明,本发明的上述和/或其他方面的优点将会变得更加清楚。
[0060] 图1为本发明的系统架构示意图。
[0061] 图2为本发明管理服务器工作流程示意图。
[0062] 图3为本发明管理服务器对网络包处理流程示意图。
[0063] 图4为本发明终端管控设备工作流程示意图。

具体实施方式

[0064] 本发明实施例公开了一种面向异构主机的网络管控系统。
[0065] 如图1所示,为本发明一个具体应用的系统架构示意图,本发明主要包括以下部分:终端管控设备和管理服务器;
[0066] 所述管理服务器管控局域网中的多个终端管控设备,对各设备的策略进行配置管理,并生成综合态势;
[0067] 所述终端管控设备作为连接器连接终端主机和局域网交换机,实现对终端主机网络流量进行实时监测。
[0068] 如图2所示,为本发明实施例的管理服务器工作流程图,所述管理服务器能够对多终端管控设备进行管理,包括:
[0069] 网络监视模块,接收来自终端管控设备上报的实时网络状态,包括序号,时间戳,源IP,目的IP,源端口,目的端口,源IP出现次数,目的IP出现次数,源端口出现次数,目的端口出现次数,持续时间,连接结束标志,源_端数据量,源_端存在紧急标志,源_端存在重发包标志,端_源存在重发包标志,源IP连接目的IP数,源IP连接目的端口数,目的端口对应不同源IP数,目的端口对应相同源IP数,源IP连接目的IP数占比,源IP连接目的端口数占比,目的端口对应不同源IP数占比,目的端口对应相同源IP数占比。统计收发流量信息,检测异常流量,并对异常流量进行分类和统计;网络监视模块根据实时网络状态数据生成交互网络图,并将交互网络图转发给设备管理模块;
[0070] 资源监视模块,接收来自终端管控设备上报的实时工作状态,包括CPU利用率、网络占用率、内存占用率、运行时长;统计资源信息;根据用户设定的规则进行判断,生成设备处理信息,包括:处理级别、处理时间、处理类型以及关联数据包;
[0071] 告警管理模块,接收来自终端管控设备上报的实时工作状态和网络监视模块传送的异常流量信息,根据用户设定的告警规则进行判断,生成告警处理信息,包括告警级别、告警时间、告警类型、关联数据包;
[0072] 设备管理模块,支持对接入的终端管控设备列表进行管理,并对每个终端管控设备的信息进行配置,包括管理IP、用户名、密码、秘钥、网络设置、告警规则设置、限速规则设置、封禁规则设置;
[0073] 日志管理模块,接收来自终端管控设备上报的各模块工作日志以及收集管理服务器各模块的运行日志,对其进行日志记录和索引,并提供检索功能;
[0074] 态势生成模块,对各终端管控设备的资源、网络等信息进行综合统计,并以图表方式展现系统运行态势。
[0075] 管理服务器工作步骤(参考:https://blog.csdn.net/qq_39480875/article/details/103782178)包括:
[0076] 步骤a1,网络监视模块接收来自终端管控设备上报的实时网络状态,并对终端主机的收发网络流量进行分析统计,得到收发网络流量信息;此外,还对接收到的流量进行异常流量检测,并对异常流量信息进行分类和统计。接下来,网络监视模块将异常流量信息转发给告警管理模块和态势生成模块,还将收发流量信息发送给态势生成模块和设备管理模块;
[0077] 在对异常流量信息进行检测分类时,本发明采用下面方法:
[0078] 步骤a1.1,首先获取已经确定标签的实时网络状态(流量),这些标签包括正常标签、异常标签类,其中异常标签还会细分为诸如Syn flood、Ddos攻击和land攻击等。
[0079] 步骤a1.2,将所有确定标签的实时网络状态去掉序号,时间戳,源IP,目的IP,源端口,目的端口属性。然后将这些实时网络状态进行最值归一化,对所属标签独热编码。
[0080] 步骤a1.3,搭建一个含卷积层、池化层、全连接层和softmax层的卷积神经网络,其中损失函数选用categorical_crossentropy,优化器选用Adadelta,训练和测试过程监控指标选准确度(accuracy)。将80%确定标签类别的实时网络状态划分成训练集,再把剩下10%确定标签类别的实时网络状态划分到验证集,最后把剩下10%的实时网络状态划分成测试集。
[0081] 步骤a1.4,使用训练集训练卷积神经网络模型;并在验证集上进行验证;一直观察训练损失、验证损失、训练准确率和验证准确率,随后进行正则化和调节模型,反复调节模型,直到获得设定的训练和验证评估准确率,完成训练;使用训练好的模型在测试集上验证模型的泛化能力;可以训练多个模型,选用其中泛化能力最好的一个模型来预测未来输入数据;在调节模型过程中,可以采用粒子群算法和多目标优化算法等来加速调节模型优化过程和提升模型性能。此外,除了进行欠采样和过采样操作使得各类别训练样本数量相近外,还可以从模型算法的角度来解决样本不均衡问题。
[0082] 步骤a1.5,获取网络管控系统中新输入的实时网络状态,即流量信息,去掉序号,时间戳,源IP,目的IP,源端口以及目的端口属性;对其他属性进行最值归一化处理,放入训练好的模型进行预测分类,将分类好的流量信息数据用于分类和统计;
[0083] 步骤a1.6,设置一个已检测新输入流量的阈值,到达阈值后,则采用主动学习方法(基于信息熵的主动学习查询策略)挑选出有价值的新输入流量数据,并经过专家标注后并入训练样本集中,形成新的训练集,新的训练集用于训练新的模型;
[0084] 当已检测的新输入流量到达阈值后,根据步骤a1.2处理确定标签的流量样本;在处理各类别训练样本数量不均衡问题后,训练一个朴素贝叶斯模型并选择概率输出;假设有n个未标注流量,当前共有m类流量类型,使用朴素贝叶斯模型来预测第i个(i∩1,...,n)未标注流量属于第j类(j∩1,...,m)流量标签的概率 然后使用基于信息熵的主动学习*查询策略来挑选出一个最有价值的未标注流量x,具体公式如下所示:
[0085]
[0086] 通过一些专业知识来实际确认标签类别,并将已确认类别的流量信息加入到已标注的流量信息中;设置一个阈值,重复以上操作,最终挑选出一批经过标注的新流量数据;若发现新的类别样本,则设定一个阈值用于保证获取到新类别样本的数量;若当前流量数据即实时网络状态的属性值无法表示新类别的特征,则增加统计新类别的特征属性值;
[0087] 步骤a1.7,将获取的新标注的流量数据,加入到已标注流量数据中,重复步骤a1.2至步骤a1.4,用新的训练集训练新的模型,再用训练好的新模型分类网络流量;重复上述过程,使得训练集更丰富,不断更新模型,最终完成模型识别性能提升;
[0088] 新模型的训练和旧模型的检测分类异常网络流量工作可以并行进行,当新模型训练好后,可以使用新模型取代旧模型进行检测分类异常网络流量。
[0089] 此外,网络监视模块还根据实时网络状态数据来生成交互网络图,并将交互网络图转发给设备管理模块,交互网络图生成过程如图3所示;
[0090] 图3为本发明实施例的管理服务器对网络包处理流程图,通过对终端管控设备上报的四元组数据(源IP、目的IP、源端口、目的端口)加入队列,在初始化阶段,构建源IP根节点SIP_ROOT,和目的IP根节点DIP_ROOT,并分别对各数据进行处理,生成树,将各数据包的源IP和目的IP分别作为SIP_ROOT和DIP_ROOT的叶子节点,再以各源IP和目的IP作为父节点,将源端口和目的端口作为其叶子节点,最终将源端口和目的端口相连,将两棵树合并为交互网络图;
[0091] 步骤a2,日志管理模块接收来自终端管控设备上报的各模块工作日志,以及收集管理服务器各模块的运行日志,对其进行日志记录和索引,并提供检索功能,给系统异常运行提供修复支撑材料。网络监控日志如表1所示:
[0092]
[0093] 表1网络监控日志的数据表格式
[0094] 步骤a3,告警管理模块接收终端管控设备上报的实时工作状态和网络监视模块转发的异常流量。告警管理模块对获取的实时工作状态各项属性与用户设置的最大阈值进行对比,超过阈值则进行工作状态异常告警处理,并生成告警处理信息。此外,管理人员对告警管理模块接收到的异常流量信息进行实际类别查标注,如果异常流量分类错误则进行纠正,然后根据设定的网络异常告警规则进行提示或者告警处理,并生成对应的告警处理信息。比如某个IP地址接收到的异常流量超过一定阈值,就进行告警并提示管理人员来解决问题。最后,将告警处理信息转发给设备管理模块,以及将对应告警信息在交互界面进行显示告警;
[0095] 步骤a4,资源监视模块接收终端管控设备上报的实时工作状态,得到CPU利用率、网络占用率、内存占用率和运行时长等用户定义的资源信息统计数据,若这些统计指标超过用户设定的阈值,用户可以制定相应规则对相关终端主机进行管控,并生成设备处理信息。此外,模块还把这些资源信息统计数据发送到态势生成模块,还将设备处理信息发送给设备管理模块;
[0096] 步骤a5,态势生成模块对接收到的收发流量统计信息、异常流量信息和资源信息进行统计制图表,生成态势,供用户直观地查看、分析和决策;
[0097] 步骤a6,设备管理模块接收了网络监视模块发来的收发流量信息,告警管理模块发来的告警处理信息和资源监视模块发来的设备处理信息,收发流量信息可以作为限速规则设置的参考,按用户定义的规则,对每个终端管控设备的进行相应的配置和管控处理。用户也可以根据实际需要,通过交互界面修改对应终端管控设备的配置信息,或者进行相应的管控处理。
[0098] 步骤a7,设备管理模块管理根据步骤a1生成的交互网络图,按照用户定义的规则来构建白名单和黑名单,比如在一段时间内设置一个阈值,某个IP连续发收异常流量超过一定次数就列入黑名单,连续收发正常流量超过一定的阈值就加入白名单,用户也可以在交互界面设置移除黑白名单。白名单可以将任何不在列表上的网络流量拒绝,保证只放行合法流量,黑名单则可以把在名单上的流量进行拒绝封禁,根据黑白名单可以得出封禁规则,并进行相应设置。黑白名单具体格式如下表2所示:
[0099]字段 有效值
源IP 有效的IPv4或IPv6格式
目的IP 有效的IPv4或IPv6格式
源端口 小于100000的正整数
目的端口 小于100000的正整数
[0100] 表2网络包黑白名单的数据表格式
[0101] 步骤a8,管理服务器管控局域网中多个终端管控设备,每个终端管控设备作为连接器连接终端主机和局域网交换机,终端管控设备的工作原理如下所述:
[0102] 如图4所示,为本发明实施例的终端管控设备工作流程图,所述终端管控设备支持对终端主机的所有收发流量进行监听、分析和管控,包括:
[0103] 资源监听模块:对终端主机的工作状态进行采集,包括CPU利用率、网络占用率、内存占用率、运行时长;
[0104] 网络监听模块:对终端主机的网络状态进行采集,包括序号,时间戳,源IP,目的IP,源端口,目的端口,源IP出现次数,目的IP出现次数,源端口出现次数,目的端口出现次数,持续时间,连接结束标志,源_端数据量,源_端存在紧急标志,源_端存在重发包标志,端_源存在重发包标志,源IP连接目的IP数,源IP连接目的端口数,目的端口对应不同源IP数,目的端口对应相同源IP数,源IP连接目的IP数占比,源IP连接目的端口数占比,目的端口对应不同源IP数占比,目的端口对应相同源IP数占比;
[0105] 网络转发模块:根据预置的封禁规则对网络包进行转发,对特定的网络包进行拦截;对指定IP和端口进行实时管控,对合法流量放行,并对非法流量封禁过滤;
[0106] 配置管理模块:接收管理服务器发送的配置数据,对设备参数进行配置,包括管理IP、用户名、密码、秘钥、网络设置、告警规则设置、限速规则设置、封禁规则设置;
[0107] 数据上报模块:对由资源监听模块采集到的终端主机的工作状态数据,由网络监听模块采集到的终端主机的网络状态数据以及终端管控设备各模块的工作日志进行编码和封装,并上报到管理服务器。
[0108] 终端管控设备工作步骤包括:
[0109] 步骤b1,网络监听模块监听终端主机的网络状态,并采集终端主机的实时网络状态,随后,网络监视模块将实时网络状态发送给网络转发模块;
[0110] 采集终端主机的实时网络状态方法如下(参考杨政安.基于数据挖掘的网络流量异常检测系统研究[D].天津大学.8):
[0111] 步骤b1.1,将网卡设备设置成混杂模式,编写代码调用WinPcap库函数来抓取IP数据包、TCP数据包、UDP数据包和ICMP数据包。主要流程包括:获取抓包的终端主机,获取数据包捕获描述符,确定网络设备的网络掩码,把数据包捕获描述符编译进数据过滤程序,选择数据过滤程序,返回数据链路层类型,选择在全局缓冲队列中的数据包并由对应的回调函数处理。
[0112] 步骤b1.2,提取捕获的IP数据包、TCP数据包、UDP数据包和ICMP数据包相关信息并统计,接下来,将其转为ASCII的审计记录,输出的每行都是一个带时间戳的网络数据包,并按时间戳对数据包进行排序。审计记录包括序号,时间戳,源IP,目的IP,源端口,目的端口,协议类型,包长度,确认号,URG,ACK,RST,SYN,FIN。
[0113] 步骤b1.3,分析网络协议,将审计记录转化成连接记录。连接记录包括序号,时间戳,源IP,目的IP,源端口,目的端口,持续时间,连接结束标志,源_端数据量,源_端存在紧急标志,源_端存在重发包标志,端_源存在重发包标志。
[0114] 步骤b1.4,将所有数据类型统一转换为数字型数据。
[0115] 步骤b1.5,根据时间戳对滑动时间窗口内的连接记录进行相关统计,得到关联统计的连接记录。这时连接记录包括序号,时间戳,源IP,目的IP,源端口,目的端口,源IP出现次数,目的IP出现次数,源端口出现次数,目的端口出现次数,持续时间,连接结束标志,源_端数据量,源_端存在紧急标志,源_端存在重发包标志,端_源存在重发包标志,源IP连接目的IP数,源IP连接目的端口数,目的端口对应不同源IP数,目的端口对应相同源地址数,源IP连接目的IP数占比,源IP连接目的端口数占比,目的端口对应不同源IP数占比,目的端口对应相同源IP数占比。
[0116] 随着异常流量类型与特征数据的研究不断深入,可以在此基础上提取并统计出新的相关特征数据。此外,这些属性主要针对后续异常流量检测分类特征值而提取,用户可以根据实际需要增加属性或者关联相关数据包。
[0117] 步骤b2,资源监视模块对终端主机的工作状态进行采集,得到终端主机的实时工作状态数据,并将实时工作状态数据转发给网络转发模块;
[0118] 步骤b3,网络转发模块根据终端管控设备设置的封禁规则,对特定的网络包进行拦截,把符合预置规则的网络包进行转发给数据上报模块,完成对指定IP和端口的实时管控,对合法流量的放行和非法流量的封禁过滤;
[0119] 步骤b4,配置管理模块接收从管理服务器发送来的配置数据,对终端管控设备的配置参数进行设置;
[0120] 步骤b5,数据上报模块对由资源监听模块采集到的终端主机的工作状态数据,由网络监听模块采集到的终端主机的网络状态数据和终端管控设备各模块的工作日志进行编码和封装,得到网络数据包,最后将网络数据包上报给管理服务器。网络数据包如表3所示:
[0121]
[0122] 表3网络数据包数据表格式
[0123] 具体实现中,本发明还提供一种计算机存储介质,其中,该计算机存储介质可存储有程序,该程序执行时可包括本发明提供的各实施例中的部分或全部步骤。所述的存储介质可为磁碟、光盘、只读存储记忆体(read‑only memory,ROM)或随机存储记忆体(random access memory,RAM)等。
[0124] 本领域的技术人员可以清楚地了解到本发明实施例中的技术可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本发明实施例中的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例或者实施例的某些部分所述的方法。
[0125] 本发明提供了一种面向异构主机的网络管控系统的思路及方法,具体实现该技术方案的方法和途径很多,以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。本实施例中未明确的各组成部分均可用现有技术加以实现。