CN110691097A - 一种基于hpfeeds协议的工控蜜罐的***及其工作方法 - Google Patents
一种基于hpfeeds协议的工控蜜罐的***及其工作方法 Download PDFInfo
- Publication number
- CN110691097A CN110691097A CN201910992216.3A CN201910992216A CN110691097A CN 110691097 A CN110691097 A CN 110691097A CN 201910992216 A CN201910992216 A CN 201910992216A CN 110691097 A CN110691097 A CN 110691097A
- Authority
- CN
- China
- Prior art keywords
- remote
- protocol
- message
- data
- server
- 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
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/1441—Countermeasures against malicious traffic
- H04L63/1491—Countermeasures against malicious traffic using deception as countermeasure, e.g. honeypots, honeynets, decoys or entrapment
-
- 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/08—Network architectures or network communication protocols for network security for authentication of entities
- H04L63/0884—Network architectures or network communication protocols for network security for authentication of entities by delegation of authentication, e.g. a proxy authenticates an entity to be authenticated on behalf of this entity vis-à-vis an authentication entity
-
- 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
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/56—Provisioning of proxy services
- H04L67/562—Brokering proxy services
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Computer And Data Communications (AREA)
Abstract
本发明公开了一种基于hpfeeds协议的工控蜜罐的***,包括数据捕获模块和数据远程传送模块,数据远程传送模块接受数据捕获模块发送的响应,数据捕获模块包括会话管理、协议交互、模板配置和日志记录;数据远程传送模块包括远程客户端、远程服务端和远程数据库,远程数据库用于储存身份信息,远程服务端调用远程数据库信息对远程客户端进行验证,远程客户端发送和接受远程服务端的信息。本发明还公开一种基于hpfeeds协议的工控蜜罐的工作方法。本发明的一种基于hpfeeds协议的工控蜜罐的***及其工作方法,能够将攻击信息进行记录和保存,对攻击方的攻击活动约束,实现主动防御。
Description
技术领域
本发明具体涉及一种基于hpfeeds协议的工控蜜罐的***及其工作方法,属于工控安全技术领域。
背景技术
随着信息化与工业化不断融合,越来越多的工控***接入互联网。此外,网络化浪潮还将嵌入式技术、无线技术等新兴技术融入工控***,从而拓展了工控***的发展空间,带来了新的发展机遇。与此同时,这也给工控***带来了前所未有的安全问题。
传统安全防护技术有防火墙、入侵检测等,它们属于被动防御技术。在网络中,攻防双方博弈存在严重的不对称,被动防御不能有效应对攻击。首先,攻防双方所处位置不同。防御***一般公开暴露在网络中,而攻击方在暗处伺机而动。其次,攻防双方工作量不同。攻击方只需找到***的一个漏洞,即可对***实施攻击,而防御方需要全面保护***。最后,即使***阻止了攻击,攻击方的攻击活动也不会受到约束,他还可以继续攻击其他***。
如今工控蜜罐方案大体可分为模拟PLC、使用包含典型漏洞的真实PLC设备。模拟PLC也分为业务模拟和协议模拟两种。思科、数字债券、趋势科技等公司的蜜罐项目主要是针对工控业务进行模拟,实现模拟PLC的服务。Hidemasa Naruoka、Charles Scott、CharlesScott等人对工控业务进行模拟实现模拟PLC。特别地,Chunhui Zhao从人机接口和协议仿真两方面模拟PLC,而Robert Jaromin基于VMware,Robert M.Jaromin基于Gumstix单片机实现模拟PLC。协议模拟方面主要有Feng Xiao基于S7comm协议的高交互蜜罐,Stephan Lau通过修改TCP/IP堆栈模拟S7-300PLC的高交互蜜罐。
总的来说,现有技术中工控蜜罐方案使用真实PLC蜜罐方案很少,而模拟PLC是蜜罐实现的主流方案,但主要集中在业务模拟方面,协议模拟仿真较少,且大多不能保证数据安全。
发明内容
本发明要解决的技术问题是,克服现有技术中攻防博弈存在的不对称性及弥补传统安全防护技术的缺陷,提供一种能够将攻击信息进行记录和保存,对攻击方的攻击活动约束,实现主动防御的基于hpfeeds协议的工控蜜罐的***及其工作方法。
为解决上述技术问题,本发明采用的技术方案为:
一种基于hpfeeds协议的工控蜜罐的***,包括数据捕获模块和数据远程传送模块,所述数据远程传送模块接受所述数据捕获模块发送的响应,所述数据捕获模块包括会话管理、协议交互、模板配置和日志记录,所述协议交互用于Modbus和S7comm协议从攻击IP、协议报文两个方面对攻击数据进行捕获,所述会话管理为每个攻击事件创建一个会话实例,用于区分每个攻击事件,并使用事件队列存储攻击事件,所述日志记录用于记录攻击IP、请求报文以及根据请求生成的响应信息,所述模板配置用于配置模拟设备信息及不同协议返回信息;所述数据远程传送模块包括远程客户端、远程服务端和远程数据库,所述远程数据库用于储存身份信息,所述远程服务端调用远程数据库信息对所述远程客户端进行验证,所述远程客户端发送和接受所述远程服务端的信息。
一种基于hpfeeds协议的工控蜜罐的工作方法,包括以下步骤:
S1:协议交互采用Modbus和S7comm协议开启对102端口、502端口的监听;
S2:当攻击者利用扫描工具对端口进行连接、探测时,相应端口将监听到连接请求,并捕获攻击IP,若此次攻击为攻击者初次攻击,会话管理将创建一个会话,用于标记整个会话过程,若不是,直接进入S3;
S3:协议交互将捕获攻击者对工控设备的探测请求,协议服务器会对报文内容进行解析,并根据解析内容生成相应的响应,其中,若解析请求与设备信息相关,则模板配置将调度模板,并生成设备信息响应;
S4:日志记录,将捕获的请求和生成的响应加入事件队列;
S5:在远程数据库中存储身份信息,包括用户名、密码以及订阅、发布通道;
S6:远程服务端调用远程数据库信息对远程客户端进行身份验证;
S7:远程客户端发布方发送信息给远程服务端,远程客户端订阅方接受远程服务端的信息。
S1中Modbus协议具体包括以下步骤:
S11:Modbus服务器获得请求ADU,提取请求ADU的MBAP报文头;
S12:判断MBAP报文头是否符合要求,即协议类型是否等于0、长度字段是否等于其后数据字节数,若不符合MBAP报文要求,则直接丢弃数据,重新等待接收;
S13:若符合MBAP报文要求,则提取请求PDU中功能码和数据字段;
S14:依据功能码和数据字段对异常进行判断;
S15:若并无异常,则Modbus服务器生成正常响应报文,并将响应发送给客户端。
S14具体包括以下步骤:
S141:判断请求功能码是否有效,包括功能码是否在正常功能码范围、Modbus服务器是否具有该功能码;
S142:判断请求数量是否有效;
S143:判断起始地址和最终地址是否有效;
S144:判断请求是否有效完成,只要其中的一步无效,就直接返回对应的异常码,随后根据异常码和功能码生成异常响应。
S1中S7comm协议具体包括以下步骤:
S16:S7comm服务器开启监听程序,等待连接102端口的请求;
S17:当接收数据后,进行协议第一次校验:检查TPKT报头和COTP报文有效性,TPKT报头检查内容包括packet length字段是否为整个包字节数,version字段是否为3,reserved字段是否为0;COTP报文检查内容包括len字段是否为type到payload字段长度,type是否为0xe0,即请求连接类型;如果校验成功,服务器就发送COTP连接确认包,若连接成功,则将建立COTP连接;
S18:S7comm服务器再次接收数据,进行协议第二次检验:首先判断COTP包是否为功能包,即type字段是否为0xf0,若为COTP功能包,则当前COTP包trailer字段即为S7协议报文;接着,判断s7type字段是否为0x01,即是否为请求PDU,且paramters字段中code子字段是否为0xf0,即是否为S7连接请求,如果是S7连接请求包,就返回S7连接响应,若连接成功,则将建立S7连接;
S19:在所有连接建立成功后,就可循环通信,但每次接收的数据还要进行第三次检验,主要检查COTP包type字段是否为0xf0,如果不是COTP功能包,则返回程序开始处,重新等待连接请求。
S6具体包括以下步骤:
S61:远程服务端启动并初始化与远程数据库的连接,并开启监听服务端口,监听来自远程客户端的连接;
S62:在输入正确的用户信息后,远程客户端根据此信息创建hpfeeds对象,并建立与远程服务端的连接;
S63:远程服务端监听到来自远程客户端的连接请求,根据请求实时生成一个随机数rand,并立即向远程客户端发送INFO型消息,包括随机数和服务器名等信息;
S64:在远程客户端接收到INFO型消息后,远程客户端提取消息中的随机数rand,并通过hash摘要算法,将随机数rand与用户的secret组合,得到rhash;
S65:远程客户端向远程服务端发送AUTH型消息,包括用户名、hash值等信息,其是用作验证用户身份的消息;
S66:在远程服务端接收到AUTH型消息后,远程服务端提取其中的rhash;
S67:远程服务端根据用户名从远程数据库中取出用户信息,并将先前产生的rand与该用户的secret做同样的hash摘要算法,最终得到akhash,若akhash与rhash相等,则表示身份验证成功,否则远程服务端断开与远程客户端的连接,并重新回到等待连接的状态。
S7具体包括以下步骤:
S71:在用户身份验证成功后,远程服务端处于等待接收状态。
S72:订阅方发送SUB型消息给远程服务端,消息包括订阅方用户名和订阅通道;
S73:在远程服务端接收SUB型消息后,检查当前用户名是否为之前身份验证阶段的用户名,并判断当前消息是SUB型,还是PUB型,若是SUB型消息,则服务端提取订阅通道信息,并将订阅通道与订阅方对应,若是PUB型消息,则服务端提取发布通道c和发布数据payload;
S74:当发布方身份验证成功后,发送PUB型消息给远程服务端,包括发布方用户名、发布通道以及发布数据;
S75:在远程服务端接收请求后,断定此消息为PUB型,发布方发送完数据后,还将继续等待接收服务端数据,若服务端未给发布方发送错误消息,则发布方直接关闭与服务端的连接,否则引发发布方异常;
S76:远程服务端检查订阅通道与发布通道是否相同,若通道相同,则重新组合PUB型消息,并发送给远程客户端订阅方,否则重新等待请求;
S77:在远程客户端订阅方接收远程服务端发送的发布数据后,获取消息类型和发布数据,并判断消息是ERR型,还是PUB型:若是PUB型,则远程客户端订阅方保存远程服务端发送的数据,并保持与远程服务端的连接,继续接收数据,否则断开与远程服务端的连接。
本发明的有益效果:本发明提供的一种基于hpfeeds协议的工控蜜罐的***及其工作方法,实现了Modbus协议和S7comm协议的仿真,并集成了hpfeeds协议,用于实现数据安全存储,解决了传统被动防御存在无法防御未知攻击等不足,能够保证数据安全。
附图说明
图1为本发明结构工控蜜罐功能模块示意图;
图2为本发明中结构数据捕获模块的工作示意图;
图3为本发明结构数据捕获模块中Modbus协议解析示意图;
图4为本发明结构数据捕获模块中S7comm协议解析示意图;
图5为本发明结构数据远程传送模块示意图;
图6为本发明结构数据远程传送模块身份验证阶段示意图;
图7为本发明结构数据远程传送模块正常发布/订阅阶段示意图;
图8为本发明结构蜜罐响应过程示意图。
具体实施方式
下面结合附图对本发明作进一步描述,以下实施例仅用于更加清楚地说明本发明的技术方案,而不能以此来限制本发明的保护范围。
通过Censys近两年开放的数据,发现Modbus和S7comm协议设备数量快速增长。因此,本发明分别实现了Modbus协议和S7comm协议的仿真,并集成了hpfeeds协议,用于实现数据安全存储。
本发明的主要工作原理为:当攻击者使用扫描工具对蜜罐发起探测行为时,蜜罐数据捕获模块将监听到相应端口连接,根据端口选择Modbus服务器或S7comm服务器对探测请求进行解析,并据此生成响应信息。然后,蜜罐将解析的信息及响应的信息以本地和远程两种方式记录,本地方式利用本地数据库记录攻击数据,远程方式利用数据远程传送模块发布方发布攻击数据。最后,攻击数据经过远程服务端中转后,到达数据远程传送模块订阅方,具体的技术方案如下。
如图1所示,一种基于hpfeeds协议的工控蜜罐的***,包括数据捕获模块和数据远程传送模块。其中,数据捕获模块包括会话管理、协议交互、模板配置、日志记录等四个部分。协议交互,主要对Modbus和S7comm协议从攻击IP、协议报文两个方面对攻击数据进行捕获。会话管理,为每个攻击事件创建一个会话实例,用于区分每个攻击事件,并使用事件队列存储攻击事件。日志记录功能,记录攻击IP、请求报文以及根据请求生成的响应等信息。模板配置,配置模拟设备信息及不同协议返回信息。另外,数据远程传送模块包括远程客户端、远程服务端、远程数据库三个部分,主要利用hpfeeds协议远程存储攻击数据,实现数据实时传输及共享。
如图2所示,本发明的数据捕获模块实现步骤如下:
步骤1:数据捕获模块的协议交互部分开启对102端口、502端口的监听。
步骤2:当攻击者利用扫描工具对端口进行连接、探测时,相应端口将监听到连接请求,并捕获攻击IP。若此次攻击为攻击者初次攻击,会话管理将创建一个会话,用于标记整个会话过程。若不是,直接进入步骤3。
步骤3:协议交互将捕获攻击者对工控设备的探测请求,协议服务器会对报文内容进行解析,并根据解析内容生成相应的响应。其中,若解析请求与设备信息相关,则调度模板,并生成设备信息响应。
步骤4:日志记录,将捕获的请求和生成的响应加入事件队列。
如图3所示,该图为数据捕获模块中的Modbus协议解析模块,Modbus通信均是由包含MBAP报文头、PDU的Modbus帧报文实现的,即请求ADU。MBAP报文头是在TCP/IP上专门用来识别Modbus应用数据单元的报文头。PDU由功能码和数据两部分组成,而功能码决定了报文的主要功能。
步骤1:Modbus服务器获得请求ADU,提取请求ADU的MBAP报文头。
步骤2:判断MBAP报文头是否符合要求,即协议类型是否等于0、长度字段是否等于其后数据字节数。若不符合MBAP报文要求,则直接丢弃数据,重新等待接收。
步骤3:若符合MBAP报文要求,则提取请求PDU中功能码和数据字段。
步骤4:依据功能码和数据字段对异常进行判断。异常判断主要分为四步,具体内容如下。
步骤4.1:判断请求功能码是否有效,包括功能码是否在正常功能码范围、Modbus服务器是否具有该功能码等。
步骤4.2:判断请求数量是否有效。
步骤4.3:判断起始地址和最终地址是否有效。
步骤4.4:判断请求是否有效完成。只要其中的一步无效,就直接返回对应的异常码,随后根据异常码和功能码生成异常响应。
步骤5:若并无异常,则Modbus服务器生成正常响应报文,并将响应发送给客户端。
如图4所示,该图为数据捕获模块中的S7comm协议解析模块。图中带箭头的直线有实线和虚线两种,虚线部分表示服务器接收客户机连接过程,实线部分表示服务器检验数据过程。若校验数据过程中发生错误,则记录错误,并重新等待连接。本发明的数据捕获模块S7comm协议解析模块实现步骤如下:
步骤1:S7comm服务器开启监听程序,等待连接102端口的请求。
步骤2:当接收数据后,进行协议第一次校验,主要检查TPKT报头和COTP报文有效性。TPKT报头检查内容包括packet length字段是否为整个包字节数,version字段是否为3,reserved字段是否为0。COTP报文检查内容包括len字段是否为type到payload字段长度,type是否为0xe0,即请求连接类型。如果校验成功,服务器就发送COTP连接确认包(type为0xd0)。若连接成功,则将建立COTP连接。
步骤3:S7comm服务器再次接收数据,进行协议第二次检验。首先判断COTP包是否为功能包,即type字段是否为0xf0。若为COTP功能包,则当前COTP包trailer字段即为S7协议报文。接着,判断s7type字段是否为0x01,即是否为请求PDU,且paramters字段中code子字段是否为0xf0,即是否为S7连接请求。如果是S7连接请求包,就返回S7连接响应。若连接成功,则将建立S7连接。
步骤4:在所有连接建立成功后,就可循环通信。但每次接收的数据还要进行第三次检验,主要检查COTP包type字段是否为0xf0。如果不是COTP功能包,则返回程序开始处,重新等待连接请求。
如图5所示,远程客户端分为发布方和订阅方两种,蜜罐所在主机充当远程客户端发布方负责将捕获的数据传送出去。数据远程传送模块实现分为两个阶段,包括身份验证阶段和正常发布/订阅阶段。不论是发布方,还是订阅方,用户身份验证是每个用户的必要过程。订阅方与发布方的身份验证阶段相同,而正常发布/订阅阶段不同。因此,身份验证阶段是远程服务端与远程客户端两方之间的认证,正常发布/订阅阶段是远程服务端、订阅方、发布方三方之间的发布/订阅活动。下面过程中,默认服务端为远程服务端,客户端为远程客户端。
如图6和图7所示,本发明的数据远程传送模块实现步骤如下:
步骤1:在身份database数据库中存储身份信息,包括用户名、密码以及订阅、发布通道。
步骤2:数据远程传送模块身份验证阶段实现。
步骤2.1:服务端启动并初始化与身份database数据库的连接,并开启监听服务端口,监听来自客户端的连接。
步骤2.2:在输入正确的用户信息后,客户端根据此信息创建hpfeeds对象,并建立与服务端的连接。
步骤2.3:服务端监听到来自客户端的连接请求,根据请求实时生成一个随机数rand,并立即向客户端发送INFO型消息,主要包括随机数和服务器名等信息。
步骤2.4:在客户端接收到INFO型消息后,客户端提取消息中的随机数rand,并通过hash摘要算法,将随机数rand与用户的secret组合,得到rhash。
步骤2.5:客户端向服务端发送AUTH型消息,主要包括用户名、hash值等信息,其是用作验证用户身份的消息。
步骤2.6:在服务端接收到AUTH型消息后,服务端提取其中的rhash。
步骤2.7:服务端根据用户名从数据库中取出用户信息,并将先前产生的rand与该用户的secret做同样的hash摘要算法,最终得到akhash。若akhash与rhash相等,则表示身份验证成功,否则服务端断开与客户端的连接,并重新回到等待连接的状态。
步骤3:正常订阅/发布阶段实现。下面过程不论是客户端,还是服务端,都是在身份验证阶段成功后进行的,在此阶段客户端被分为订阅方和发布方。
步骤3.1:在用户身份验证成功后,服务端处于等待接收状态。
步骤3.2:订阅方发送SUB型消息给服务端,消息主要包括订阅方用户名和订阅通道。
步骤3.3:在服务端接收SUB型消息后,检查当前用户名是否为之前身份验证阶段的用户名,并判断当前消息是SUB型,还是PUB型。若是SUB型消息,则服务端提取订阅通道信息,并将订阅通道与订阅方对应。若是PUB型消息,则服务端提取发布通道c和发布数据payload。
步骤3.4:当发布方身份验证成功后,发送PUB型消息给服务端,主要包括发布方用户名、发布通道以及发布数据。
步骤3.5:在服务端接收请求后,断定此消息为PUB型。发布方发送完数据后,还将继续等待接收服务端数据。若服务端未给发布方发送错误消息,则发布方直接关闭与服务端的连接,否则引发发布方异常。
步骤3.6:服务端检查订阅通道与发布通道是否相同。若通道相同,则重新组合PUB型消息,并发送给订阅方,否则重新等待请求。
步骤3.7:在订阅方接收服务端发送的发布数据后,获取消息类型和发布数据,并判断消息是ERR型,还是PUB型。若是PUB型,则订阅方保存服务端发送的数据,并保持与服务端的连接,继续接收数据,否则断开与服务端的连接。
如图8所示,本发明的蜜罐响应过程实现如下:蜜罐响应过程围绕蜜罐主程序进行,所有模块将相互配合,完成蜜罐捕获攻击工作。当蜜罐主程序发现有连接探测活动时,将产生一个会话。会话管理会将会话添加到事件队列中,并为不同协议服务提供获取数据包的接口。蜜罐主程序根据不同端口调用不同协议服务,每个协议服务都有一个线程池,当查询到相应的话时,将创建线程对其进行处理。响应处理会对协议交互发送的数据进行处理,再返回给协议交互部分。会话管理和响应处理都会对攻击行为进行日志记录。
以上所述仅是本发明的优选实施方式,应当指出:对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
Claims (7)
1.一种基于hpfeeds协议的工控蜜罐的***,其特征在于:包括数据捕获模块和数据远程传送模块,所述数据远程传送模块接受所述数据捕获模块发送的响应,所述数据捕获模块包括会话管理、协议交互、模板配置和日志记录,所述协议交互用于Modbus和S7comm协议从攻击IP、协议报文两个方面对攻击数据进行捕获,所述会话管理为每个攻击事件创建一个会话实例,用于区分每个攻击事件,并使用事件队列存储攻击事件,所述日志记录用于记录攻击IP、请求报文以及根据请求生成的响应信息,所述模板配置用于配置模拟设备信息及不同协议返回信息;所述数据远程传送模块包括远程客户端、远程服务端和远程数据库,所述远程数据库用于储存身份信息,所述远程服务端调用远程数据库信息对所述远程客户端进行验证,所述远程客户端发送和接受所述远程服务端的信息。
2.一种基于hpfeeds协议的工控蜜罐的工作方法,其特征在于:包括以下步骤:
S1:协议交互采用Modbus和S7comm协议开启对102端口、502端口的监听;
S2:当攻击者利用扫描工具对端口进行连接、探测时,相应端口将监听到连接请求,并捕获攻击IP,若此次攻击为攻击者初次攻击,会话管理将创建一个会话,用于标记整个会话过程,若不是,直接进入S3;
S3:协议交互将捕获攻击者对工控设备的探测请求,协议服务器会对报文内容进行解析,并根据解析内容生成相应的响应,其中,若解析请求与设备信息相关,则模板配置将调度模板,并生成设备信息响应;
S4:日志记录,将捕获的请求和生成的响应加入事件队列;
S5:在远程数据库中存储身份信息,包括用户名、密码以及订阅、发布通道;
S6:远程服务端调用远程数据库信息对远程客户端进行身份验证;
S7:远程客户端发布方发送信息给远程服务端,远程客户端订阅方接受远程服务端的信息。
3.根据权利要求2所述的一种基于hpfeeds协议的工控蜜罐的工作方法,其特征在于:S1中Modbus协议具体包括以下步骤:
S11:Modbus服务器获得请求ADU,提取请求ADU的MBAP报文头;
S12:判断MBAP报文头是否符合要求,即协议类型是否等于0、长度字段是否等于其后数据字节数,若不符合MBAP报文要求,则直接丢弃数据,重新等待接收;
S13:若符合MBAP报文要求,则提取请求PDU中功能码和数据字段;
S14:依据功能码和数据字段对异常进行判断;
S15:若并无异常,则Modbus服务器生成正常响应报文,并将响应发送给客户端。
4.根据权利要求3所述的一种基于hpfeeds协议的工控蜜罐的工作方法,其特征在于:S14具体包括以下步骤:
S141:判断请求功能码是否有效,包括功能码是否在正常功能码范围、Modbus服务器是否具有该功能码;
S142:判断请求数量是否有效;
S143:判断起始地址和最终地址是否有效;
S144:判断请求是否有效完成,只要其中的一步无效,就直接返回对应的异常码,随后根据异常码和功能码生成异常响应。
5.根据权利要求2所述的一种基于hpfeeds协议的工控蜜罐的工作方法,其特征在于:S1中S7comm协议具体包括以下步骤:
S16:S7comm服务器开启监听程序,等待连接102端口的请求;
S17:当接收数据后,进行协议第一次校验:检查TPKT报头和COTP报文有效性,TPKT报头检查内容包括packet length字段是否为整个包字节数,version字段是否为3,reserved字段是否为0;COTP报文检查内容包括len字段是否为type到payload字段长度,type是否为0xe0,即请求连接类型;如果校验成功,服务器就发送COTP连接确认包,若连接成功,则将建立COTP连接;
S18:S7comm服务器再次接收数据,进行协议第二次检验:首先判断COTP包是否为功能包,即type字段是否为0xf0,若为COTP功能包,则当前COTP包trailer字段即为S7协议报文;接着,判断s7type字段是否为0x01,即是否为请求PDU,且paramters字段中code子字段是否为0xf0,即是否为S7连接请求,如果是S7连接请求包,就返回S7连接响应,若连接成功,则将建立S7连接;
S19:在所有连接建立成功后,就可循环通信,但每次接收的数据还要进行第三次检验,主要检查COTP包type字段是否为0xf0,如果不是COTP功能包,则返回程序开始处,重新等待连接请求。
6.根据权利要求2所述的一种基于hpfeeds协议的工控蜜罐的工作方法,其特征在于:S6具体包括以下步骤:
S61:远程服务端启动并初始化与远程数据库的连接,并开启监听服务端口,监听来自远程客户端的连接;
S62:在输入正确的用户信息后,远程客户端根据此信息创建hpfeeds对象,并建立与远程服务端的连接;
S63:远程服务端监听到来自远程客户端的连接请求,根据请求实时生成一个随机数rand,并立即向远程客户端发送INFO型消息,包括随机数和服务器名等信息;
S64:在远程客户端接收到INFO型消息后,远程客户端提取消息中的随机数rand,并通过hash摘要算法,将随机数rand与用户的secret组合,得到rhash;
S65:远程客户端向远程服务端发送AUTH型消息,包括用户名、hash值等信息,其是用作验证用户身份的消息;
S66:在远程服务端接收到AUTH型消息后,远程服务端提取其中的rhash;
S67:远程服务端根据用户名从远程数据库中取出用户信息,并将先前产生的rand与该用户的secret做同样的hash摘要算法,最终得到akhash,若akhash与rhash相等,则表示身份验证成功,否则远程服务端断开与远程客户端的连接,并重新回到等待连接的状态。
7.根据权利要求2所述的一种基于hpfeeds协议的工控蜜罐的工作方法,其特征在于:S7具体包括以下步骤:
S71:在用户身份验证成功后,远程服务端处于等待接收状态。
S72:订阅方发送SUB型消息给远程服务端,消息包括订阅方用户名和订阅通道;
S73:在远程服务端接收SUB型消息后,检查当前用户名是否为之前身份验证阶段的用户名,并判断当前消息是SUB型,还是PUB型,若是SUB型消息,则服务端提取订阅通道信息,并将订阅通道与订阅方对应,若是PUB型消息,则服务端提取发布通道c和发布数据payload;
S74:当发布方身份验证成功后,发送PUB型消息给远程服务端,包括发布方用户名、发布通道以及发布数据;
S75:在远程服务端接收请求后,断定此消息为PUB型,发布方发送完数据后,还将继续等待接收服务端数据,若服务端未给发布方发送错误消息,则发布方直接关闭与服务端的连接,否则引发发布方异常;
S76:远程服务端检查订阅通道与发布通道是否相同,若通道相同,则重新组合PUB型消息,并发送给远程客户端订阅方,否则重新等待请求;
S77:在远程客户端订阅方接收远程服务端发送的发布数据后,获取消息类型和发布数据,并判断消息是ERR型,还是PUB型:若是PUB型,则远程客户端订阅方保存远程服务端发送的数据,并保持与远程服务端的连接,继续接收数据,否则断开与远程服务端的连接。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910992216.3A CN110691097A (zh) | 2019-10-18 | 2019-10-18 | 一种基于hpfeeds协议的工控蜜罐的***及其工作方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910992216.3A CN110691097A (zh) | 2019-10-18 | 2019-10-18 | 一种基于hpfeeds协议的工控蜜罐的***及其工作方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN110691097A true CN110691097A (zh) | 2020-01-14 |
Family
ID=69113244
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910992216.3A Pending CN110691097A (zh) | 2019-10-18 | 2019-10-18 | 一种基于hpfeeds协议的工控蜜罐的***及其工作方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110691097A (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111683055A (zh) * | 2020-05-14 | 2020-09-18 | 北京邮电大学 | 一种工控蜜罐方法及装置 |
CN114070575A (zh) * | 2020-08-07 | 2022-02-18 | 奇安信科技集团股份有限公司 | 设备探测处理方法、装置、电子设备、存储介质和程序 |
CN114978768A (zh) * | 2022-07-13 | 2022-08-30 | 上海大学 | 一种基于Conpot的网络化控制***蜜罐及实现方法 |
CN114095554B (zh) * | 2021-12-01 | 2024-01-12 | 浙江国利网安科技有限公司 | 工控数据处理方法、装置、存储介质和工控网关 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080271151A1 (en) * | 2002-12-31 | 2008-10-30 | Blake Kenneth W | Method and system for morphing honeypot with computer security incident correlation |
CN101860549A (zh) * | 2010-06-25 | 2010-10-13 | 山东中创软件商用中间件股份有限公司 | 一种Web Service下访问会话数据处理方法及装置 |
CN105100101A (zh) * | 2015-07-31 | 2015-11-25 | 新浪网技术(中国)有限公司 | 一种基于ssl会话的方法、装置及*** |
CN107070929A (zh) * | 2017-04-20 | 2017-08-18 | 中国电子技术标准化研究院 | 一种工控网络蜜罐*** |
CN107770199A (zh) * | 2017-12-08 | 2018-03-06 | 东北大学 | 一种面向工业互联网的带有自学习功能的工控协议蜜罐及应用 |
CN108769071A (zh) * | 2018-07-02 | 2018-11-06 | 腾讯科技(深圳)有限公司 | 攻击信息处理方法、装置和物联网蜜罐*** |
CN110266678A (zh) * | 2019-06-13 | 2019-09-20 | 深圳市腾讯计算机***有限公司 | 安全攻击检测方法、装置、计算机设备及存储介质 |
-
2019
- 2019-10-18 CN CN201910992216.3A patent/CN110691097A/zh active Pending
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080271151A1 (en) * | 2002-12-31 | 2008-10-30 | Blake Kenneth W | Method and system for morphing honeypot with computer security incident correlation |
CN101860549A (zh) * | 2010-06-25 | 2010-10-13 | 山东中创软件商用中间件股份有限公司 | 一种Web Service下访问会话数据处理方法及装置 |
CN105100101A (zh) * | 2015-07-31 | 2015-11-25 | 新浪网技术(中国)有限公司 | 一种基于ssl会话的方法、装置及*** |
CN107070929A (zh) * | 2017-04-20 | 2017-08-18 | 中国电子技术标准化研究院 | 一种工控网络蜜罐*** |
CN107770199A (zh) * | 2017-12-08 | 2018-03-06 | 东北大学 | 一种面向工业互联网的带有自学习功能的工控协议蜜罐及应用 |
CN108769071A (zh) * | 2018-07-02 | 2018-11-06 | 腾讯科技(深圳)有限公司 | 攻击信息处理方法、装置和物联网蜜罐*** |
CN110266678A (zh) * | 2019-06-13 | 2019-09-20 | 深圳市腾讯计算机***有限公司 | 安全攻击检测方法、装置、计算机设备及存储介质 |
Non-Patent Citations (2)
Title |
---|
李京京: "基于蜜罐技术的ICS威胁感知平台设计与实现", 《中国优秀硕士学位论文全文数据库 信息科技辑》 * |
胡海龙: "基于蜜罐技术的工业控制入侵捕获***的设计与实现", 《中国优秀硕士学位论文全文数据库 信息科技辑》 * |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111683055A (zh) * | 2020-05-14 | 2020-09-18 | 北京邮电大学 | 一种工控蜜罐方法及装置 |
CN114070575A (zh) * | 2020-08-07 | 2022-02-18 | 奇安信科技集团股份有限公司 | 设备探测处理方法、装置、电子设备、存储介质和程序 |
CN114070575B (zh) * | 2020-08-07 | 2024-05-28 | 奇安信科技集团股份有限公司 | 设备探测处理方法、装置、电子设备、存储介质和程序 |
CN114095554B (zh) * | 2021-12-01 | 2024-01-12 | 浙江国利网安科技有限公司 | 工控数据处理方法、装置、存储介质和工控网关 |
CN114978768A (zh) * | 2022-07-13 | 2022-08-30 | 上海大学 | 一种基于Conpot的网络化控制***蜜罐及实现方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Vigna et al. | NetSTAT: A network-based intrusion detection system | |
CN110691097A (zh) | 一种基于hpfeeds协议的工控蜜罐的***及其工作方法 | |
CN111586025B (zh) | 一种基于sdn的sdp安全组实现方法及安全*** | |
CN101594269B (zh) | 一种异常连接的检测方法、装置及网关设备 | |
CN112468518B (zh) | 访问数据处理方法、装置、存储介质及计算机设备 | |
CN108429730B (zh) | 无反馈安全认证与访问控制方法 | |
US7444408B2 (en) | Network data analysis and characterization model for implementation of secure enclaves within large corporate networks | |
US20050182968A1 (en) | Intelligent firewall | |
US20050144441A1 (en) | Presence validation to assist in protecting against Denial of Service (DOS) attacks | |
US20050188221A1 (en) | Methods, systems and computer program products for monitoring a server application | |
US20050188423A1 (en) | Methods, systems and computer program products for monitoring user behavior for a server application | |
US20050188080A1 (en) | Methods, systems and computer program products for monitoring user access for a server application | |
CN100574237C (zh) | 代理接入方法、控制网络设备以及代理接入*** | |
CN111064755B (zh) | 一种数据保护方法、装置、计算机设备和存储介质 | |
CN111988289B (zh) | Epa工业控制网络安全测试***及方法 | |
CN104580553A (zh) | 网络地址转换设备的识别方法和装置 | |
CA2506418C (en) | Systems and apparatuses using identification data in network communication | |
CN114390049A (zh) | 一种应用数据获取方法及装置 | |
Alsabbagh et al. | Silent Sabotage: A Stealthy Control Logic Injection in IIoT Systems | |
Carrier et al. | A recursive session token protocol for use in computer forensics and tcp traceback | |
CN115633359A (zh) | Pfcp会话安全检测方法、装置、电子设备和存储介质 | |
CN113114643B (zh) | 一种运维审计***的运维接入方法及*** | |
CN105681364B (zh) | 一种基于增强绑定的IPv6移动终端抗攻击方法 | |
US10079857B2 (en) | Method of slowing down a communication in a network | |
Hoffstadt et al. | Improved detection and correlation of multi-stage VoIP attack patterns by using a Dynamic Honeynet System |
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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20200114 |
|
RJ01 | Rejection of invention patent application after publication |