CN110808865B - 一种被动工控网络拓扑发现方法及工控网络安全管理系统 - Google Patents

一种被动工控网络拓扑发现方法及工控网络安全管理系统 Download PDF

Info

Publication number
CN110808865B
CN110808865B CN201911105517.6A CN201911105517A CN110808865B CN 110808865 B CN110808865 B CN 110808865B CN 201911105517 A CN201911105517 A CN 201911105517A CN 110808865 B CN110808865 B CN 110808865B
Authority
CN
China
Prior art keywords
industrial control
control network
switch
data packet
connection
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.)
Active
Application number
CN201911105517.6A
Other languages
English (en)
Other versions
CN110808865A (zh
Inventor
张百海
蓝敏迪
庞中华
柴森春
崔灵果
姚分喜
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Institute of Technology BIT
Original Assignee
Beijing Institute of Technology BIT
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Beijing Institute of Technology BIT filed Critical Beijing Institute of Technology BIT
Priority to CN201911105517.6A priority Critical patent/CN110808865B/zh
Publication of CN110808865A publication Critical patent/CN110808865A/zh
Application granted granted Critical
Publication of CN110808865B publication Critical patent/CN110808865B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/12Discovery or management of network topologies
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1433Vulnerability analysis
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/20Network architectures or network communication protocols for network security for managing network security; network security policies in general
    • H04L63/205Network architectures or network communication protocols for network security for managing network security; network security policies in general involving negotiation or determination of the one or more network security mechanisms to be used, e.g. by negotiation between the client and the server or between peers or by selection according to the capabilities of the entities involved

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明公开了一种被动工控网络拓扑发现方法、工控网络安全管理方法及系统。该被动工控网络拓扑发现方法包括:确定被测工控网络的核心交换机;将核心交换机的一端口设置为镜像端口,其余端口设置为源端口;通过镜像端口对被测工控网络的通信数据包进行嗅探;对嗅探得到的数据包进行降维处理;采用CART分类树模型对降维后的数据包进行分类,得到分类结果;分类结果表示:数据包的源地址所代表的设备与数据包的目的地址所代表的设备之间的连接类型,连接类型包括:交换机与路由器的连接、主机与交换机的连接以及交换机与交换机的连接;根据分类结果确定被测工控网络的拓扑结构。本发明能够快速完整的确定被测工控网络的拓扑结构,并对其安全进行管理。

Description

一种被动工控网络拓扑发现方法及工控网络安全管理系统
技术领域
本发明涉及工业控制及网络安全领域,特别是涉及一种被动工控网络拓扑 发现方法及工控网络安全管理系统。
背景技术
随着美国“工业互联网”概念的提出,再到德国“工业4.0”的推行,两 化的融合成为大势所趋。由于传统工业系统在建设之初仅考虑到了其实用性, 未考虑到安全性问题,因此在与互联网的相互融合中完全暴露了其脆弱性,导 致网络安全事件层出不穷,特别是针对工业控制系统等国家基础设施的入侵攻 击,已严重影响到国家的国计民生。对工业系统网络安全进行有效检测并且提 供实时的安全防护,从而进行网络安全管理是保护工业系统网络安全的关键技 术,网络拓扑发现作为网络安全管理的工具,是实现上述关键技术的重要组成 部分,是发现系统故障和监控设备性能的基础,只有准确得到工控系统的拓扑结构,才能对其操作系统、设备漏洞等相关安全信息进行态势感知,只有得到 更细更深的网络拓扑结构及安全信息,最终才能实现工控系统的安全防护。
网络拓扑是指各网络元素及其之间的连接关系,其中,网络元素可以是路 由器,也可以是交换机、集线器和网桥,还可以是主机、客户端和服务器等。 网络拓扑发现算法即:通过收集可生成网络拓扑的必要信息,得到IP网络中 的网络元素的类型,并且确定其连接关系的相关算法。按发现方法来区分,网 络拓扑发现方法可分为主动式发现和被动式发现两种拓扑发现方法。其中,主 动式拓扑发现算法主要通过向待发现网络中发送特定的数据包,通过解析反馈 信息来获得拓扑连接关系;而被动式拓扑发现算法是通过监听捕获网络元素之 间传输的数据包,通过处理侦听到的数据包得到拓扑连接信息,从而绘制出网络拓扑结构。
现有技术中,网络拓扑发现方法有很多,其中,网络层网络拓扑发现方法 主要包括:第一,基于ICMP(Internet Control Message Protocol,Internet控制 报文协议)的Ping和各种Traceroute拓扑发现算法,虽然该算法灵活性强, 对于路由信息没有依赖性,但是由于其主动性强,容易造成比较大的网络负荷, 甚至影响通信,导致拓扑发现可靠性低;第二,基于SNMP(简单网络管理协 议)的拓扑发现算法,其主要通过SNMP请求采集启用SNMP协议的路由器 的路由表信息,从中提取设备类型及其连接关系,从而得到网络拓扑图。虽然 该算法发现过程较简单,网络负荷小,发现效率高,目前得到了比较广泛的应 用,但还是存在不足,其要求网络设备必须启用SNMP协议才能搜索到相关 信息。而数据链路层网络拓扑发现方法主要包括:第一,基于STP(生成树协 议)的拓扑发现方法,其主要运行在交换机之间,通常使用STP进行拓扑结 构发现就是通过读取交换机中存储的生成树数据,根据该协议特征对数据进行 处理,从而得到交换机之间、交换机与主机之间的连接关系;第二,基于LLDP (链路层发现协议)的拓扑发现方法,其支持网络设备将自身设备标识以及状 态信息公告给网络系统中的其他设备,其工作原理是:源节点通过LLDP获取 邻接设备的网络信息,再对获得的邻接设备信息依次进行LLDP协议获取,直 到获取网络中所有的结点设备。
而在网络安全领域中,因为其要求的安全等级由高到低分别为保密性、完 整性和可用性,而主动网络拓扑发现方法因其信息的完整性和发现的准确性得 到了广泛应用,现有的网络拓扑发现算法大多数属于主动式拓扑发现,如上述 提到的基于ICMP协议和SNMP协议的拓扑发现方法。而工控网络安全是工 控系统在网络安全领域的应用,其所追求的安全目标实则是保证系统长时间、 无间断的稳定、可靠、精准地运行。其较之于网络安全,工业控制网络因其自 身特殊性更追求实时性和稳定性。而主动拓扑发现算法在拓扑发现过程中产生 的大的网络负荷会对追求实时性和稳定性的工业控制系统的正常运行带来影响,并且各种协议的发现算法均有其不足之处,虽存在多协议融合的发现方法, 但也因其没有对采集的数据进行综合管理而导致了信息的冗余,因此,被动拓 扑发现算法因其不产生额外的网络流量更适用于工业控制系统的拓扑发现。但 是,现有的被动式拓扑发现方法因其只能被动监听网络中流动的数据而存在拓 扑信息获取限制,只能获取局部拓扑信息,无法保证拓扑完整性等问题。
针对拓扑信息收集不全的问题,目前常用的被动信息提取的方法是通过端 口镜像实现待测网络的透明嗅探。目前,很多交换机和路由器都具有端口镜像 功能,其基本原理是,将子网上一个或者多个源端口的数据流量复制转发到一 个指定端口来实现对网络的监听和数据包的捕获,其中,源端口也可称之为“被 监控端口”,而指定端口称之为“镜像端口”或“目的端口”或“监控端口”, 端口镜像技术在不严重影响源端口正常吞吐流量的情况下,可以通过镜像端口 对网络的流量进行监控和捕获。并且,根据镜像工作的范围划分,端口镜像分 为两种类型:第一,本地镜像:源端口和目的端口在同一个交换机上;第二, 远端镜像:源端口和目的端口分布在不同的路由器上,镜像流量经过某种封装, 实现跨路由器传输。但是,利用端口镜像的方式获取所有网络通信包的被动监 听方式,虽然能够完全获取其通信信息,但其缺陷是:获取的信息量大且复杂, 且大部分是无用信息,如果不能正确合理地处理相关数据,进行完整拓扑信息 的获取,其拓扑结构的完整性将会受到影响,因此,一个快速完整的提取网络 拓扑信息的方法对于完整网络拓扑的获得十分重要。
发明内容
本发明的目的是提供一种被动工控网络拓扑发现方法,能够快速完整的确 定被测工控网络的拓扑结构。并在此基础上,提供一种工控网络安全管理方法 及系统,能够在确定工控网络的拓扑结构后,识别工控网络中设备的操作系统, 并对其漏洞进行发现及提供修补建议。
为实现上述目的,本发明提供了如下方案:
一种被动工控网络拓扑发现方法,包括:
确定被测工控网络的核心交换机;
将所述核心交换机的一端口设置为镜像端口,其余端口设置为源端口;
通过所述镜像端口对所述被测工控网络的通信数据包进行嗅探;
对嗅探得到的所述数据包进行降维处理;
采用训练好的CART分类树模型对降维后的数据包进行分类,得到分类结 果;所述分类结果用于表示:所述数据包的源地址所代表的设备与所述数据包 的目的地址所代表的设备之间的连接类型,所述连接类型包括:交换机与路由 器的连接、主机与交换机的连接以及交换机与交换机的连接;
根据分类结果确定所述被测工控网络的拓扑结构。
可选的,所述CART分类树模型的训练方法包括:
确定一已知的工控网络模型;
将所述工控网络模型的核心交换机的一端口设置为镜像端口,其余端口设 置为源端口;
通过所述工控网络模型的核心交换机上的镜像端口对所述工控网络模型 的通信数据包进行嗅探,将得到的数据包记为样本数据包;
为所述样本数据包加上标签,所述标签用于表示所述样本数据包的源地址 所代表的设备和所述样本数据包的目的地址所代表的设备在已知的所述工控 网络模型中的连接类型,所述连接类型包括:交换机与路由器的连接、主机与 交换机的连接以及交换机与交换机的连接;
对所述样本数据包进行降维处理;
采用所述样本数据包对CART分类树进行训练,得到所述CART分类树 模型。
可选的,所述样本数据包的协议类型包括ARP协议、STP协议和SNMP 协议。
可选的,各连接类型的样本数据包的数量相同。
可选的,在所述降维处理之前,还包括:对数据包中的数据进行Z-zero 标准化处理。
可选的,所述降维处理采用PCA算法进行降维处理。
可选的,采用网络分析仪对嗅探得到的数据进行过滤捕捉。
本发明还提供了一种工控网络安全管理方法,包括:
采用本发明提供的被动工控网络拓扑发现方法确定所述工控网络的拓扑 结构;
根据所述工控网络的拓扑结构进行操作系统的识别和漏洞的发现匹配;
提供对漏洞进行修补的修补方法和建议。
本发明还提供了一种工控网络安全管理系统,包括:
工控网络拓扑结构确定模块,用于采用本发明提供的被动工控网络拓扑发 现方法确定所述工控网络的拓扑结构;
操作系统识别模块,用于根据所述工控网络的拓扑结构进行操作系统的识 别;
漏洞发现模块,用于在对所述工控网络中的设备的操作系统进行识别后, 对设备存在的漏洞进行发现和识别;
漏洞修补与补丁管理模块,将所述漏洞发现模块得到的漏洞数据信息与补 丁信息相综合,提供一种适用于工控网络设备的漏洞处理建议。
可选的,所述操作系统识别模块,包括:
SYN探测包发送单元,用于向工控网络中的设备发送SYN探测包;
第一操作系统识别单元,用于根据探测响应包中的TTL值或根据工控网 络拓扑结构确定模块嗅探得到的数据包中的TTL值对设备的操作系统进行识 别,得到第一识别结果;
第二操作系统识别单元,将设备的TCP/IP协议栈指纹与指纹数据库中的 指纹进行匹配,得到第二识别结果;
操作系统类型确定单元,用于结合所述第一识别结果和所述第二识别结果 确定设备的操作系统类型。
根据本发明提供的具体实施例,本发明公开了以下技术效果:本发明提供 的被动工控网络拓扑发现方法在被测工控网络的核心交换机上采用端口镜像 技术,对被测工控网络的通信数据进行监听捕获,采用训练好的CART分类树 模型对通信数据进行分类处理,以实现对被测工控网络拓扑结构的提取。本发 明通过端口镜像技术实现了对整个被测工控网络通信数据的获取,通过CART 分类树模型实现了对大量数据的快速分析,一方面,不会影响到被测工控网络 的正常运行,另一方面,快速完整的对被测工控网络的拓扑信息进行了准确的 感知。本发明提供的工控网络安全管理方法及系统,在采用上述方法获得工控网络的拓扑结构后,根据工控网络的拓扑结构进行设备操作系统的识别和漏洞 的识别,并结合补丁信息提供修补建议,实现了对工控网络安全的管理。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施 例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是 本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的 前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例中被动工控网络拓扑发现方法的流程示意图;
图2为本发明实施例中搭建的局域网实验拓扑图;
图3为本发明实施例中操作系统的识别流程图;
图4为本发明实施例中的漏洞评估修补流程图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清 楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是 全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造 性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明的目的是提供一种被动工控网络拓扑发现方法,能够快速完整的确 定被测工控网络的拓扑结构。并在此基础上,提供一种工控网络安全管理方法 及系统,能够在确定工控网络的拓扑结构后,识别工控网络中设备的操作系统, 并对其漏洞进行发现及提供修补建议。
为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和 具体实施方式对本发明作进一步详细的说明。
在工业控制现场,很多工业网络设备都是通过交换机连接到工厂的局域网 中,因此,本被动网络拓扑发现方法主要实现的是链路层网络拓扑的发现。在 不影响工业控制系统正常运行的前提下,本发明的第一方面提供了一种被动工 控网络拓扑发现方法,如图1所示,该方法包括以下步骤:
步骤101:确定被测工控网络的核心交换机;
步骤102:将所述核心交换机的一端口设置为镜像端口,其余端口设置为 源端口;
步骤103:通过所述镜像端口对所述被测工控网络的通信数据包进行嗅 探;
步骤104:对嗅探得到的所述数据包进行降维处理;
步骤105:采用训练好的CART分类树模型对降维后的数据包进行分类, 得到分类结果;所述分类结果用于表示:所述数据包的源地址所代表的设备与 所述数据包的目的地址所代表的设备之间的连接类型,所述连接类型包括:交 换机与路由器的连接、主机与交换机的连接以及交换机与交换机的连接;
步骤106:根据分类结果确定所述被测工控网络的拓扑结构。
在上述实施例中,所述CART分类树模型的训练方法包括:
确定一已知的工控网络模型;该工控网络模型可以是现有的、已知的工控 网络,也可以是专门为CART分类树模型的训练搭建的工控网络。
将所述工控网络模型的核心交换机的一端口设置为镜像端口,其余端口设 置为源端口;
通过所述工控网络模型的核心交换机上的镜像端口对所述工控网络模型 的通信数据包进行嗅探,将得到的数据包记为样本数据包;
为所述样本数据包加上标签,所述标签用于表示所述样本数据包的源地址 所代表的设备和所述样本数据包的目的地址所代表的设备在已知的所述工控 网络模型中的连接类型,所述连接类型包括:交换机与路由器的连接、主机与 交换机的连接以及交换机与交换机的连接;也就是说,该标签标记的是两个设 备的类型以及这两个设备具有相连接的关系,即该标签标记了两方面内容;
对所述样本数据包进行降维处理;此处的降维处理可以采用PCA算法;
采用所述样本数据包对CART分类树进行训练,得到所述CART分类树 模型。
在上述实施例中,用于训练的样本数据包的协议类型包括ARP协议、STP 协议和SNMP协议,当然,并不限于以上三种协议。
在上述实施例中,优选的,各连接类型所包含的样本数据包的数量要均等, 以避免由于样本不均衡带来的训练模型不准确的问题。
在上述实施例中,在对样本数据包以及被测工控网络的通信数据包进行降 维处理之前,优选的,对数据包中的数据进行Z-zero标准化处理。
在上述实施例中,可以采用在核心交换机的镜像端口安装一具有处理功能 的设备,比如PC机,通过在该PC机上安装网络分析仪Wireshark对ARP、STP、以及SNMP数据包进行过滤捕获。
下面以示例的方式对本发明进行进一步解释说明:
1):搭建一个局域网作为实验网络,在已知网络的核心交换机上采用端口 镜像技术,实现网络数据包的特定协议过滤捕获,并且利用PCA(Principal Component Analysis,主成分分析)方法对提取的网络数据包进行数据降维。
1.1>:搭建一个由一台Cisco3640路由器、三台Cisco3500交换机、两台 Cisco2950及若干PC机组成的小型局域网,如图2所示,然后分别进行相关 配置,再利用现有的交换机的端口镜像技术,对核心交换机S1进行端口配置, 采用本地镜像方式,将直接连接到核心交换机上的交换机、主机等终端设备的 相应端口设为源端口,将连接PC1的交换机端口设置为镜像端口,该端口不 收发数据,在PC1上安装网络分析器,如Wireshark,并将其网卡设置为混杂 模式,实现局域网网络数据包的透明嗅探。
1.2>:根据链路层通信协议的特点,利用网络分析器Wireshark筛选出 ARP、STP、以及SNMP数据包进行过滤捕获,将三种协议中对应源IP地址 以及源物理地址(Sip,Smac)以及目的IP地址以及目的物理地址(Dip,Dmac) 都相同的数据报文进行融合,并且根据已知的拓扑情况给相应的每一条数据编 上标签,分别为类1:交换机与路由器的连接;类2:主机与交换机的连接; 类3:交换机与交换机的连接,并且保证每一个类别的网络数据个数是均等的, 避免样本不均衡问题,从而得到高维的新数据,构成初始数据集。此处,将三 种协议的数据进行融合的用意是:为了使源地址和目的地址分别一致的数据能 够得到有效的融合,提高后续分类的精度。
1.3>:1.2>中所获得的数据集在特征上具有很高的维度,对高维度的数据 进行处理时消耗的时间很大,并且过多的特征变量也会妨碍查找规律的建立, 所以在数据预处理时,我们应该实现在最大程度上保留数据集的信息量的前提 下进行数据维度的降低,本发明选用PCA方法进行数据降维。在利用PCA方 法进行数据降维之前,对数据进行Z-zero标准化方法,其计算公式如式1所 示。
Figure BDA0002271163380000081
其中,αN为标准化后的数据,u为对应每个特征的全体数据均值,σ为全 体样本的标准差,k为总样本数量。
1.3.1:经上述标准化处理后,将带标签的处理过后的数据集中的每一条数 据作为矩阵的一行,矩阵的行数为整个提取的网络数据集的数据个数m,而矩 阵的列数由每条数据中的网络特征的个数n确定,从而得到原始数据集Xm×n。 矩阵里的各个数值对应的是各个网络数据的网络特征的相关取值,所述网络特 征是包含在数据包中的一些固有的数据,其代表着不同协议的网络数据包的特 有特征,其中,包括源IP地址、目的IP地址、源MAC地址、目的MAC、端 口等对拓扑分类发现有助的网络特征。
1.3.2:数据样本经上述处理后得到一个m*n的矩阵,对此矩阵求取协方 差矩阵Cov,实现高维到低维的映射,其计算公式如式2所示:
Figure BDA0002271163380000091
式中
Figure BDA0002271163380000092
通过计算得到协方差矩阵Cov之后,利用式|Cov-λ·In|=0计算对应协方差 矩阵的特征值矩阵[λ1 λ2 λ3 … λn],并将特征值按照从大到小的顺序排列, 计算得到对应的特征向量矩阵[α1 α2 α3 … αn];根据得到的特征值矩阵, 通过计算不同维度的主成分贡献率,确定数据降维后的维数k,其计算方法如 式3所示:
Figure BDA0002271163380000093
本发明优选贡献率Δ的取值为0.98,即Δ高于或等于0.98时,对应的k取 值即为初始网络数据降维后的维数;
1.3.3:选取特征向量矩阵的前k个特征向量,并将其组合成一个变换矩阵 P,之后利用公式Tm×k=Xm×n*Pn×k,将原始数据集投影到低维空间上,完成PCA 数据降维。其中,Tm×k是降维后的数据集矩阵,Pn×k为由前k个特征向量组合求 取的变换矩阵,Xm×n为原始数据集。
2):利用CART分类树算法对预处理后的数据包进行拓扑信息提取的分类 训练,得到CART分类树模型。
CART(Classification and Regression Tree)分类回归树是一种决策树构建 算法,其是决策树算法中,很重要的一种算法。CART算法既可以用于创建分 类树(Classification Tree),也可以用于创建回归树(Regression Tree),其用来 创建分类树时,其核心思想是,以特征及对应特征值组成元组为切分点,逐步 切分样本空间,最终得到一个CART分类树模型以实现原始数据样本的分类, 其较之于其他决策树算法分类更快速和准确,因此,本发明采用CART算法对 数据样本进行分类提取。
CART分类树模型的生成就是递归地构建二叉决策树的过程。构建分类决 策树时通常采用自上而下的方法,在每一步选择一个最好的属性来分裂。"最 好"的定义是使得子节点中的训练集尽量的纯。CART分类树算法主要使用 Gini(基尼)指数作为其分裂的依据。分类决策树递归创建过程中就是每次选 择Gini指数最小的节点做分叉点,直至子数据集都属于同一类或者所有特征 用光了。Gini指数代表了CART分类树模型的不纯度,Gini值越小,用于表 示样本的纯净度越高(即该样本只属于同一类的概率越高),则分类效果更好。按照上述准则对训练数据进行训练,就能得到一个分类效果很好的CART分类 树模型。
在本发明中,在对原始数据集进行降维处理后,利用降维后的数据样本及 其标签状态来训练一个CART分类树模型。CART分类树算法主要是根据训练 数据集,从根结点开始,递归地对每个结点进行以下操作,构建二叉树,以得 到一个CART分类树模型:
2.1>:降维后的数据样本Tm×k表示网络数据集中的m条数据和k个属性特 征,以及其对应的拓扑信息类别标签k,其中k的取值对应的是我们给定的每 条数据的标签类别,若分成三类,可取k=1,2,3。
则第一步,我们假设结点的训练数据集为D=Tm×k,计算现有的k个属性特 征对于该数据集的Gini指数。其具体算法是:针对k个属性特征中的每一个 特征A,将其对应的所有取值作升序排列,然后取尽A中所有可能的取值a, 则样本数据集D根据特征A是否取某一可能值a,分割为D1和D2。此时, 在特征A的条件下,可通过式4来求取集合D的Gini指数Gini(D,A)。
Figure BDA0002271163380000111
其中,基尼指数Gini)D)表示集合D的不确定性,基尼指数Gini)D,A) 表示经A=a分割后集合D的不确定性。基尼指数值越大,样本集合的不确定 性也就越大。所以,我们分割的条件是基尼指数尽可能地小。
又因为,在分类问题中,Gini指数的求取过程如下:
在分类问题中,假设有k个类,样本点属于第k个类的概率为Pk,则概率 分布的Gini指数定义为式5。
Figure BDA0002271163380000112
其中,Pk表示选中的样本属于k类别的概率,则这个样本错分到其他类别 的概率为(1-Pk)。则对于给定的样本集D,其Gini指数为式6:
Figure BDA0002271163380000113
其中,Ck表示样本集D中属于类别k的样本。
将式子(5)、(6)代入到(4)中即可求取当某个属性特征A=a时的基尼 指数Gini(D,A)。
2.2>:在样本数据集D中,取尽所有可能的特征A以及他们所有可能的 切分点a,依次按照2.1>计算其基尼指数,选择基尼指数最小的特征及其对应 可能的切分点作为最优特征与最优切分点。依照最优特征与最优切分点,从现 结点生成两个子节点,将训练数据集根据其最优特征分配到两个子结点中去。
2.3>:对于两个子结点的样本数据集,递归地调用2.1>、2.2>,直到最后 分出来的子数据集都属于同一类别,则分割结束。
2.4>:根据上述三个步骤即可生成分类性能良好的CART分类树模型,可 用于实际网络数据包的分类提取。
3):实际工控网络通信数据包的采集捕获
参照1)的方法,在实际工控现场中,通过核心交换机的端口配置,采用 本地镜像方式,将连接到核心交换机上的交换机和工控主机的相应端口设为源 端口,选用核心交换机的其中一个端口仅作为镜像端口,该端口不收发数据, 将镜像端口连接到一个安装有网络分析器的,如Wireshark,的主机上,再将 该主机网卡设为混杂模式,保证Wireshark监听到的数据都是工控网络设备之 间的实时通信数据包,然后参照1)的相应处理方式对于捕获到的工控现场实 际得到的网络数据包依次进行预处理,最后进行PCA数据降维,得到可用的 数据集。
4):利用2)的CART分类树模型对实际采集的通信数据包进行拓扑信息 的分类提取
由2)的训练和测试得到了一个具有良好分类性能的CART分类树模型, 将3)处理的网络数据集作为CART分类树模型的输入,按照2)训练得到的 同类分类规则,从而快速得到相应的IP地址对应的设备类型,并且得到设备 间的连接关系等拓扑信息。
5):对拓扑信息进行汇总和综合分析,得到基本拓扑图
经过4)的分类,可获知网络中各设备类型以及之间的连接关系。建立一 个名为Topoinfo的数据库来存放所获得的拓扑信息,将每个结点的设备类型、 结点的Mac地址,结点的IP地址,以及和此结点连接的所有结点的IP地址作 为其中一条记录列入Topoinfo数据库中。其中,设备类型主要包括路由器、 主机和交换机,连接类型主要包括主机与交换机之间的连接、交换机与交换机 之间的连接,路由器与交换机之间的连接。
得到上述拓扑信息之后,即可分析绘制工控网络的基本拓扑图。将与路由 器连接的交换机设为根交换机,确定了根交换机后,以根交换机为绘制起点, 根据Topoinfo数据库的相关信息,依次推理画出整个工控网络拓扑图,最终 得到的网络拓扑结构应与图2的网络拓扑结构类似。
本发明的第二方面提供了一种工控网络安全管理方法,该方法首先采用本 发明第一方面提供的被动工控网络拓扑发现方法确定所述工控网络的拓扑结 构;然后,根据所述工控网络的拓扑结构进行设备操作系统的识别和漏洞的发 现;最后,提供对漏洞进行修补的修补方法和建议。
本发明的第三方面提供了一种工控网络安全管理系统,该系统包括:
工控网络拓扑结构确定模块,用于采用本发明第一方面提供的被动工控网 络拓扑发现方法确定所述工控网络的拓扑结构;
操作系统识别模块,用于根据所述工控网络的拓扑结构进行设备操作系统 的识别;
漏洞发现模块,用于在对所述工控网络中的设备的操作系统进行识别后, 对设备存在的漏洞进行发现和识别;
漏洞修补与补丁管理模块,将所述漏洞发现模块得到的漏洞数据信息与补 丁信息相综合,提供一种适用于工控网络设备漏洞处理建议。
其中,所述操作系统识别模块,包括:
SYN探测包发送单元,用于向工控网络中的设备发送SYN探测包;
第一操作系统识别单元,用于根据探测响应包中的TTL值或根据工控网 络拓扑结构确定模块嗅探得到的数据包中的TTL值对设备的操作系统进行识 别,得到第一识别结果;
第二操作系统识别单元,将设备的TCP/IP协议栈指纹与指纹数据库中的 指纹进行匹配,得到第二识别结果;
操作系统类型确定单元,用于结合所述第一识别结果和所述第二识别结果 确定设备的操作系统类型。
下面对本发明的第二方面和第三方面进行具体的解释说明:
在信息和通信技术领域,现有的最简单的操作系统识别方法就是根据操作 系统的TTL值来进行匹配判断,但有时TTL值无效,更常用的是TCP/IP协 议栈指纹技术获得操作系统类型,其利用不同操作系统处理数据的方式不同, 具有各自的特点,该特点就称为设备指纹,被用来广泛远程识别网络中存活的 设备的操作系统及其运行软件等各类信息,但其探测准确性依赖于指纹模型的 准确度。针对工控网络系统,本方法对应的操作系统的识别结合上述两种方法, 可提高指纹识别的准确性和效率。其基本实现流程如图3所示。
目前已有些比较成熟的被动式识别工具,如ettercap,p0f,Satori和NetworkMiner,它们基于TCP/IP协议栈指纹识别技术来分析网络数据包。但 ICS系统中工控设备具有长生命周期,稳定的网络拓扑和会话,其不仅应用传 统网络的TCP/IP协议,还应用其特有的工控协议,如Modbus协议、DNP3 协议等,目前针对工控专有协议的指纹信息库很少,也没有人能够得到尽可能 详细的工控协议指纹数据库。而GRASSMARLIN是一款由美国国家安全局开 发的一个能够在IP网络上发现并监控和数据采集系统(SCADA)和工业控制 系统(ICS)主机的开源软件工具,其指纹数据库主要是针对于工业控制领域, 几乎涵盖了大部分的工控设备指纹,也可利用工控企业提供的指纹信息,然后 可以利用python编程去解析上述所提软件及各种途径获得的指纹信息,并且 形成文本数据库,再根据自己构造的网络探测包的具体结构去设置专有指纹数 据库的信息格式。
在对工控网络拓扑结构进行发现时,可得到网络拓扑中的全部设备的相应 端口信息及其部分TTL信息,当TTL有效时,可初步判定其操作系统,再根 据与本发明设置的专有指纹数据库进行比对匹配,若比对成功即可快速获得操 作系统类型,若匹配失败或者TTL无效或者相关设备无TTL信息,即可通过 在向目标端口发送SYN探测包来得到想要的指纹信息。
在TCP/IP协议栈指纹技术中,针对操作系统的探测,自己可构建特定探 测包,发给需探测端口,探测记录响应包内容,通过解析拆分并与指纹库进行 比对,从而可以准确判断远程设备的操作系统,包括计算机和任何类型的工控 设备。
漏洞发现匹配的主要功能是:为设备潜在漏洞构建专有漏洞数据库,然后 以操作系统识别技术得到的相关设备信息作为漏洞匹配模块的输入,实现漏洞 的匹配发现。其中,最主要的就是专有漏洞数据库的建立。首先,利用广度优 先搜索的网络爬虫技术对公开的漏洞库网站(包括中国国家信息安全漏洞库 (CNNVD)、美国国家信息安全漏洞库(NVD)、美国工控系统网络应急小组 (ICS-CERT))进行漏洞信息的爬取,得到漏洞信息并进行存储。其次,在获 取到大量的来自不同漏洞库的漏洞信息后,为方便后期的匹配需要,对数据进 行预处理,包括筛选所需字段、对无效信息进行删除、提取漏洞类型、将漏洞 类型转换成CWE编号。再者,在得到预处理的漏洞数据后,由于漏洞种类繁 多,不好进行发现匹配,需要对其分类,由于CWE(通用缺陷枚举)是一套 MITRE公司推出的在全球范围内免费使用的软件缺陷描述体系,因此,基于 CWE对漏洞数据进行分类,依据数据挖掘的关联分析,明确不同漏洞数据之 间的联系,形成体系层次,保证匹配信息的完整性和准确性,最终利用Mysql 创建一个多元融合的漏洞分类数据库,再利用匹配算法进行系统漏洞的实时匹配,找到系统的潜在漏洞。
目前来看,大量的工业控制系统没有及时进行补丁修补升级,防护能力较 弱,容易受到恶意攻击。因此,在得到对应操作系统的潜在漏洞后,应及时对 其进行漏洞修补和补丁管理。根据漏洞匹配的结果,可得到现有计算机系统和 工控设备的漏洞种类和漏洞等级,我们可根据得到的漏洞性质,包括漏洞等级 排序和漏洞种类,配合实际工控设备运行的要求以及工业生产实际,选择打补 丁、调整配置、移除软件/设备以及隔离系统等多种方法相结合,最大程度上 实现漏洞的修补和补丁管理。整体的漏洞修补评估流程如图4所示。
对于工控设备来说,漏洞等级属于高危的漏洞种类,进行补丁升级是修复 系统漏洞最为可靠和有效的方法,在保证工业生产运行和系统可用性的前提 下,企业如果具备升级补丁的条件,应及时采取补丁升级措施。但是,针对相 关漏洞发布的补丁,由于其公开性,在下载之前不知道有没有感染上病毒,或 者是否适用现有的工业环境,所以,在升级之前应对补丁进行仔细调试,可通 过在网络隔离地带建立工控仿真环境对得到的补丁进行反复调试实验,只有经 过测试,对现场运行无影响的情况下才能进行补丁升级,同时,可在调试的时 候并行建立补丁管理区域,并且在在线补丁管理区域和需要升级的系统之间设置缓冲地带。
当补丁未通过测试或者是还没有相应的公开补丁信息时,可尝试通过调整 配置,包括对系统自身的直接调整(如禁用脆弱的或不适用的服务、修改用户 权限),以及对系统外部配置的调整(比如:修改防火墙或IPS的策略、通过 路由器访问控制列表限制访问,以及停止脆弱的服务),来进行漏洞的修补, 但是,配置的变化可能会影响其他的系统或设备,所以需要对重大配置变更制 定计划并进行影响分析,配置变更实施前进行严格安全测试才可实施。
如果漏洞不能通过补丁或更改配置来解决,或者相关工控系统或设备不具 备条件进行补丁升级或配置更改,则应该根据系统的关键性,考虑停止停用脆 弱的服务、移除软件或设备或系统隔离等手段。在进行移除时,应该隔离存在 漏洞的系统,有效地锁定其安全区域并防止在边界有任何异常访问。
本发明提供的被动工控网络拓扑发现方法在被测工控网络的核心交换机 上采用端口镜像技术,对被测工控网络的通信数据进行监听捕获,采用训练好 的CART分类树模型对通信数据进行分类处理,以实现对被测工控网络拓扑结 构的提取。本发明通过端口镜像技术实现了对整个被测工控网络通信数据的获 取,通过CART分类树模型实现了对大量数据的快速分析,一方面,不会影响 到被测工控网络的正常运行,另一方面,快速完整的对被测工控网络的拓扑信 息进行了准确的感知。本发明提供的工控网络安全管理方法及系统,在采用上 述方法获得工控网络的拓扑结构后,根据工控网络的拓扑结构进行设备操作系统的识别和漏洞的识别,并结合补丁信息提供修补建议,实现了对工控网络安 全的管理。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是 与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于 实施例公开的系统而言,由于其与实施例公开的方法相对应,所以描述的比较 简单,相关之处参见方法部分说明即可。
本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施 例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的 一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变 之处。综上所述,本说明书内容不应理解为对本发明的限制。

