CN111586057B - transaction级别的Modbus协议工控异常行为检测方法、系统 - Google Patents

transaction级别的Modbus协议工控异常行为检测方法、系统 Download PDF

Info

Publication number
CN111586057B
CN111586057B CN202010387617.9A CN202010387617A CN111586057B CN 111586057 B CN111586057 B CN 111586057B CN 202010387617 A CN202010387617 A CN 202010387617A CN 111586057 B CN111586057 B CN 111586057B
Authority
CN
China
Prior art keywords
transaction
detection
clustering
time period
target model
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
Application number
CN202010387617.9A
Other languages
English (en)
Other versions
CN111586057A (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.)
DBAPPSecurity Co Ltd
Original Assignee
DBAPPSecurity 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 DBAPPSecurity Co Ltd filed Critical DBAPPSecurity Co Ltd
Priority to CN202010387617.9A priority Critical patent/CN111586057B/zh
Publication of CN111586057A publication Critical patent/CN111586057A/zh
Application granted granted Critical
Publication of CN111586057B publication Critical patent/CN111586057B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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
    • H04L63/1425Traffic logging, e.g. anomaly detection
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/06Management of faults, events, alarms or notifications
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/14Network analysis or design
    • H04L41/145Network analysis or design involving simulating, designing, planning or modelling of a network
    • 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
    • H04L63/1416Event detection, e.g. attack signature detection
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/40Bus networks
    • H04L2012/40208Bus networks characterized by the use of a particular bus standard
    • H04L2012/40228Modbus
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02PCLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
    • Y02P90/00Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
    • Y02P90/02Total factory control, e.g. smart factories, flexible manufacturing systems [FMS] or integrated manufacturing systems [IMS]

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本申请涉及一种transaction级别的Modbus协议工控异常行为检测方法、系统、计算机设备和存储介质。所述方法包括:通过获取Modbus数据包,区分请求包和响应包,根据transaction的ID将请求包与响应包进行匹配,并且记录匹配的transaction的起始时间和结束时间,再根据起始时间和结束时间为特征,训练检测初始化模型,得到检测目标模型,通过检测目标模型进行异常行为检测并进行异常告警,基于transaction级别学习transaction的行为过程以及相应的时间特征,从而获取检测目标模型,检测目标模型的使用过程中能够在检测到transaction异常行为则发出异常警告,实现了Modbus中transaction级别的入侵行为异常检测。

Description

transaction级别的Modbus协议工控异常行为检测方法、系统
技术领域
本申请涉及网络安全技术领域,特别是涉及一种transaction级别的Modbus协议工控异常行为检测方法、系统、计算机设备和存储介质。
背景技术
Modbus协议是一种应用广泛的工业通信协议。鉴于传统的工控环境,以及时效性的考虑,Modbus常以明文传输。近年来,工控系统频繁遭受安全攻击,攻击对象往往都是工控设备,使得工控设备隐藏的安全问题非常多。为了降低工控系统的安全隐患,出现了许多工控通信安全保护产品,例如入侵监测审计类的产品通过旁路接入交换机,对工控环境零风险,此类的产品,其流量数据包的检测基本都离不开五元组的匹配过程,包括源IP、目的IP、目的端口、工控协议、指令,也有一些产品可能会额外增加流量异常的检测。
然而,相关技术中的工控入侵检测大多都是对单条的工控设备指令进行解析匹配,虽然一般都包括基本的五元组,但是缺乏上下文,无法对较复杂的入侵行为进行检测分析,比如:入侵者从当前的时间段中截取所有的端到端的请求响应包,在其中一个事务(transaction)中将请求包篡改为这个时间段的另一个事务transaction的请求包,或者将其中一个事务transaction的响应包篡改为另一个事务transaction的响应包,以此可以欺骗简单的五元组匹配过程,进而可以触发不可预知的破坏动作,其中,上述事务特指Modbus中的会话。又比如:攻击者对工控网发动洪水或分布式拒绝服务(Distributed Denial ofService,简称DDoS)攻击造成工控网瘫痪,进而使得设备的请求指令无法得到及时响应。
针对相关技术中,工控入侵检测无法对较复杂的入侵行为进行检测问题,目前尚未提出有效的解决方案。
发明内容
基于此,有必要针对上述技术问题,提供一种transaction级别的Modbus协议工控异常行为检测方法、系统、计算机设备和存储介质。
根据本发明的一个方面,提供了一种transaction级别的Modbus协议工控异常行为检测方法,包括以下步骤:
获取Modbus数据包,区分请求包和响应包;
根据transaction的ID将所述请求包与所述响应包进行匹配,并且记录所述匹配的所述transaction的起始时间和结束时间;
根据所述起始时间和所述结束时间为特征,训练检测初始化模型,得到检测目标模型;
通过所述检测目标模型进行异常行为检测,并进行异常告警。
在其中一个实施例中,所述根据所述起始时间和所述结束时间训练检测初始化模型,得到检测目标模型包括:
根据所述起始时间和所述结束时间确定所述transaction的响应时间,所述响应时间为所述请求包与所述响应包之间的时间间隔;
根据所述响应时间为特征,训练所述检测初始化模型,得到所述检测目标模型。
在其中一个实施例中,所述根据所述起始时间和所述结束时间训练检测初始化模型,得到检测目标模型包括:
根据聚类算法确定聚类起始时间段和聚类结束时间段;
以所述聚类起始时间段和所述聚类结束时间段为特征,训练所述检测初始化模型,得到所述检测目标模型。
在其中一个实施例中,所述根据聚类算法确定聚类起始时间段和聚类结束时间段之后,所述方法还包括;
确定所述聚类起始时间段以及所述聚类结束时间段的周期性,其中,所述周期性指示所述聚类起始时间段以及所述聚类结束时间段在预设天数内的重复率;
根据所述周期性为特征,训练所述检测初始化模型,得到所述检测目标模型。
在其中一个实施例中,所述根据transaction的ID将所述请求包与所述响应包进行匹配之后,所述方法包括:
根据所述请求包以及所述响应包中的第一参数,确定所述transaction的执行行为和返回结果;
将执行第一行为且返回第一结果的transaction归为第一规则,并且记录所述transaction的所述起始时间和所述结束时间;
根据所述起始时间和所述结束时间训练第一规则检测初始化模型,得到所述第一规则检测目标模型;
通过所述规则检测目标模型进行规则异常检测,并进行异常告警,其中,所述规则检测目标模型包括所述第一规则检测目标模型。
在其中一个实施例中,所述通过所述规则检测目标模型进行规则异常检测,并进行异常告警包括:
获取Modbus检测数据包中的检测请求包,记录所述检测请求包的transactionID;
根据所述transaction ID,将检测响应包与所述检测请求包进行匹配;
根据所述匹配的所述检测请求包与所述检测响应包中的第二参数,查找所述规则检测目标模型中是否存在与所述第二参数对应的规则;
在所述规则检测目标模型中不存在与所述第二参数对应的规则的情况下,进行异常告警。
根据本发明的另一个方面,还提供一种transaction级别的Modbus协议工控异常行为检测系统,所述系统包括采集模块、匹配模块、训练模块和告警模块:
所述采集模块用于获取Modbus数据包,区分请求包和响应包;
所述匹配模块用于根据transaction的ID将所述请求包与所述响应包进行匹配,并且记录所述匹配的所述transaction的起始时间和结束时间;
所述训练模块根据所述起始时间和所述结束时间为特征,训练检测初始化模型,得到检测目标模型;
所述告警模块用于通过所述检测目标模型进行异常行为检测,并进行异常告警。
在一个实施例中,所述训练模块还用于根据聚类算法确定聚类起始时间段和聚类结束时间段,确定所述聚类起始时间段以及所述聚类结束时间段的周期性,其中,所述周期性指示所述聚类起始时间段以及所述聚类结束时间段在预设天数内的重复率;
以所述聚类起始时间段、所述聚类结束时间段以及所述周期性为特征,训练所述检测初始化模型,得到所述检测目标模型。
根据本发明的另一个方面,还提供一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述transaction级别的Modbus协议工控异常行为检测方法。
根据本发明的另一个方面,还提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述transaction级别的Modbus协议工控异常行为检测方法。
上述transaction级别的Modbus协议工控异常行为检测方法、系统、计算机设备和存储介质,通过获取Modbus数据包,区分请求包和响应包,根据transaction的ID将请求包与响应包进行匹配,并且记录匹配的transaction的起始时间和结束时间,再根据起始时间和结束时间为特征,训练检测初始化模型,得到检测目标模型,通过检测目标模型进行异常行为检测并进行异常告警,基于transaction级别学习transaction的行为过程以及相应的时间特征,从而获取检测目标模型,检测目标模型的使用过程中能够在检测到transaction的异常行为则发出异常警告,实现了Modbus中transaction级别的入侵行为异常检测。
附图说明
此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1是根据本发明一个实施例中transaction级别的Modbus协议工控异常行为检测方法的应用场景图;
图2是根据本发明一个实施例中transaction级别的Modbus协议工控异常行为检测方法的流程图;
图3是根据本发明另一个实施例中transaction级别的Modbus协议工控异常行为检测方法的流程图;
图4是根据本发明再一个实施例中transaction级别的Modbus协议工控异常行为检测方法的流程图;
图5是根据本发明又一个实施例中transaction级别的Modbus协议工控异常行为检测方法的流程图;
图6是根据本发明又一个实施例中transaction级别的Modbus协议工控异常行为检测方法的流程图;
图7是根据本发明一个具体实施例中transaction级别的Modbus协议工控异常行为检测模型学习的流程图;
图8是根据本发明一个具体实施例中transaction级别的Modbus协议工控异常行为检测模型使用的流程图;
图9是根据本发明一个实施例中transaction级别的Modbus协议工控异常行为检测系统的示意图;
图10是根据本发明一个实施例中transaction级别的Modbus协议工控异常行为检测计算机设备的示意图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行描述和说明。应当理解,此处所描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。基于本申请提供的实施例,本领域普通技术人员在没有作出创造性劳动的前提下所获得的所有其他实施例,都属于本申请保护的范围。
显而易见地,下面描述中的附图仅仅是本申请的一些示例或实施例,对于本领域的普通技术人员而言,在不付出创造性劳动的前提下,还可以根据这些附图将本申请应用于其他类似情景。此外,还可以理解的是,虽然这种开发过程中所作出的努力可能是复杂并且冗长的,然而对于与本申请公开的内容相关的本领域的普通技术人员而言,在本申请揭露的技术内容的基础上进行的一些设计,制造或者生产等变更只是常规的技术手段,不应当理解为本申请公开的内容不充分。
在本申请中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本申请的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域普通技术人员显式地和隐式地理解的是,本申请所描述的实施例在不冲突的情况下,可以与其它实施例相结合。
除非另作定义,本申请所涉及的技术术语或者科学术语应当为本申请所属技术领域内具有一般技能的人士所理解的通常意义。本申请所涉及的“一”、“一个”、“一种”、“该”等类似词语并不表示数量限制,可表示单数或复数。本申请所涉及的术语“包括”、“包含”、“具有”以及它们任何变形,意图在于覆盖不排他的包含;例如包含了一系列步骤或模块(单元)的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可以还包括没有列出的步骤或单元,或可以还包括对于这些过程、方法、产品或设备固有的其它步骤或单元。本申请所涉及的“连接”、“相连”、“耦接”等类似的词语并非限定于物理的或者机械的连接,而是可以包括电气的连接,不管是直接的还是间接的。本申请所涉及的“多个”是指两个或两个以上。“和/或”描述关联对象的关联关系,表示可以存在三种关系,例如,“A和/或B”可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。本申请所涉及的术语“第一”、“第二”、“第三”等仅仅是区别类似的对象,不代表针对对象的特定排序。
图1是根据本发明一个实施例中transaction级别的Modbus协议工控异常行为检测方法的应用场景图,如图1所示,本申请提供的transaction级别的Modbus协议工控异常行为检测方法,可以应用于如图1所示的应用环境中。其中,终端102通过中间设备104与可编程逻辑控制器(Programmable Logic Controller,PLC)设备主站106以及PCL设备从站108进行网络通信,检测系统110则与中间设备104通过网络进行通信。检测系统110通过中间设备104的镜像口采集流经中间设备104的流量,识别并且获取Modbus数据包,并且区分识别请求包和响应包;根据transaction的ID将请求包与响应包进行匹配,并且记录匹配的transaction的起始时间和结束时间;根据起始时间和结束时间为特征,训练检测系统110中的检测初始化模型,得到检测目标模型,完成训练过程;在执行Modbus协议工控异常行为检测的过程中,检测系统110通过中间设备104的镜像口采集流经中间设备104的所有流量,通过检测目标模型进行异常行为检测,并进行异常告警。需要说明的是,PCL设备主站106和PCL设备从站108之间标识的请求包和响应包实际上是通过中间设备104进行网络传输的,箭头标识仅用于表示请求包是从PCL设备主站106发送至PCL设备从站108的,响应包则是从PCL设备从站108发送至PCL主站106的。其中,中间设备104可以但不限于是路由器或者交换机,终端102可以但不限于是各种个人计算机、笔记本电脑、智能手机、平板电脑等,并且终端102可以作为操作员站或者工程师站,实现对PLC设备的管理、控制和使用。
在一个实施例中,图2是根据本发明一个实施例中transaction级别的Modbus协议工控异常行为检测方法的流程图,如图2所示,提供了一种transaction级别的Modbus协议工控异常行为检测方法,以该方法应用于图1中的检测系统110为例进行说明,包括以下步骤:
步骤S210,获取Modbus数据包,区分请求包和响应包。采集通过交换机的镜像口流经交换机的所有流量,通过目的端口识别Modbus包,并处理好分包、黏包以及包的完整性认证。通过源和目的端口判断识别请求包和响应包;
步骤S220,根据transaction的ID将请求包与响应包进行匹配,并且记录匹配的transaction的起始时间和结束时间。先将请求(request)包缓存,再根据响应(response)包的transaction ID从request缓存包中寻找匹配的transaction。匹配完成后,以transaction ID作为索引,提取该transaction发生的起始和结束时间,通过后端数据库存储。
步骤S230,根据起始时间和结束时间为特征,训练检测初始化模型,得到检测目标模型。建立检测初始化模型,以各个transaction的起始时间和结束时间为特征,训练检测初始化模型。上述起始时间和结束时间可以指示为transaction在一天内不同时间段的执行时间特征,例如,transaction的执行时间集中于一天内的某些时间段内;也可以指示为transaction的响应时间,即起始时间和结束时间之间的间隔。可选地,还可以提取transaction的request包中的五元组、指令参数以及可能存在的二级指令,对应的response包中的状态值和可能存在的返回值,根据transaction中的五元组、指令参数以及状态值等对不同的transaction进行分类,针对不同类别的transaction对其起始时间以及结束时间进行学习。检测初始化模型通过训练并且通过测试之后,得到检测目标模型。
步骤S240,通过检测目标模型进行异常行为检测,并进行异常告警。在检测过程中,采集通过交换机或者路由器镜像口的所有流量并且识别Modbus包,根据transactionID将request包和response包进行匹配,获取匹配后的transaction的起始时间和结束时间,通过检测目标模型判断上述起始时间和结束时间是否符合检测模型学习到的正常的transaction的起始时间段和结束时间段是否匹配,若不匹配则发出异常告警。
步骤S210至步骤S240,通过获取Modbus数据包,区分请求包和响应包,根据transaction的ID将请求包与响应包进行匹配,并且记录匹配的transaction的起始时间和结束时间,再根据起始时间和结束时间为特征,训练检测初始化模型,得到检测目标模型,通过检测目标模型进行异常行为检测并进行异常告警,基于transaction级别学习transaction的行为过程以及相应的时间特征,从而获取检测目标模型,在检测目标模型使用过程中,检测到不符合transaction特征的行为则发出异常警告,实现了Modbus中transaction级别的入侵行为异常检测。
在一个实施例中,图3是根据本发明另一个实施例中transaction级别的Modbus协议工控异常行为检测方法的流程图,如图3所示,根据起始时间和结束时间训练检测初始化模型,得到检测目标模型包括:
步骤S310,根据起始时间和结束时间确定transaction的响应时间,响应时间为请求包与响应包之间的时间间隔;
步骤S320,根据响应时间为特征,训练检测初始化模型,得到检测目标模型。
在步骤S310至步骤S320中,以transaction的request包与response包之间的时间间隔为特征,对检测初始化模型进行训练,学习得到一般情况下的transaction响应时间,得到检测目标模型。相应地,在使用该检测目标模型的情况下,通过transaction ID查找匹配的request包和response包,获取到匹配后的transaction的request包与response包之间的时间间隔,若上述时间间隔大于学习得到的transaction响应时间,则发出响应超时告警。可选地,在检测模型更加关注transaction的其他特征的情况下,可以通过预设的阈值对上述响应时间进行指定。在本实施例中,引入了Modbus响应超时机制,通过学习Modbus的响应时间,考虑到Modbus响应包的延迟风险,当工控网接近瘫痪时从站可能无法及时响应,从而使得Modbus协议工控异常行为检测更加准确和全面。
在一个实施例中,图4是根据本发明再一个实施例中transaction级别的Modbus协议工控异常行为检测方法的流程图,如图4所示,根据起始时间和结束时间训练检测初始化模型,得到检测目标模型包括:
步骤S410,根据聚类算法确定聚类起始时间段和聚类结束时间段。例如,将某一天采集到的transaction记录按照transaction的起始时间戳对应到时间轴(0:00:00--23:59:59)上。使用K-means聚类算法对这些数据进行聚类,初始的K值选取5,并将初始点均匀分布,记录transaction经过K-means聚类算法后的5个聚类后的起始时间戳,用相同的方法计算出5个聚类后的结束时间戳;
步骤S420,以聚类起始时间段和聚类结束时间段为特征,训练检测初始化模型,得到检测目标模型。通过上述聚类后的起始时间戳和结束时间戳,学习transaction在一天内的起始时间和结束时间的分布特征,从而在检测过程中,通过transaction的起始时间和结束时间,判断该transaction是否是异常行为。进一步提高了Modbus协议工控异常行为检测的准确性。
在一个实施例中,图5是根据本发明又一个实施例中transaction级别的Modbus协议工控异常行为检测方法的流程图,如图5所示,根据聚类算法确定聚类起始时间段和聚类结束时间段之后,该方法还包括;
步骤S510,确定聚类起始时间段以及聚类结束时间段的周期性,其中,周期性指示聚类起始时间段以及聚类结束时间段在预设天数内的重复率;
步骤S520,根据周期性为特征,训练检测初始化模型,得到检测目标模型。
在步骤S510至步骤S520中,检测模型除了transaction在某一天内的起始时间和结束时间特征之外,还会连续多天对transaction的起始时间和结束时间进行统计,类似地,对每一天transaction的记录按照transaction的起始时间戳对应到时间轴(0:00:00--23:59:59)上。使用K-means聚类算法对这些数据进行聚类,初始的K值选取5,并将初始点均匀分布,记录transaction经过K-means聚类算法后的5个聚类后的起始时间戳,用相同的方法计算出5个聚类后的结束时间戳;获取到N天中transaction的聚类时间段数据,再确定N天内上述聚类时间段的重复率,在这N天内transaction的聚类时间段重复率大于预设阈值的情况下,则认为transaction具有周期性。可选地,在统计天数数量较大时,若transaction每隔几天出现一次,也可以被认为是transaction的周期特性。需要说明的是,任何在较长的观察学习时间段内,重复出现的transaction的时间特性均可以被视为是其周期特性,该特征可以作为用于进行Modbus协议工控异常行为检测的一个依据,从而提高Modbus协议工控异常行为检测的准确性。
在一个实施例中,图6是根据本发明又一个实施例中transaction级别的Modbus协议工控异常行为检测方法的流程图,如图6所示,根据transaction的ID将请求包与响应包进行匹配之后,该方法包括:
步骤S610,根据请求包以及响应包中的第一参数,确定transaction的执行行为和返回结果。提取transaction的请求包中五元组、指令参数和可能存在的二级指令,对应的响应包中的状态值和可能存在的返回值,以及该transaction发生的起始和结束时间,然后进行审计入库;
步骤S620,将执行第一行为且返回第一结果的transaction归为第一规则,并且记录transaction的起始时间和结束时间。将执行相同动作和返回相同结果的transaction归并为相同规则,并记录对应的transaction来源;
步骤S630,根据起始时间和结束时间训练第一规则检测初始化模型,得到第一规则检测目标模型。将采集到的相同规则的transaction的起始时间和结束时间作为特征值,训练检测初始化模型得到第一规则检测目标模型;
步骤S640,通过检测目标模型进行规则异常检测,并进行异常告警,其中,规则检测目标模型包括第一规则检测目标模型。上述规则检测目标模型的目标特征为transaction的规则,该规则检测目标模型中通常不仅包括第一规则,而是各种非异常的transaction的规则。
在一个实施例中,通过规则检测目标模型进行规则异常检测,并进行异常告警包括:获取Modbus检测数据包中的检测请求包,记录检测请求包的transaction ID;根据transaction ID,将检测响应包与检测请求包进行匹配;根据匹配的检测请求包与检测响应包中的第二参数,查找规则检测目标模型中是否存在与第二参数对应的规则;在规则检测目标模型中不存在与第二参数对应的规则的情况下,进行异常告警。
上述transaction的规则可以是指transaction的request包的规则,例如五元组中的源IP、目的IP、目的端口、工控协议和指令特征,也包括transaction中request包和response包的对应规则,例如request包中的五元组和指令参数与response包中的状态值和返回值是否对应。本实施例通过规则特征将transaction进行分类,结合transaction的时间特征,检测模型可以针对不同规则的transaction学习到与该规则对应的时间特征,进一步提高Modbus协议工控异常行为检测的准确性。
在一个具体的实施例中,图7是根据本发明一个具体实施例中transaction级别的Modbus协议工控异常行为检测模型学习的流程图,如图7所示,检测模型的学习过程包括:
步骤S710,流量包采集。通过交换机镜像口流经交换机的所有流量。
步骤S720,Modbus包识别。通过目的端口识别,并处理好分包、黏包以及包的完整性认证。
步骤S730,判断请求包和响应包。通过源、目的端口判断识别请求包和响应包。
步骤S740,transaction统计。根据transaction id来区分,将每一处transaction所包含的五元组、时间段以及是否存在周期性等匹配参考元素通过后端数据库存储。Transaction统计过程包括transaction的规则学习和transaction的时间特征学习,其中transaction的规则学习过程包括:
步骤11:将request包缓存。
步骤12:根据response包的transaction id从request缓存包中寻找匹配的transaction。
步骤13:提取transaction的请求包中五元组、指令参数、二级指令(如果存在),对应的响应包中的状态值、返回值(如果存在),以及该transaction发生的起始和结束时间,然后进行审计入库。
步骤14:将执行相同动作和返回相同结果的transaction归并为相同规则,并记录对应的transaction来源。
步骤15:重复执行步骤11至步骤14,形成规则集。
transaction的时间特征学习过程则包括:
步骤21:将当天采集到的相同规则的transaction记录按照transaction的起始时间戳对应到时间轴(0:00:00--23:59:59)上。
步骤22:使用K-means聚类算法(一种公开的通用聚类算法)对这些数据进行聚类,初始的K值选取5,并将初始点均匀分布。
步骤23:记录当天每条规则经过K-means聚类算法后的5个聚类后的起始时间戳。
步骤24:依据步骤21至步骤23,用相同的方法计算出相应规则的5个聚类后的结束时间戳。
步骤25:安照从步骤21到步骤24的方式,计算第二天至第N天,即学习模式下最后一天,的聚类时间段数据。
步骤26:计算从第一天至第N天期间,每条规则的5个时间段在这N天的重复率,比如在N=3的情况下:某规则第一天计算所得的5个聚类时间段为T11(0:00:00~1:50:03)、T12(2:50:03~3:00:18)、T13(4:45:10~5:14:06)、T14(6:00:09~7:00:10)、T15(8:16:32~9:30:15),第二天计算所得的5个时间段为T21、T22、T23、T24、T25,第三天计算所得的5个时间段为T31、T32、T33、T34、T35,然后计算时间段1的偏差和:|T21-T11|+|T31-T11|+|T21-T31|(|T21-T11|表示第2天与第1天关于第一个时间段的起始时间戳之差绝对值和结束时间戳之差绝对值的相加,其他类同),同理计算时间段2、3、4、5的偏差和,计算聚类时间段1、2、3、4、5的偏差总和Sum,如果Sum/5小于设定的值比如1000,则认为该规则具有周期性,且每天的固定时间段取T1、T2、T3中对应时间段范围最大的上限值和最大下限值作为一天周期中固定时间段匹配值。
图8是根据本发明一个具体实施例中transaction级别的Modbus协议工控异常行为检测模型使用的流程图,在工作(work)模式下,transaction异常告警处理,主要分为4个部分:请求包异常告警、响应包异常告警、响应包超时告警和transaction固定时间段异常告警。如图8所示,工作模式下的transaction级别的Modbus协议工控异常行为检测包括以下流程:
步骤S802,request包解析,识别并记录transaction id,;
步骤S804,提取request包的五元组、指令参数和二级指令;
步骤S806,查找规则,检测目标模型中的request包规则集;
步骤S808,判断request包的特征与检测目标模型中的request包规则是否匹配;
步骤S810,若不匹配,对非法request包进行请求入侵告警;
步骤S812,若匹配,对response包进行解析;
步骤S814,提取response包的状态值和返回值;
步骤S816,根据transaction id查找对应的request包构成transaction;
步骤S818,判断响应是否超时;
步骤S820,响应超时的情况下,发出响应超时告警;
步骤S822,在响应未超时的情况下,查找检测目标模型中的transaction规则集;
步骤S824,判断transaction与检测目标模型中的transaction规则是否匹配;
步骤S826,在规则不匹配的情况下,进行响应包异常报警;
步骤S828,在规则匹配的情况下,对transaction的周期特征进行检测;
步骤S830,在transaction存在周期性地情况下,判断该transaction的时间段是否符合检测目标模型中的学习结果;
步骤S832,在transaction的时间段不在检测目标模型的正常范围内的情况下,发出transaction固定时间段异常告警;
步骤S834,在transaction的时间段在检测目标模型的正常范围内的情况下,执行放行处理。
上述transaction级别的Modbus协议工控异常行为检测方法以transaction为匹配单元的Modbus流量入侵检测,基于transaction的Modbus流量入侵超时检测,为Modbus流量入侵检测增加周期性判断和固定时间段选项的匹配元素,可以解决工控网络监测审计过程中针对Modbus协议入侵检测不够全面深入而形成的无法识别高级工控网络入侵攻击问题,也可以作为其他类似Modbus协议带有transaction概念的其他工控协议借鉴的解决方案。
应该理解的是,虽然图2-8的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图2-8中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
在一个实施例中,图9是根据本发明一个实施例中transaction级别的Modbus协议工控异常行为检测系统的示意图,如图9所示,提供了一种transaction级别的Modbus协议工控异常行为检测系统,其特征在于,系统包括采集模块92、匹配模块94、训练模块96和告警模块98:
采集模块92用于获取Modbus数据包,区分请求包和响应包;
匹配模块94用于根据transaction的ID将请求包与响应包进行匹配,并且记录匹配的transaction的起始时间和结束时间;
训练模块96根据起始时间和结束时间为特征,训练检测初始化模型,得到检测目标模型;
告警模块98用于通过检测目标模型进行异常行为检测,并进行异常告警。
在一个实施例中,训练模块96还用于根据聚类算法确定聚类起始时间段和聚类结束时间段,确定聚类起始时间段以及聚类结束时间段的周期性,其中,周期性指示聚类起始时间段以及聚类结束时间段在预设天数内的重复率;以聚类起始时间段、聚类结束时间段以及周期性为特征,训练检测初始化模型,得到检测目标模型。
关于transaction级别的Modbus协议工控异常行为检测系统的具体限定可以参见上文中对于transaction级别的Modbus协议工控异常行为检测方法的限定,在此不再赘述。上述transaction级别的Modbus协议工控异常行为检测装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
上述transaction级别的Modbus协议工控异常行为检测系统,通过采集模块92获取Modbus数据包,区分请求包和响应包,匹配模块94根据transaction的ID将请求包与响应包进行匹配,并且记录匹配的transaction的起始时间和结束时间,训练模块96再根据起始时间和结束时间为特征,训练检测初始化模型,得到检测目标模型,告警模块98通过检测目标模型进行异常行为检测并进行异常告警,基于transaction级别学习transaction的行为过程以及相应的时间特征,从而获取检测目标模型,检测目标模型的使用过程中能够,在检测到不符合学习到的transaction的行为则发出异常警告,实现了Modbus中transaction级别的入侵行为异常检测。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是服务器,图10是根据本发明一个实施例中transaction级别的Modbus协议工控异常行为检测计算机设备的示意图,其内部结构图可以如图10所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口和数据库。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储transaction级别的Modbus协议工控异常行为检测数据。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种transaction级别的Modbus协议工控异常行为检测方法。
本领域技术人员可以理解,图10中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
上述transaction级别的Modbus协议工控异常行为检测计算机设备,通过获取Modbus数据包,区分请求包和响应包,根据transaction的ID将请求包与响应包进行匹配,并且记录匹配的transaction的起始时间和结束时间,再根据起始时间和结束时间为特征,训练检测初始化模型,得到检测目标模型,通过检测目标模型进行异常行为检测并进行异常告警,基于transaction级别学习transaction的行为过程以及相应的时间特征,从而获取检测目标模型,检测目标模型的使用过程中能够,在检测到不符合学习到的transaction的行为则发出异常警告,实现了Modbus中transaction级别的入侵行为异常检测。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现上述transaction级别的Modbus协议工控异常行为检测方法。
上述transaction级别的Modbus协议工控异常行为检测计算机可读存储介质,通过获取Modbus数据包,区分请求包和响应包,根据transaction的ID将请求包与响应包进行匹配,并且记录匹配的transaction的起始时间和结束时间,再根据起始时间和结束时间为特征,训练检测初始化模型,得到检测目标模型,通过检测目标模型进行异常行为检测并进行异常告警,基于transaction级别学习transaction的行为过程以及相应的时间特征,从而获取检测目标模型,检测目标模型的使用过程中能够,在检测到不符合学习到的transaction的行为则发出异常警告,实现了Modbus中transaction级别的入侵行为异常检测。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。

