CN108600193A - 一种基于机器学习的工控蜜罐识别方法 - Google Patents

一种基于机器学习的工控蜜罐识别方法 Download PDF

Info

Publication number
CN108600193A
CN108600193A CN201810289831.3A CN201810289831A CN108600193A CN 108600193 A CN108600193 A CN 108600193A CN 201810289831 A CN201810289831 A CN 201810289831A CN 108600193 A CN108600193 A CN 108600193A
Authority
CN
China
Prior art keywords
honey jar
industry control
plc
identification
probability
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.)
Granted
Application number
CN201810289831.3A
Other languages
English (en)
Other versions
CN108600193B (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 Wei Nu Trick Co Ltd
Original Assignee
Beijing Wei Nu Trick Co Ltd
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 Wei Nu Trick Co Ltd filed Critical Beijing Wei Nu Trick Co Ltd
Priority to CN201810289831.3A priority Critical patent/CN108600193B/zh
Publication of CN108600193A publication Critical patent/CN108600193A/zh
Application granted granted Critical
Publication of CN108600193B publication Critical patent/CN108600193B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • 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/1408Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
    • 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

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)
  • Programmable Controllers (AREA)
  • Data Exchanges In Wide-Area Networks (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%,用P表示通过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格式编码的字节码组成。
CN201810289831.3A 2018-04-03 2018-04-03 一种基于机器学习的工控蜜罐识别方法 Active CN108600193B (zh)

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 true CN108600193A (zh) 2018-09-28
CN108600193B 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)

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110266650A (zh) * 2019-05-23 2019-09-20 中国科学院信息工程研究所 Conpot工控蜜罐的识别方法
CN110677414A (zh) * 2019-09-27 2020-01-10 北京知道创宇信息技术股份有限公司 网络检测方法、装置、电子设备及计算机可读存储介质
CN111126440A (zh) * 2019-11-25 2020-05-08 广州大学 一种基于深度学习的一体化工控蜜罐识别系统及方法
CN111327636A (zh) * 2020-03-10 2020-06-23 西北工业大学 一种涉及网络安全的s7-300plc私有协议逆向方法
CN111447230A (zh) * 2020-03-27 2020-07-24 博智安全科技股份有限公司 高甜度高交互工控蜜罐装置及方法
CN111709034A (zh) * 2020-05-29 2020-09-25 成都金隼智安科技有限公司 基于机器学习的工控环境智能安全检测系统与方法
CN112217800A (zh) * 2020-09-14 2021-01-12 广州大学 一种蜜罐识别方法、系统、装置及介质
CN112261046A (zh) * 2020-10-22 2021-01-22 胡付博 一种基于机器学习的工控蜜罐识别方法
CN113765883A (zh) * 2021-07-28 2021-12-07 辽宁谛听信息科技有限公司 一种基于逐次概率判别算法的工业控制网络蜜罐识别方法
CN114070575A (zh) * 2020-08-07 2022-02-18 奇安信科技集团股份有限公司 设备探测处理方法、装置、电子设备、存储介质和程序
CN114221804A (zh) * 2021-12-12 2022-03-22 中国电子科技集团公司第十五研究所 一种基于特征识别和交互验证的蜜罐识别方法
CN114070575B (zh) * 2020-08-07 2024-05-28 奇安信科技集团股份有限公司 设备探测处理方法、装置、电子设备、存储介质和程序

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102437936A (zh) * 2011-12-20 2012-05-02 东南大学 基于双过滤机制的高速网络僵尸报文的检测方法
CN105721417A (zh) * 2015-11-16 2016-06-29 哈尔滨安天科技股份有限公司 一种挂载于工控系统中的蜜罐装置及工控系统
US20170093910A1 (en) * 2015-09-25 2017-03-30 Acalvio Technologies, Inc. Dynamic security mechanisms
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 东北大学 一种面向工业互联网的带有自学习功能的工控协议蜜罐及应用

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102437936A (zh) * 2011-12-20 2012-05-02 东南大学 基于双过滤机制的高速网络僵尸报文的检测方法
CN107683597A (zh) * 2015-06-04 2018-02-09 思科技术公司 用于异常检测的网络行为数据收集和分析
US20170093910A1 (en) * 2015-09-25 2017-03-30 Acalvio Technologies, Inc. Dynamic security mechanisms
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 东北大学 一种面向工业互联网的带有自学习功能的工控协议蜜罐及应用

Cited By (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110266650A (zh) * 2019-05-23 2019-09-20 中国科学院信息工程研究所 Conpot工控蜜罐的识别方法
CN110677414A (zh) * 2019-09-27 2020-01-10 北京知道创宇信息技术股份有限公司 网络检测方法、装置、电子设备及计算机可读存储介质
CN111126440A (zh) * 2019-11-25 2020-05-08 广州大学 一种基于深度学习的一体化工控蜜罐识别系统及方法
CN111126440B (zh) * 2019-11-25 2023-12-22 广州大学 一种基于深度学习的一体化工控蜜罐识别系统及方法
CN111327636A (zh) * 2020-03-10 2020-06-23 西北工业大学 一种涉及网络安全的s7-300plc私有协议逆向方法
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 成都金隼智安科技有限公司 基于机器学习的工控环境智能安全检测系统与方法
CN114070575A (zh) * 2020-08-07 2022-02-18 奇安信科技集团股份有限公司 设备探测处理方法、装置、电子设备、存储介质和程序
CN114070575B (zh) * 2020-08-07 2024-05-28 奇安信科技集团股份有限公司 设备探测处理方法、装置、电子设备、存储介质和程序
CN112217800A (zh) * 2020-09-14 2021-01-12 广州大学 一种蜜罐识别方法、系统、装置及介质
CN112261046A (zh) * 2020-10-22 2021-01-22 胡付博 一种基于机器学习的工控蜜罐识别方法
CN113765883A (zh) * 2021-07-28 2021-12-07 辽宁谛听信息科技有限公司 一种基于逐次概率判别算法的工业控制网络蜜罐识别方法
CN114221804A (zh) * 2021-12-12 2022-03-22 中国电子科技集团公司第十五研究所 一种基于特征识别和交互验证的蜜罐识别方法
CN114221804B (zh) * 2021-12-12 2022-11-08 中国电子科技集团公司第十五研究所 一种基于特征识别和交互验证的蜜罐识别方法

Also Published As

Publication number Publication date
CN108600193B (zh) 2021-04-13

Similar Documents

Publication Publication Date Title
CN108600193A (zh) 一种基于机器学习的工控蜜罐识别方法
CN108769022B (zh) 一种用于渗透测试的工业控制系统安全实验系统
US20180288084A1 (en) Method and device for automatically establishing intrusion detection model based on industrial control network
CN111191767B (zh) 一种基于向量化的恶意流量攻击类型的判断方法
CN111488577B (zh) 一种基于人工智能的模型建立方法和风险评估方法及装置
US20190050578A1 (en) Apparatus and method for assessing cybersecurity vulnerabilities based on serial port
JP2021515498A (ja) 完全性監視及びネットワーク侵入検出のための属性ベースのポリシー
CN109063486B (zh) 一种基于plc设备指纹识别的安全渗透测试方法与系统
CN113114534B (zh) 一种基于神经网络的混合网络模糊测试工具
CN114371682B (zh) Plc控制逻辑攻击检测方法及装置
CN112822151A (zh) 面向控制网络工业计算机的多层精准主动网络攻击检测方法及系统
CN111510339B (zh) 一种工业互联网数据监测方法和装置
CN114285599A (zh) 基于控制器深度内存仿真的工控蜜罐构建方法及工控蜜罐
US11356468B2 (en) System and method for using inventory rules to identify devices of a computer network
US11683336B2 (en) System and method for using weighting factor values of inventory rules to efficiently identify devices of a computer network
Al Ghazo et al. Ics/scada device recognition: A hybrid communication-patterns and passive-fingerprinting approach
CN112565278A (zh) 一种捕获攻击的方法及蜜罐系统
CN116800458A (zh) 基于数据流采样分析的物联网设备异常监测方法和系统
CN111339785B (zh) 一种基于业务建模的语义级安全审计方法
CN113849817B (zh) 一种JavaScript原型链污染漏洞的检测方法及装置
CN112822211B (zh) 电力工控便携式自学习工业防火墙系统、装置及使用方法
Bai et al. DSS: discrepancy-aware seed selection method for ICS protocol fuzzing
Tian et al. Industrial control intrusion detection model based on s7 protocol
CN114666257B (zh) 一种网络协议模糊测试方法及框架
US20220067171A1 (en) Systems and methods for automated attack planning, analysis, and evaluation

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