Claims (7)

1.一种被动工控网络拓扑发现方法,其特征在于,包括:
确定被测工控网络的核心交换机;
将所述核心交换机的一端口设置为镜像端口,其余端口设置为源端口;
通过所述镜像端口对所述被测工控网络的通信数据包进行嗅探;
对嗅探得到的所述数据包进行降维处理;
采用训练好的CART分类树模型对降维后的数据包进行分类,得到分类结果;所述分类结果用于表示:所述数据包的源地址所代表的设备与所述数据包的目的地址所代表的设备之间的连接类型,所述连接类型包括:交换机与路由器的连接、主机与交换机的连接以及交换机与交换机的连接;
根据分类结果确定所述被测工控网络的拓扑结构;
其中,用于训练CART分类树模型的样本数据包的协议类型包括:ARP协议、STP协议和SNMP协议,且各连接类型的样本数据包的数量相同;训练样本的处理如下:利用网络分析器Wireshark筛选出ARP、STP以及SNMP数据包进行过滤捕获,将三种协议中对应源IP地址、源物理地址、目的IP地址以及目的物理地址都相同的数据包融合为一条样本数据,并且根据已知的拓扑情况给相应的每一条样本数据编上标签,分别为类1:交换机与路由器的连接;类2:主机与交换机的连接;类3:交换机与交换机的连接。
2.根据权利要求1所述的被动工控网络拓扑发现方法,其特征在于,所述CART分类树模型的训练方法包括:
确定一已知的工控网络模型;
将所述工控网络模型的核心交换机的一端口设置为镜像端口,其余端口设置为源端口;
通过所述工控网络模型的核心交换机上的镜像端口对所述工控网络模型的通信数据包进行嗅探,将得到的数据包记为样本数据包;
为所述样本数据包加上标签,所述标签用于表示所述样本数据包的源地址所代表的设备和所述样本数据包的目的地址所代表的设备在已知的所述工控网络模型中的连接类型,所述连接类型包括:交换机与路由器的连接、主机与交换机的连接以及交换机与交换机的连接;
对所述样本数据包进行降维处理;
采用所述样本数据包对CART分类树进行训练,得到所述CART分类树模型。
3.根据权利要求1或2所述的被动工控网络拓扑发现方法,其特征在于,在所述降维处理之前,还包括:对数据包中的数据进行Z-zero标准化处理。
4.根据权利要求1或2所述的被动工控网络拓扑发现方法,其特征在于,所述降维处理采用PCA算法进行降维处理。
5.一种工控网络安全管理方法,其特征在于,包括:
采用如权利要求1-4任一项所述的被动工控网络拓扑发现方法确定所述工控网络的拓扑结构;
根据所述工控网络的拓扑结构进行操作系统的识别和漏洞的发现匹配;
提供对漏洞进行修补的修补方法和建议。
6.一种工控网络安全管理系统,其特征在于,包括:
工控网络拓扑结构确定模块,用于采用如权利要求1-4任一项所述的被动工控网络拓扑发现方法确定所述工控网络的拓扑结构;
操作系统识别模块,用于根据所述工控网络的拓扑结构进行操作系统的识别;
漏洞发现模块,用于在对所述工控网络中的设备的操作系统进行识别后,对设备存在的漏洞进行发现和识别;
漏洞修补与补丁管理模块,将所述漏洞发现模块得到的漏洞数据信息与补丁信息相综合,提供一种适用于工控网络设备的漏洞处理建议。
7.根据权利要求6所述的工控网络安全管理系统,其特征在于,所述操作系统识别模块,包括:
SYN探测包发送单元,用于向工控网络中的设备发送SYN探测包;
第一操作系统识别单元,用于根据探测响应包中的TTL值或根据工控网络拓扑结构确定模块嗅探得到的数据包中的TTL值对设备的操作系统进行识别,得到第一识别结果;
第二操作系统识别单元,将设备的TCP/IP协议栈指纹与指纹数据库中的指纹进行匹配,得到第二识别结果;
操作系统类型确定单元,用于结合所述第一识别结果和所述第二识别结果确定设备的操作系统类型。
CN201911105517.6A 2019-11-13 2019-11-13 一种被动工控网络拓扑发现方法及工控网络安全管理系统 Active CN110808865B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201911105517.6A CN110808865B (zh) 2019-11-13 2019-11-13 一种被动工控网络拓扑发现方法及工控网络安全管理系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911105517.6A CN110808865B (zh) 2019-11-13 2019-11-13 一种被动工控网络拓扑发现方法及工控网络安全管理系统

Publications (2)

Publication Number Publication Date
CN110808865A CN110808865A (zh) 2020-02-18
CN110808865B true CN110808865B (zh) 2021-04-02

Family

ID=69502356

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911105517.6A Active CN110808865B (zh) 2019-11-13 2019-11-13 一种被动工控网络拓扑发现方法及工控网络安全管理系统

Country Status (1)

Country Link
CN (1) CN110808865B (zh)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111343211B (zh) * 2020-05-21 2020-10-16 四川英得赛克科技有限公司 基于网络流量的智能分析管控方法、系统、介质及设备
CN111654477A (zh) * 2020-05-21 2020-09-11 杭州安恒信息技术股份有限公司 基于fins协议的工控网络的信息拓扑方法、装置和计算机设备
CN111756775A (zh) * 2020-07-27 2020-10-09 四川神琥科技有限公司 手持式千兆网络分析仪及其应用方法
CN112671553A (zh) * 2020-11-26 2021-04-16 中国电子科技网络信息安全有限公司 基于主被动探测的工控网络拓扑图生成方法
CN113079186A (zh) * 2021-06-07 2021-07-06 北京网藤科技有限公司 基于工控终端特征识别的工业网络边界防护方法和系统
CN114124473B (zh) * 2021-11-02 2024-02-02 北京天融信网络安全技术有限公司 基于端口镜像的网络准入认证系统及认证方法
CN114238659B (zh) * 2021-12-21 2024-08-20 中电信数智科技有限公司 智能设计网络安全架构图的方法
CN117631599B (zh) * 2024-01-26 2024-04-12 深圳一嘉智联科技有限公司 一种基于数据分析的工控机数据传输方法及系统

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101594247A (zh) * 2008-05-29 2009-12-02 国际商业机器公司 识别应用拓扑的方法和系统
CN102082690A (zh) * 2011-01-10 2011-06-01 北京邮电大学 一种网络拓扑的被动发现设备及其发现方法
CN103746858A (zh) * 2014-02-19 2014-04-23 山东微分电子科技有限公司 一种无线网络拓扑检测的方法
CN103905221A (zh) * 2012-12-26 2014-07-02 成都勤智数码科技股份有限公司 通用的拓扑链接准确发现方法
CN105843924A (zh) * 2016-03-25 2016-08-10 南京邮电大学 一种认知计算中基于cart的决策树构建方法

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108490893B (zh) * 2018-02-13 2020-06-30 烽台科技(北京)有限公司 一种工业控制方法、装置及设备
CN109740645A (zh) * 2018-12-20 2019-05-10 核工业北京地质研究院 一种适用于高分一号影像的cart决策树分类方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101594247A (zh) * 2008-05-29 2009-12-02 国际商业机器公司 识别应用拓扑的方法和系统
CN102082690A (zh) * 2011-01-10 2011-06-01 北京邮电大学 一种网络拓扑的被动发现设备及其发现方法
CN103905221A (zh) * 2012-12-26 2014-07-02 成都勤智数码科技股份有限公司 通用的拓扑链接准确发现方法
CN103746858A (zh) * 2014-02-19 2014-04-23 山东微分电子科技有限公司 一种无线网络拓扑检测的方法
CN105843924A (zh) * 2016-03-25 2016-08-10 南京邮电大学 一种认知计算中基于cart的决策树构建方法

