CN117411703A - 一种面向Modbus协议的工业控制网络异常流量检测方法 - Google Patents
一种面向Modbus协议的工业控制网络异常流量检测方法 Download PDFInfo
- Publication number
- CN117411703A CN117411703A CN202311448619.4A CN202311448619A CN117411703A CN 117411703 A CN117411703 A CN 117411703A CN 202311448619 A CN202311448619 A CN 202311448619A CN 117411703 A CN117411703 A CN 117411703A
- Authority
- CN
- China
- Prior art keywords
- flow
- data
- model
- network
- data packet
- 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.)
- Pending
Links
- 230000002159 abnormal effect Effects 0.000 title claims abstract description 64
- 238000001514 detection method Methods 0.000 title claims abstract description 54
- 230000006399 behavior Effects 0.000 claims abstract description 49
- 238000000034 method Methods 0.000 claims abstract description 45
- 238000010801 machine learning Methods 0.000 claims abstract description 29
- 238000012545 processing Methods 0.000 claims abstract description 19
- 238000004458 analytical method Methods 0.000 claims abstract description 15
- 238000000605 extraction Methods 0.000 claims abstract description 15
- 238000005457 optimization Methods 0.000 claims abstract description 10
- 238000005206 flow analysis Methods 0.000 claims abstract description 9
- 238000004422 calculation algorithm Methods 0.000 claims description 38
- 238000012549 training Methods 0.000 claims description 32
- 238000007781 pre-processing Methods 0.000 claims description 15
- 230000006854 communication Effects 0.000 claims description 14
- 238000011156 evaluation Methods 0.000 claims description 14
- 230000008569 process Effects 0.000 claims description 11
- 238000004891 communication Methods 0.000 claims description 8
- 238000005516 engineering process Methods 0.000 claims description 8
- 238000012300 Sequence Analysis Methods 0.000 claims description 7
- 238000010586 diagram Methods 0.000 claims description 7
- 206010033307 Overweight Diseases 0.000 claims description 6
- 238000000513 principal component analysis Methods 0.000 claims description 6
- 230000007246 mechanism Effects 0.000 claims description 5
- 238000003064 k means clustering Methods 0.000 claims description 4
- 206010000117 Abnormal behaviour Diseases 0.000 claims description 3
- 238000004140 cleaning Methods 0.000 claims description 3
- 238000013507 mapping Methods 0.000 claims description 3
- 238000010606 normalization Methods 0.000 claims description 3
- 238000003672 processing method Methods 0.000 claims description 3
- 230000009467 reduction Effects 0.000 claims description 3
- 230000001105 regulatory effect Effects 0.000 claims description 3
- 230000008901 benefit Effects 0.000 abstract description 9
- 238000012360 testing method Methods 0.000 description 7
- 230000005540 biological transmission Effects 0.000 description 3
- 238000004364 calculation method Methods 0.000 description 3
- 238000007405 data analysis Methods 0.000 description 3
- 230000008859 change Effects 0.000 description 2
- 230000007547 defect Effects 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012847 principal component analysis method Methods 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 201000004569 Blindness Diseases 0.000 description 1
- 241001377938 Yara Species 0.000 description 1
- 238000009825 accumulation Methods 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- ZPUCINDJVBIVPJ-LJISPDSOSA-N cocaine Chemical compound O([C@H]1C[C@@H]2CC[C@@H](N2C)[C@H]1C(=O)OC)C(=O)C1=CC=CC=C1 ZPUCINDJVBIVPJ-LJISPDSOSA-N 0.000 description 1
- 230000000295 complement effect Effects 0.000 description 1
- 230000007123 defense Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000012407 engineering method Methods 0.000 description 1
- 235000019580 granularity Nutrition 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000005065 mining Methods 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
- 238000012216 screening Methods 0.000 description 1
- 238000007619 statistical method Methods 0.000 description 1
- 238000003860 storage Methods 0.000 description 1
- 238000005728 strengthening Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/14—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
- H04L63/1408—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
- H04L63/1416—Event detection, e.g. attack signature detection
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/40—Bus networks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/16—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks using machine learning or artificial intelligence
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/14—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
- H04L63/1408—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
- H04L63/1425—Traffic logging, e.g. anomaly detection
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/40—Network security protocols
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/40—Bus networks
- H04L2012/40208—Bus networks characterized by the use of a particular bus standard
- H04L2012/40228—Modbus
Abstract
本发明涉及一种面向Modbus协议的工业控制网络异常流量检测方法,包括以下步骤:S1、捕获Modbus协议应用层报文中的数据包;S2、将捕获到的数据包流量进行特征提取与数据处理,并基于规则的流量特征来识别异常流量和攻击行为;S3、构建正常流量行为模型,利用S2中基于规则的流量特征对流量检测分类并进行模型优化;S4、根据优化后有规则集的机器学习模型构建入侵检测系统,分析流量的时序特征,进而更全面地分析网络攻击;S5、选择网络数据包进行分析,输入模型并进行预测,得到最终的流量分析结果。与现有技术相比,本发明网络攻击识别效率高、异常流量检测准确率高,同时具有流量分析全面、高效低成本的优点。
Description
技术领域
本发明涉及软件安全测试技术领域,尤其是涉及一种面向Modbus协议的工业控制网络异常流量检测方法。
背景技术
随着网络化和智能化的不断发展,工业互联网的需求也在逐步增加。在电力系统中,工控设备和协议被广泛应用,其中Modbus/TCP协议正逐步占据优势地位。这种协议具有易部署、开放标准、跨平台、兼容性强等优势,非常适用于工业物联网和工业4.0的场景。在智能电网中,该协议被用来实现集中器与终端设备之间的通信与控制,从而实现对电力系统的监测和管理。基于机器学习的异常流量检测技术已经成为主流,通过Modbus/TCP通信数据进行分析和建模,可以训练出有效的异常检测模型,从而实现对异常流量的识别和防御。
在实际应用中,基于混合特征检测的技术已经被广泛应用于各种工业控制系统中。例如,国内某些电力、石化等企业已经采用了该技术来保障其工业控制系统的安全性。
专利申请CN115277241A公开了一种基于流量分层的异常流量检测方法、装置及存储介质,方法包括:获取工控网络的网络流量;将所述网络流量分别输入流量特征提取模块、数据包特征提取模块以及内容特征提取模块,分别得到流量特征、数据包特征以及内容特征;将所述流量特征、所述数据包特征以及所述内容特征输入预先训练得到的流量检测网络,得到流量检测结果。基于不同粒度的特征,提高针对网络流量的检测的覆盖率,准确地检测出异常流量,但是对于Modbus/TCP协议的异常流量检测效率低。
由于Modbus/TCP协议本身的缺陷,导致Modbus/TCP协议在使用过程中具有很多安全威胁。这些安全威胁可能会严重破坏电力系统的正常运行,造成巨大的经济损失和安全隐患。因此,如何有效识别和防范Modbus/TCP协议的安全威胁已经成为一个非常紧迫和重要的问题,而现有的检测方法网络攻击识别效率低,不准确。
发明内容
本发明的目的就是为了克服上述现有技术存在的缺陷而提供一种面向Modbus协议的工业控制网络异常流量检测方法,以解决网络攻击识别效率低、异常流量检测不准确的问题,同时具有流量分析全面、高效低成本的优点。
本发明的目的可以通过以下技术方案来实现:
本发明提供一种面向Modbus协议的工业控制网络异常流量检测方法,包括以下步骤:
S1、捕获Modbus协议应用层报文中的数据包;
S2、将捕获到的数据包流量进行特征提取与数据处理,并基于规则的流量特征来识别异常流量和攻击行为;通过定义一系列规则来识别异常流量和攻击行为,这些规则由正常流量和异常流量中提取,根据已有的安全知识和数据分析结果,制定一系列规则用于识别异常流量和攻击行为;
S3、构建正常流量行为模型,利用S2中基于规则的流量特征对流量检测分类并进行模型优化;
S4、根据优化后有规则集的机器学习模型构建入侵检测系统,分析流量的时序特征,包括流量的频率、持续时间、传输速率,结合规则集和机器学习模型的判断结果,综合分析流量的特征,进而更全面地分析网络攻击;
S5、选择需要分析的网络数据包进行分析,并提取特征,输入优化后的机器学习模型并进行预测,得到最终的流量分析结果。
进一步地,步骤S1中,具体是通过Wireshark记录实时流量或者分析记录着流量信息的pcap文件,以获取Modbus协议应用层报文中的数据包。
进一步地,步骤S2具体包括以下步骤:
S21、分析Modbus的通信逻辑并发现不合法的字段和恶意指令的Modbus数据包,如不符合标准格式的数据包、数据包长度异常、指令错误等,同时针对Modbus/TCP网络流量,预先对权重高的特征要素进行标记,选取权重高的特征要素进行选择;
S22、采用标准化处理和主成分分析的数据处理方法降低特征维数,约简不必要的特征值;对选取的特征要素进行标准化处理,以便将它们转换为具有相同尺度的值,采用主成分分析方法,将高维特征数据降维为低维数据,约简不必要的特征值,提高特征的区分度和准确性。
S23、基于规则的流量特征,通过网络监控软件或设备,实时采集并处理网络流量数据,将其转化为可供规则匹配的格式将采集到的流量数据与事先定义好的规则进行匹配和检测,发现符合规则条件的流量并标记为异常或攻击行为。
进一步地,步骤S21具体包括以下步骤:
S211、通过设备IP流向与网络特征发现不合法的字段和恶意指令的Modbus数据包;
S212、将可能用于Modbus攻击的特征要素进行提取,结合常见攻击类型,选取与此相关的TCP标志位、端口信息、流量的时序特征等。
进一步地,步骤S22具体包括以下步骤:
S221、采用标准化和归一化和Min-Max Scaling的预处理方法,将IP地址拆分为四个整数作为四个新的特征输入模型,并对端口号归一化处理;
S222、使用主成分分析,在数据预处理标准化后通过网格搜索选择主成分,将原始数据映射到新的空间,实现数据降维。
进一步地,步骤S23具体包括以下步骤:
S231、记录通信过程全部的数据包,了解设备之间的通信流向、协议中存在的安全风险和潜在的攻击路径,从而制定相应的安全规则:
S232、对网络数据包进行收集、分析,并按照设定基于生成的正常规则集和异常规则集对该网络数据包进行判定。
进一步地,步骤S3具体包括以下步骤:
S31、构建正常流量行为模型:收集网络流量数据,对数据进行预处理,包括数据清洗、特征提取,根据数据特征,构建正常流量行为模型的训练集,利用机器学习算法对训练集进行训练,得到正常流量行为模型;构建正常流量行为模型是用于统计特征判断没有达到阈值,但对系统造成威胁的异常流量;
S32、流量分类和模型优化:利用S31中得到的正常流量行为模型,对网络流量数据进行分类,使用朴素贝叶斯算法对分类结果进行模型评估,比较预测结果与实际类别的差异,根据评估结果,对模型进行优化,可以调整特征选择、数据预处理方法,以提高模型的性能和泛化能力。
进一步地,步骤S31具体包括以下步骤:
S311、获取目标网络流量数据,包括实时数据和历史数据;
S312、对于数据进行预处理,提取有价值的特征,如目标IP地址、端口号、数据包大小等,构建正常流量行为模型的训练集;
S313、利用朴素贝叶斯算法、K-means聚类算法、Rep Tree算法、LSTM算法中的一种对训练集进行训练,得到正常流量行为模型。
进一步地,步骤S32具体包括以下步骤:
S321、针对TCP握手包、PING等正常通信过程中不会高频出现的包进行统计,并将引用参考文献中的比例系数下调至0.2,计算出正常阈值,可以得到更低的正常阈值,从而更容易检测到异常流量,D=0.2×B,D代表正常阈值,B代表正常带宽,对捕获的流量数据进行处理和分析,统计出单位时间内的包数量,如果超过正常阈值D,则可能存在拒绝服务攻击,针对数据小、吞吐量限制的特点,使用滑动窗口等技术来处理和分析流量数据,以适应数据量较小和吞吐量限制的情况。
S322、使用十字交叉中的准确率作为评估标准,将数据集划分为训练集和测试集,分别用于训练和测试模型,并计算模型的准确率作为评估标准,通过时序分析图,对模型的检测结果进行分析和评估,比较模型的预测结果与实际情况的一致性,以评估模型的准确率和性能,根据评估结果,对模型进行优化,可以调整算法参数、增加训练样本、改进特征工程,以提高模型的准确率和泛化能力,以获得更好的模型性能。
进一步地,步骤S4中优化模型的具体过程为:获取当前的流量特征图,结合基于规则的方法和机器学习算法等技术,来识别和分类不同类型的网络攻击,对输入的数据包文件进行特征提取、预处理,输入模型进行预测和规则判断后进行分析,并将其记录到数据库中,得到流量的具体信息与时序分析信息。
进一步地,步骤S4中,入侵检测系统检测网络攻击的具体过程为:
当主从数据包流经系统时,提取相关的属性,送到模型那里进行一一匹配;
在流量检测过程中,该数据包要满足不符合异常数据集里面的任意一条规则,若满足任意一条,则根据情况判断行为是异常行为还是风险行为,再根据正常规则集进行一一判断其是否异常行为;
若出现了新的规则也可以通过更新数据库的规则来增添新的数据或者删减规则,实现规则的可维护性和拓展性,主要利用类的反射机制,可结合数据库对类的属性和方法进行动态管理。
与现有技术相比,本发明具有以下优点:
(1)本发明提供一种面向Modbus协议的工业控制网络异常流量检测方法,解析和修正从工业控制网络中学习正常的数据包流量,根据已有的安全知识和数据分析,制定一系列规则用于识别异常流量和攻击行为,正常规则的生成通过协议包内各字段分析(传输标识符、协议标识符、长度等)、主/从(请求/响应)数据包分析、相同功能码数据包分析、整体数据包分析,并且根据周期内的变化规律进行统计,对流量进行判定分析,基于机器学习对过滤后的流量进行二次筛选最后以特征图的样式进行辅助查看。该方法对网络流量进行检测与分析,并从中发现和识别任何潜在威胁,提高工控网络的安全性能,确保其平稳和可靠地运行。
(2)本发明利用机器学习的入侵检测模型,通过对大量正常和攻击行为数据进行训练,学习到攻击行为的特征和规律;同时利用朴素贝叶斯算法,提高入侵检测模型在测试集上的准确率。随着训练数据的不断积累,机器学习模型的识别能力会不断提高,能够有效地检测出更多的新型攻击。
(3)本发明的混合属性检测方法结合了规则集模型和机器学习模型的优势,可以构建出高效、低成本的入侵检测系统。在机器学习模型的高识别能力的基础上利用正常流量生成的规则集模型,为新型电力系统提供更强的网络安全保障,提早预警网络安全管理检测出网络存在的异常问题。规则集模型的低计算优势使其在处理简单的规则和特定条件下的入侵检测任务中非常有效。通过利用正常流量生成的规则集模型,可以快速识别和过滤掉大部分正常的网络流量,减少机器学习模型的负担,降低计算成本。规则集模型可以根据已知的规则和特征进行快速匹配和判断,对于一些已知的入侵行为和攻击模式,可以提供准确的检测和预警。机器学习模型在入侵检测中具有较高的识别能力,能够从大量的数据中学习并发现隐藏的模式和异常行为。通过训练机器学习模型,可以构建出一个智能化的入侵检测系统,能够识别未知的入侵行为和新型的攻击模式。机器学习模型可以通过学习数据的统计特征和模式来进行预测和分类,对于复杂的入侵行为和变化多样的攻击模式,具有更好的适应性和泛化能力。
附图说明
图1为面向Modbus协议的工业控制网络异常流量检测方法的流程示意图
图2为实施例的客户端界面示意图。
图3为实施例中异常数据流量日志界面示意图。
图4为实施例中数据包时序分析界面示意图。
具体实施方式
下面结合附图和具体实施例对本发明进行详细说明。本技术方案中如未明确说明的部件型号、材料名称、连接结构、控制方法、算法等特征,均视为现有技术中公开的常见技术特征。
实施例1
本实施例提供一种面向Modbus协议的工业控制网络异常流量检测方法,如图1所示,包括以下步骤:
S1、捕获Modbus协议应用层报文中的数据包;具体是通过Wireshark记录实时流量或者分析记录着流量信息的pcap文件,以获取Modbus协议应用层报文中的数据包。
S2、将捕获到的数据包流量进行特征提取与数据处理,并基于规则的流量特征来识别异常流量和攻击行为;
具体的实施方式中:
S21、分析Modbus的通信逻辑并发现不合法的字段和恶意指令的Modbus数据包,如不符合标准格式的数据包、数据包长度异常、指令错误等,同时针对Modbus/TCP网络流量,预先对权重高的特征要素进行标记,选取权重高的特征要素进行选择;
S22、采用标准化处理和主成分分析的数据处理方法降低特征维数,约简不必要的特征值;对选取的特征要素进行标准化处理,以便将它们转换为具有相同尺度的值,采用主成分分析方法,将高维特征数据降维为低维数据,约简不必要的特征值,提高特征的区分度和准确性。
S23、基于规则的流量特征,通过网络监控软件或设备,实时采集并处理网络流量数据,将其转化为可供规则匹配的格式,如将数据包特征提取出来,并转化为规则引擎可识别的格式,如Snort规则、YARA规则。将采集到的流量数据与事先定义好的规则进行匹配和检测,发现符合规则条件的流量并标记为异常或攻击行为。
其中,步骤S21具体包括:
S211、通过设备IP流向与网络特征发现不合法的字段和恶意指令的Modbus数据包;
S212、将可能用于Modbus攻击的特征要素进行提取,结合常见攻击类型,选取与此相关的TCP标志位、端口信息、流量的时序特征等。
其中,步骤S22具体包括:
S221、采用标准化和归一化和Min-Max Scaling的预处理方法,将IP地址拆分为四个整数作为四个新的特征输入模型,并对端口号归一化处理;
S222、使用主成分分析,在数据预处理标准化后通过网格搜索选择主成分,将原始数据映射到新的空间,实现数据降维。
其中,步骤S23具体包括:
S231、记录通信过程全部的数据包,了解设备之间的通信流向、协议中存在的安全风险和潜在的攻击路径,从而制定相应的安全规则:
S232、对网络数据包进行收集、分析,并按照设定基于生成的正常规则集和异常规则集对该网络数据包进行判定。
S3、构建正常流量行为模型,利用S2中基于规则的流量特征对流量检测分类并进行模型优化;
在具体实施方式中:
S31、构建正常流量行为模型:收集网络流量数据,对数据进行预处理,包括数据清洗、特征提取,根据数据特征,构建正常流量行为模型的训练集,利用机器学习算法对训练集进行训练,得到正常流量行为模型;
S32、流量分类和模型优化:利用S31中得到的正常流量行为模型,对网络流量数据进行分类,使用朴素贝叶斯算法对分类结果进行模型评估,比较预测结果与实际类别的差异,根据评估结果,对模型进行优化,可以调整特征选择、数据预处理方法,以提高模型的性能和泛化能力。
其中,步骤S31具体包括:
S311、获取目标网络流量数据,包括实时数据和历史数据;
S312、对于数据进行预处理,提取有价值的特征,如目标IP地址、端口号、数据包大小等,构建正常流量行为模型的训练集;
S313、利用朴素贝叶斯算法、K-means聚类算法、Rep Tree算法、LSTM算法中的一种对训练集进行训练,得到正常流量行为模型。
其中,步骤S32具体包括:
S321、针对TCP握手包、PING等正常通信过程中不会高频出现的包进行统计,并将引用参考文献中的比例系数下调至0.2,计算出正常阈值,D=0.2×B,D代表正常阈值,B代表正常带宽,对捕获的流量数据进行处理和分析,统计出单位时间内的包数量,如果超过正常阈值D,则可能存在拒绝服务攻击,针对数据小、吞吐量限制的特点,使用滑动窗口等技术来处理和分析流量数据,以适应数据量较小和吞吐量限制的情况。
S322、使用十字交叉中的准确率作为评估标准,将数据集划分为训练集和测试集,分别用于训练和测试模型,并计算模型的准确率作为评估标准,通过时序分析图,对模型的检测结果进行分析和评估,比较模型的预测结果与实际情况的一致性,以评估模型的准确率和性能,根据评估结果,对模型进行优化,可以调整算法参数、增加训练样本、改进特征工程,以提高模型的准确率和泛化能力,以获得更好的模型性能。
S4、根据优化后有规则集的机器学习模型构建入侵检测系统,分析流量的时序特征,包括流量的频率、持续时间、传输速率,结合规则集和机器学习模型的判断结果,综合分析流量的特征,进而更全面地分析网络攻击;
其中优化模型的具体过程为:获取当前的流量特征图,结合基于规则的方法和机器学习算法等技术,来识别和分类不同类型的网络攻击,对输入的数据包文件进行特征提取、预处理,输入模型进行预测和规则判断后进行分析,并将其记录到数据库中,得到流量的具体信息与时序分析信息。
其中,入侵检测系统检测网络攻击的具体过程为:
当主从数据包流经系统时,提取相关的属性,送到模型那里进行一一匹配;在流量检测过程中,该数据包要满足不符合异常数据集里面的任意一条规则,若满足任意一条,则根据情况判断为是异常行为还是风险行为,再根据正常规则集进行一一判断其是否异常行为;
若出现了新的规则也可以通过更新数据库的规则来增添新的数据或者删减规则,实现规则的可维护性和拓展性,主要利用类的反射机制,可结合数据库对类的属性和方法进行动态管理。
S5、选择需要分析的网络数据包进行分析,并提取特征,输入优化后的机器学习模型并进行预测,得到最终的流量分析结果。
本实施例应用上述技术方案,其客户端如图2所示:
模型选择模块:根据相应算法训练出来的模型,可以提供后续的流量分析模块使用,模块主要由朴素贝叶斯算法、K-means聚类算法、Rep Tree算法、LSTM算法,针对不同的数据集会进行不同的处理,算法之间也对数据集进行相应的调参。
数据包加载模块:选择上传数据包,支持pcap文件,从数据库里面加载数据包,方便用户使用已有数据进行分析。
数据展示模块:以图表形式呈现数据的可视化效果,显示了用于进行训练和分析的数据数量。
数据分析模块:以针对不同的算法和数据集进行各种统计分析和挖掘,包括但不限于聚类、分类等。同时,提供常见的特征工程方法,对输入的数据包文件进行特征提取、预处理,并输入模型进行预测和规则判断后进行分析。此外,该模块还能够提取具有风险的记录,并将其记录到数据库中。在分析过程中,程序重点关注Modbus协议和时序特征,以供后续模块进一步分析。
本实施例利用Wireshark记录实时流量或者分析记录着流量信息的pcap文件,以获取Modbus协议应用层报文中的数据包,通过对正常流量进行建模,对其统计特征进行分析和分类,得到一个基础行为模型。然后,通过实时监测网络流量,将流量数据输入到该基础行为模型中,得出当前网络流量与基础行为模型之间的差异,从而检测是否存在异常流量。最后,基于生成的正常规则集和异常规则集,威胁分析系统能够对新进入的流量进行判断与分析;同时通过更新数据库的规则来增添新的数据或者删减规则,实现规则的可维护性和拓展性,利用类的反射机制以结合数据库对类的属性和方法进行动态管理。在整个过程中,既有规则集模型的低计算优势,又有机器学习模型的高识别能力优势,通过合理组合可以构建出高效、低成本的入侵检测系统。本实施例能够避免异常流量检测过程的盲目性,减少流量检测冗余,提高异常流量检测的准确率率,为新型电力系统提供更强的网络安全保障。
如图3所示,本实施例中,步骤S3异常数据流量日志的具体步骤为:
A1、数据包流经系统时,提取相关的属性,送到模型那里进行一一匹配。
A2、将其记录到数据库中详细记录了流量的时间、IP对、端口对等信息,同时也特别关注工控协议中的功能码。
A3、更深入地分析各字段可能存在的风险。
如图4所示,本实施例中,步骤S4数据包时序分析的具体步骤为:
B1、使用数据集进行时序分析,通过绘制时序图来观察网络流量的变化情况,尤其是对于异常事件的识别和定位。
B2、针对数据集中记录的攻击流量,绘制高频次和强度不一的攻击特征图,以便更好地了解攻击的时间节点和攻击强度。
B3、根据攻击事件的时序特征,将子序列长度调整为适当的大小,并设置合理的放缩范围,以更清晰地显示攻击事件和它们的时序特征。
B4、进行潜在威胁分析,指导进一步加强网络安全防护措施。
本技术方案实质包括以下内容:
一、利用Wireshark获取Modbus协议应用层报文中的数据包;
二、基于正常流量生成的规则集,依靠正常流量生成的正常规则集和根据协议本身规则以及攻击类型产生的异常规则集,通过对规则集进行匹配来判断是否存在攻击行为;
规则集可以检测到绝大多数常见攻击,但是随着攻击技术的进步,规则集也需要不断更新,找出更有关的规则项去匹配相应的流量特征;
若出现了新的规则通过更新数据库的规则来增添新的数据或者删减规则,实现规则的可维护性和拓展性,利用类的反射机制,结合数据库对类的属性和方法进行动态管理,从而实现不断地迭代和优化;
三、利用模型对输入的流量进行分析判断,并利用朴素贝叶斯算法不断优化模型,具体内容有:
根据相应算法训练出来的模型对流量进行训练,得到数据分类,利用朴素贝叶斯算法进行模型评估,并且不断优化模型以提高其性能和泛化能力;
通过基于规则的方法,可以定义一系列规则来识别已知的攻击行为;而通过机器学习算法,则可以自动学习网络流量数据的特征和模式,以便于发现新型的攻击行为。
四、根据优化后有规则集的机器学习模型构建入侵检测系统,分析流量的时序特征,进而更全面地分析网络攻击,具体内容有:
利用多个特征图对网络流量进行全面分析,并从中发现和识别任何潜在威胁,提高网络安全性能;
同时在攻击检测模块中设置一些从站的响应规则和预定范围,综合使用以便更好地发现和识别任何潜在的攻击威胁,提高工控网络的安全性能,确保其平稳和可靠地运行。
将本技术方案应用于实际,捕获Modbus协议应用层报文中的数据包;将数据包流量进行特征提取与数据处理,并基于生成的正常和异常规则集来识别异常流量和攻击行为;通过模型对输入的流量进行分析判断,归类到具体的类别中,并利用朴素贝叶斯算法不断优化模型;根据优化后有规则集的机器学习模型构建入侵检测系统,分析流量的时序特征,进而更全面地分析网络攻击;选择网络数据包进行分析,输入模型并进行预测,得到最终的流量分析结果。既有规则集模型的低计算优势,又有机器学习模型的高识别能力优势;两种模型相互补充,通过合理组合可以构建出高效、低成本的入侵检测系统,为新型电力系统提供更强的网络安全保障。提早预警网络安全管理检测出网络存在的异常问题,具有执行效率高、网络流量分析全面的优点。
上述的对实施例的描述是为便于该技术领域的普通技术人员能理解和使用发明。熟悉本领域技术的人员显然可以容易地对这些实施例做出各种修改,并把在此说明的一般原理应用到其他实施例中而不必经过创造性的劳动。因此,本发明不限于上述实施例,本领域技术人员根据本发明的揭示,不脱离本发明范畴所做出的改进和修改都应该在本发明的保护范围之内。
Claims (10)
1.一种面向Modbus协议的工业控制网络异常流量检测方法,其特征在于,包括以下步骤:
S1、捕获Modbus协议应用层报文中的数据包;
S2、将捕获到的数据包流量进行特征提取与数据处理,并基于规则的流量特征来识别异常流量和攻击行为;
S3、构建正常流量行为模型,利用S2中基于规则的流量特征对流量检测分类并进行模型优化;
S4、根据优化后有规则集的机器学习模型构建入侵检测系统,分析流量的时序特征,进而更全面地分析网络攻击;
S5、选择网络数据包进行分析,输入模型并进行预测,得到最终的流量分析结果。
2.根据权利要求1所述的一种面向Modbus协议的工业控制网络异常流量检测方法,其特征在于,S1中,通过Wireshark记录实时流量或者分析记录着流量信息的pcap文件,以获取Modbus协议应用层报文中的数据包。
3.根据权利要求1所述的一种面向Modbus协议的工业控制网络异常流量检测方法,其特征在于,S2具体包括以下步骤:
S21、分析Modbus的通信逻辑并发现不合法的字段和恶意指令的Modbus数据包,同时针对Modbus/TCP网络流量,预先对权重高的特征要素进行标记,选取权重高的特征要素进行选择;
S22、采用标准化处理和主成分分析的数据处理方法降低特征维数,约简不必要的特征值;
S23、基于规则的流量特征,通过网络监控软件或设备,实时采集并处理网络流量数据,将其转化为可供规则匹配的格式将采集到的流量数据与事先定义好的规则进行匹配和检测,发现符合规则条件的流量并标记为异常或攻击行为。
4.根据权利要求3所述的一种面向Modbus协议的工业控制网络异常流量检测方法,其特征在于,S21具体包括以下步骤:
S211、通过设备IP流向与网络特征发现不合法的字段和恶意指令的Modbus数据包;
S212、将可能用于Modbus攻击的要素进行提取,结合常见攻击类型,选取与此相关的TCP标志位、端口信息、流量的时序特征。
5.根据权利要求3所述的一种面向Modbus协议的工业控制网络异常流量检测方法,其特征在于,S22具体包括以下步骤:
S221、采用标准化和归一化和Min-Max Scaling的预处理方法,将IP地址拆分为四个整数作为四个新的特征输入模型,并对端口号归一化处理;
S222、使用主成分分析,在数据预处理标准化后通过网格搜索选择主成分,将原始数据映射到新的空间,实现数据降维。
6.根据权利要求3所述的一种面向Modbus协议的工业控制网络异常流量检测方法,其特征在于,S23具体包括以下步骤:
S231、记录通信过程全部的数据包,了解设备之间的通信流向、协议中存在的安全风险和潜在的攻击路径,从而制定相应的安全规则:
S232、对网络数据包进行收集、分析,并按照设定基于生成的正常规则集和异常规则集对该网络数据包进行判定。
7.根据权利要求1所述的一种面向Modbus协议的工业控制网络异常流量检测方法,其特征在于,S3具体包括以下步骤:
S31、构建正常流量行为模型:收集网络流量数据,对数据进行预处理,包括数据清洗、特征提取,根据数据特征,构建正常流量行为模型的训练集,利用机器学习算法对训练集进行训练,得到正常流量行为模型;
S32、流量分类和模型优化:利用S31中得到的正常流量行为模型,对网络流量数据进行分类,使用朴素贝叶斯算法对分类结果进行模型评估,比较预测结果与实际类别的差异,根据评估结果,对模型进行优化,可以调整特征选择、数据预处理方法,以提高模型的性能和泛化能力。
8.根据权利要求7所述的一种面向Modbus协议的工业控制网络异常流量检测方法,其特征在于,S31具体包括以下步骤:
S311、获取目标网络流量数据,包括实时数据和历史数据;
S312、对于数据进行预处理,提取有价值的特征,如目标IP地址、端口号、数据包大小等,构建正常流量行为模型的训练集;
S313、利用朴素贝叶斯算法、K-means聚类算法、Rep Tree算法、LSTM算法中的一种对训练集进行训练,得到正常流量行为模型。
9.根据权利要求7所述的一种面向Modbus协议的工业控制网络异常流量检测方法,其特征在于,S32具体包括以下步骤:
S321、针对TCP握手包、PING等正常通信过程中不会高频出现的包进行统计,并将引用参考文献中的比例系数下调至0.2,计算出正常阈值,D=0.2×B,D代表正常阈值,B代表正常带宽,对捕获的流量数据进行处理和分析,统计出单位时间内的包数量,如果超过正常阈值D,则可能存在拒绝服务攻击,又能适应数据小、吞吐量限制的特点;
S322、使用十字交叉中的准确率作为评估标准,通过时序分析图,对模型的检测结果进行分析和评估,比较模型的预测结果与实际情况的一致性,以评估模型的准确率和性能,同时更新优化算法和规则集,以获得更好的模型性能。
10.根据权利要求1所述的一种面向Modbus协议的工业控制网络异常流量检测方法,其特征在于,S4中优化模型的具体过程为:获取当前的流量特征图,结合基于规则的方法和机器学习算法技术,来识别和分类不同类型的网络攻击,对输入的数据包文件进行特征提取、预处理,输入模型进行预测和规则判断后进行分析,并将其记录到数据库中,得到流量的具体信息与时序分析信息;
S4中,入侵检测系统检测网络攻击的具体过程为:
当主从数据包流经系统时,提取相关的属性,送到模型那里进行一一匹配;
在流量检测过程中,该数据包要满足不符合异常数据集里面的任意一条规则,若满足任意一条,则根据情况判断行为是异常行为还是风险行为,再根据正常规则集进行一一判断其是否异常行为;
若出现了新的规则也可以通过更新数据库的规则来增添新的数据或者删减规则,实现规则的可维护性和拓展性,主要利用类的反射机制,可结合数据库对类的属性和方法进行动态管理。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311448619.4A CN117411703A (zh) | 2023-11-02 | 2023-11-02 | 一种面向Modbus协议的工业控制网络异常流量检测方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311448619.4A CN117411703A (zh) | 2023-11-02 | 2023-11-02 | 一种面向Modbus协议的工业控制网络异常流量检测方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117411703A true CN117411703A (zh) | 2024-01-16 |
Family
ID=89488799
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311448619.4A Pending CN117411703A (zh) | 2023-11-02 | 2023-11-02 | 一种面向Modbus协议的工业控制网络异常流量检测方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117411703A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117633665A (zh) * | 2024-01-26 | 2024-03-01 | 深圳市互盟科技股份有限公司 | 一种网络数据监控方法及系统 |
CN117650949A (zh) * | 2024-01-30 | 2024-03-05 | 山东鲁商科技集团有限公司 | 一种基于rpa机器人数据分析的网络攻击拦截方法及系统 |
-
2023
- 2023-11-02 CN CN202311448619.4A patent/CN117411703A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117633665A (zh) * | 2024-01-26 | 2024-03-01 | 深圳市互盟科技股份有限公司 | 一种网络数据监控方法及系统 |
CN117650949A (zh) * | 2024-01-30 | 2024-03-05 | 山东鲁商科技集团有限公司 | 一种基于rpa机器人数据分析的网络攻击拦截方法及系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111277578B (zh) | 加密流量分析特征提取方法、系统、存储介质、安全设备 | |
Anton et al. | Anomaly-based intrusion detection in industrial data with SVM and random forests | |
CN110011999B (zh) | 基于深度学习的IPv6网络DDoS攻击检测系统及方法 | |
CN111885059B (zh) | 一种工业网络流量异常检测定位的方法 | |
CN117411703A (zh) | 一种面向Modbus协议的工业控制网络异常流量检测方法 | |
CN111191767B (zh) | 一种基于向量化的恶意流量攻击类型的判断方法 | |
CN112910859B (zh) | 基于c5.0决策树和时序分析的物联网设备监测预警方法 | |
CN114124482B (zh) | 基于lof和孤立森林的访问流量异常检测方法及设备 | |
CN114553983B (zh) | 一种基于深度学习高效工业控制协议解析方法 | |
CN111092862A (zh) | 一种用于对电网终端通信流量异常进行检测的方法及系统 | |
CN104468262A (zh) | 一种基于语义敏感的网络协议识别方法及系统 | |
CN115396204A (zh) | 一种基于序列预测的工控网络流量异常检测方法及装置 | |
CN112333211B (zh) | 一种基于机器学习的工控行为检测方法和系统 | |
Mohamed et al. | Exploiting incremental classifiers for the training of an adaptive intrusion detection model. | |
CN110851422A (zh) | 一种基于机器学习的数据异常监测模型构建方法 | |
Portela et al. | Evaluation of the performance of supervised and unsupervised Machine learning techniques for intrusion detection | |
CN115277113A (zh) | 一种基于集成学习的电网网络入侵事件检测识别方法 | |
CN110266680B (zh) | 一种基于双重相似性度量的工业通信异常检测方法 | |
Harbola et al. | Improved intrusion detection in DDoS applying feature selection using rank & score of attributes in KDD-99 data set | |
CN115795330A (zh) | 一种基于ai算法的医疗信息异常检测方法及系统 | |
CN111651760B (zh) | 一种设备安全状态综合分析的方法及计算机可读存储介质 | |
CN111211948B (zh) | 基于载荷特征和统计特征的Shodan流量识别方法 | |
CN115333915B (zh) | 一种面向异构主机的网络管控系统 | |
Wan et al. | DevTag: A benchmark for fingerprinting IoT devices | |
Yu et al. | Mining anomaly communication patterns for industrial control systems |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |