CN108600193B - 一种基于机器学习的工控蜜罐识别方法 - Google Patents
一种基于机器学习的工控蜜罐识别方法 Download PDFInfo
- Publication number
- CN108600193B CN108600193B CN201810289831.3A CN201810289831A CN108600193B CN 108600193 B CN108600193 B CN 108600193B CN 201810289831 A CN201810289831 A CN 201810289831A CN 108600193 B CN108600193 B CN 108600193B
- Authority
- CN
- China
- Prior art keywords
- industrial control
- honeypot
- plc
- probability
- identification
- 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
Links
Images
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
-
- 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/20—Network architectures or network communication protocols for network security for managing network security; network security policies in general
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)
- Data Exchanges In Wide-Area Networks (AREA)
- Programmable Controllers (AREA)
Abstract
本发明公开了一种基于机器学习的工控蜜罐识别方法,包括以下步骤:步骤1、IP地址基础位置信息识别,步骤2、TCP/IP操作***指纹识别,步骤3、工控协议深度交互识别,步骤4、组态程序调试运行识别,步骤5、工控***蜜罐甄别概率。本发明所述方法的优越效果是能够准确识别低交互工控蜜罐如Conpot,也能够准确识别中等交互工控蜜罐如Snap7、CryPLH2[3],还能够识别高交互工控蜜罐如XPOT[4]。针对未知类型的工控蜜罐也能够有效的识别。
Description
技术领域
本发明涉及一种基于机器学习的工控蜜罐识别方法,属于工控蜜罐识别技术领域。
背景技术
目前,随着工控网与互联网的连接也逐渐暴露了工业控制网的安全隐患。传统的工控网络采用物理隔离的方式来保护其安全性,一旦接入互联网,将面临无法避免的安全威胁,而且工控网由于其大多控制着与人民息息相关的工业、交通、电力、能源的基础设施,与现实世界的联系更加紧密,因此***的失效有可能会带来灾难性的后果。
目前已经有越来越多的RTU(Remote Terminal Unit,远程终端单元)、PLC(Programmable Logic Controller,可编程逻辑控制器)、DCS(Distributed ControlSystem,集散控制***)、SCADA(Supervisory Control And Data Acquisition,数据采集监控***)的***连接入网。通过主动扫描探测特定IP地址空间,发现暴露的工业控制***、关键信息基础设施以及物联网设备,并分析其安全隐患,能够为进一步的工业物联网安全态势和安全事件分析提供技术支撑。
在进行网络空间探测的过程中,经常会碰到工控蜜罐***。蜜罐***是一种设置入侵警报和研究对计算机***攻击的常用工具,将蜜罐技术应用到工控领域所产生的工控蜜罐***,对于研究对工控***的攻击和探测行为具有重要意义。工控蜜罐***能够收集分析扫描探测引擎的指纹,锁定扫描探测引擎的源IP地址,然后进行封堵。为了发现工控蜜罐,提高扫描探测引擎对抗工控蜜罐的能力,急需一种智能蜜罐识别技术。
现有技术方案的缺点:
1)技术的研究对象是传统信息安全领域的蜜罐***,未涉及工控蜜罐领域。
2)蜜罐的个性指纹不通用,且随着蜜罐***的升级换代去除个性指纹。
3)基于TCP/IP协议栈的识别技术针对通过端口映射出的工控蜜罐和高交互工控蜜罐则失效。
4)基于网络特征的识别技术需要长时间的扫描探测收集网络特征,效率低。
5)传统的蜜罐识别技术并不适用于高交互工控蜜罐的识别。
发明内容
本发明的目的在于提供一种能够克服上述技术问题的基于机器学习的工控蜜罐识别方法。
本发明所述方法包括以下步骤:
步骤1、IP地址基础位置信息识别:
通过查询IP地址对应的ISP(Internet Service Provider,互联网服务提供商)和Organization(组织机构)信息,来判断所述IP是否属于云服务器提供商的IP地址。当所述IP属于云服务器,并且开放了PLC的工控协议服务,则所述IP为工控蜜罐的概率大于90%,用P1表示通过IP地址基础位置信息识别判定所述IP为工控蜜罐的概率,0.9<P1<=1;用W1表示通过IP地址基础位置信息识别判定所述IP为工控蜜罐的权重。
针对IP地址对应的ISP和Organization的信息查询,能够选择如下的IP定位库,如:百度地图、Google、Rtbasia、ipplus360、GeoIp2、IP2Region的IP地址信息库,通过获取的信息来综合判定IP地址是否属于云服务器提供商。
步骤2、TCP/IP操作***指纹识别:
通过TCP/IP操作***指纹识别,获取目标IP的TCP/IP协议栈指纹,当目标IP的操作***被识别为Linux的非嵌入式操作***,则所述目标IP为工控蜜罐的概率大于70%,用P2表示通过TCP/IP操作***指纹识别判定所述目标IP为工控蜜罐的概率,0.7<P2<=1;用W2表示通过TCP/IP操作***指纹识别判定所述目标IP为工控蜜罐的权重。
在TCP/IP操作***指纹识别过程中能够调用Nmap和Xprobe2的扫描工具;Nmap是一种开源的工业级扫描工具,Xprobe2是一种操作***扫描工具。Nmap通过向目标IP发送多个UDP(User Datagram Protocol,用户数据报协议)与TCP(Transmission ControlProtocol,传输控制协议)数据包并分析其响应来进行TCP/IP操作***指纹识别工作。Xprobe2通过向所述目标IP发送ICMP(Internet Control Message Protocol,Internet控制报文协议)数据包并分析其响应来进行TCP/IP操作***指纹识别工作。
步骤3、工控协议深度交互识别:
通过工控协议深度交互,模拟PLC编程软件与被扫描IP交互,读取完整的配置和状态。当被扫描IP返回的信息与真实的PLC返回的信息有差异,则被扫描IP为低交互工控蜜罐的概率大于80%,用P3表示通过工控协议深度交互识别判定被扫描IP为蜜罐的概率,0.8<P3<=1;用W3表示通过工控协议深度交互识别判定被扫描IP为蜜罐的权重。
样例1、以施耐德PLC为例:
通过modbus协议深度交互,模拟Unity Pro XL软件与被扫描IP交互。由于UnityPro XL软件使用modbus 90功能码进行通信,协议内容无加密、无认证,能够仿真交互。通过modbus 90功能码进行身份识别与握手请求,读取CPU模块、内存卡和工程项目信息;通过modbus 43功能码读取设备型号、固件版本号的信息;通过modbus协议进行工控蜜罐识别时发送的TCP报文的内容,参考表1,表1中描述了工控蜜罐探测时的部分modbus报文组合,及每种modbus功能码对应的详细报文功能和内容。当被扫描IP返回的信息与真实的PLC返回的信息有差异,则所述被扫描IP为工控蜜罐的概率大于80%。
表1、工控蜜罐部分modbus探测报文组合
样例2、以西门子PLC为例:
通过S7协议深度交互,模拟STEP7或TIA Portal软件与被扫描IP交互,由于STEP7或TIA Portal软件均使用S7协议进行通信,协议内容无加密、无认证,能够仿真交互,针对S7协议扫描时,先进行TPKP和COTP连接,暴力破解COTP报文中的Source TSAP和Destination TSAP字段并通过Source TSAP和Destination TSAP字段的不同的值,建立起S7协议的交互会话。通过S7协议的功能函数读取***状态列表SSL(System State List)的条目,一个西门子PLC有1000个SSL条目,通过查询SSL条目,当返回信息与真实PLC的有差异,则所述被扫描IP为工控蜜罐的概率大于80%;另外,还能够通过S7协议的功能函数对西门子PLC的区块进行枚举,当返回信息与真实PLC的有差异,则所述被扫描IP为工控蜜罐的概率大于80%;通过S7协议进行工控蜜罐识别时发送的TCP报文的内容,参考表2,表2中描述了工控蜜罐探测时的部分S7报文组合及每种S7功能函数对应的详细报文功能和内容。在西门子S7系列PLC中,用户在通过STEP7以及TIA Portal软件定义的PLC功能,在PLC内部是以不同的区块存在,已知的区块有如下几种:
组织块(OB)(主程序块,负责所有FC程序块的调用);
数据块(DB)(用于存放用户和***定义的变量数据);
程序块(FC)(由用户编写的程序块);
功能块(FB)(由用户编写的专用数据块);
***程序块(SFC)(调用***某些功能时自动创建);
***功能块(SFB)(调用***某些数据功能时自动创建);
***数据块(SDB)(由编程软件自动生成存放PLC的硬件组态的信息,用户无法直接打开和更改)。
以SDB 2000块为例,当所述PLC内有PROFIBUS slaves则SDB 2000块就会存在,同样在枚举SDB块的LIST时也会发现存在所述块,那么就能获取到SDB 2000的Block info。这种枚举的方式能够在黑盒以及无法解密SDB块的MC7二进制数据的情况下有效判断PLC内是否存在特定子功能、子模块。
表2、工控蜜罐部分S7探测报文组合
步骤4、组态程序调试运行识别:
通过工控协议交互,模拟PLC程序的下载操作,当所述PLC未设置写保护,那么组态程序能够在PLC设备上调试运行。当被调试的IP对应的PLC不支持正常PLC的汇编语言功能集,所述PLC在执行汇编指令时速度慢,则所述被调试的IP为高交互工控蜜罐的概率大于70%,用P4表示通过组态程序调试运行识别判定所述被调试的IP为蜜罐的概率,0.7<P4<=1;用W4表示通过组态程序调试运行识别判定所述被调试的IP为蜜罐的权重。
PLC程序由专有MC7格式编码的字节码组成。MC7是一个与IEC 61131-3中标准化的指令列表(IL)相同的指令集的汇编语言。
以西门子PLC为例;
OB1区块也称为程序循环组织块或Watch dog,作用是调度处理各自程序(FC,FB,DB,SFC,SFB),是C语言的Main程序。
西门子PLC的编程能够使用(LAD/STL/SCL)这几种方式,但最终都将编译为MC7字节码并下载到西门子PLC中。西门子PLC在处于RUN模式时将从主循环逻辑块OB1中读取MC7代码并加载至内存执行。
针对西门子PLC的组态程序调试时,能够将调试代码函数FC_POT植入OB1块的头部,当植入成功后,PLC每次调用OB1时都将先执行FC_POT中的逻辑代码,FC_POT的代码逻辑必须选择对PLC无害的代码逻辑。
步骤5、工控***蜜罐甄别概率:
定义P为目标IP为工控蜜罐的概率,用Pt表示判定所述目标IP为工控蜜罐的阀值,P的计算公式如下:
当P>Pt时,判定所述IP为工控蜜罐。
Pi表示通过方法i判定所述目标IP为蜜罐的概率,Pi能够通过经验值获取基础值,再由机器学习方法校准,参考表3,表3中描述了通过机器学习获取工控蜜罐甄别时对应的Pi参数的方法。
0≤Pi≤1
Wi表示通过方法i判定所述目标IP为蜜罐的权重,Wi能够通过机器学习方法获取,参考表3,表3中描述了通过机器学习获取工控蜜罐甄别时对应的Wi参数的方法。
0<Wi<1
表3、工控***蜜罐甄别概率对应的各参数获得方法
本发明所述方法的优越效果是能够准确识别低交互工控蜜罐如Conpot,也能够准确识别中等交互工控蜜罐如Snap7、CryPLH2,还能够识别高交互工控蜜罐如XPOT。针对未知类型的工控蜜罐也能够有效的识别。本发明所述方法包括对IP地址基础位置信息识别、TCP/IP操作***指纹识别、工控协议深度交互识别和组态程序调试运行识别。本发明所述方法能够计算出各种工控蜜罐识别方法的概率和权重并再根据各方法的概率和权重计算出工控蜜罐的识别概率,能够利用机器学习技术在海量IP地址空间网络扫描探测的过程中精准的识别工控蜜罐并识别包括低交互、中等交互和高交互蜜罐,为工控领域攻防对抗收集蜜罐情报。
附图说明
图1是本发明所述方法的施耐德PLC modbus协议探测实例示意图:
图2是本发明所述方法的西门子PLC S7协议暴力破解COTP的字段示意图;
图3是本发明所述方法的西门子PLC S7协议探测实例示意图;
图4是本发明所述方法的西门子PLC程序下载数据流示意图;
图5是本发明所述方法的西门子PLC OB1块注入示意图。
具体实施方式
下面结合附图对本发明的实施方式进行详细描述。本发明所述方法包括以下步骤:
步骤1、IP地址基础位置信息识别:
通过查询IP地址对应的ISP(Internet Service Provider,互联网服务提供商)和Organization(组织机构)信息,来判断所述IP是否属于云服务器提供商的IP地址。当所述IP属于云服务器,并且开放了PLC的工控协议服务,则所述IP为工控蜜罐的概率大于90%。用P1表示通过IP地址基础位置信息识别判定所述IP为工控蜜罐的概率,0.9<P1<=1;用W1表示通过IP地址基础位置信息识别判定所述IP为工控蜜罐的权重。
针对IP地址对应的ISP和Organization的信息查询,能够选择如下的IP定位库,如:百度地图、Google、Rtbasia、ipplus360、GeoIp2、IP2Region的IP地址信息库,通过获取的信息来综合判定IP地址是否属于云服务器提供商。
步骤2、TCP/IP操作***指纹识别:
通过TCP/IP操作***指纹识别,获取目标IP的TCP/IP协议栈指纹,当所述目标IP的操作***被识别为Linux的非嵌入式操作***,则所述目标IP为工控蜜罐的概率大于70%,用P2表示通过TCP/IP操作***指纹识别判定所述目标IP为工控蜜罐的概率,0.7<P2<=1;用W2表示通过TCP/IP操作***指纹识别判定所述目标IP为工控蜜罐的权重。
在TCP/IP操作***指纹识别过程中能够调用Nmap和Xprobe2的扫描工具;Nmap是一种开源的工业级扫描工具,Xprobe2是一种操作***扫描工具。Nmap通过向目标IP发送多个UDP(User Datagram Protocol,用户数据报协议)与TCP(Transmission ControlProtocol,传输控制协议)数据包并分析其响应来进行TCP/IP操作***指纹识别工作。Xprobe2通过向所述目标IP发送ICMP(Internet Control Message Protocol,Internet控制报文协议)数据包并分析其响应来进行TCP/IP操作***指纹识别工作。
步骤3、工控协议深度交互识别:
通过工控协议深度交互,模拟PLC编程软件与被扫描IP交互,读取完整的配置和状态。当被扫描IP返回的信息与真实的PLC返回的信息有差异,则被扫描IP为低交互工控蜜罐的概率大于80%,用P3表示通过工控协议深度交互识别判定被扫描IP为蜜罐的概率,0.8<P3<=1;用W3表示通过工控协议深度交互识别判定被扫描IP为蜜罐的权重。
样例1、以施耐德PLC为例:
通过modbus协议深度交互,模拟Unity Pro XL软件与被扫描IP交互。由于UnityPro XL软件使用modbus 90功能码进行通信,协议内容无加密、无认证,能够仿真交互。通过modbus 90功能码进行身份识别与握手请求,读取CPU模块、内存卡和工程项目信息;通过modbus 43功能码读取设备型号、固件版本号的信息;通过modbus协议进行工控蜜罐识别时发送的TCP报文的内容,参考表1,表1中描述了工控蜜罐探测时的部分modbus报文组合,及每种modbus功能码对应的详细报文功能和内容。当被扫描IP返回的信息与真实的PLC返回的信息有差异,则所述被扫描IP为工控蜜罐的概率大于80%。
表1、工控蜜罐部分modbus探测报文组合
样例2、以西门子PLC为例:
通过S7协议深度交互,模拟STEP7或TIA Portal软件与被扫描IP交互,由于STEP7或TIA Portal软件均使用S7协议进行通信,协议内容无加密、无认证,能够仿真交互,针对S7协议扫描时,先进行TPKP和COTP连接,暴力破解COTP报文中的Source TSAP和Destination TSAP字段并通过Source TSAP和Destination TSAP字段的不同的值,建立起S7协议的交互会话。通过S7协议的功能函数读取***状态列表SSL(System State List)的条目,一个西门子PLC有1000个SSL条目,通过查询SSL条目,当返回信息与真实PLC的有差异,则所述被扫描IP为工控蜜罐的概率大于80%;另外,还能够通过S7协议的功能函数对西门子PLC的区块进行枚举,当返回信息与真实PLC的有差异,则所述被扫描IP为工控蜜罐的概率大于80%;通过S7协议进行工控蜜罐识别时发送的TCP报文的内容,参考表2,表2中描述了工控蜜罐探测时的部分S7报文组合及每种S7功能函数对应的详细报文功能和内容。在西门子S7系列PLC中,用户在通过STEP7以及TIA Portal软件定义的PLC功能,在PLC内部是以不同的区块存在,已知的区块有如下几种:
组织块(OB)(主程序块,负责所有FC程序块的调用);
数据块(DB)(用于存放用户和***定义的变量数据);
程序块(FC)(由用户编写的程序块);
功能块(FB)(由用户编写的专用数据块);
***程序块(SFC)(调用***某些功能时自动创建);
***功能块(SFB)(调用***某些数据功能时自动创建);
***数据块(SDB)(由编程软件自动生成存放PLC的硬件组态的信息,用户无法直接打开和更改)。
以SDB 2000块为例,当所述PLC内有PROFIBUS slaves则SDB 2000块就会存在,同样在枚举SDB块的LIST时也会发现存在所述块,那么就能获取到SDB 2000的Block info。这种枚举的方式能够在黑盒以及无法解密SDB块的MC7二进制数据的情况下有效判断PLC内是否存在特定子功能、子模块。
表2、工控蜜罐部分S7探测报文组合
步骤4、组态程序调试运行识别:
通过工控协议交互,模拟PLC程序的下载操作,当所述PLC未设置写保护,那么组态程序能够在PLC设备上调试运行。当被调试的IP对应的PLC不支持正常PLC的汇编语言功能集,所述PLC在执行汇编指令时速度慢,则所述被调试的IP为高交互工控蜜罐的概率大于70%。用P4表示通过组态程序调试运行识别判定所述被调试的IP为蜜罐的概率,0.7<P4<=1;用W4表示通过组态程序调试运行识别判定所述被调试的IP为蜜罐的权重。
PLC程序由专有MC7格式编码的字节码组成。MC7是一个与IEC 61131-3中标准化的指令列表(IL)相同的指令集的汇编语言。
以西门子PLC为例;
OB1区块也称为程序循环组织块或Watch dog,作用是调度处理各自程序(FC,FB,DB,SFC,SFB),是C语言的Main程序。
西门子PLC的编程能够使用(LAD/STL/SCL)这几种方式,但最终都将编译为MC7字节码并下载到西门子PLC中。西门子PLC在处于RUN模式时将从主循环逻辑块OB1中读取MC7代码并加载至内存执行。西门子PLC的S7协议下载区块数据流如图4所示。
针对西门子PLC的组态程序调试时,能够将调试代码函数FC_POT植入OB1块的头部,当植入成功后,PLC每次调用OB1时都将先执行FC_POT中的逻辑代码,如图5所示,FC_POT的代码逻辑必须选择对PLC无害的代码逻辑。
步骤5、工控***蜜罐甄别概率:
定义P为目标IP为工控蜜罐的概率,用Pt表示判定所述目标IP为工控蜜罐的阀值,P的计算公式如下:
当P>Pt时,判定所述目标IP为工控蜜罐。
Pi表示通过方法i判定所述目标IP为蜜罐的概率,Pi能够通过经验值获取基础值,再由机器学习方法校准,参考表3,表3中描述了通过机器学习获取工控蜜罐甄别时对应的Pi参数的方法。
0≤Pi≤1
Wi表示通过方法i判定所述目标IP为蜜罐的权重,Wi能够通过机器学习方法获取,参考表3,表3中描述了通过机器学习获取工控蜜罐甄别时对应的Wi参数的方法。
0<Wi<1
表3、工控***蜜罐甄别概率对应的各参数获得方法
如图1所示,图1描述了针对施耐德PLC的工控协议深度交互识别方法,首先发送modbus的43功能码获取目标设备的型号、固件版本的信息,接着发送modbus的90功能码获取CPU模块信息,再接着发送modbus的90功能码读取内存卡信息,然后发送modbus的90功能码读取工程项目信息,最后发送modbus的90功能码读取工程项目的路径、编程软件的信息。通过对真实PLC返回的信息,与蜜罐返回的信息对比,能够识别低交互工控蜜罐。
如图2所示,图2描述了针对西门子PLC的工控协议深度交互识别过程中的暴力破解方法。针对S7协议扫描时,先进行TPKP和COTP连接,暴力破解COTP报文中的Source TSAP和Destination TSAP字段,通过多次尝试Source TSAP和Destination TSAP字段的不同的值,建立起S7协议的交互会话。S7协议的交互会话建立后,才能与西门子PLC进行工控协议深度交互,最终识别所述设备是否为工控蜜罐。
如图3所示,图3描述了针对西门子PLC的工控协议深度交互识别方法,首先发送S7协议的Read SZL功能码,读取西门子PLC订货号、固件版本、BootLoader的信息,接着发送S7协议的Read SZL功能码,读取西门子PLC名称、CPU模块型号、设备序列号的信息,最发送S7协议的List blocks功能码,枚举西门子PLC内各区块的数量信息。通过对真实西门子PLC返回的信息,和蜜罐返回的信息对比,能够识别低交互工控蜜罐。
如图4所示,图4描述了西门子PLC程序下载数据流,工程师通过工程师站(EWS)上安装的编程软件和西门子PLC进行协议交互,针对西门子PLC的组态程序下载过程,工程师站会向西门子PLC发起Connect Setup建立连接会话,西门子PLC响应Connect Setup后,工程师站接着发送Download Request请求报文,西门子PLC响应Download Request Ack,并发送Download Block后,工程师站接着发送Download Block Ack开始传输组态程序,组态程序传输过程中,西门子PLC会询问工程师站Download End,当工程师站响应Download EndAck后,组态下载过程结束。组态程序下载完毕后,工程师站能够发送组态程序调试运行的命令,驱动西门子PLC Control命令执行。通过组态程序调试运行过程中的MC7指令执行速度的对比、与西门子PLC的汇编语言功能集的响应对比,能够识别高交互工控蜜罐。
如图5所示,图5描述了西门子PLC OB1块代码注入的过程,针对西门子PLC的组态程序调试时,能够将调试代码函数FC_POT植入OB1块的头部,当植入成功后,西门子PLC每次调用OB1时都将先执行FC_POT中的逻辑代码。在FC_POT的逻辑代码中,能够加入针对西门子PLC的汇编语言特定功能的调用逻辑,比如能够尝试float语法,当组态程序调试运行过程中,西门子PLC返回的调用结果和预期不一致,能够识别所述设备为高交互工控蜜罐。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明公开的范围内,能够轻易想到的变化或替换,都应涵盖在本发明权利要求的保护范围内。
Claims (4)
1.一种基于机器学习的工控蜜罐识别方法,其特征在于,包括以下步骤:
步骤1、IP地址基础位置信息识别:
通过查询IP地址对应的互联网服务提供商和组织机构信息,来判断所述IP是否属于云服务器提供商的IP地址,当所述IP属于云服务器,并且开放了PLC的工控协议服务,则所述IP为工控蜜罐的概率大于90%,用P1表示通过IP地址基础位置信息识别判定所述IP为工控蜜罐的概率,用W1表示通过IP地址基础位置信息识别判定所述IP为工控蜜罐的权重;
步骤2、TCP/IP操作***指纹识别:
通过TCP/IP操作***指纹识别,获取目标IP的TCP/IP协议栈指纹,当目标IP的操作***被识别为Linux非嵌入式工控***,则所述IP为工控蜜罐的概率大于70%,用P2表示通过TCP/IP操作***指纹识别判定所述IP为蜜罐的概率,用W2表示通过TCP/IP操作***指纹识别判定所述IP为蜜罐的权重;
步骤3、工控协议深度交互识别:
通过工控协议深度交互,模拟PLC编程软件与被扫描IP交互,读取完整的配置和状态,当被扫描IP返回的信息与真实的PLC返回的信息有差异,则被扫描IP为低交互工控蜜罐的概率大于80%,用P3表示通过工控协议深度交互识别判定被扫描IP为蜜罐的概率,用W3表示通过工控协议深度交互识别判定被扫描IP为蜜罐的权重;
步骤4、组态程序调试运行识别:
通过工控协议交互,模拟PLC程序的下载操作,当所述PLC未设置写保护,那么组态程序能够在PLC设备上调试运行,当被调试的IP对应的PLC不支持正常PLC的汇编语言功能集,所述PLC在执行汇编指令时速度非常慢,则所述被调试的IP为高交互工控蜜罐的概率大于70%,用P4表示通过组态程序调试运行识别判定所述被调试的IP为蜜罐的概率,用W4表示通过组态程序调试运行识别判定所述被调试的IP为蜜罐的权重;
步骤5、工控***蜜罐甄别概率:
定义P为目标IP为工控蜜罐的概率,用Pt表示判定所述目标IP为工控蜜罐的阀值,P的计算公式如下:
当P>Pt时,判定所述目标IP为工控蜜罐;
Pi表示通过方法i判定所述IP为蜜罐的概率,Pi能够通过经验值获取基础值,再由机器学习方法校准,Wi表示通过方法i判定所述目标IP为蜜罐的权重,Wi能够通过机器学习方法获取。
2.根据权利要求1所述的一种基于机器学习的工控蜜罐识别方法,其特征在于,所述步骤1中,针对IP地址对应的ISP和Organization的信息查询,能够选择IP定位库,通过获取的信息来综合判定IP地址是否属于云服务器提供商。
3.根据权利要求1所述的一种基于机器学习的工控蜜罐识别方法,其特征在于,所述步骤2中,在TCP/IP操作***指纹识别过程中能够调用Nmap和Xprobe2的扫描工具;Nmap是一种开源的工业级扫描工具,Xprobe2是一种操作***扫描工具,Nmap通过向目标IP发送多个UDP与TCP数据包并分析其响应来进行TCP/IP操作***指纹识别工作,Xprobe2通过向目标IP发送ICMP数据包并分析其响应来进行TCP/IP操作***指纹识别工作。
4.根据权利要求1所述的一种基于机器学习的工控蜜罐识别方法,其特征在于,所述步骤4中,PLC程序由专有MC7格式编码的字节码组成。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810289831.3A CN108600193B (zh) | 2018-04-03 | 2018-04-03 | 一种基于机器学习的工控蜜罐识别方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810289831.3A CN108600193B (zh) | 2018-04-03 | 2018-04-03 | 一种基于机器学习的工控蜜罐识别方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108600193A CN108600193A (zh) | 2018-09-28 |
CN108600193B true CN108600193B (zh) | 2021-04-13 |
Family
ID=63625179
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810289831.3A Active CN108600193B (zh) | 2018-04-03 | 2018-04-03 | 一种基于机器学习的工控蜜罐识别方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108600193B (zh) |
Families Citing this family (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110266650B (zh) * | 2019-05-23 | 2020-05-29 | 中国科学院信息工程研究所 | Conpot工控蜜罐的识别方法 |
CN110677414A (zh) * | 2019-09-27 | 2020-01-10 | 北京知道创宇信息技术股份有限公司 | 网络检测方法、装置、电子设备及计算机可读存储介质 |
CN111126440B (zh) * | 2019-11-25 | 2023-12-22 | 广州大学 | 一种基于深度学习的一体化工控蜜罐识别***及方法 |
CN111327636B (zh) * | 2020-03-10 | 2021-05-07 | 西北工业大学 | 一种涉及网络安全的s7-300plc私有协议逆向方法 |
CN111447230A (zh) * | 2020-03-27 | 2020-07-24 | 博智安全科技股份有限公司 | 高甜度高交互工控蜜罐装置及方法 |
CN111709034A (zh) * | 2020-05-29 | 2020-09-25 | 成都金隼智安科技有限公司 | 基于机器学习的工控环境智能安全检测***与方法 |
CN114070575B (zh) * | 2020-08-07 | 2024-05-28 | 奇安信科技集团股份有限公司 | 设备探测处理方法、装置、电子设备、存储介质和程序 |
CN112217800B (zh) * | 2020-09-14 | 2023-04-25 | 广州大学 | 一种蜜罐识别方法、***、装置及介质 |
CN112261046A (zh) * | 2020-10-22 | 2021-01-22 | 胡付博 | 一种基于机器学习的工控蜜罐识别方法 |
CN113765883B (zh) * | 2021-07-28 | 2023-05-12 | 辽宁谛听信息科技有限公司 | 一种基于逐次概率判别算法的工业控制网络蜜罐识别方法 |
CN114221804B (zh) * | 2021-12-12 | 2022-11-08 | 中国电子科技集团公司第十五研究所 | 一种基于特征识别和交互验证的蜜罐识别方法 |
CN117220900B (zh) * | 2023-07-14 | 2024-06-18 | 博智安全科技股份有限公司 | 一种自动检测蜜罐***的方法和*** |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102437936A (zh) * | 2011-12-20 | 2012-05-02 | 东南大学 | 基于双过滤机制的高速网络僵尸报文的检测方法 |
CN105721417A (zh) * | 2015-11-16 | 2016-06-29 | 哈尔滨安天科技股份有限公司 | 一种挂载于工控***中的蜜罐装置及工控*** |
CN107070929A (zh) * | 2017-04-20 | 2017-08-18 | 中国电子技术标准化研究院 | 一种工控网络蜜罐*** |
CN107566390A (zh) * | 2017-09-20 | 2018-01-09 | 东北大学 | 一种基于威胁情报的工业控制***网络安全性分析***及方法 |
CN107683597A (zh) * | 2015-06-04 | 2018-02-09 | 思科技术公司 | 用于异常检测的网络行为数据收集和分析 |
CN107770199A (zh) * | 2017-12-08 | 2018-03-06 | 东北大学 | 一种面向工业互联网的带有自学习功能的工控协议蜜罐及应用 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2017053806A1 (en) * | 2015-09-25 | 2017-03-30 | Acalvio Technologies, Inc. | Dynamic security mechanisms |
-
2018
- 2018-04-03 CN CN201810289831.3A patent/CN108600193B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102437936A (zh) * | 2011-12-20 | 2012-05-02 | 东南大学 | 基于双过滤机制的高速网络僵尸报文的检测方法 |
CN107683597A (zh) * | 2015-06-04 | 2018-02-09 | 思科技术公司 | 用于异常检测的网络行为数据收集和分析 |
CN105721417A (zh) * | 2015-11-16 | 2016-06-29 | 哈尔滨安天科技股份有限公司 | 一种挂载于工控***中的蜜罐装置及工控*** |
CN107070929A (zh) * | 2017-04-20 | 2017-08-18 | 中国电子技术标准化研究院 | 一种工控网络蜜罐*** |
CN107566390A (zh) * | 2017-09-20 | 2018-01-09 | 东北大学 | 一种基于威胁情报的工业控制***网络安全性分析***及方法 |
CN107770199A (zh) * | 2017-12-08 | 2018-03-06 | 东北大学 | 一种面向工业互联网的带有自学习功能的工控协议蜜罐及应用 |
Also Published As
Publication number | Publication date |
---|---|
CN108600193A (zh) | 2018-09-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108600193B (zh) | 一种基于机器学习的工控蜜罐识别方法 | |
US8006136B2 (en) | Automatic grammar based fault detection and isolation | |
CN110825040B (zh) | 一种工业控制***的过程控制攻击检测方法及装置 | |
Qasim et al. | Automated reconstruction of control logic for programmable logic controller forensics | |
CN107247902B (zh) | 恶意软件分类***及方法 | |
CN103748853A (zh) | 用于对数据通信网络中的协议消息进行分类的方法和*** | |
CN113315767B (zh) | 一种电力物联网设备安全检测***及方法 | |
US20170177865A1 (en) | Industrial Control System Emulator for Malware Analysis | |
CN112887388B (zh) | 基于沙箱环境的数据处理*** | |
CN108337266B (zh) | 一种高效的协议客户端漏洞发掘方法与*** | |
CN105897807A (zh) | 一种基于行为特征的移动智能终端异常代码云检测方法 | |
US11356468B2 (en) | System and method for using inventory rules to identify devices of a computer network | |
CN114371682B (zh) | Plc控制逻辑攻击检测方法及装置 | |
CN115208634A (zh) | 一种网络资产的监管引擎 | |
WO2019190403A1 (en) | An industrial control system firewall module | |
CN112565278A (zh) | 一种捕获攻击的方法及蜜罐*** | |
CN114285599A (zh) | 基于控制器深度内存仿真的工控蜜罐构建方法及工控蜜罐 | |
US11683336B2 (en) | System and method for using weighting factor values of inventory rules to efficiently identify devices of a computer network | |
CN112261046A (zh) | 一种基于机器学习的工控蜜罐识别方法 | |
Al Ghazo et al. | ICS/SCADA device recognition: A hybrid communication-patterns and passive-fingerprinting approach | |
CN114363053A (zh) | 一种攻击识别方法、装置及相关设备 | |
CN111339785B (zh) | 一种基于业务建模的语义级安全审计方法 | |
CN116318783B (zh) | 基于安全指标的网络工控设备安全监测方法及装置 | |
CN112800408B (zh) | 一种基于主动探测的工控设备指纹提取与识别方法 | |
CN108363922B (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |