CN111600863B - 网络入侵检测方法、装置、系统和存储介质 - Google Patents

网络入侵检测方法、装置、系统和存储介质 Download PDF

Info

Publication number
CN111600863B
CN111600863B CN202010389531.XA CN202010389531A CN111600863B CN 111600863 B CN111600863 B CN 111600863B CN 202010389531 A CN202010389531 A CN 202010389531A CN 111600863 B CN111600863 B CN 111600863B
Authority
CN
China
Prior art keywords
packet
data
parameters
packets
protocol
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
CN202010389531.XA
Other languages
English (en)
Other versions
CN111600863A (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 CN202010389531.XA priority Critical patent/CN111600863B/zh
Publication of CN111600863A publication Critical patent/CN111600863A/zh
Application granted granted Critical
Publication of CN111600863B publication Critical patent/CN111600863B/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/1416Event detection, e.g. attack signature detection
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/06Notations for structuring of protocol data, e.g. abstract syntax notation one [ASN.1]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/22Parsing or analysis of headers

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)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Computer And Data Communications (AREA)

Abstract

本申请涉及一种网络入侵检测方法、装置、系统和存储介质。其中,该网络入侵检测方法包括:解析请求包和响应包的协议数据单元,得到协议数据单元的参数,其中,响应包为相同会话中响应于请求包的数据包;判断协议数据单元的参数是否符合第一预设规则;在判断到协议数据单元的参数未符合第一预设规则的情况下,发出用于表示存在网络入侵的第一告警消息。通过本申请,解决了相关技术中存在的无法支持会话层面的入侵检测的问题,实现了会话层面的入侵检测的有益效果。

Description