Also Published As

Publication number Publication date
CN110808865A (zh) 2020-02-18

Similar Documents

Publication Publication Date Title
CN110808865B (zh) 一种被动工控网络拓扑发现方法及工控网络安全管理系统
CN107667505B (zh) 用于监控和管理数据中心的系统及方法
CN110113345B (zh) 一种基于物联网流量的资产自动发现的方法
Duffield et al. Rule-based anomaly detection on IP flows
CN104115463A (zh) 用于处理网络元数据的流式传输方法和系统
CN114389940A (zh) 故障恢复预案确定方法、装置及系统、计算机存储介质
CN106357470B (zh) 一种基于sdn控制器网络威胁快速感知方法
WO2023241202A1 (zh) 一种网络资产的监管引擎
KR102001812B1 (ko) K-means 알고리즘을 이용한 기기간 통신 화이트리스트 생성 장치 및 방법
CN107196871B (zh) 一种基于别名规约树的流规则冲突检测方法及系统
CN109150869A (zh) 一种交换机信息采集分析系统及方法
WO2019190403A1 (en) An industrial control system firewall module
Qiu et al. Global Flow Table: A convincing mechanism for security operations in SDN
CN112532614A (zh) 一种用于电网终端的安全监测方法和系统
CN111193640B (zh) 采用策略分解和符号执行的有状态数据平面故障检测方法
CN114598499B (zh) 结合业务应用的网络风险行为分析方法
CN112291213A (zh) 一种基于智能终端的异常流量分析方法及装置
Guo et al. FullSight: A feasible intelligent and collaborative framework for service function chains failure detection
CN111698110A (zh) 一种网络设备性能分析方法、系统、设备及计算机介质
CN113904841B (zh) 一种应用于IPv6网络环境的网络攻击检测方法
CN114006719B (zh) 基于态势感知的ai验证方法、装置及系统
CN113285937B (zh) 一种基于传统变电站配置文件和iec103协议流量的安全审计方法及系统
KR20050002263A (ko) 망 관리에서의 장애 관리 시스템 및 그 방법
US11860724B2 (en) Method and system for facilitating a self-healing network
CN115297006A (zh) 基于合作网络空间资产信息地图异常检测隔离方法及系统

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant