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

技术编号:19067718 阅读:70 留言:0更新日期:2018-09-29 14:50
本发明专利技术公开了一种基于机器学习的工控蜜罐识别方法,包括以下步骤:步骤1、IP地址基础位置信息识别,步骤2、TCP/IP操作系统指纹识别,步骤3、工控协议深度交互识别,步骤4、组态程序调试运行识别,步骤5、工控系统蜜罐甄别概率。本发明专利技术所述方法的优越效果是能够准确识别低交互工控蜜罐如Conpot,也能够准确识别中等交互工控蜜罐如Snap7、CryPLH2[3],还能够识别高交互工控蜜罐如XPOT[4]。针对未知类型的工控蜜罐也能够有效的识别。

【技术实现步骤摘要】
一种基于机器学习的工控蜜罐识别方法
本专利技术涉及一种基于机器学习的工控蜜罐识别方法,属于工控蜜罐识别

技术介绍
目前,随着工控网与互联网的连接也逐渐暴露了工业控制网的安全隐患。传统的工控网络采用物理隔离的方式来保护其安全性,一旦接入互联网,将面临无法避免的安全威胁,而且工控网由于其大多控制着与人民息息相关的工业、交通、电力、能源的基础设施,与现实世界的联系更加紧密,因此系统的失效有可能会带来灾难性的后果。目前已经有越来越多的RTU(RemoteTerminalUnit,远程终端单元)、PLC(ProgrammableLogicController,可编程逻辑控制器)、DCS(DistributedControlSystem,集散控制系统)、SCADA(SupervisoryControlAndDataAcquisition,数据采集监控系统)的系统连接入网。通过主动扫描探测特定IP地址空间,发现暴露的工业控制系统、关键信息基础设施以及物联网设备,并分析其安全隐患,能够为进一步的工业物联网安全态势和安全事件分析提供技术支撑。在进行网络空间探测的过程中,经常会碰到工控蜜罐系统。蜜罐系统是一种设置入侵警报和研究对计算机系统攻击的常用工具,将蜜罐技术应用到工控领域所产生的工控蜜罐系统,对于研究对工控系统的攻击和探测行为具有重要意义。工控蜜罐系统能够收集分析扫描探测引擎的指纹,锁定扫描探测引擎的源IP地址,然后进行封堵。为了发现工控蜜罐,提高扫描探测引擎对抗工控蜜罐的能力,急需一种智能蜜罐识别技术。现有技术方案的缺点:1)技术的研究对象是传统信息安全领域的蜜罐系统,未涉及工控蜜罐领域。2)蜜罐的个性指纹不通用,且随着蜜罐系统的升级换代去除个性指纹。3)基于TCP/IP协议栈的识别技术针对通过端口映射出的工控蜜罐和高交互工控蜜罐则失效。4)基于网络特征的识别技术需要长时间的扫描探测收集网络特征,效率低。5)传统的蜜罐识别技术并不适用于高交互工控蜜罐的识别。
技术实现思路
本专利技术的目的在于提供一种能够克服上述技术问题的基于机器学习的工控蜜罐识别方法。本专利技术所述方法包括以下步骤:步骤1、IP地址基础位置信息识别:通过查询IP地址对应的ISP(InternetServiceProvider,互联网服务提供商)和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(UserDatagramProtocol,用户数据报协议)与TCP(TransmissionControlProtocol,传输控制协议)数据包并分析其响应来进行TCP/IP操作系统指纹识别工作。Xprobe2通过向所述目标IP发送ICMP(InternetControlMessageProtocol,Internet控制报文协议)数据包并分析其响应来进行TCP/IP操作系统指纹识别工作。步骤3、工控协议深度交互识别:通过工控协议深度交互,模拟PLC编程软件与被扫描IP交互,读取完整的配置和状态。当被扫描IP返回的信息与真实的PLC返回的信息有差异,则被扫描IP为低交互工控蜜罐的概率大于80%,用P3表示通过工控协议深度交互识别判定被扫描IP为蜜罐的概率,0.8<P3<=1;用W3表示通过工控协议深度交互识别判定被扫描IP为蜜罐的权重。样例1、以施耐德PLC为例:通过modbus协议深度交互,模拟UnityProXL软件与被扫描IP交互。由于UnityProXL软件使用modbus90功能码进行通信,协议内容无加密、无认证,能够仿真交互。通过modbus90功能码进行身份识别与握手请求,读取CPU模块、内存卡和工程项目信息;通过modbus43功能码读取设备型号、固件版本号的信息;通过modbus协议进行工控蜜罐识别时发送的TCP报文的内容,参考表1,表1中描述了工控蜜罐探测时的部分modbus报文组合,及每种modbus功能码对应的详细报文功能和内容。当被扫描IP返回的信息与真实的PLC返回的信息有差异,则所述被扫描IP为工控蜜罐的概率大于80%。表1、工控蜜罐部分modbus探测报文组合样例2、以西门子PLC为例:通过S7协议深度交互,模拟STEP7或TIAPortal软件与被扫描IP交互,由于STEP7或TIAPortal软件均使用S7协议进行通信,协议内容无加密、无认证,能够仿真交互,针对S7协议扫描时,先进行TPKP和COTP连接,暴力破解COTP报文中的SourceTSAP和DestinationTSAP字段并通过SourceTSAP和DestinationTSAP字段的不同的值,建立起S7协议的交互会话。通过S7协议的功能函数读取系统状态列表SSL(SystemStateList)的条目,一个西门子PLC有1000个SSL条目,通过查询SSL条目,当返回信息与真实PLC的有差异,则所述被扫描IP为工控蜜罐的概率大于80%;另外,还能够通过S7协议的功能函数对西门子PLC的区块进行枚举,当返回信息与真实PLC的有差异,则所述被扫描IP为工控蜜罐的概率大于80%;通过S7协议进行工控蜜罐识别时发送的TCP报文的内容,参考表2,表2中描述了工控蜜罐探测时的部分S7报文组合及每种S7功能函数对应的详细报文功能和内容。在西门子S7系列PLC中,用户在通过STEP7以及TIAPortal软件定义的PLC功能,在PLC内部是以不同的区块存在,已知的区块有如下几种:组织块(OB)(主程序块,负责所有FC程序块的调用);数据块(DB)(用于存放用户和系统定义的变量数据);程序块(FC)(由用户编写的程序块);功能块(FB)(由用户编写的专用数据块);系统程序块(SFC)(调用系统某些功能时自动创建);系统功能块(SFB)(调用系统某些数据功能时自动创建);系统数据块(本文档来自技高网
...

【技术保护点】
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的计算公式如下:...

【技术特征摘要】
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在执行汇编指令时速度非常慢...

【专利技术属性】
技术研发人员:李飞
申请(专利权)人:北京威努特技术有限公司
类型:发明
国别省市:北京,11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1