网络入侵检测方法、装置、系统和存储介质
技术领域
本申请涉及网络安全领域,特别是涉及一种网络入侵检测方法、网络入侵检测装置、网络入侵检测系统和计算机可读存储介质。
背景技术
ICS(Industrial Control System,工业控制系统),简称工控系统。工控系统与传统的互联网环境有所不同,工控系统通常具有特定的生产目标,为达到此目标制定了明确的生产逻辑,并在实际运行中严格遵守,因此,一旦使用某个工控设备,则其通信模式、通信流量、通信对象等相关信息通常是稳定不变的。一旦有入侵者攻入工控系统,入侵者很容易通过篡改流量包或自行伪造工控包对工控设备发起攻击,引发工控设备生产事故。
现有的工控系统复杂多样,其工控设备所采用的工控协议也有所不同,常见的工控协议以Modbus、S7、Profinet为主。相关技术中的工控监测审计系统对常见的工控协议统一了策略模板,比如基于流量的五元组检测法,通过提取源IP、目的IP、目的端口、协议类型、指令,构造“正常模式”,以“正常模式”作为检测基准,将实时通信数据与检测基准进行比较,实现对未授权访问、中间人攻击、拒绝服务攻击等入侵行为的检测。然而,相关技术中的工控监测审计系统仅支持常见工控协议的入侵检测,对工控协议在会话层面的策略做得不够好,导致攻击者可以结合会话中的请求包或响应包展开攻击。而且,随着时间的发展,信息技术系统变得极为复杂,多应用支持使系统中充斥种类繁多的应用程序和协议,对于具备除五元组之外,还具备其他丰富的PDU(Protocol Data Unit,协议数据单元)的特定的协议,相关技术中的工控监测审计系统不支持全面详尽的审计,比如EGD(Ethernet GlobalData,一种可编程逻辑控制器设备的通讯协议)协议,通过EGD协议通信的设备往往都会依赖于EGD协议本身,而EGD协议本身所体现的丰富的PDU字段使得其功能丰富且效率又高。然而,相关技术中并没有针对诸如EGD协议等其他具备丰富的PDU的工控协议提供入侵检测方案,无法识别工控系统中的设备访问拓扑关系,更无法识别每一对互访设备的详尽的审计信息。
目前,针对相关技术中存在的无法支持会话层面的入侵检测的问题,尚未提出有效的解决方案。
发明内容
本申请实施例提供了一种网络入侵检测方法、网络入侵检测装置、网络入侵检测系统和计算机可读存储介质,以至少解决相关技术中存在的无法支持会话层面的入侵检测的问题。
第一方面,本申请实施例提供了一种网络入侵检测方法,包括:
解析请求包和响应包的协议数据单元,得到所述协议数据单元的参数,其中,所述响应包为相同会话中响应于所述请求包的数据包;
判断所述协议数据单元的参数是否符合第一预设规则;
在判断到所述协议数据单元的参数未符合所述第一预设规则的情况下,发出用于表示存在网络入侵的第一告警消息。
在其中一些实施例中,判断所述协议数据单元的参数是否符合第一预设规则包括:
解析所述请求包和所述响应包的五元组,得到所述五元组的参数;
判断所述五元组的参数是否符合第二预设规则;
在判断到所述五元组的参数符合所述第二预设规则的情况下,判断所述协议数据单元的参数是否符合所述第一预设规则。
在其中一些实施例中,所述方法还包括:
在判断到所述五元组的参数未符合所述第二预设规则的情况下,发出用于表示存在网络入侵的第二告警消息。
在其中一些实施例中,解析请求包和响应包的协议数据单元,得到所述协议数据单元的参数包括:
采集数据包;
解析所述数据包的协议数据单元的参数;
根据所述数据包的协议数据单元的参数,从所述数据包中筛选出所述请求包和所述响应包。
在其中一些实施例中,根据所述数据包的协议数据单元的参数,从所述数据包中筛选出所述请求包和所述响应包包括:
从所述数据包中提取第一数据包和第二数据包,并根据所述第一数据包和所述第二数据包的协议数据单元的参数,判断所述第一数据包和所述第二数据包是否为相同会话中对应的请求包和响应包;
在判断到所述第一数据包和所述第二数据包为相同会话中对应的请求包和响应包的情况下,将所述第一数据包和所述第二数据包作为所述请求包和所述响应包。
在其中一些实施例中,根据所述数据包的协议数据单元的参数,从所述数据包中筛选出所述请求包和所述响应包包括:
根据所述数据包的协议数据单元的参数,判断所述数据包的类型是否为数据消息类型;
在判断到所述数据包的类型不为所述数据消息类型的情况下,从所述数据包中筛选出所述请求包和所述响应包。
在其中一些实施例中,所述方法还包括:
在判断到所述数据包的类型为所述数据消息类型的情况下,解析所述数据消息类型的数据包的预设字段的参数;
判断所述数据消息类型的数据包的预设字段的参数是否符合第三预设规则;
在判断到所述数据消息类型的数据包的预设字段的参数未符合所述第三预设规则的情况下,发出用于表示存在网络入侵的第三告警消息。
第二方面,本申请实施例提供了一种网络入侵检测装置,包括:
解析模块,用于解析请求包和响应包的协议数据单元,得到所述协议数据单元的参数,其中,所述响应包为相同会话中响应于所述请求包的数据包;
判断模块,用于判断所述协议数据单元的参数是否符合第一预设规则;
告警模块,用于在判断到所述协议数据单元的参数未符合所述第一预设规则的情况下,发出用于表示存在网络入侵的第一告警消息。
第三方面,本申请实施例提供了一种网络入侵检测系统,包括:业务设备、采集设备和管理设备;其中,
所述业务设备用于提供数据包的流量访问;
所述采集设备,耦接至所述业务设备,用于通过访问所述数据包的流量,采集所述数据包;
所述管理设备,耦接至所述采集设备,用于管理所述采集设备,并执行如上述第一方面所述的网络入侵检测方法。
第四方面,本申请实施例提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如上述第一方面所述的网络入侵检测方法。
相比于相关技术,本申请实施例提供的网络入侵检测方法、网络入侵检测装置、网络入侵检测系统和计算机可读存储介质,通过解析请求包和响应包的协议数据单元,得到协议数据单元的参数,其中,响应包为相同会话中响应于请求包的数据包;判断协议数据单元的参数是否符合第一预设规则;在判断到协议数据单元的参数未符合第一预设规则的情况下,发出用于表示存在网络入侵的第一告警消息,解决了相关技术中存在的无法支持会话层面的入侵检测的问题,实现了会话层面的入侵检测的有益效果。
本申请的一个或多个实施例的细节在以下附图和描述中提出,以使本申请的其他特征、目的和优点更加简明易懂。
附图说明
此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1是根据相关技术的一种工业控制系统架构图;
图2是根据本申请实施例的一种网络入侵检测方法流程图;
图3是根据本申请实施例的一种基于EDG协议的网络入侵检测方法的流程图;
图4是根据本申请实施例的一种网络入侵检测系统部署示意图;
图5是根据本申请实施例的网络入侵检测装置的结构框图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行描述和说明。应当理解,此处所描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。基于本申请提供的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本申请保护的范围。
显而易见地,下面描述中的附图仅仅是本申请的一些示例或实施例,对于本领域的普通技术人员而言,在不付出创造性劳动的前提下,还可以根据这些附图将本申请应用于其他类似情景。此外,还可以理解的是,虽然这种开发过程中所做出的努力可能是复杂并且冗长的,然而对于与本申请公开的内容相关的本领域的普通技术人员而言,在本申请揭露的技术内容的基础上进行的一些设计,制造或者生产等变更只是常规的技术手段,不应当理解为本申请公开的内容不充分。
在本申请中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本申请的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域普通技术人员显式地和隐式地理解的是,本申请所描述的实施例在不冲突的情况下,可以与其它实施例相结合。
除非另作定义,本申请所涉及的技术术语或者科学术语应当为本申请所属技术领域内具有一般技能的人士所理解的通常意义。本申请所涉及的“一”、“一个”、“一种”、“该”等类似词语并不表示数量限制,可表示单数或复数。本申请所涉及的术语“包括”、“包含”、“具有”以及它们任何变形,意图在于覆盖不排他的包含;例如包含了一系列步骤或模块(单元)的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可以还包括没有列出的步骤或单元,或可以还包括对于这些过程、方法、产品或设备固有的其它步骤或单元。本申请所涉及的“连接”、“相连”、“耦接”等类似的词语并非限定于物理的或者机械的连接,而是可以包括电气的连接,不管是直接的还是间接的。本申请所涉及的“多个”是指两个或两个以上。“和/或”描述关联对象的关联关系,表示可以存在三种关系,例如,“A和/或B”可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。本申请所涉及的术语“”、“第二”、“第三”等仅仅是区别类似的对象,不代表针对对象的特定排序。
本申请中描述的各种技术可用于各种领域的工业控制系统,例如电力、水利、交通运输、核电、信息处理、通信、金融、应急响应、能源、商业、国防军工、化工、卫生等国家关键基础设施的大型工控系统,又例如其他常见于工业部门关键基础设施的小型工控系统,如可编程逻辑控制器。
本申请中所提供的网络入侵检测系统可集成于工业控制系统。图1是根据相关技术的一种工业控制系统架构图,如图1所示,该工业控制系统架构包括控制网络层和现场网络层;其中,
控制网络包括操作员站和工程师站,该网络的主要任务是监视底层现场网络的行为,并负责企业网络与现场网络之间信息的传递和存储。
现场网络包括可编程逻辑控制器和分布式控制系统,该网络通过路由器或交换机与控制网络通信连接,其负责感知工业过程的现场信息,并根据实时性要求控制系统正确、高效地运行。
本申请所提供的网络入侵检测系统可以通过控制网络与现场网络之间的路由器或交换机中获取数据包,对其进行入侵检测。
本实施例提供了一种网络入侵检测方法,图2是根据本申请实施例的一种网络入侵检测方法流程图,如图2所示,该流程包括如下步骤:
步骤S201,解析请求包和响应包的协议数据单元,得到协议数据单元的参数,其中,响应包为相同会话中响应于请求包的数据包。
从网络数据捕获器获取的请求包和响应包通常为未经处理的原始文件包,无法直接对其进行检测,需要经过包括过滤筛选、协议标志识别的初步解析,得到数据包中所含有的特定协议所对应的PDU,且这些请求包和响应包的PDU属于同一组会话,即一组会话包括相对应的请求包和响应包两种类型数据包。然后对请求包和响应包的PDU进行深层次解析,得到PDU的参数,其中,该参数包括从PDU中提取的各个字段。
相关技术在工控网络监测审计过程中,由于无法深层次解析工控设备的特定协议,导致其无法支持特定的工控协议在会话层面的入侵检测。
步骤S202,判断协议数据单元的参数是否符合第一预设规则。
在得到请求包和响应包的PDU的参数后,采用第一预设规则匹配PDU的参数,判断协议数据单元的参数是否符合第一预设规则。其中,第一预设规则可以包括多个子规则,各个子规则中包含预设的“正常模式”下请求包和响应包的PDU的参数,多个子规则可以组合成一种策略,以该策略作为检测基准,运用该策略去匹配PDU的参数。比如将实时通信数据与检测基准进行比较,判断该策略是否命中PDU的参数,以实现在策略的会话层面实现对未授权访问、中间人攻击、拒绝服务攻击等入侵行为的检测。
本实施例的第一预设规则颗粒单位细化到PDU对应的预设关键字段,并以session(会话)作为匹配单位。相比于相关技术的检测基准,本实施例所提供的以会话作为匹配单位的第一预设规则能达到更精确的入侵检测效果。作为一种可实施方式,第一预设规则的配置存储以JSON(Java Script Object Notation,JS对象简谱)文件为主,以便规则具备简洁性和强扩展性。
步骤S203,在判断到协议数据单元的参数未符合第一预设规则的情况下,发出用于表示存在网络入侵的第一告警消息。
在判断到第一预设规则未匹配上PDU的参数的情况下,即PDU的参数与“正常模式”下请求包和响应包的PDU的参数不一致的情况下,发出第一告警消息。其中,第一告警消息可以根据实时通信数据与检测基准进行比较后的比较结果来配置相应的告警等级,以提出用户在某个设备中存在着一定级别的入侵风险。
本实施例基于特定工控协议定义的网络数据捕获器获取该协议的流量数据包,通过自定义策略运用规则匹配方式识别异常入侵过程,其中,对PDU中的各个关键字段均设立了规则,通过规则集形成策略,在策略中引入了会话级匹配单位。通过上述步骤,解决了相关技术中存在的无法支持会话层面的入侵检测的问题,实现了会话层面的入侵检测的有益效果。
上述实施例中的第一预设规则能够针对工控协议的会话层面中非五元组的重要关键字段进行匹配,特定工控协议除了包含非五元组的重要关键字段外,还包含五元组关键字段。在其中一些实施例中,还设置了第二预设规则,用于协同第一预设规则进行全面地匹配。方案如下:解析请求包和响应包的五元组,得到五元组的参数;判断五元组的参数是否符合第二预设规则;在判断到五元组的参数符合第二预设规则的情况下,判断协议数据单元的参数是否符合第一预设规则。
在本实施例中,请求包的五元组包括请求类型的源IP、目的IP、目的端口、协议类型、指令,响应包的五元组包括响应类型的源IP、目的IP、目的端口、协议类型、指令。第二预设规则可以分别针对请求包和数据包建立相应的子规则,各个子规则中包含预设的“正常模式”下的五元组的参数,多个子规则可以组合成一种策略,以该策略作为检测基准,运用该策略去匹配五元组的参数。比如将实时的请求包和响应包的五元组的参数与检测基准进行比较,判断该策略是否命中五元组的参数。
通常,相关技术在判断到五元组的参数符合预设规则的情况下,不会对其进行进一步的检测,导致无法检测出深层次的入侵风险。本实施例在判断到五元组的参数符合第二预设规则的情况下,还继续将请求包和响应包的非五元组的重要关键字段与检测基准进行比较,即判断协议PDU的参数是否符合第一预设规则,只有当请求包和响应包的五元组的参数符合第二预设规则,其PDU的参数符合第一预设规则,才能够确定该请求包和响应包是在正常通信过程中,否则,将根据不同的判断结果给出不同等级的告警。
比如,在判断到五元组的参数未符合第二预设规则的情况下,发出用于表示存在网络入侵的第二告警消息。其中,第二告警消息可以为五元组等级的告警。
在其中一些实施例中,解析请求包和响应包的协议数据单元,得到协议数据单元的参数包括:采集数据包;解析数据包的协议数据单元的参数;根据数据包的协议数据单元的参数,从数据包中筛选出请求包和响应包。
其中,采集数据包可以根据设备中不同的操作平台采用相应的网络数据包捕获工具采集,比如在unix/linux操作平台中,可以使用libpcap(网络数据包捕获函数包)和tcpdump(网络数据包截获分析工具)采集数据包,在windows操作平台中,可以使用wireshark(网络封包分析软件)和npcap(网络封包抓取工具)采集数据包。在采集的数据包中,通过解析数据包的PDU的参数,识别数据包的类型,从数据包中筛选出属于请求类型的请求包,以及属于响应类型的响应包
在从数据包中筛选出请求包和响应包之后,需要对所述筛选的请求包和响应包进行组合,以确保其属于相同的会话。方案如下:从数据包中提取第一数据包和第二数据包,并根据第一数据包和第二数据包的协议数据单元的参数,判断第一数据包和第二数据包是否为相同会话中对应的请求包和响应包;在判断到第一数据包和第二数据包为相同会话中对应的请求包和响应包的情况下,将第一数据包和第二数据包作为请求包和响应包。
在本实施例中,可以通过截取的数据包的功能号对第一数据包和第二数据包做深层次的解析,得到带有功能号的第一数据包的PDU的参数和第二数据包的PDU的参数,以功能号作为会话标识,在第一数据包的PDU的参数中的功能号和第二数据包的PDU的参数中的功能号一致的情况下,代表第一数据包和第二数据包属于相同的会话,因此,可以将第一数据包和第二数据包作为相同会话中的请求包和响应包,以便于准备进行预设规则的判断。
由于工控协议复杂多样,获取的数据包的类型也各有不同,对于不同类型的数据包,需制定相应的判断规则。在其中一些实施例中,在获取数据包之后,根据数据包的协议数据单元的参数,判断数据包的类型是否为数据消息类型;在判断到数据包的类型不为数据消息类型的情况下,从数据包中筛选出请求包和响应包。
在本实施例中,一些特定的工控协议通常两个不同的端口接收两种不同类型的数据包。比如,使用默认端口接收data message(数据消息)类型的数据包,使用非默认端口接收command server(命令服务器)类型的数据包。对于数据消息类型的数据包,不包括会话类型的数据包,也不包括会话类型的PDU的参数;对于命令服务器类型的数据包,包括会话类型的数据包,包括会话类型的PDU的参数。因此,可以通过PDU的参数判断获取的数据包是否为数据消息类型。
在判断到数据包的类型不为数据消息类型的情况下,可以确定该数据包类型为命令服务器,即该数据包包括会话类型的数据包,可以从数据包中筛选出请求包和响应包。
在判断到数据包的类型为数据消息类型的情况下,解析数据消息类型的数据包的预设字段的参数;判断数据消息类型的数据包的预设字段的参数是否符合第三预设规则;在判断到数据消息类型的数据包的预设字段的参数未符合第三预设规则的情况下,发出用于表示存在网络入侵的第三告警消息。
在本实施例中,预设字段的参数可以是非五元组的关键字段。第三预设规则可以包括多个子规则,各个子规则中包含预设的“正常模式”下数据消息类型数据包的预设字段的参数,多个子规则可以组合成一种策略,以该策略作为检测基准,运用该策略去匹配预设字段的参数。比如将实时通信数据与检测基准进行比较,判断该策略是否命中预设字段的参数,以实现在策略的非五元组的关键字段层面实现对未授权访问、中间人攻击、拒绝服务攻击等入侵行为的检测。在判断到数据消息类型的数据包的预设字段的参数未符合第三预设规则的情况下,发出用于表示存在网络入侵的第三告警消息。其中,第三告警消息可以为不同于五元组等级的告警。
以下,将以EGD协议为例,给出将本申请所提供的网络入侵检测方法运用于EGD协议的优选实施例。
本实施例提供了基于EGD协议的网络入侵检测架构,主要包括三部分,如下所示:
第一部分:策略制定。
策略是一组规则组成的集合。本申请提出的策略颗粒单位细化到EGD协议各种PDU对应的重要关键字段,并以会话(session)作为匹配单位。这些重要关键字段包括:Type、Version、RequestID、ProducerID、ExchangeID、Status、PVN1、AddressType、TimeStamp、ConfigurationSignature。一组会话包括request和response两种类型数据包,以会话作为匹配单位能达到更精确的入侵检测效果。策略的配置存储以json文件为主,因其简短且可扩展性强。
第二部分:实时数据采集。
通过libpcap采集到的数据包未经过处理,所以,通过端口过滤、协议标志识别等解析处理可以初步得到EGD协议对应的PDU,然后通过深层次的解析动作完成该PDU各个字段的解析,如果是request类型数据包,系统将缓存该包数据,等待其对应的response类型数据包的出现;如果其对应的response类型数据包已出现,系统则将这一组已经过深层解析后的会话数据送于上层做实时入侵检测。
第三部分:实时入侵检测。
首先,策略配置更新完后会通知实时入侵检测系统去更新对应匹配的策略。实时入侵检测系统更新完策略后会根据实时采集系统上报的EGD会话数据包去策略中查找对应的匹配选项,若匹配命中规则说明该会话数据包处在正常通信过程,若未匹配中则说明该会话数据包存在一定的风险,以不同相应等级告警的形式通知用户。
对应于上述实施例的基于EGD协议的网络入侵检测架构,本实施例提供了一种基于EDG协议的网络入侵检测方法的流程图,如图3所示,该流程包括如下步骤:
步骤S301,启动系统。
步骤S302,加载策略。
步骤S303,采集数据。
步骤S304,端口过滤。
步骤S305,解析EGD数据包。
步骤S306,判断EGD数据包是否为request(请求)包,在判断到EGD数据包为request包的情况下,执行步骤S307;在判断到EGD数据包不为request包的情况下,执行步骤S308。
步骤S307,缓存request包;回到步骤S303。
步骤S308,判断EGD数据包是否能组成session(会话),在判断到EGD数据包能组成session的情况下,执行步骤S309;在判断到EGD数据包不能组成session的情况下,执行步骤S310。
步骤S309,组成session。
步骤S310,基本的五元组匹配。
步骤S311,判断五元组匹配是否命中,在判断到五元组匹配命中的情况下,执行步骤S312;在判断到五元组匹配没有命中的情况下,执行步骤S314。
步骤S312,策略中其他关键字段匹配。
步骤S313,判断策略中其他关键字段匹配是否命中,在判断到策略中其他关键字段匹配命中的情况下,执行步骤S315。在判断到策略中其他关键字段匹配没有命中的情况下,执行步骤S314。
步骤S314,告警通知。
步骤S315,结束当前数据检测,开启新一轮检测。
其中,关于EGD深层析解析,包括以下步骤:
步骤1:基于libpcap采集数据进行端口过滤,EGD的默认端口为18246用来接收data message类型的报文,还有另一端口为7937用来接收command server类型的报文。
步骤2:根据端口和PDU类型解析数据包,对于18246端口解析date message类型数据包,分别解析出Type、Version、RequestID、ExchangeID、TimeStamp等字段;对于7937端口解析其对应的PDU类型数据包,这些PDU包括request retrieve configuration pdu、request summary pdu、request capablities pdu、request statistics pdu、requestread pdu、request write pdu、request masked write pdu,以及这些pdu对应的response数据包。
关于策略制定及匹配过程,包括以下步骤:
步骤1:根据不同类型PDU定义不同策略,对于data message类型数据包,除了定义通用的五元组关键字匹配项外,还包括Type、Version、RequestID、ExchangeID、TimeStamp等字段,并支持“=”、“!”、“<”、“>”等用来匹配的比较操作符。
步骤2:根据EGD协议制定session匹配策略,对于command server类型的数据包,其包含request和response两种类型数据包,在其对应的策略中除包含通用的request和response包对应的通用五元组匹配元素外,还存在session的匹配要素以及类似datamessage类型的其他关键字匹配项。具体来说,一条策略除包含request包对应的五元组匹配选项以及request包对应的Type、MessageFlag、RequestID等重要关键字匹配选项外,还包含其对应的response包相应的匹配选项。
步骤3:实时采集上来的EGD数据包,先通过基本的五元组进行匹配,若发现源IP、目的IP、指令(EGD协议对应PDU Type)不在制定的策略中,则报告五元组级别的告警;若五元组匹配通过,则根据PDU类型进行策略中的其他字段匹配过程。这里将会区分datamessage和command server类型的策略匹配,data message为单向匹配并不构建session策略,而command server则将构建session匹配,意即只有同时满足策略中request和response相关的关键匹配字段选项才认为这条数据是在正常通信过程内,不然将会根据不同匹配结果给出不同严重等级的告警。
本申请所提供的网络入侵检测方法,相比于相关技术,至少包括以下优势:
(1)现有技术对常见的几种工控协议如Modbus等统一了策略模板,往往在五元组(源IP、目的IP、目的端口、协议类型、指令)方面制定了统一的策略,造成无法对特定的协议如EGD制定特定的策略或者说更丰富的策略。针对该问题,本申请给出专有工控协议EGD专有策略模板,不仅给出五元组,而且包括其对应PDU中的各个关键字选项参数。
(2)现有技术对流量包的解析止步于协议指令,未对协议本身其他字段展示详细解析,造成攻击者容易通过协议的其他字段展开攻击。针对该问题,本申请在协议解析过程中不仅解析五元组,还解析EGD对应的PDU所有的其他字段。
(3)现有技术对工控协议在会话层面的策略做得不够好,导致攻击者可以结合会话中的请求包或响应包展开攻击。针对该问题,本申请所给出的EGD协议策略模板中不仅包含会话中请求方面的重要关键字匹配规则,还包括对应的响应方面的重要关键字匹配规则。
综上,本申请可以解决工控网络监测审计过程中因为不支持EGD协议而带来的针对EGD协议的工控网络入侵攻击问题,也可解决因为不支持EGD协议而无法审计EGD协议工控设备的互访深层次关系问题。对于工控环境中采用EGD协议设备的客户,本发明不仅能满足动态识别设备间互访深层次关系,且能提供对设备的深层次入侵检测。
此外,本申请还提供了一种网络入侵检测系统,用于实现上述的网络入侵检测方法。该系统包括:业务设备、采集设备和管理设备;其中,
业务设备,用于提供数据包的流量访问。
采集设备,耦接至业务设备,用于通过访问数据包的流量,采集数据包。
管理设备,耦接至采集设备,用于管理采集设备,并执行如上述实施例所描述的网络入侵检测方法。
在实时采集数据包的过程中,可能会导致丢包或卡顿的问题。为了优化数据包的采集过程,作为一种优选实施方式,可以将数据包的流量进行旁路镜像处理,以避免对业务流量造成影响,从而解决实施采集数据包的过程中出现的丢包或卡顿的问题。
图4是根据本申请实施例的一种网络入侵检测系统部署示意图,如图4所示,该系统以独立设备的形式搭载网络入侵检测平台,设备网口提供管理口和业务口,管理口提供平台访问,业务口提供镜像流量访问。在工控环境的现场控制层和过程控制层部署多台设备探针,并以集中方式管理和监测各个探针设备。
本实施例还提供了一种网络入侵检测装置,该装置用于实现上述实施例及优选实施方式,已经进行过说明的不再赘述。如以下所使用的,术语“模块”、“单元”、“子单元”等可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。
图5是根据本申请实施例的网络入侵检测装置的结构框图,如图5所示,该装置包括:解析模块51,判断模块52,告警模块53;其中,
解析模块51,用于解析请求包和响应包的协议数据单元,得到协议数据单元的参数,其中,响应包为相同会话中响应于请求包的数据包。
判断模块52,耦接至解析模块,用于判断协议数据单元的参数是否符合第一预设规则。
告警模块53,耦接至判断模块,用于在判断到协议数据单元的参数未符合第一预设规则的情况下,发出用于表示存在网络入侵的第一告警消息。
在其中一些实施例中,装置还包括:
第一解析子模块,用于解析请求包和响应包的五元组,得到五元组的参数。
第一判断子模块,用于判断五元组的参数是否符合第二预设规则。
判断模块52还用于在判断到五元组的参数符合第二预设规则的情况下,判断协议数据单元的参数是否符合第一预设规则。
在其中一些实施例中,装置还包括:
第一告警子模块,用于在判断到五元组的参数未符合第二预设规则的情况下,发出用于表示存在网络入侵的第二告警消息。
在其中一些实施例中,装置还包括:
采集模块,用于采集数据包。
第二解析子模块,用于解析数据包的协议数据单元的参数。
第一筛选模块,用于根据数据包的协议数据单元的参数,从数据包中筛选出请求包和响应包。
在其中一些实施例中,装置还包括:
提取模块,用于从数据包中提取第一数据包和第二数据包,并根据第一数据包和第二数据包的协议数据单元的参数,判断第一数据包和第二数据包是否为相同会话中对应的请求包和响应包;在判断到第一数据包和第二数据包为相同会话中对应的请求包和响应包的情况下,将第一数据包和第二数据包作为请求包和响应包。
在其中一些实施例中,装置还包括:
第二判断子模块,用于根据数据包的协议数据单元的参数,判断数据包的类型是否为数据消息类型。
第二筛选模块,用于在判断到数据包的类型不为数据消息类型的情况下,从数据包中筛选出请求包和响应包。
在其中一些实施例中,装置还包括:
第三解析子模块,用于在判断到数据包的类型为数据消息类型的情况下,解析数据消息类型的数据包的预设字段的参数。
第三判断子模块,用于判断数据消息类型的数据包的预设字段的参数是否符合第三预设规则。
第二告警子模块,用于在判断到数据消息类型的数据包的预设字段的参数未符合第三预设规则的情况下,发出用于表示存在网络入侵的第三告警消息。
需要说明的是,上述各个模块可以是功能模块也可以是程序模块,既可以通过软件来实现,也可以通过硬件来实现。对于通过硬件来实现的模块而言,上述各个模块可以位于同一处理器中;或者上述各个模块还可以按照任意组合的形式分别位于不同的处理器中。
另外,结合上述实施例中的网络入侵检测方法,本申请实施例可提供一种计算机可读存储介质来实现。该计算机可读存储介质上存储有计算机程序指令;该计算机程序指令被处理器执行时实现上述实施例中的任意一种网络入侵检测方法。
以上所述实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。

