CN117336052A - 网络制造系统入侵检测方法、装置及电子设备 - Google Patents
网络制造系统入侵检测方法、装置及电子设备 Download PDFInfo
- Publication number
- CN117336052A CN117336052A CN202311280398.4A CN202311280398A CN117336052A CN 117336052 A CN117336052 A CN 117336052A CN 202311280398 A CN202311280398 A CN 202311280398A CN 117336052 A CN117336052 A CN 117336052A
- Authority
- CN
- China
- Prior art keywords
- numerical control
- intrusion detection
- state information
- processing
- control system
- 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
- 238000001514 detection method Methods 0.000 title claims abstract description 188
- 238000004519 manufacturing process Methods 0.000 title claims abstract description 78
- 238000012545 processing Methods 0.000 claims abstract description 189
- 238000003754 machining Methods 0.000 claims abstract description 84
- 238000000034 method Methods 0.000 claims abstract description 58
- 230000002159 abnormal effect Effects 0.000 claims abstract description 34
- 230000008569 process Effects 0.000 claims description 32
- 238000005516 engineering process Methods 0.000 claims description 21
- 238000004590 computer program Methods 0.000 claims description 14
- 238000003860 storage Methods 0.000 claims description 8
- 230000004044 response Effects 0.000 claims description 7
- 238000012795 verification Methods 0.000 claims description 5
- 238000002347 injection Methods 0.000 description 10
- 239000007924 injection Substances 0.000 description 10
- 238000004891 communication Methods 0.000 description 9
- 239000000243 solution Substances 0.000 description 9
- 238000010586 diagram Methods 0.000 description 6
- 238000002474 experimental method Methods 0.000 description 6
- 238000011161 development Methods 0.000 description 5
- 230000018109 developmental process Effects 0.000 description 5
- 230000000694 effects Effects 0.000 description 4
- 230000001133 acceleration Effects 0.000 description 3
- 238000004458 analytical method Methods 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 3
- 230000001186 cumulative effect Effects 0.000 description 3
- 230000033001 locomotion Effects 0.000 description 3
- 238000010801 machine learning Methods 0.000 description 3
- 238000007514 turning Methods 0.000 description 3
- 230000005856 abnormality Effects 0.000 description 2
- 239000002826 coolant Substances 0.000 description 2
- 239000000284 extract Substances 0.000 description 2
- 238000003801 milling Methods 0.000 description 2
- 238000012544 monitoring process Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000012360 testing method Methods 0.000 description 2
- 238000012549 training Methods 0.000 description 2
- 241000700605 Viruses Species 0.000 description 1
- 239000008186 active pharmaceutical agent Substances 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000005520 cutting process Methods 0.000 description 1
- 238000013480 data collection Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000005553 drilling Methods 0.000 description 1
- 239000012634 fragment Substances 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 238000007689 inspection Methods 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 239000002994 raw material Substances 0.000 description 1
- 238000012827 research and development Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 239000004575 stone Substances 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000033772 system development 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
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Numerical Control (AREA)
Abstract
本发明提供一种网络制造系统入侵检测方法、装置及电子设备,其中,方法包括:基于数控系统的数控加工代码,生成入侵检测规则;实时获取所述数控系统的加工状态信息,并基于所述入侵检测规则,验证所述加工状态信息是否存在异常。从而可以实时检测网络制造系统在多种加工场景下面临的多种网络攻击,并且无需收集历史加工数据和专家知识,简化了入侵检测的流程。
Description
技术领域
本发明涉及网络安全技术领域,尤其涉及一种网络制造系统入侵检测方法、装置及电子设备。
背景技术
目前数控系统研发很少有安全性考虑,同时加工代码通常使用明文传输,因此为攻击者提供了有效的攻击手段。加工过程中数控系统可能被注恶意控制指令,加工代码、加工参数可能会被篡改或替换,导致意外结果甚至发生安全事故。
目前最先进的检测方法在特定的加工场景和攻击场景中获得的很好的检测效果,但是都落脚于收集特定加工场景或者攻击场景的有标签的数据集,训练机器学习模型来分类异常。在实际生产加工过程中,数控机床通常会执行不同的加工代码加工不同的产品,加工场景变化多样。不同的加工场景中刀具路径差异明显,产品的原材料不同,加工刀具不同导致产生的音频,图像,电流电压等侧信道数据特征差异较大。现有的利用侧信道数据训练机器学习模型的入侵方法在不同的加工场景中需要收集新场景中的测信道数据重复训练检测模型,需要大量的时间成本和人力成本。然而攻击者一旦在数控系统中成功部署攻击脚本,就可以轻易影响新加工场景。因此目前数控系统急需一种通用性强,可以快速部署适用于多种加工场景的入侵检测方法来应对现有攻击手段。
发明内容
本发明提供一种网络制造系统入侵检测方法、装置及电子设备,用以解决现有技术中检测数控系统入侵的方法通用性能较弱的缺陷,实现在多种加工场景应对多种不同的攻击方式都可以有较好的检测效果。
本发明提供一种网络制造系统入侵检测方法,包括:
基于数控系统的数控加工代码,生成入侵检测规则;
实时获取所述数控系统的加工状态信息,并基于所述入侵检测规则,验证所述加工状态信息是否存在异常。
根据本发明提供的一种网络制造系统入侵检测方法,所述入侵检测规则包括关键参数规则和/或加工工艺规则;
所述基于数控系统的数控加工代码,生成入侵检测规则,包括:
从所述数控加工代码中获取与所述数控系统加工状态相关的关键参数以及所述关键参数的值域,生成关键参数规则;和/或,
从所述数控加工代码中提取加工工艺流程相关的信息,生成加工工艺规则。
根据本发明提供的一种网络制造系统入侵检测方法,基于所述入侵检测规则,验证所述加工状态信息是否存在异常,包括:
根据所述入侵检测规则生成状态信息与规则匹配表;
基于所述状态信息与规则匹配表,将所述加工状态信息匹配至对应的加工工艺规则;
基于所述加工状态信息对应的加工工艺规则和目标检测窗口尺寸,计算所述加工状态信息在检测窗口内的累计误差,在所述累计误差超过预设误差阈值的情况下,判断所述加工状态信息存在异常。
根据本发明提供的一种网络制造系统入侵检测方法,所述预设误差阈值根据以下方式确定:
确定目标检测窗口尺寸;
在所述目标检测窗口尺寸下,计算每个检测窗口的常规误差,将所述每个检测窗口的常规误差的最大值的累计值作为所述预设误差阈值。
根据本发明提供的一种网络制造系统入侵检测方法,所述实时获取所述数控系统的加工状态信息,具体包括:
向所述数控系统发送请求消息;
接收所述数控系统的响应消息,提取所述数控系统的加工状态信息。
根据本发明提供的一种网络制造系统入侵检测方法,所述方法还包括:
在所述加工状态信息存在异常的情况下,发出告警提示,和/或,定位所述数控加工代码中与所述加工状态信息相关的代码片段。
本发明还提供一种网络制造系统入侵检测装置,包括:
生成规则模块,用于基于数控系统的数控加工代码,生成入侵检测规则;
实时验证模块,用于实时获取所述数控系统的加工状态信息,并基于所述入侵检测规则,验证所述加工状态信息是否存在异常。
本发明还提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如上述任一种所述网络制造系统入侵检测方法。
本发明还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如上述任一种所述网络制造系统入侵检测方法。
本发明还提供一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实现如上述任一种所述网络制造系统入侵检测方法。
本发明提供的网络制造系统入侵检测方法、装置及电子设备,通过基于数控系统的数控加工代码,生成入侵检测规则,然后实时获取数控系统的加工状态信息,将加工状态信息与入侵检测规则的内容进行比较,来验证加工状态信息是否异常,从而可以实时检测网络制造系统在多种加工场景下面临的多种网络攻击,并且无需收集历史加工数据和专家知识,简化了入侵检测的流程。
附图说明
为了更清楚地说明本发明或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明提供的网络制造系统入侵检测方法的流程示意图;
图2为本发明提供的网络制造系统入侵检测方法的框架示意图;
图3为本发明提供的网络制造系统的工作流程图;
图4为本发明提供的网络制造系统入侵检测装置的结构示意图;
图5为本发明提供的电子设备的结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合本发明中的附图,对本发明中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
制造业是现代工业发展的重要基石。随着网络信息技术的不断发展,全球制造业快速向网络化智能化发展。现代网络制造系统由工程师站、分布式数控(DistributedNumerical Control,DNC)服务器、机器数据集合(Machine Data Collection,MDC)服务器通过网络和制造设备相连组成,数控机床、3D打印机是典型的制造设备。数控系统是制造系统中的核心,控制制造设备的加工过程。网络制造系统中数控系统通过传输控制协议(Transmission Control Protocol,TCP)/网际协议(Internet Protocol,IP)与互联网相连,提高了制造业信息化水平和生产效率。但是制造系统暴露在互联网中,为黑客提供了更多的攻击面,使网络制造系统(Cyber-Physical Manufacturing Systems,CPMS)面临更多的网络安全威胁。
由于目前数控系统研发很少有安全性考虑,同时加工代码通常使用明文传输,因此为攻击者提供了有效的攻击手段。加工代码中可能被注恶意控制指令,加工代码可能会被篡改或替换,导致意外结果甚至发生安全事故。例如有案例设计蠕虫病毒篡改NC代码,使生产的无人机螺旋桨关键部位存在肉眼难以察觉的裂缝,导致无人机在飞行过程中螺旋桨断裂发生坠机事故。目前最先进的检测方法在特定的加工场景和攻击场景中获得的很好的检测效果,但是都落脚于收集特定加工场景或者攻击场景的有标签的数据集,训练机器学习模型来分类异常,这个过程是非常昂贵和耗时的,难以快速应用到新场景中,通用性能较弱,难以应付真实的加工环境中的多种加工场景和不同的攻击方式。
为了解决目前检测方法通用性能不足的问题,本发明提出一种网络制造系统入侵检测方法。
图1为本发明提供的网络制造系统入侵检测方法的流程示意图,如图1所示,该方法包括以下步骤:
步骤100、基于数控系统的数控加工代码,生成入侵检测规则。
步骤101、实时获取数控系统的加工状态信息,并基于入侵检测规则,验证加工状态信息是否存在异常。
具体地,数控系统的数控加工代码中包含了全面完整的加工工艺信息,例如主轴转速、进给速度和加工路径等信息。数控系统可以将数控加工代码中的加工代码解析为可执行的指令,控制数控机床各部件完成加工操作。因此,通过分析数控系统的数控加工代码,可以生成入侵检测规则,入侵检测规则中包含数控系统处于正常加工状态的相关信息。
然后,可以实时获取数控系统的加工状态信息,可以通过数控系统厂家提供的应用程序编程接口(Application Programming Interface,API)与数控系统建立连接,读取数控系统的运行状态信息,从而在不影响数控系统正常工作的情况下采集数控系统的实际加工状态信息。
获取数控系统的加工状态信息后,就可以根据入侵检测规则,验证加工状态信息是否存在异常。入侵检测规则中包含数控系统处于正常加工状态的相关信息,因此,可以通过比对实时获取的数控系统的加工状态信息和入侵检测规则中的数控系统处于正常加工状态的相关信息,从而确定加工状态信息是否存在异常。
本发明提供的网络制造系统入侵检测方法,通过基于数控系统的数控加工代码,生成入侵检测规则,然后实时获取数控系统的加工状态信息,将加工状态信息与入侵检测规则的内容进行比较,来验证加工状态信息是否异常,从而可以实时检测网络制造系统在多种加工场景下面临的多种网络攻击,并且无需收集历史加工数据和专家知识,简化了入侵检测的流程。
根据本发明提供的一种网络制造系统入侵检测方法,入侵检测规则包括关键参数规则和/或加工工艺规则;
基于数控系统的数控加工代码,生成入侵检测规则,包括:
从数控加工代码中获取与数控系统加工状态相关的关键参数以及关键参数的值域,生成关键参数规则;和/或,
从数控加工代码中提取加工工艺流程相关的信息,生成加工工艺规则。
具体地,入侵检测规则可以包括关键参数规则;或者,入侵检测规则可以包括加工工艺规则;或者,入侵检测规则可以包括关键参数规则和加工工艺规则。
对于关键参数规则,数控系统中存在大量可以影响实际生产过程和配置数控系统输入输出功能的关键参数。数控系统发送可执行指令控制硬件正常工作的过程需要根据这些特定的参数调整实际加工操作,比如数控系统会根据刀具半径补偿和长度补偿参数调整刀具在实际加工过程中的落点位置和移动轨迹,或根据加减速相关的参数控制进给加速度,这些参数直接影响机床的加工精度和运行的稳定性。
对于这些关键参数,其通常有特定的取值或者取值范围,例如特定的刀具半径补偿和长度补偿参数为某个固定值,快速进给加减速控制参数一般在140-160ms之间。
因此,本发明所提供的方法,可以从数控加工代码中获取与数控系统加工状态相关的关键参数以及关键参数的值域,生成关键参数规则。
对于加工工艺规则,数控系统通过数控加工代码中的加工工艺流程控制加工过程。常见的加工工艺有钻孔、铣削、雕刻、车削和切割等。数控系统中主轴和多个伺服轴互相配合,控制刀具、工件移动和旋转,完成自动化生产加工。
因此,本发明所提供的方法可以解析数控加工代码,提取加工工艺流程相关的信息,例如各步骤的刀具运动轨迹、进给速度和主轴转速等不变关系,来生成加工工艺规则。
例如,以车削加工为例,使用数控加工代码生成入侵检测规则。通常,数控加工代码会先指定加工过程中主轴转速、进给速度和刀具号,然后使用G代码指定刀具的移动轨迹,如常见的直线加工,圆弧加工等。可以对数控加工代码进行词法、语法和语义分析,生成关键参数规则,关键参数规则包含0303号刀具的长度补偿和半径补偿值;而加工工艺规则是关于工艺流程方面的规则,例如,一条加工工艺规则表示在主轴转速S=2000、进给速率F=0.2的条件下使用0303号刀具沿曲线(x-16)2+z2=162运动,起始点为(35,-20),终止点为(67,-36)。
根据本发明提供的一种网络制造系统入侵检测方法,基于入侵检测规则,验证加工状态信息是否存在异常,包括:
根据入侵检测规则生成状态信息与规则匹配表;
基于状态信息与规则匹配表,将加工状态信息匹配至对应的加工工艺规则;
基于加工状态信息对应的加工工艺规则和目标检测窗口尺寸,计算加工状态信息在检测窗口内的累计误差,在累计误差超过预设误差阈值的情况下,判断加工状态信息存在异常。
具体地,在验证加工状态信息的过程中,由于同一数控加工代码通常可以生成多条加工工艺规则,因此,在进行验证之前,可以先根据入侵检测规则生成状态信息与规则匹配表,从而根据不同的加工状态信息可以对应至不同的加工工艺规则。
检测窗口尺寸为一次检测所需采集的数控系统实时加工状态数量,可以根据不同的检测窗口尺寸来检测加工状态信息相对于加工工艺规则的误差。在根据对应的加工工艺规则对加工状态信息进行验证时,可以基于目标检测窗口尺寸,检测加工状态信息相对于加工工艺规则的误差,将各个检测窗口所检测到的误差累计起来,如果累计误差超过预设的误差阈值,则可以判断该加工状态信息存在异常。
例如,刀具加工路径按照曲线方程作运动,可以将刀具的加工状态信息中各个位置坐标代入该曲线方程,如果满足曲线方程,且在该加工路径的起始点和终止点之间,则表示加工正常;如果不满足曲线方程,刀具与曲线的距离大于误差阈值,表示加工异常。
根据本发明提供的一种网络制造系统入侵检测方法,预设误差阈值根据以下方式确定:
确定目标检测窗口尺寸;
在目标检测窗口尺寸下,计算每个检测窗口的常规误差,将每个检测窗口的常规误差的最大值的累计值作为预设误差阈值。
具体地,不同的检测窗口尺寸(大小)会导致检测的情况不同,实验证明,如果检测窗口越大,则漏报率越大;而如果检测窗口太小,则误报率会增加。因此,可以选取一个比较合适的检测窗口尺寸作为目标检测窗口尺寸,使得漏报率和误报率均保持在较低的水平。
由于实际生产作业过程中也存在误差,可以在目标检测窗口尺寸下,计算每个检测窗口未被攻击时的加工状态信息的误差,即常规误差,多次检测,确定各个检测窗口的常规误差的最大值,然后将哥哥二检测窗口的常规误差的最大值的累计值作为预设误差阈值。
通过这种方式设置预设误差阈值,可以使判断加工状态信息的结果更加精准。
根据本发明提供的一种网络制造系统入侵检测方法,实时获取数控系统的加工状态信息,具体包括:
向数控系统发送请求消息;
接收数控系统的响应消息,提取数控系统的加工状态信息。
具体地,在实时获取数控系统的加工状态信息的过程中,需要与数控系统建立连接。建立连接后,可以根据数控系统通信协议格式构造请求消息,向数控系统发送请求消息,以请求数控系统的加工状态信息;数控系统接收到请求消息后,发送包含数控系统的加工状态信息的响应消息。
可以在接收数控系统的响应消息后解析协议来提取数控系统的加工状态信息。
根据本发明提供的一种网络制造系统入侵检测方法,该方法还包括:
在加工状态信息存在异常的情况下,发出告警提示,和/或,定位数控加工代码中与加工状态信息相关的代码片段。
具体地,加工状态信息存在异常,说明数控系统可能受到网络攻击,例如代码篡改攻击。
因此,在加工状态信息存在异常的情况下,可以发出告警提示,警告数控系统可能已经受到网络攻击;或者,加工状态信息是受数控加工代码控制的,因此在加工状态信息存在异常的情况下,可以定位数控加工代码中与加工状态信息相关的代码片段;或者,在加工状态信息存在异常的情况下,可以发出告警提示,并且定位数控加工代码中与加工状态信息相关的代码片段。
以下通过具体应用场景中的实施例对本发明提供的网络制造系统入侵检测方法作进一步的阐述。
图2为本发明提供的网络制造系统入侵检测方法的框架示意图,如图2所示,该方法包括三个阶段:检测规则生成阶段,加工状态采集阶段和主动检测阶段。
其中,在检测规则生成模块中使用静态分析的方法解析加工代码提取检测规则。加工代码中包含完整的加工工艺,其中包含了关键加工参数和加工工艺规则。关键参数规则用于检测和验证数控系统中的重要参数,确保其正确性和稳定性,防止恶意篡改导致加工精度下降或机床故障。加工工艺规则通过解析加工代码中的加工工艺的不变特征,建立基准规则,以便检测恶意攻击,如篡改加工轨迹或程序替换。从加工代码中提取的检测规则完整的描述了加工过程,可以有效加工过程中非预期的异常情况,提供对异常情况和网络攻击的主动检测能力。
加工状态采集模块主要负责采集数控系统实时加工状态。通常数控系统生产商通常提供监控数控系统工作状态的采集软件或开发套件,可用于二次开发,通过与数控系统主动通信,获取数控(Numerical Control,NC)程序、刀具位置、主轴转速等重要信息,实现实时远程监控。
主动检测模块主要检测加工工艺异常,输出告警,处理低干扰状态采集模块中采集的实时加工状态信息,验证数控系统加工状态是否符合关键参数规则和加工工艺规则白名单。这种方式能够防止代码篡改、关键参数篡改和恶意指令攻击。主动检测阶段需要通过动态时间规整(Dynamic Time Warping,DTW)算法选择检测规则,还需要确定两个关键的检测参数,包括误差阈值和检测窗口大小。首先依据状态采集频率确定多种检测窗口大小进行试验,最终确定最佳检测窗口大小。然后,在特定窗口大小下,计算每个检测窗口的累积常规误差,并使用最大观测误差来设置错误阈值。
图3为本发明提供的网络制造系统的工作流程图,通常情况下,工程师站是装有CAD和CAM等设计软件和状态采集软件的办公电脑。工程师在工程师站使用工程设计软件生成用于加工的NC代码,然后将NC代码上传到DNC服务器中,DNC服务器将NC代码分发给对应的制造设备,由数控系统解析NC代码自动控制完成加工。MDC服务器与制造设备进行交互,采集制造设备的各项状态,包括位置、速度和温度等信息,并将加工状态返回给工程师站的监控程序以供工程师监控加工过程。此外工程师也可以发送控制命令来对加工过程实时相应的操作。
本实施例中,首先从真实加工场景收集了61个适用于FANUC数控系统的NC代码。这些代码涉及车加工和铣加工,包含直线加工,圆弧加工,换刀操作和控制冷却液等8328条指令。通过分析这些NC程序中的加工指令本实施例提取了攻击检测规则。
具体来说,实验首先分析FANUC数控系统用户手册和接口手册建立了G指令、M指令与系统参数地址映射表,根据NC代码中G指令和M指令的语义信息选择与加工有关的重要参数,生成关键参数规则。其次,解析控制加工轨迹的G指令,根据其语义信息,抽象加工轨迹的曲线方程,结合加工的起始点和终止点,主轴转速,进给速率,刀具号等信息生成加工工艺规则。实验通过分析收集到的所有NC代码,记录生成的所有的关键参数规则和加工工艺规则,针对61个NC代码,确定了与加工相关的关键参数,生成了6056条加工工艺规则。本实施例挑选了有代表性的10个NC代码和所有关键参数规则和加工工艺规则,手工验证了解析程序自动生成检测规则的准确性,结果表明在有限个NC程序样本中检测规则准确性为100%。
本实施例设计并实现了如下三种攻击场景:
(1)加工工艺注入:攻击者篡改、替换数控系统的加工代码,即NC代码。通过修改关键代码段,如修改加工路径、主轴转速、篡改辅控代码等方法,达到干扰和破坏数控加工过程的攻击效果。
(2)参数注入:攻击者篡改计算机数字控制机床(Computer Numerical Control,CNC)系统参数。数控系统中存在大量影响加工过程的重要参数,例如,主轴倍率值、快速进给倍率值、屏蔽报警等,因此攻击者如果可以篡改关键参数会对数控系统造成严重破坏,影响加工精度,损坏数控机床。
(3)指令注入:攻击者向数控系统发送恶意控制指令,干扰正常的加工过程。
第一种攻击方法是加工代码注入攻击,即向NC代码中注入恶意的加工指令和加工路径。第二种攻击方法是远程参数注入攻击,通过向FANUC CNC发送请求包,根据Focas协议反转结果篡改关键CNC参数。第三种攻击方法是恶意命令注入攻击,其涉及通过基于Focas协议反转结果和CNC的接口手册向FANUC CNC发送请求分组来篡改可编程机器控制器(Programmable Machine Controller,PMC)的指定端口,这允许注入恶意命令,例如远程启动/停止和开/关冷却剂。
针对本实施例方法进行实验以评估不同检测窗口在攻击检测中的性能,结果如表1所示。本实施例设置了不同的窗口大小进行测试:10、50、100、200、500。根据机床的常规误差为不同的窗口大小设置检测阈值。实验表明,检测窗口越大则漏报率越大,检测窗口太小会导致误报率增加。总体来看,主动检测引擎成功检测出了加工代码注入攻击、关键参数注入攻击和恶意命令注入攻击。这些攻击干扰了正常的加工过程,导致加工轨迹和加工状态的变化,这些变化可以直接反映在加工过程和数控系统的关键参数上。主动检测引擎主动与FANUC CNC通信,以映射其实际加工状态和关键参数。这种主动检测方法使得攻击难以隐藏,因为它需要攻击者洞察真实的加工过程并操纵CNC固件、篡改网络通信模块或采用其他复杂的方法来反馈符合加工过程规则和关键参数规则的网络数据。
表1不同检测窗口的入侵检测结果分析
窗口大小/检测阈值 | 10/0.1 | 50/0.5 | 100/1 | 200/2 | 500/5 |
判别准确率 | 99.15% | 98.81% | 98.68% | 96.88% | 94.87% |
误报率 | 2.89% | 1.09% | 0.75% | 2.61% | 4.44% |
漏报率 | 1.83% | 2.42% | 6.17% | 7.15% | 6.25% |
时延(ms) | 1.25 | 1.45 | 1.71 | 2.32 | 3.75 |
本实施例所提入侵检测方法对数控系统加工时间的影响很小,本实施例在主动检测过程中设置了不同的请求频率来观察加工时间的变化。为了避免工业交换机的转发延迟,本实施例直接用网线连接数控系统,每秒钟向数控系统发送1、10、100、230个Focas标准接口请求报文。在没有任何外部干扰的情况下,数控系统的加工时间稳定在1min17.545s左右。当数控系统受到不同程度的外部干扰时,本实施例发现其加工时间受到很小的影响。本实施例测试了每秒230个包请求的情况,数控系统加工时间提高了0.076%,发现没有丢包现象。这意味着Fanuc CNC系统具有每秒处理至少230个数据包的能力,而不影响其正常运行。但是在使用Focas标准接口请求报文以最大每秒75次的频率请求时,数控系统加工时间提高了0.217%,影响明显大于本实施例的低干扰采集方式,而且FANUC系统每秒最多可处理75次请求包。实验表明本实施例的检测方案对数控系统加工时间几乎没有影响。
下面对本发明提供的网络制造系统入侵检测装置进行描述,下文描述的网络制造系统入侵检测装置与上文描述的网络制造系统入侵检测方法可相互对应参照。
图4为本发明提供的网络制造系统入侵检测装置的结构示意图,如图4所示,该装置包括:
生成规则模块400,用于基于数控系统的数控加工代码,生成入侵检测规则;
实时验证模块410,用于实时获取数控系统的加工状态信息,并基于入侵检测规则,验证加工状态信息是否存在异常。
根据本发明提供的一种网络制造系统入侵检测装置,入侵检测规则包括关键参数规则和/或加工工艺规则;
基于数控系统的数控加工代码,生成入侵检测规则,包括:
从数控加工代码中获取与数控系统加工状态相关的关键参数以及关键参数的值域,生成关键参数规则;和/或,
从数控加工代码中提取加工工艺流程相关的信息,生成加工工艺规则。
根据本发明提供的一种网络制造系统入侵检测装置,基于入侵检测规则,验证加工状态信息是否存在异常,包括:
根据入侵检测规则生成状态信息与规则匹配表;
基于状态信息与规则匹配表,将加工状态信息匹配至对应的加工工艺规则;
基于加工状态信息对应的加工工艺规则和目标检测窗口尺寸,计算加工状态信息在检测窗口内的累计误差,在累计误差超过预设误差阈值的情况下,判断加工状态信息存在异常。
根据本发明提供的一种网络制造系统入侵检测装置,预设误差阈值根据以下方式确定:
确定目标检测窗口尺寸;
在目标检测窗口尺寸下,计算每个检测窗口的常规误差,将每个检测窗口的常规误差的最大值的累计值作为预设误差阈值。
根据本发明提供的一种网络制造系统入侵检测装置,实时获取数控系统的加工状态信息,具体包括:
向数控系统发送请求消息;
接收数控系统的响应消息,提取数控系统的加工状态信息。
根据本发明提供的一种网络制造系统入侵检测装置,该装置还包括:
告警定位模块,用于在加工状态信息存在异常的情况下,发出告警提示,和/或,定位数控加工代码中与加工状态信息相关的代码片段。
图5为本发明提供的电子设备的结构示意图,如图5所示,该电子设备可以包括:处理器(processor)510、通信接口(Communications Interface)520、存储器(memory)530和通信总线540,其中,处理器510,通信接口520,存储器530通过通信总线540完成相互间的通信。处理器510可以调用存储器530中的逻辑指令,以执行网络制造系统入侵检测方法,该方法包括:
基于数控系统的数控加工代码,生成入侵检测规则;
实时获取数控系统的加工状态信息,并基于入侵检测规则,验证加工状态信息是否存在异常。
此外,上述的存储器530中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
另一方面,本发明还提供一种计算机程序产品,所述计算机程序产品包括计算机程序,计算机程序可存储在非暂态计算机可读存储介质上,所述计算机程序被处理器执行时,计算机能够执行上述各方法所提供的网络制造系统入侵检测方法,该方法包括:
基于数控系统的数控加工代码,生成入侵检测规则;
实时获取数控系统的加工状态信息,并基于入侵检测规则,验证加工状态信息是否存在异常。
又一方面,本发明还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现以执行上述各方法提供的网络制造系统入侵检测方法,该方法包括:
基于数控系统的数控加工代码,生成入侵检测规则;
实时获取数控系统的加工状态信息,并基于入侵检测规则,验证加工状态信息是否存在异常。
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (10)
1.一种网络制造系统入侵检测方法,其特征在于,包括:
基于数控系统的数控加工代码,生成入侵检测规则;
实时获取所述数控系统的加工状态信息,并基于所述入侵检测规则,验证所述加工状态信息是否存在异常。
2.根据权利要求1所述的网络制造系统入侵检测方法,其特征在于,所述入侵检测规则包括关键参数规则和/或加工工艺规则;
所述基于数控系统的数控加工代码,生成入侵检测规则,包括:
从所述数控加工代码中获取与所述数控系统加工状态相关的关键参数以及所述关键参数的值域,生成关键参数规则;和/或,
从所述数控加工代码中提取加工工艺流程相关的信息,生成加工工艺规则。
3.根据权利要求2所述的网络制造系统入侵检测方法,其特征在于,基于所述入侵检测规则,验证所述加工状态信息是否存在异常,包括:
根据所述入侵检测规则生成状态信息与规则匹配表;
基于所述状态信息与规则匹配表,将所述加工状态信息匹配至对应的加工工艺规则;
基于所述加工状态信息对应的加工工艺规则和目标检测窗口尺寸,计算所述加工状态信息在检测窗口内的累计误差,在所述累计误差超过预设误差阈值的情况下,判断所述加工状态信息存在异常。
4.根据权利要求3所述的网络制造系统入侵检测方法,其特征在于,所述预设误差阈值根据以下方式确定:
确定目标检测窗口尺寸;
在所述目标检测窗口尺寸下,计算每个检测窗口的常规误差,将所述每个检测窗口的常规误差的最大值的累计值作为所述预设误差阈值。
5.根据权利要求1所述的网络制造系统入侵检测方法,其特征在于,所述实时获取所述数控系统的加工状态信息,具体包括:
向所述数控系统发送请求消息;
接收所述数控系统的响应消息,提取所述数控系统的加工状态信息。
6.根据权利要求1至5任一所述的网络制造系统入侵检测方法,其特征在于,所述方法还包括:
在所述加工状态信息存在异常的情况下,发出告警提示,和/或,定位所述数控加工代码中与所述加工状态信息相关的代码片段。
7.一种网络制造系统入侵检测装置,其特征在于,包括:
生成规则模块,用于基于数控系统的数控加工代码,生成入侵检测规则;
实时验证模块,用于实时获取所述数控系统的加工状态信息,并基于所述入侵检测规则,验证所述加工状态信息是否存在异常。
8.一种电子设备,包括存储器、处理器及存储在所述存储器上并在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1至6任一项所述网络制造系统入侵检测方法。
9.一种非暂态计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至6任一项所述网络制造系统入侵检测方法。
10.一种计算机程序产品,包括计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至6任一项所述网络制造系统入侵检测方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311280398.4A CN117336052A (zh) | 2023-09-28 | 2023-09-28 | 网络制造系统入侵检测方法、装置及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311280398.4A CN117336052A (zh) | 2023-09-28 | 2023-09-28 | 网络制造系统入侵检测方法、装置及电子设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117336052A true CN117336052A (zh) | 2024-01-02 |
Family
ID=89294803
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311280398.4A Pending CN117336052A (zh) | 2023-09-28 | 2023-09-28 | 网络制造系统入侵检测方法、装置及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117336052A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117749529A (zh) * | 2024-02-19 | 2024-03-22 | 中汽智联技术有限公司 | 一种查找全量攻击路径的方法 |
-
2023
- 2023-09-28 CN CN202311280398.4A patent/CN117336052A/zh active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117749529A (zh) * | 2024-02-19 | 2024-03-22 | 中汽智联技术有限公司 | 一种查找全量攻击路径的方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108227634B (zh) | 机器学习装置、cnc装置以及机器学习方法 | |
CN117336052A (zh) | 网络制造系统入侵检测方法、装置及电子设备 | |
EP2908195B1 (de) | Verfahren zur Überwachung der Sicherheit in einem Automatisierungsnetzwerk sowie Automatisierungsnetzwerk | |
US11537100B2 (en) | Machining error correction system and method based on key dimensional associations | |
US10469527B2 (en) | System and method of protection of technological systems from cyber attacks | |
US20200209830A1 (en) | Machining apparatus error correction system and method | |
US11556107B2 (en) | Machining apparatus error correction system and method using safe, correction and alarm intervals | |
US11683336B2 (en) | System and method for using weighting factor values of inventory rules to efficiently identify devices of a computer network | |
US11356468B2 (en) | System and method for using inventory rules to identify devices of a computer network | |
CN112866262A (zh) | 一种基于神经网络的电厂安全i区态势感知平台 | |
Jiang et al. | Reducing failure rates of robotic systems though inferred invariants monitoring | |
CN110365717A (zh) | 基于hart-ip协议的工业入侵监测方法和系统 | |
CN111339785B (zh) | 一种基于业务建模的语义级安全审计方法 | |
RU2750629C2 (ru) | Система и способ выявления аномалий в технологической системе | |
CN110320866B (zh) | 机床主轴转速的控制方法及装置 | |
US20230131910A1 (en) | Method and Apparatus for Controlling Mobile Storage Device, and Computer-Readable Medium | |
EP4135281A1 (en) | Industrial control system safety analysis method and apparatus, and computer-readable medium | |
US11194307B2 (en) | Controller and control system for execution of a callback operation for an industrial machine | |
KR101959241B1 (ko) | 지능형 cnc 공작기계 오류 제어 장치 및 방법 | |
US11595409B2 (en) | Method for monitoring an industrial network | |
CN113285824A (zh) | 一种监控网络配置命令安全性的方法及装置 | |
US11829122B2 (en) | Industrial network behavior analysis method, apparatus and system, and computer-readable medium | |
WO2023206521A1 (en) | Method, apparatus and device for hardening assets in ot system and storage medium and computer program product | |
CN116541191A (zh) | 技术装置操作过程中的操作事件的分析方法 | |
CN117648689B (zh) | 基于人工智能的工控主机安全事件自动响应方法 |
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 |