一种基于机器学习的工控蜜罐识别方法[发明专利]

(19)中华人民共和国国家知识产权局
(12)发明专利申请
(10)申请公布号 (43)申请公布日 (21)申请号 202011136925.0
(22)申请日 2020.10.22
(71)申请人 胡付博
地址 274100 山东省菏泽市定陶县黄店镇
黄南行政村黄南村156号
(72)发明人 胡付博 
(74)专利代理机构 北京智行阳光知识产权代理
事务所(普通合伙) 11738
代理人 黄锦阳
(51)Int.Cl.
H04L  29/06(2006.01)
H04L  29/08(2006.01)
G06N  20/00(2019.01)
(54)发明名称
一种基于机器学习的工控蜜罐识别方法
(57)摘要
本发明涉及蜜罐识别技术领域,且公开了一
种基于机器学习的工控蜜罐识别方法,包括特征
数据获取模块,特征数据获取模块输出端电连接
有获取数据判断模块,获取数据判断模块输出端
短连接有数据包生成模块,数据包生成模块输出
端电连接有机器记忆模块,特征数据获取模块S1
中获取IP地址信息的方法为通过查询IP地址对
应的互联网服务提供商和组织机构信息,该基于
机器学习的工控蜜罐识别方法,也能够准确识别
中等交互工控蜜罐如Snap7、CryPLH2,还能够识
别高交互工控蜜罐如XPOT,针对未知类型的工控
蜜罐也能够有效的识别,本发明方法包括对IP地
址基础位置信息识别、TCP/IP操作系统指纹识
别、工控协议深度交互识别和组态程序调试运行
识别。权利要求书1页  说明书5页  附图2页CN 112261046 A 2021.01.22
C N  112261046
A
1.一种基于机器学习的工控蜜罐识别方法,包括特征数据获取模块,其特征在于:所述特征数据获取模块输出端电连接有获取数据判断模块,获取数据判断模块输出端短连接有数据包生成模块,数据包生成模块输出端电连接有机器记忆模块,特征数据获取模块工作步骤为:
S1:IP地址信息识别获取;
S2:工控协议深度交互识别;
S3:TCP/IP操作系统指纹识别。
2.根据权利要求1所述的一种基于机器学习的工控蜜罐识别方法,其特征在于:所述特征数据获取模块
S1中获取IP地址信息的方法为通过查询IP地址对应的互联网服务提供商和组织机构信息,来判断所述IP是否属于云服务器提供商的IP地址,获取数据判断模块则会对获取到的IP地址信息进行判断,当所述IP属于云服务器,并且开放了PLC的工控协议服务,则所述IP为工控蜜罐。
3.根据权利要求2所述的一种基于机器学习的工控蜜罐识别方法,其特征在于:所述特征数据获取模块S2中工控协议深度交互识别的方法为模拟PLC编程软件与被扫描IP交互,读取完整的配置和状态,获取数据判断模块则会对获取到的IP进行判断,当被扫描IP返回的信息与真实的PLC返回的信息有差异,则被扫描IP为低交互工控蜜罐。
4.根据权利要求1所述的一种基于机器学习的工控蜜罐识别方法,其特征在于:所述特征数据获取模块S3中TCP/IP操作系统指纹识别的方法为获取目标IP的TCP/IP协议指纹,获取数据判断模块则会对获取到的指纹进行判断,当目标IP的操作系统被识别为Linux非嵌入式工控系统,则所述IP为工控蜜罐。
5.根据权利要求1所述的一种基于机器学习的工控蜜罐识别方法,其特征在于:所述数据包生成模块能够将获取数据判断模块判断完成后的结果进行数据包生成,从而将数据包发送至系统终端,机器记忆模块则会将数据包生成模块生成的数据包进行接收,然后对其进行记忆,从而让计算机后续能够对碰到的蜜罐进行识别。
6.根据权利要求1所述的一种基于机器学习的工控蜜罐识别方法,其特征在于:所述获取数据判断模块
能够将特征数据获取模块中获取的数据进行同步运算判断,从而对多组数据进行同步分析,从而判断其是否为高交互工控蜜罐。
权 利 要 求 书1/1页CN 112261046 A
一种基于机器学习的工控蜜罐识别方法
技术领域
[0001]本发明涉及蜜罐识别技术领域,具体为一种基于机器学习的工控蜜罐识别方法。
背景技术
[0002]目前,随着工控网与互联网的连接也逐渐暴露了工业控制网的安全隐患,传统的工控网络采用物理隔离的方式来保护其安全性,一旦接入互联网,将面临无法避免的安全威胁,而且工控网由于其大多控制着与人民息息相关的工业、交通、电力、能源的基础设施,与现实世界的联系更加紧密,因此系统的失效有可能会带来灾难性的后果,在进行网络空间探测的过程中,经常会碰到工控蜜罐系统,蜜罐系统是一种设置入侵警报和研究对计算机系统攻击的常用工具,将蜜罐技术应用到工控领域所产生的工控蜜罐系统,对于研究对工控系统的攻击和探测行为具有重要意义,工控蜜罐系统能够收集分析扫描探测引擎的指纹,锁定扫描探测引擎的源IP地址,然后进行封堵,为了发现工控蜜罐,提
高扫描探测引擎对抗工控蜜罐的能力,急需一种智能蜜罐识别技术。
发明内容
[0003](一)解决的技术问题
[0004]针对现有技术的不足,本发明提供了一种基于机器学习的工控蜜罐识别方法,具备能够使计算机通过学习的方式来识别蜜罐等优点,解决了上述的问题。
[0005](二)技术方案
[0006]为实现上述所述目的,本发明提供如下技术方案:一种基于机器学习的工控蜜罐识别方法,包括特征数据获取模块,特征数据获取模块输出端电连接有获取数据判断模块,获取数据判断模块输出端短连接有数据包生成模块,数据包生成模块输出端电连接有机器记忆模块,特征数据获取模块工作步骤为:
[0007]S1:IP地址信息识别获取;
[0008]S2:工控协议深度交互识别;
[0009]S3:TCP/IP操作系统指纹识别。
[0010]优选的,所述特征数据获取模块S1中获取IP地址信息的方法为通过查询IP地址对应的互联网服务提供商和组织机构信息,来判断所述IP是否属于云服务器提供商的IP地址,获取数据判断模块则会对获取到的IP地址信息进行判断,当所述IP属于云服务器,并且开放了PLC的工控协议服务,则所述IP为工控蜜罐。
[0011]优选的,所述特征数据获取模块S2中工控协议深度交互识别的方法为模拟PLC编程软件与被扫描IP交互,读取完整的配置和状态,获取数据判断模块则会对获取到的IP进行判断,当被扫描IP返回的信息与真实的PLC返回的信息有差异,则被扫描IP为低交互工控蜜罐。
[0012]优选的,所述特征数据获取模块S3中TCP/IP操作系统指纹识别的方法为获取目标IP的TCP/IP协议指纹,获取数据判断模块则会对获取到的指纹进行判断,当目标IP的操作
系统被识别为Linux非嵌入式工控系统,则所述IP为工控蜜罐。
[0013]优选的,所述数据包生成模块能够将获取数据判断模块判断完成后的结果进行数据包生成,从而将数据包发送至系统终端,机器记忆模块则会将数据包生成模块生成的数据包进行接收,然后对其进行记忆,从而让计算机后续能够对碰到的蜜罐进行识别。[0014](三)有益效果
[0015]与现有技术相比,本发明提供了一种基于机器学习的工控蜜罐识别方法,具备以下有益效果:
[0016]1、该基于机器学习的工控蜜罐识别方法,能够准确识别低交互工控蜜罐如Conpot,也能够准确识别中等交互工控蜜罐如Snap7、CryPLH2,还能够识别高交互工控蜜罐如XPOT,针对未知类型的工控蜜罐也能够有效的识别,本发明所述方法包括对IP地址基础位置信息识别、TCP/IP操作系统指纹识别、工控协议深度交互识别和组态程序调试运行识别。
[0017]2、该基于机器学习的工控蜜罐识别方法,获取数据判断模块能够对特征数据获取模块获取到的数据信息进行逐一判断与合并判断,获取数据判断模块对获取到的数据逐一判断能够对数据进行初步判断,从而识别其是否为低交互蜜罐或中等交互蜜罐,而获取数据判断模块对获取到的数据进行整体判断,则能够通过数据直接的联系来判断其是否为高级蜜罐或未知类型的蜜罐,深度识别其类型,从而方便机器进行方法学习。
[0018]3、该基于机器学习的工控蜜罐识别方法,数据包生成模块能够将获取数据判断模块判断完成后的结果进行数据包生成,从而将数据包发送至系统终端,同时在发送完成后使计算机对数据包进行自动拆包,通过机器记忆模块来进行数据记忆和学习,让机器能够在进行每次识别后都能够对数据进行记录,在扩大数据库的同时来进行记忆学习。
附图说明
[0019]图1为本发明工作步骤示意图;
[0020]图2为本发明系统框架示意图;
[0021]图3为本发明特征数据获取模块框架示意图。
具体实施方式
[0022]下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0023]请参阅图1-3,一种基于机器学习的工控蜜罐识别方法,包括特征数据获取模块,特征数据获取模块输出端电连接有获取数据判断模块,获取数据判断模块输出端短连接有数据包生成模块,数据包生成模块输出端电连接有机器记忆模块,特征数据获取模块工作步骤为:
[0024]S1:IP地址信息识别获取;
[0025]S2:工控协议深度交互识别;
[0026]S3:TCP/IP操作系统指纹识别。
[0027]所述特征数据获取模块S1中获取IP地址信息的方法为通过查询IP地址对应的互联网服务提供商和组织机构信息,来判断所述IP是否属于云服务器提供商的IP地址,获取数据判断模块则会对获取到的IP地址信息进行判断,当所述IP属于云服务器,并且开放了PLC的工控协议服务,则所述IP为工控蜜罐,所述特征数据获取模块S2中工控协议深度交互识别的方法为模拟PLC编程软件与被扫描IP交互,读取完整的配置和状态,获取数据判断模块则会对获取到的IP进行判断,当被扫描IP返回的信息与真实的PLC返回的信息有差异,则被扫描IP为低交互工控蜜罐,所述特征数据获取模块S3中TCP/IP操作系统指纹识别的方法为获取目标IP的TCP/IP协议指纹,获取数据判断模块则会对获取到的指纹进行判断,当目标IP的操作系统被识别为Linux非嵌入式工控系统,则所述IP为工控蜜罐,所述数据包生成模块能够将获取数据判断模块判断完成后的结果进行数据包生成,从而将数据包发送至系统终端,机器记忆模块则会将数据包生成模块生成的数据包进行接收,然后对其进行记忆,从而让计算机后续能够对碰到的蜜罐进行识别。
[0028]与低交互蜜罐检测最主要的方式是通过网络,这样就意味着低交互蜜罐运行在一个具有正常操作系统的,只要是在操作系统中,不可能把所有的资源都分配给蜜罐,所以如果在蜜罐中执行一个很繁琐很耗资源的操作,这样蜜罐就会和其他服务进程去争抢资源,最直观的感受就是蜜罐的反应速度会慢下来。但是我们通常不具备这个权限来访问这种类型的服务或者是进程,所以我们必须得考虑从网络通信入手,增加蜜罐的操作负载,如果换一个角度想,可不可以让其他的服务去和蜜罐争抢资源,
来拖慢蜜罐的反应速度,举个例子比如说如果蜜罐系统和一个web服务器同时运行在一台机器上,我们可以从web服务器入手,去给web服务器发送大量http请求,导致web服务器抢占大量计算机资源用来处理请求。这样就会让蜜罐的反应慢下来。
[0029]设计实验,假设我们有两台机器,一台机器是蜜罐服务器(192.168.1.100),另一台机器是入侵者(192.168.1.200),首先我们需要使用nmap去探测蜜罐服务器开了那些服务,使用如下命令:
[0030]sudo nmap-sV-p T:1-65535-Pn 192.168.1.100
[0031]等待一段时间之后会扫描到结果,假设其开启了Apache2 Server、SSH两个服务,我们可以编写一个简单的程序用来给Apache2 Server发HTTP数据包让其大量处理:[0032]#coding=utf-8
[0033]from scapy.all import*
[0034]from threading import Thread,activeCount
[0035]from random import randint
[0036]class Loop(Thread):
[0037]def__init__(self,remoteAddr):
[0038]Thread.__init__(self)
[Addr=remoteAddr
[0040]def run(self):
[0041]ip=str(randint(0,255))+'.'\
[0042]+str(randint(0,255))+'.'\
[0043]+str(randint(0,255))+'.'\

本文发布于:2024-09-21 17:34:37,感谢您对本站的认可!

本文链接:https://www.17tex.com/tex/4/398086.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:蜜罐   模块   工控
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议