Claims (8)

1.一种网络入侵检测方法,其特征在于,包括:
解析请求包和响应包的协议数据单元,得到所述协议数据单元的参数,其中,所述响应包为相同会话中响应于所述请求包的数据包;
判断所述协议数据单元的参数是否符合第一预设规则,所述第一预设规则包括多个子规则,各子规则包括正常模式下请求包和响应包中协议数据单元的参数,所述正常模式为源IP、目的IP、目的端口、协议类型和指令构造的五元组;
在判断到所述协议数据单元的参数未符合所述第一预设规则的情况下,发出用于表示存在网络入侵的第一告警消息;
其中,解析请求包和响应包的协议数据单元,得到所述协议数据单元的参数包括:采集数据包,根据所述数据包的协议数据单元的参数,判断所述数据包的类型是否为数据消息类型,在判断到所述数据包的类型不为所述数据消息类型的情况下,从所述数据包中筛选出所述请求包和所述响应包;
其中,判断所述协议数据单元的参数是否符合第一预设规则包括:解析所述请求包和所述响应包的五元组,得到所述五元组的参数,判断所述五元组的参数是否符合第二预设规则,所述第二预设规则可以分别针对所述请求包和所述数据包建立相应的子规则,各子规则包括所述正常模式下五元组的参数,在判断到所述五元组的参数符合所述第二预设规则的情况下,判断所述协议数据单元的参数是否符合所述第一预设规则。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
在判断到所述五元组的参数未符合所述第二预设规则的情况下,发出用于表示存在网络入侵的第二告警消息。
3.根据权利要求1所述的方法,其特征在于,解析请求包和响应包的协议数据单元,得到所述协议数据单元的参数包括:
采集数据包;
解析所述数据包的协议数据单元的参数;
根据所述数据包的协议数据单元的参数,从所述数据包中筛选出所述请求包和所述响应包。
4.根据权利要求1所述的方法,其特征在于,根据所述数据包的协议数据单元的参数,从所述数据包中筛选出所述请求包和所述响应包包括:
从所述数据包中提取第一数据包和第二数据包,并根据所述第一数据包和所述第二数据包的协议数据单元的参数,判断所述第一数据包和所述第二数据包是否为相同会话中对应的请求包和响应包;
在判断到所述第一数据包和所述第二数据包为相同会话中对应的请求包和响应包的情况下,将所述第一数据包和所述第二数据包作为所述请求包和所述响应包。
5.根据权利要求1所述的方法,其特征在于,所述方法还包括:
在判断到所述数据包的类型为所述数据消息类型的情况下,解析所述数据消息类型的数据包的预设字段的参数;
判断所述数据消息类型的数据包的预设字段的参数是否符合第三预设规则,所述第三预设规则包括多个子规则,各子规则包括所述正常模式下数据消息类型的数据包的预设字段的参数;
在判断到所述数据消息类型的数据包的预设字段的参数未符合所述第三预设规则的情况下,发出用于表示存在网络入侵的第三告警消息。
6.一种网络入侵检测装置,其特征在于,包括:
解析模块,用于解析请求包和响应包的协议数据单元,得到所述协议数据单元的参数,其中,所述响应包为相同会话中响应于所述请求包的数据包;
判断模块,用于判断所述协议数据单元的参数是否符合第一预设规则,所述第一预设规则包括多个子规则,各子规则包括正常模式下请求包和响应包中协议数据单元的参数,所述正常模式为源IP、目的IP、目的端口、协议类型和指令构造的五元组;
告警模块,用于在判断到所述协议数据单元的参数未符合所述第一预设规则的情况下,发出用于表示存在网络入侵的第一告警消息;
其中,解析请求包和响应包的协议数据单元,得到所述协议数据单元的参数包括:采集数据包,根据所述数据包的协议数据单元的参数,判断所述数据包的类型是否为数据消息类型,在判断到所述数据包的类型不为所述数据消息类型的情况下,从所述数据包中筛选出所述请求包和所述响应包;
其中,判断所述协议数据单元的参数是否符合第一预设规则包括:解析所述请求包和所述响应包的五元组,得到所述五元组的参数,判断所述五元组的参数是否符合第二预设规则,所述第二预设规则可以分别针对所述请求包和所述数据包建立相应的子规则,各子规则包括所述正常模式下五元组的参数,在判断到所述五元组的参数符合所述第二预设规则的情况下,判断所述协议数据单元的参数是否符合所述第一预设规则。
7.一种网络入侵检测系统,其特征在于,包括:业务设备、采集设备和管理设备;其中,
所述业务设备,用于提供数据包的流量访问;
所述采集设备,耦接至所述业务设备,用于通过访问所述数据包的流量,采集所述数据包;
所述管理设备,耦接至所述采集设备,用于管理所述采集设备,并执行如权利要求1至5中任一项所述的网络入侵检测方法。
8.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1至5中任一项所述的网络入侵检测方法。
CN202010389531.XA 2020-05-08 2020-05-08 网络入侵检测方法、装置、系统和存储介质 Active CN111600863B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010389531.XA CN111600863B (zh) 2020-05-08 2020-05-08 网络入侵检测方法、装置、系统和存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010389531.XA CN111600863B (zh) 2020-05-08 2020-05-08 网络入侵检测方法、装置、系统和存储介质