Claims (9)

1.一种transaction级别的Modbus协议工控异常行为检测方法,其特征在于,所述方法包括:
获取Modbus数据包,区分请求包和响应包;
根据transaction的ID将所述请求包与所述响应包进行匹配,并且记录所述匹配的所述transaction的起始时间和结束时间;
根据所述请求包中的五元组、指令参数以及状态值对不同的transaction进行分类,并针对不同类别的transaction对所述起始时间和所述结束时间进行学习;
根据所述起始时间和所述结束时间为特征,训练检测初始化模型,得到检测目标模型;具体的,根据聚类算法确定聚类起始时间段和聚类结束时间段;以所述聚类起始时间段和所述聚类结束时间段为特征,训练所述检测初始化模型,得到所述检测目标模型;
通过所述检测目标模型进行异常行为检测,并进行异常告警。
2.根据权利要求1所述的方法,其特征在于,所述根据所述起始时间和所述结束时间训练检测初始化模型,得到检测目标模型包括:
根据所述起始时间和所述结束时间确定所述transaction的响应时间,所述响应时间为所述请求包与所述响应包之间的时间间隔;
根据所述响应时间为特征,训练所述检测初始化模型,得到所述检测目标模型。
3.根据权利要求1所述的方法,其特征在于,所述根据聚类算法确定聚类起始时间段和聚类结束时间段之后,所述方法还包括;
确定所述聚类起始时间段以及所述聚类结束时间段的周期性,其中,所述周期性指示所述聚类起始时间段以及所述聚类结束时间段在预设天数内的重复率;
根据所述周期性为特征,训练所述检测初始化模型,得到所述检测目标模型。
4.根据权利要求1所述的方法,其特征在于,所述根据transaction的ID将所述请求包与所述响应包进行匹配之后,所述方法包括:
根据所述请求包以及所述响应包中的第一参数,确定所述transaction的执行行为和返回结果;
将执行第一行为且返回第一结果的transaction归为第一规则,并且记录所述transaction的所述起始时间和所述结束时间;
根据所述起始时间和所述结束时间训练第一规则检测初始化模型,得到所述第一规则检测目标模型;
通过规则检测目标模型进行规则异常检测,并进行异常告警,其中,所述规则检测目标模型包括所述第一规则检测目标模型。
5.根据权利要求4所述的方法,其特征在于,所述通过所述规则检测目标模型进行规则异常检测,并进行异常告警包括:
获取Modbus检测数据包中的检测请求包,记录所述检测请求包的transaction ID;
根据所述transaction ID,将检测响应包与所述检测请求包进行匹配;
根据所述匹配的所述检测请求包与所述检测响应包中的第二参数,查找所述规则检测目标模型中是否存在与所述第二参数对应的规则;
在所述规则检测目标模型中不存在与所述第二参数对应的规则的情况下,进行异常告警。
6.一种transaction级别的Modbus协议工控异常行为检测系统,其特征在于,所述系统包括采集模块、匹配模块、训练模块和告警模块:
所述采集模块用于获取Modbus数据包,区分请求包和响应包;
所述匹配模块用于根据transaction的ID将所述请求包与所述响应包进行匹配,并且记录所述匹配的所述transaction的起始时间和结束时间;
所述训练模块用于根据所述请求包中的五元组、指令参数以及状态值对不同的transaction进行分类,并针对不同类别的transaction对所述起始时间和所述结束时间进行学习;根据所述起始时间和所述结束时间为特征,训练检测初始化模型,得到检测目标模型;具体的,根据聚类算法确定聚类起始时间段和聚类结束时间段;以所述聚类起始时间段和所述聚类结束时间段为特征,训练所述检测初始化模型,得到所述检测目标模型;
所述告警模块用于通过所述检测目标模型进行异常行为检测,并进行异常告警。
7.根据权利要求6所述的系统,其特征在于,
所述训练模块还用于根据聚类算法确定聚类起始时间段和聚类结束时间段,确定所述聚类起始时间段以及所述聚类结束时间段的周期性,其中,所述周期性指示所述聚类起始时间段以及所述聚类结束时间段在预设天数内的重复率;
以所述聚类起始时间段、所述聚类结束时间段以及所述周期性为特征,训练所述检测初始化模型,得到所述检测目标模型。
8.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至5中任一项所述方法的步骤。
9.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至5中任一项所述的方法的步骤。
CN202010387617.9A 2020-05-09 2020-05-09 transaction级别的Modbus协议工控异常行为检测方法、系统 Active CN111586057B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010387617.9A CN111586057B (zh) 2020-05-09 2020-05-09 transaction级别的Modbus协议工控异常行为检测方法、系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010387617.9A CN111586057B (zh) 2020-05-09 2020-05-09 transaction级别的Modbus协议工控异常行为检测方法、系统

Publications (2)

Publication Number Publication Date
CN111586057A CN111586057A (zh) 2020-08-25
CN111586057B true CN111586057B (zh) 2022-08-16

Family

ID=72118686

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010387617.9A Active CN111586057B (zh) 2020-05-09 2020-05-09 transaction级别的Modbus协议工控异常行为检测方法、系统

Country Status (1)

Country Link
CN (1) CN111586057B (zh)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105429963A (zh) * 2015-11-04 2016-03-23 北京工业大学 基于Modbus/Tcp的入侵检测分析方法
CN106209843A (zh) * 2016-07-12 2016-12-07 工业和信息化部电子工业标准化研究院 一种面向Modbus协议的数据流异常分析方法
CN106502234A (zh) * 2016-10-17 2017-03-15 重庆邮电大学 基于双轮廓模型的工业控制系统异常检测方法
CN107222491A (zh) * 2017-06-22 2017-09-29 北京工业大学 一种基于工业控制网络变种攻击的入侵检测规则创建方法
CN110336827A (zh) * 2019-07-15 2019-10-15 北京工业大学 一种基于异常字段定位的Modbus TCP协议模糊测试方法
CN111090658A (zh) * 2019-11-08 2020-05-01 网联清算有限公司 异常事务处理方法、系统及其设备

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3543813A1 (en) * 2018-03-19 2019-09-25 CODESYS Holding GmbH A server-client architecture for an industrial control network

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105429963A (zh) * 2015-11-04 2016-03-23 北京工业大学 基于Modbus/Tcp的入侵检测分析方法
CN106209843A (zh) * 2016-07-12 2016-12-07 工业和信息化部电子工业标准化研究院 一种面向Modbus协议的数据流异常分析方法
CN106502234A (zh) * 2016-10-17 2017-03-15 重庆邮电大学 基于双轮廓模型的工业控制系统异常检测方法
CN107222491A (zh) * 2017-06-22 2017-09-29 北京工业大学 一种基于工业控制网络变种攻击的入侵检测规则创建方法
CN110336827A (zh) * 2019-07-15 2019-10-15 北京工业大学 一种基于异常字段定位的Modbus TCP协议模糊测试方法
CN111090658A (zh) * 2019-11-08 2020-05-01 网联清算有限公司 异常事务处理方法、系统及其设备

Also Published As

Publication number Publication date
CN111586057A (zh) 2020-08-25

Similar Documents

Publication Publication Date Title
CN108429651B (zh) 流量数据检测方法、装置、电子设备及计算机可读介质
US10200382B2 (en) System and method for detecting abnormal traffic behavior using infinite decaying clusters
CN111935172A (zh) 基于网络拓扑的网络异常行为检测方法、计算机装置及计算机可读存储介质
US20140053265A1 (en) System and method for continuous device profiling
CN113114618B (zh) 一种基于流量分类识别的物联网设备入侵检测的方法
CN109634756B (zh) 页面事件处理方法、装置、计算机设备及存储介质
US11575688B2 (en) Method of malware characterization and prediction
CN108449237B (zh) 网络性能监测方法、装置、计算机设备和存储介质
Lin et al. Timing patterns and correlations in spontaneous {SCADA} traffic for anomaly detection
US20170024983A1 (en) System and method for tamper detection on distributed utility infrastructure
CN112560029A (zh) 基于智能分析技术的网站内容监测和自动化响应防护方法
CN111368172A (zh) 传感器数据处理方法、装置、计算机设备和存储介质
CN113067804A (zh) 网络攻击的检测方法、装置、电子设备及存储介质
EP3647982B1 (en) Cyber attack evaluation method and cyber attack evaluation device
CN112291213A (zh) 一种基于智能终端的异常流量分析方法及装置
CN110618977B (zh) 登录异常检测方法、装置、存储介质和计算机设备
CN109743339B (zh) 电力厂站的网络安全监测方法和装置、计算机设备
CN110839042A (zh) 一种基于流量的自反馈恶意软件监测系统和方法
CN111586057B (zh) transaction级别的Modbus协议工控异常行为检测方法、系统
CN113965406A (zh) 网络阻断方法、装置、电子装置和存储介质
CN113645215A (zh) 异常网络流量数据的检测方法、装置、设备及存储介质
CN113691483B (zh) 异常用户设备的检测方法、装置、设备及存储介质
CN117040664A (zh) 一种基于网络运行安全的计算机系统检测方法
CN117134938A (zh) Goose数据的入侵检测方法、装置和入侵检测系统
Maggi et al. On the use of different statistical tests for alert correlation–short paper

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