Publications (2)

Publication Number Publication Date
CN111600863A CN111600863A (zh) 2020-08-28
CN111600863B true CN111600863B (zh) 2022-09-13

Family

ID=72183850

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010389531.XA Active CN111600863B (zh) 2020-05-08 2020-05-08 网络入侵检测方法、装置、系统和存储介质

Country Status (1)

Country Link
CN (1) CN111600863B (zh)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112640392B (zh) * 2020-11-20 2022-05-13 华为技术有限公司 一种木马检测方法、装置和设备
CN112887405B (zh) * 2021-01-26 2022-09-30 深信服科技股份有限公司 一种入侵防御方法、系统及相关设备
CN115208596B (zh) * 2021-04-09 2023-09-19 中国移动通信集团江苏有限公司 网络入侵防御方法、装置及存储介质
CN113259160A (zh) * 2021-05-11 2021-08-13 杭州安恒信息安全技术有限公司 工控网络的点位信息预警方法、装置和电子装置
CN114462023A (zh) * 2022-01-21 2022-05-10 内蒙古工业大学 一种用于发电厂控制系统的蜜罐防御控制方法及装置
CN114978782B (zh) * 2022-08-02 2022-11-01 北京六方云信息技术有限公司 工控威胁检测方法、装置、工控设备以及存储介质
CN115065568B (zh) * 2022-08-19 2022-12-20 北京珞安科技有限责任公司 一种工控网络入侵检测方法及系统

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101800989A (zh) * 2010-01-19 2010-08-11 重庆邮电大学 用于工业无线网络的防重放攻击系统
CN105429963A (zh) * 2015-11-04 2016-03-23 北京工业大学 基于Modbus/Tcp的入侵检测分析方法
CN107438052A (zh) * 2016-05-26 2017-12-05 中国科学院沈阳自动化研究所 一种面向未知工业通信协议规约的异常行为检测方法

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2815282A4 (en) * 2012-02-17 2015-08-19 Vencore Labs Inc METHOD AND SYSTEM FOR PACKAGE DETECTION, ANALYSIS AND IMPACT DETECTION AT FIELD BUSES
CN105204487A (zh) * 2014-12-26 2015-12-30 北京邮电大学 基于通信模型的工业控制系统的入侵检测方法及系统
US10291506B2 (en) * 2015-03-04 2019-05-14 Fisher-Rosemount Systems, Inc. Anomaly detection in industrial communications networks
CN106254316B (zh) * 2016-07-20 2019-07-05 北京工业大学 一种基于数据依赖的工控行为异常检测系统
CN106603531A (zh) * 2016-12-15 2017-04-26 中国科学院沈阳自动化研究所 一种基于工业控制网络的入侵检测模型的自动建立方法及装置
CN108810034A (zh) * 2018-08-20 2018-11-13 杭州安恒信息技术股份有限公司 一种工业控制系统信息资产的安全防护方法
CN109743187B (zh) * 2018-11-23 2021-11-16 奇安信科技集团股份有限公司 工控网络异常检测方法及装置
CN110096013A (zh) * 2019-05-24 2019-08-06 广东工业大学 一种工业控制系统的入侵检测方法及装置

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101800989A (zh) * 2010-01-19 2010-08-11 重庆邮电大学 用于工业无线网络的防重放攻击系统
CN105429963A (zh) * 2015-11-04 2016-03-23 北京工业大学 基于Modbus/Tcp的入侵检测分析方法
CN107438052A (zh) * 2016-05-26 2017-12-05 中国科学院沈阳自动化研究所 一种面向未知工业通信协议规约的异常行为检测方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
基于行为模型的工控异常检测方法研究;宋站威等;《计算机科学》;20180115(第01期);第242-248页 *
工业控制系统入侵检测技术综述;杨安等;《计算机研究与发展》;20160915(第09期);第150-165页 *

Also Published As

Publication number Publication date
CN111600863A (zh) 2020-08-28

Similar Documents

Publication Publication Date Title
CN111600863B (zh) 网络入侵检测方法、装置、系统和存储介质
CN104937886B (zh) 日志分析装置、信息处理方法
CN107135093B (zh) 一种基于有限自动机的物联网入侵检测方法及检测系统
US7483972B2 (en) Network security monitoring system
CN109688105B (zh) 一种威胁报警信息生成方法及系统
US20140165207A1 (en) Method for detecting anomaly action within a computer network
EP3223495B1 (en) Detecting an anomalous activity within a computer network
KR20060013491A (ko) 어택 서명 생성 방법, 서명 생성 애플리케이션 적용 방법, 컴퓨터 판독 가능 기록 매체 및 어택 서명 생성 장치
US20060224886A1 (en) System for finding potential origins of spoofed internet protocol attack traffic
Janabi et al. Convolutional neural network based algorithm for early warning proactive system security in software defined networks
US10263975B2 (en) Information processing device, method, and medium
CN109462621A (zh) 网络安全保护方法、装置及电子设备
CN112769833B (zh) 命令注入攻击的检测方法、装置、计算机设备和存储介质
Neu et al. Lightweight IPS for port scan in OpenFlow SDN networks
KR101281456B1 (ko) 자기 유사성을 이용한 scada 네트워크의 이상증후를 탐지하는 장치 및 방법
US20180183714A1 (en) Using a flow database to automatically configure network traffic visibility systems
CN115941317A (zh) 一种网络安全综合分析及态势感知平台
WO2019230739A1 (ja) 異常検出装置、異常検出方法および異常検出プログラム
CN108418697A (zh) 一种智能化的安全运维服务云平台的实现架构
CN117792733A (zh) 一种网络威胁的检测方法及相关装置
CN109218315B (zh) 一种安全管理方法和安全管理装置
TW202335468A (zh) 用於檢測網路中基礎設施的異常的方法及設備
CN112350864B (zh) 域控终端的保护方法、装置、设备和计算机可读存储介质
CN113194087A (zh) 一种用于不同信息域的安全风险高强度监测系统
CN112769847A (zh) 物联网设备的安全防护方法、装置、设备及存储介质

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