CN114679309A - 报文检测方法及装置 - Google Patents
报文检测方法及装置 Download PDFInfo
- Publication number
- CN114679309A CN114679309A CN202210280421.9A CN202210280421A CN114679309A CN 114679309 A CN114679309 A CN 114679309A CN 202210280421 A CN202210280421 A CN 202210280421A CN 114679309 A CN114679309 A CN 114679309A
- Authority
- CN
- China
- Prior art keywords
- uds
- rule
- payload type
- target
- packet
- 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.)
- Granted
Links
- 238000001514 detection method Methods 0.000 title claims abstract description 46
- 230000006854 communication Effects 0.000 claims abstract description 189
- 238000004891 communication Methods 0.000 claims abstract description 188
- 238000003745 diagnosis Methods 0.000 claims abstract description 80
- 230000009471 action Effects 0.000 claims abstract description 74
- 238000000034 method Methods 0.000 claims abstract description 43
- 230000005540 biological transmission Effects 0.000 claims description 14
- 238000012545 processing Methods 0.000 claims description 7
- 238000007689 inspection Methods 0.000 claims 1
- 230000006870 function Effects 0.000 description 12
- 238000001914 filtration Methods 0.000 description 5
- 230000008569 process Effects 0.000 description 5
- 230000004044 response Effects 0.000 description 5
- 238000010586 diagram Methods 0.000 description 3
- 101100513046 Neurospora crassa (strain ATCC 24698 / 74-OR23-1A / CBS 708.71 / DSM 1257 / FGSC 987) eth-1 gene Proteins 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- WXZOXVVKILCOPG-UHFFFAOYSA-N bis(2-ethylhexyl) benzene-1,3-dicarboxylate Chemical compound CCCCC(CC)COC(=O)C1=CC=CC(C(=O)OCC(CC)CCCC)=C1 WXZOXVVKILCOPG-UHFFFAOYSA-N 0.000 description 1
- 230000007423 decrease Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
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/02—Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
- H04L63/0227—Filtering policies
-
- 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
- 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
-
- 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/01—Protocols
- H04L67/12—Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computing Systems (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Medical Informatics (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本申请公开一种报文检测方法及装置,方法包括:从所有诊断通信报文中检测出目标报文,目标报文符合协议规范且目标报文的Payload类型满足预设Payload类型匹配结果;在目标报文对应的既定动作为允许通过且目标报文属于诊断服务报文的情况下,或者,在目标报文不属于预设Payload类型或者未设置预设Payload类型且目标报文属于诊断服务报文的情况下,对地址信息和/或UDS服务标识满足诊断规则的目标报文执行对应的既定动作;在目标报文对应的既定动作为丢弃的情况下,丢弃目标报文,在目标报文对应的既定动作为允许通过且目标报文不属于诊断服务报文的情况下,允许目标报文通过。
Description
技术领域
本申请涉及汽车技术领域,具体而言,涉及一种报文检测方法及装置。
背景技术
DoIP(Diagnostic communication over Internet Protocol,基于网际互连协议的诊断通信)协议是将IP技术运用到车载网络诊断范畴的通信规则。相关技术中,车载以太网DoIP协议栈部署在应用软件层,所有DoIP报文都可经过完整的网络协议栈送达应用层进行处理,所以任意恶意用户都可以发送DoIP报文到ECU(Electronic Control Unit,电子控制单元),并占用ECU资源,修改升级包数据,甚至可能篡改诊断命令,这对车内安全造成了巨大的威胁。
发明内容
本申请提供了一种报文检测方法及装置,能够解决相关技术中存在恶意诊断通信报文攻击ECU导致车辆安全受到威胁的问题。
具体的技术方案如下:
第一方面,本申请实施例提供了一种报文检测方法,所述方法包括:
从所有诊断通信报文中检测出目标报文,其中,所述目标报文符合协议规范且所述目标报文的有效载荷Payload类型满足预设Payload类型匹配结果,其中,所述预设Payload类型匹配结果包括所述诊断通信报文中Payload类型属于预设Payload类型,或者所述诊断通信报文中Payload类型不属于预设Payload类型但属于诊断服务报文,或者未设置预设Payload类型但所述诊断通信报文属于诊断服务报文;
在所述目标报文对应的既定动作为允许通过且所述目标报文属于诊断服务报文的情况下,或者,在所述目标报文不属于预设Payload类型或者未设置预设Payload类型且所述目标报文属于诊断服务报文的情况下,对地址信息和/或统一诊断服务UDS服务标识满足诊断规则的目标报文执行对应的既定动作;
在所述目标报文对应的既定动作为丢弃的情况下,丢弃所述目标报文,在所述目标报文对应的既定动作为允许通过且所述目标报文不属于诊断服务报文的情况下,允许所述目标报文通过。
在一种实施方式中,所述方法还包括:
对所述所有诊断通信报文中除所述目标报文以外的诊断通信报文执行对应的缺省动作,检测终止;和/或,
对所述地址信息和/或所述UDS服务标识不满足所述诊断规则的目标报文执行对应的缺省动作,检测终止。
在一种实施方式中,从所有诊断通信报文中检测出目标报文,包括:
根据所述协议规范对每个未检测的诊断通信报文中的至少一个第一特定字段进行合法性检测;
在所有所述第一特定字段合法的情况下,确定所述未检测的诊断通信报文符合所述协议规范;
将符合所述协议规范的未检测的诊断通信报文中Payload类型与有效载荷类型集合中的预设Payload类型进行匹配;
在匹配成功的情况下,确定符合所述协议规范的未检测的诊断通信报文属于所述预设Payload类型;
在匹配失败的情况下,确定符合所述协议规范的未检测的诊断通信报文不属于所述预设Payload类型;
将Payload类型属于所述预设Payload类型且符合所述协议规范的未检测的诊断通信报文,Payload类型不属于所述预设Payload类型但属于所述诊断服务报文且符合所述协议规范的未检测的诊断通信报文,未设置所述预设Payload类型但属于所述诊断服务报文且符合所述协议规范的未检测的诊断通信报文中至少一项确定为目标报文。
在一种实施方式中在所述诊断通信报文为基于IP的诊断通信DoIP报文的情况下,所述第一特定字段包括DoIP版本号、DoIP取反版本号、DoIP Payload类型、DoIP Payload长度、DoIP应答码、UDS服务标识中至少一项,所述DoIP Payload类型是所述DoIP报文中的Payload类型。
在一种实施方式中,在对地址信息和/或统一诊断服务UDS服务标识满足诊断规则的目标报文执行对应的既定动作之前,所述方法还包括:
判断所述目标报文的地址信息和/或UDS服务标识是否满足诊断规则,其中,所述地址信息包括源IP地址、UDS源逻辑地址、目的IP地址和UDS目的逻辑地址,所述诊断规则包括地址绑定规则和UDS字段规则,满足所述诊断规则包括同时满足所述地址绑定规则和所述UDS字段规则;
判断所述目标报文的地址信息和/或UDS服务标识是否满足诊断规则,包括:
在所述源IP地址和所述UDS源逻辑地址为预先绑定的地址或者所述目标IP地址和所述UDS目的逻辑地址为预先绑定的地址的情况下,确定所述目标报文满足所述地址绑定规则;
在满足所述地址绑定规则的目标报文中至少一个第二特定字段的内容与所述UDS字段规则匹配成功的情况下,确定满足所述地址绑定规则的目标报文满足所述UDS字段规则,其中,所述第二特定字段包括UDS源逻辑地址、UDS目的逻辑地址、UDS服务标识中至少一项。
在一种实施方式中,所述UDS字段规则包括多条UDS字段子规则,所述UDS字段子规则根据所述UDS源逻辑地址、所述UDS目的逻辑地址和所述UDS服务标识中至少一项确定;
满足所述地址绑定规则的目标报文中至少一个第二特定字段的内容与所述UDS字段规则匹配成功包括:
按照所述多条UDS字段子规则优先级从高到低的顺序依次与满足所述地址绑定规则的目标报文中对应的第二特定字段进行匹配,其中,所述UDS字段子规则的长度与所述UDS字段子规则的优先级呈正相关关系,同一长度的多条UDS字段子规则符合所述UDS源逻辑地址、所述UDS目的逻辑地址和所述UDS服务标识的优先级依次降低的原则;
当与某条所述UDS字段子规则匹配成功时,确定满足所述地址绑定规则的目标报文与所述UDS字段规则匹配成功。
在一种实施方式中,按照所述多条UDS字段子规则优先级从高到低的顺序依次与满足所述地址绑定规则的目标报文中对应的第二特定字段进行匹配,包括:
将满足所述地址绑定规则的目标报文中的所述UDS源逻辑地址、所述UDS目的逻辑地址和所述UDS服务标识与第一条UDS字段子规则进行匹配,其中,所述第一条UDS字段子规则包括所述UDS源逻辑地址、所述UDS目的逻辑地址和所述UDS服务标识;
在所述第一条UDS字段子规则匹配失败的情况下,将满足所述地址绑定规则的目标报文中的所述UDS源逻辑地址和所述UDS目的逻辑地址与第二条UDS字段子规则进行匹配,其中,所述第二条UDS字段子规则包括所述UDS源逻辑地址和所述UDS目的逻辑地址;
在所述第二条UDS字段子规则匹配失败的情况下,将满足所述地址绑定规则的目标报文中的所述UDS源逻辑地址和所述UDS服务标识与第三条UDS字段子规则进行匹配,其中,所述第三条UDS字段子规则包括所述UDS源逻辑地址和所述UDS服务标识;
在所述第三条UDS字段子规则匹配失败的情况下,将满足所述地址绑定规则的目标报文中的所述UDS目的逻辑地址和所述UDS服务标识与第四条UDS字段子规则进行匹配,其中,第四条UDS字段子规则包括所述UDS目的逻辑地址和所述UDS服务标识;
在所述第四条UDS字段子规则匹配失败的情况下,将满足所述地址绑定规则的目标报文中的所述UDS源逻辑地址与第五条UDS字段子规则进行匹配,其中,所述第五条UDS字段子规则包括所述UDS源逻辑地址;
在所述第五条UDS字段子规则匹配失败的情况下,将满足所述地址绑定规则的目标报文中的所述UDS目的逻辑地址与第六条UDS字段子规则进行匹配,所述第六条UDS字段子规则包括所述UDS目的逻辑地址;
在所述第六条UDS字段子规则匹配失败的情况下,将满足所述地址绑定规则的目标报文中的所述UDS服务标识与第七条UDS字段子规则进行匹配,其中,所述第七条UDS字段子规则包括所述UDS服务标识。
在一种实施方式中,所述方法还包括:
记录日志信息,其中,所述日志信息包括所述诊断通信报文的源IP地址、所述诊断通信报文的目的IP地址、传输所述诊断通信报文的源端口、传输所述诊断通信报文的目的端口、报文传输协议、传输所述诊断通信报文的源接口、传输所述诊断通信报文的目的接口、Payload类型、UDS服务标识、UDS源逻辑地址、UDS目的逻辑地址、所述诊断通信报文执行的动作、所述诊断通信报文执行动作的原因、处理所述诊断通信报文的电子控制单元ECU标识中至少一项。
在一种实施方式中,在从所有诊断通信报文中检测出目标报文之前,所述方法还包括:
在传输层中通过端口号识别所述所有诊断通信报文,所述端口号包括基于传输控制协议TCP和用户数据报协议UDP的13400端口。
第二方面,本申请的另一个实施例提供了一种报文检测装置,所述装置包括:
检测单元,用于从所有诊断通信报文中检测出目标报文,其中,所述目标报文符合协议规范且所述目标报文的有效载荷Payload类型满足预设Payload类型匹配结果,其中,所述预设Payload类型匹配结果包括所述诊断通信报文中Payload类型属于预设Payload类型,或者所述诊断通信报文中Payload类型不属于预设Payload类型但属于诊断服务报文,或者未设置预设Payload类型但所述诊断通信报文属于诊断服务报文;
第一执行单元,用于在所述目标报文对应的既定动作为允许通过且所述目标报文属于诊断服务报文的情况下,或者,在所述目标报文不属于预设Payload类型或者未设置预设Payload类型且所述目标报文属于诊断服务报文的情况下,对地址信息和/或统一诊断服务UDS服务标识满足诊断规则的目标报文执行对应的既定动作;
第二执行单元,用于在所述目标报文对应的既定动作为丢弃的情况下,丢弃所述目标报文,在所述目标报文对应的既定动作为允许通过且所述目标报文不属于诊断服务报文的情况下,允许所述目标报文通过。
在一种实施方式中,所述装置还包括:
第三执行单元,用于对所述所有诊断通信报文中除所述目标报文以外的诊断通信报文执行对应的缺省动作,检测终止;和/或,对所述地址信息和/或所述UDS服务标识不满足所述诊断规则的目标报文执行对应的缺省动作,检测终止。
在一种实施方式中,检测单元,包括:
检测模块,用于根据所述协议规范对每个未检测的诊断通信报文中的至少一个第一特定字段进行合法性检测;
第一确定模块,用于在所有所述第一特定字段合法的情况下,确定所述未检测的诊断通信报文符合所述协议规范;
匹配模块,用于将符合所述协议规范的未检测的诊断通信报文中Payload类型与有效载荷类型集合中的预设Payload类型进行匹配;
第一确定模块,还用于在匹配成功的情况下,确定符合所述协议规范的未检测的诊断通信报文属于预设Payload类型,在匹配失败的情况下,确定符合所述协议规范的未检测的诊断通信报文不属于预设Payload类型;
第二确定模块,用于将Payload类型属于所述预设Payload类型且符合所述协议规范的未检测的诊断通信报文,Payload类型不属于所述预设Payload类型但属于所述诊断服务报文且符合所述协议规范的未检测的诊断通信报文,未设置所述预设Payload类型但属于所述诊断服务报文且符合所述协议规范的未检测的诊断通信报文中至少一项确定为目标报文。
在一种实施方式中,在所述诊断通信报文为基于IP的诊断通信DoIP报文的情况下,所述第一特定字段包括DoIP版本号、DoIP取反版本号、DoIP Payload类型、DoIPPayload长度、DoIP应答码、统一诊断服务UDS服务标识中至少一项,所述DoIP Payload类型是所述DoIP报文中的Payload类型。
在一种实施方式中,所述装置还包括:
判断单元,用于在对地址信息和/或统一诊断服务UDS服务标识满足诊断规则的目标报文执行对应的既定动作,对地址信息和/或UDS服务标识不满足所述诊断规则的目标报文执行对应的缺省动作之前,判断所述目标报文的地址信息和/或UDS服务标识是否满足诊断规则,其中,所述地址信息包括源IP地址、UDS源逻辑地址、目的IP地址和UDS目的逻辑地址,所述诊断规则包括地址绑定规则和UDS字段规则,满足所述诊断规则包括同时满足所述地址绑定规则和所述UDS字段规则;
判断单元,包括:
第三确定模块,用于在所述源IP地址和所述UDS源逻辑地址为预先绑定的地址或者所述目标IP地址和所述UDS目的逻辑地址为预先绑定的地址的情况下,确定所述目标报文满足所述地址绑定规则;
第四确定模块,用于在满足所述地址绑定规则的目标报文中至少一个第二特定字段的内容与所述UDS字段规则匹配成功的情况下,确定满足所述地址绑定规则的目标报文满足所述UDS字段规则,其中,所述第二特定字段包括UDS源逻辑地址、UDS目的逻辑地址、UDS服务标识中至少一项。
在一种实施方式中,所述UDS字段规则包括多条UDS字段子规则,所述UDS字段子规则根据所述UDS源逻辑地址、所述UDS目的逻辑地址和所述UDS服务标识中至少一项确定;
第二判断模块包括:
匹配子模块,用于按照所述多条UDS字段子规则优先级从高到低的顺序依次与满足所述地址绑定规则的目标报文中对应的第二特定字段进行匹配,其中,所述UDS字段子规则的长度与所述UDS字段子规则的优先级呈正相关关系,同一长度的多条UDS字段子规则符合所述UDS源逻辑地址、所述UDS目的逻辑地址和所述UDS服务标识的优先级依次降低的原则;
确定子模块,用于当与某条所述UDS字段子规则匹配成功时,确定满足所述地址绑定规则的目标报文与所述UDS字段规则匹配成功。
在一种实施方式中,匹配子模块,用于
将满足所述地址绑定规则的目标报文中的所述UDS源逻辑地址、所述UDS目的逻辑地址和所述UDS服务标识与第一条UDS字段子规则进行匹配,其中,所述第一条UDS字段子规则包括所述UDS源逻辑地址、所述UDS目的逻辑地址和所述UDS服务标识;
在所述第一条UDS字段子规则匹配失败的情况下,将满足所述地址绑定规则的目标报文中的所述UDS源逻辑地址和所述UDS目的逻辑地址与第二条UDS字段子规则进行匹配,其中,所述第二条UDS字段子规则包括所述UDS源逻辑地址和所述UDS目的逻辑地址;
在所述第二条UDS字段子规则匹配失败的情况下,将满足所述地址绑定规则的目标报文中的所述UDS源逻辑地址和所述UDS服务标识与第三条UDS字段子规则进行匹配,其中,所述第三条UDS字段子规则包括所述UDS源逻辑地址和所述UDS服务标识;
在所述第三条UDS字段子规则匹配失败的情况下,将满足所述地址绑定规则的目标报文中的所述UDS目的逻辑地址和所述UDS服务标识与第四条UDS字段子规则进行匹配,其中,第四条UDS字段子规则包括所述UDS目的逻辑地址和所述UDS服务标识;
在所述第四条UDS字段子规则匹配失败的情况下,将满足所述地址绑定规则的目标报文中的所述UDS源逻辑地址与第五条UDS字段子规则进行匹配,其中,所述第五条UDS字段子规则包括所述UDS源逻辑地址;
在所述第五条UDS字段子规则匹配失败的情况下,将满足所述地址绑定规则的目标报文中的所述UDS目的逻辑地址与第六条UDS字段子规则进行匹配,所述第六条UDS字段子规则包括所述UDS目的逻辑地址;
在所述第六条UDS字段子规则匹配失败的情况下,将满足所述地址绑定规则的目标报文中的所述UDS服务标识与第七条UDS字段子规则进行匹配,其中,所述第七条UDS字段子规则包括所述UDS服务标识。
在一种实施方式中,所述装置还包括:
记录单元,用于记录日志信息,其中,所述日志信息包括所述诊断通信报文的源IP地址、所述诊断通信报文的目的IP地址、传输所述诊断通信报文的源端口、传输所述诊断通信报文的目的端口、报文传输协议、传输所述诊断通信报文的源接口、传输所述诊断通信报文的目的接口、Payload类型、UDS服务标识、UDS源逻辑地址、UDS目的逻辑地址、所述诊断通信报文执行的动作、所述诊断通信报文执行动作的原因、处理所述诊断通信报文的电子控制单元ECU标识中至少一项。
在一种实施方式中,所述装置还包括:
识别单元,用于在从所有诊断通信报文中检测出目标报文之前,在传输层中通过端口号识别所述所有诊断通信报文,所述端口号包括基于传输控制协议TCP和用户数据报协议UDP的13400端口。
第三方面,本申请的另一个实施例提供了一种存储介质,其上存储有可执行指令,该指令被处理器执行时使处理器实现如第一方面任一实施方式所述的方法。
第四方面,本申请的另一个实施例提供了一种电子设备,所述电子设备包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序,
其中,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现如第一方面任一实施方式所述的方法。
由上述内容可知,本申请实施例提供的报文检测方法及装置,能够从所有诊断通信报文中检测出符合协议规范且Payload类型满足预设Payload(有效载荷)类型匹配结果的目标报文,其中,预设Payload类型匹配结果包括诊断通信报文中Payload类型属于预设Payload类型,或者诊断通信报文中Payload类型不属于预设Payload类型但属于诊断服务报文,或者未设置预设Payload类型但诊断通信报文属于诊断服务报文;在目标报文对应的既定动作为允许通过且目标报文属于诊断服务报文的情况下,或者,在目标报文不属于预设Payload类型或者未设置预设Payload类型且目标报文属于诊断服务报文的情况下,对地址信息和/或UDS服务标识满足诊断规则的目标报文执行对应的既定动作;在目标报文对应的既定动作为丢弃的情况下,丢弃目标报文,在目标报文对应的既定动作为允许通过且目标报文不属于诊断服务报文的情况下,允许目标报文通过。由此可知,本申请实施例可以从诊断通信报文中字段合法性、Payload类型、诊断规则等方面对接收到的报文进行安全检测,对符合规则的执行既定动作,从而可以防止恶意诊断通信报文对ECU产生攻击,进而使得车辆免受安全威胁。
本申请实施例可以取得的技术效果还包括但不限于以下几点:
1、便于后续统计和查看诊断通信报文相关信息,本申请实施例还可以记录日志信息。
2、为了便于直观获知满足各种条件的诊断通信报文收发情况,本申请实施例还可以进行流量统计。
当然,实施本申请的任一产品或方法并不一定需要同时达到以上所述的所有优点。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单介绍。显而易见地,下面描述中的附图仅仅是本申请的一些实施例。对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例提供的一种报文检测方法的流程示意图;
图2为本申请实施例提供的另一种报文检测方法的流程示意图;
图3为本申请实施例提供的一种报文检测框架示意图;
图4为本申请实施例提供的一种报文检测装置的组成框图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整的描述。显然,所描述的实施例仅仅是本申请的一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有付出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
需要说明的是,本申请实施例及附图中的术语“包括”和“具有”以及它们的任何变形,意图在于覆盖不排他的包含。例如包含的一系列步骤或单元的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其他步骤或单元。
图1为本申请实施例提供的一种报文检测方法,该方法主要应用于车辆,且具体可以应用于ECU,该方法主要包括:
S110:从所有诊断通信报文中检测出目标报文。
ECU启动后,加载诊断通信包检测模块,配置缺省检测规则及用户自定义检测规则,同时支持在车载系统运行过程中动态修改过滤规则。由于ECU接收到的报文不仅限于诊断通信报文,所以在从所有诊断通信报文中检测出目标报文之前,可以在传输层中通过端口号识别所有诊断通信报文,端口号可以包括基于TCP(Transmission Control Protocol,传输控制协议)和UDP(User Datagram Protocol,用户数据报协议)协议的13400端口。其中,诊断通信报文包括DoIP报文。
目标报文符合协议规范且所述目标报文的Payload类型满足预设Payload类型匹配结果,其中,所述预设Payload类型匹配结果包括所述诊断通信报文中Payload类型属于预设Payload类型,或者所述诊断通信报文中Payload类型不属于预设Payload类型但属于诊断服务报文,或者未设置预设Payload类型但所述诊断通信报文属于诊断服务报文。
从所有诊断通信报文中检测出目标报文的具体实现方式包括:根据协议规范对每个未检测的诊断通信报文中的至少一个第一特定字段进行合法性检测;在所有第一特定字段合法的情况下,确定所述未检测的诊断通信报文符合所述协议规范;将符合所述协议规范的未检测的诊断通信报文中Payload类型与有效载荷类型集合中的预设Payload类型进行匹配;在匹配成功的情况下,确定符合所述协议规范的未检测的诊断通信报文属于预设Payload类型;在匹配失败的情况下,确定符合所述协议规范的未检测的诊断通信报文不属于预设Payload类型;将Payload类型属于预设Payload类型的符合所述协议规范的未检测的诊断通信报文,Payload类型不属于预设Payload类型但属于诊断服务报文的符合所述协议规范的未检测的诊断通信报文,未设置预设Payload类型但属于诊断服务报文的符合所述协议规范的未检测的诊断通信报文中至少一项确定为目标报文。
其中,在诊断通信报文为DoIP报文的情况下,第一特定字段包括DoIP版本号、DoIP取反版本号、DoIP Payload类型、DoIP Payload长度、DoIP应答码、UDS(UnifiedDiagnostic Services,统一诊断服务)服务标识中至少一项,所述DoIP Payload类型是所述DoIP报文中的Payload类型。DoIP版本号、DoIP取反版本号、DoIP Payload类型、DoIPPayload长度、DoIP应答码对应的协议规范包括ISO13400-2协议规范,UDS服务标识对应的协议规范包括ISO14229-1协议规范。此外,确定所述未检测的诊断通信报文不符合所述协议规范。
一般的DoIP报文结构包括0x[DoIP版本号][DoIP取反版本号][DoIP payload类型][DoIP payload长度][payload具体内容]。以一个符合协议规范的DoIP报文为例对上述第一特征字段进行解释,假设DoIP报文为0x[02][fd][0001][00000001][03],那么报文中的0x02为DoIP版本号,0xfd为DoIP取反版本号,0x0001为DoIP payload类型,0x00000001为DoIP payload长度,0x03为payload具体内容。只要上述每个第一特征字段不在协议规范规定的范围内,则确定对应第一特征字段不合法。
与诊断相关的DoIP报文结构包括0x[DoIP版本号][DoIP取反版本号][DoIPpayload类型][DoIP payload长度][UDS源逻辑地址][UDS目的逻辑地址][UDS服务标识/DoIP应答码][UDS服务的具体内容]。以一个符合协议规范的DoIP报文为例对上述第一特征字段进行解释,假设DoIP报文为0x[02][fd][8001][00000006][2222][3333][10][11],那么报文中的0x02为DoIP版本号,0xfd为DoIP取反版本号,0x8001为DoIP payload类型(其中0x8001表明是UDS诊断服务报文,0x8002/0x8003分别是对0x8001的肯定和否定应答),0x00000006为DoIP payload长度,0x10为UDS服务标识(针对DoIP Payload类型是0x8002的报文,此处不是UDS服务标识,而是DoIP应答码)。此外,0x2222为UDS源地址,0x3333为UDS目的地址,0x11为UDS服务的具体内容。只要上述每个第一特征字段不在协议规范规定的范围内,则确定对应第一特征字段不合法。
DoIP报文在ISO13400-2Table17中规定了16种不同的Payload类型用来标识通信过程中的车辆发现和诊断通信,本申请提供针对Payload类型进行过滤的功能,可阻断特定类型报文,即不在有效载荷类型集合内的Payload类型对应的DoIP报文将执行对应的缺省动作。
在一种实施方式中,在从所有诊断通信报文中检测出目标报文之后,可以对目标报文执行既定动作,之后执行S120或S130,对所有诊断通信报文中除目标报文以外的诊断通信报文执行对应的缺省动作,检测终止。
需要说明的是,既定动作是针对满足检测诊断通信报文中所涉及的各个规则所设定的执行动作,缺省动作是针对不满足检测诊断通信报文中所涉及的各个规则所设定的默认执行动作,既定动作和缺省动作均可以包括允许通过和丢弃,且针对每条规则对应的既定动作和缺省动作可能不同。
在一种实施方式中,基于上述安全检测功能,细化诊断通信报文检测引擎的具体实现。如表1所示,每条检测策略由检测规则和执行动作两部分组成:
表1
本申请实施例将诊断通信报文中的数据与规则中的内容进行比较,如果相同则认为该报文匹配规则,执行既定动作;否则继续或者按照缺省动作处理。
比如:ebpftables-A-i eth1-p doip-fbind--ip-address 1.1.1.1--logical-address 0x1234,表示从接口eth1收到的DoIP报文,如果其IP地址是1.1.1.1,则要求它的逻辑地址是0x1234,否则认为不符合IP地址和逻辑地址的绑定规则。这里,可以同时支持源IP地址为1.1.1.1并且UDS源逻辑地址为0x1234,或者目的IP地址为1.1.1.1并且UDS目的逻辑地址为0x1234。
ebpftables-A-o eth1-p doip--uds-si 0x10-j ACCEPT,表示允许接口eth1发出UDS SI为0x10的DoIP报文。
此外,本申请实施例可以先判断是否符合协议规范再判断是否属于预设Payload类型,也可以先判断是否属于预设Payload类型再判断是否符合协议规范,其中,在实际应用中,由于不符合协议规范的诊断通信报文相对于不属于预设Payload类型的诊断通信报文较多,所以前排除不符合协议规范的诊断通信报文,再对符合协议规范的诊断通信报文的Payload类型进行判断,整体执行效率更高。
S120:在目标报文对应的既定动作为允许通过且目标报文属于诊断服务报文的情况下,或者,在目标报文不属于预设Payload类型或者未设置预设Payload类型且目标报文属于诊断服务报文的情况下,对地址信息和/或UDS服务标识满足诊断规则的目标报文执行对应的既定动作。
当目标报文的Payload类型为0x8001时,目标报文属于诊断服务报文。地址信息包括源IP地址、UDS源逻辑地址、目的IP地址和UDS目的逻辑地址,诊断规则包括地址绑定规则和UDS字段规则,满足所述诊断规则包括同时满足所述地址绑定规则和所述UDS字段规则。
其中,如图2所示,判断所述目标报文的地址信息和/或UDS服务标识是否满足诊断规则的具体实现方式包括步骤A1-A2:
(A1)在源IP地址和UDS源逻辑地址为预先绑定的地址或者目标IP地址和UDS目的逻辑地址为预先绑定的地址的情况下,确定目标报文满足地址绑定规则。
通常情况下诊断设备的IP地址和UDS协议中的逻辑地址是绑定的,本发明可对IP地址和逻辑地址绑定关系进行检查,即判断诊断通信报文中的IP地址和UDS协议中的逻辑地址是否匹配,用来防止未知设备入侵。其中,UDS协议中的逻辑地址包括UDS源逻辑地址、UDS目的逻辑地址。
在目标报文满足地址绑定规则的情况下,执行步骤A2,不满足地址绑定规则的情况下,执行对应的缺省动作,并对该目标报文停止后续检测。
(A2)在满足地址绑定规则的目标报文中至少一个第二特定字段的内容与UDS字段规则匹配成功的情况下,确定满足地址绑定规则的目标报文满足UDS字段规则。
其中,第二特定字段包括UDS源逻辑地址、UDS目的逻辑地址、UDS服务标识中至少一项。在满足地址绑定规则的目标报文中至少一个第二特定字段的内容与UDS字段规则匹配失败的情况下,确定满足地址绑定规则的目标报文不满足UDS字段规则。
当UDS字段规则包括多条UDS字段子规则时,步骤“满足地址绑定规则的目标报文中至少一个第二特定字段的内容与UDS字段规则匹配成功”的具体实现方式可以包括步骤A21-A22:
(A21)按照多条UDS字段子规则优先级从高到低的顺序依次与满足地址绑定规则的目标报文中对应的第二特定字段进行匹配。
其中,所述UDS字段子规则的长度与所述UDS字段子规则的优先级呈正相关关系,同一长度的多条UDS字段子规则符合所述UDS源逻辑地址、所述UDS目的逻辑地址和所述UDS服务标识的优先级依次降低的原则。
多条条UDS字段子规则包括第一条UDS字段子规则、第二条UDS字段子规则、第三条UDS字段子规则、第四条UDS字段子规则、第五条UDS字段子规则、第六条UDS字段子规则和第七条UDS字段子规则,且从第一条UDS字段子规则到第七条UDS字段子规则的优先级依次降低。
这七条UDS字段子规则分别涉及的第二特定字段如表2所示:
表2
具体匹配过程包括:将满足所述地址绑定规则的目标报文中的所述UDS源逻辑地址、所述UDS目的逻辑地址和所述UDS服务标识与第一条UDS字段子规则进行匹配,其中,所述第一条UDS字段子规则包括所述UDS源逻辑地址、所述UDS目的逻辑地址和所述UDS服务标识;在所述第一条UDS字段子规则匹配失败的情况下,将满足所述地址绑定规则的目标报文中的所述UDS源逻辑地址和所述UDS目的逻辑地址与第二条UDS字段子规则进行匹配,其中,所述第二条UDS字段子规则包括所述UDS源逻辑地址和所述UDS目的逻辑地址;在所述第二条UDS字段子规则匹配失败的情况下,将满足所述地址绑定规则的目标报文中的所述UDS源逻辑地址和所述UDS服务标识与第三条UDS字段子规则进行匹配,其中,所述第三条UDS字段子规则包括所述UDS源逻辑地址和所述UDS服务标识;在所述第三条UDS字段子规则匹配失败的情况下,将满足所述地址绑定规则的目标报文中的所述UDS目的逻辑地址和所述UDS服务标识与第四条UDS字段子规则进行匹配,其中,第四条UDS字段子规则包括所述UDS目的逻辑地址和所述UDS服务标识;在所述第四条UDS字段子规则匹配失败的情况下,将满足所述地址绑定规则的目标报文中的所述UDS源逻辑地址与第五条UDS字段子规则进行匹配,其中,所述第五条UDS字段子规则包括所述UDS源逻辑地址;在所述第五条UDS字段子规则匹配失败的情况下,将满足所述地址绑定规则的目标报文中的所述UDS目的逻辑地址与第六条UDS字段子规则进行匹配,所述第六条UDS字段子规则包括所述UDS目的逻辑地址;在所述第六条UDS字段子规则匹配失败的情况下,将满足所述地址绑定规则的目标报文中的所述UDS服务标识与第七条UDS字段子规则进行匹配,其中,所述第七条UDS字段子规则包括所述UDS服务标识。
(A22)当与某条UDS字段子规则匹配成功时,确定满足所述地址绑定规则的目标报文满足所述UDS字段规则,执行步骤A3;当所有UDS字段子规则匹配失败时,确定满足所述地址绑定规则的目标报文不满足所述UDS字段规则,此时可以针对被检测的目标报文执行对应的缺省动作,停止后续检测。
S130:在目标报文对应的既定动作为丢弃的情况下,丢弃目标报文,在目标报文对应的既定动作为允许通过且目标报文不属于诊断服务报文的情况下,允许目标报文通过。
本申请实施例提供的报文检测方法能够从所有诊断通信报文中检测出符合协议规范且Payload类型满足预设Payload类型匹配结果的目标报文,其中,预设Payload类型匹配结果包括诊断通信报文中Payload类型属于预设Payload类型,或者诊断通信报文中Payload类型不属于预设Payload类型但属于诊断服务报文,或者未设置预设Payload类型但诊断通信报文属于诊断服务报文;在目标报文对应的既定动作为允许通过且目标报文属于诊断服务报文的情况下,或者,在目标报文不属于预设Payload类型或者未设置预设Payload类型且目标报文属于诊断服务报文的情况下,对地址信息和/或统一诊断服务UDS服务标识满足诊断规则的目标报文执行对应的既定动作;在目标报文对应的既定动作为丢弃的情况下,丢弃目标报文,在目标报文对应的既定动作为允许通过且目标报文不属于诊断服务报文的情况下,允许目标报文通过。由此可知,本申请实施例可以从诊断通信报文中字段合法性、Payload类型、诊断规则等方面对接收到的报文进行安全检测,对符合规则的执行既定动作,从而可以防止恶意诊断通信报文对ECU产生攻击,进而使得车辆免受安全威胁。
在一种实施方式中,为了便于后续统计和查看诊断通信报文相关信息,本申请实施例还可以记录日志信息,其中,所述日志信息包括诊断通信报文的源IP地址、所述诊断通信报文的目的IP地址、传输所述诊断通信报文的源端口、传输所述诊断通信报文的目的端口、报文传输协议、传输所述诊断通信报文的源接口、传输所述诊断通信报文的目的接口、Payload类型、UDS服务标识、UDS源逻辑地址、UDS目的逻辑地址、所述诊断通信报文执行的动作、所述诊断通信报文执行动作的原因、处理所述诊断通信报文的电子控制单元ECU标识中至少一项。ECU标识可以为ECU名称,也可以为用于区分ECU的预设编号。
日志记录提供限速功能,用户可以根据流量情况自定义日志记录频率。日志数据格式定义如下:
"Timestamp Product DOIP:ECU=%s IN=%s OUT=%s DIP=%s SIP=%sDport=%s Sport=%s Proto=%s PT=%s SI=%s SA=%s TA=%s Act=%sReason=%s Priority",其中,IN表示输入接口,OUT表示输出接口,DIP表示目的IP地址,SIP表示源IP地址,Dport表示目的端口,Sport表示源端口,PT表示Payload类型,SI表示UDS服务标识,SA标识UDS源逻辑地址,TA表示UDS目的逻辑地址,Act表示诊断通信报文执行的动作,Reason表示诊断通信报文执行动作的原因。例如具体的日志示例可以如下述方框内的文本所述:
在一种实施方式中,为了便于快速获知满足各种条件的诊断通信报文收发情况,以及便于根据诊断通信报文收发情况快速完成其他工作需求,如直观查看诊断通信报文收发情况的工作汇报、分析诊断通信报文引起的ECU安全问题等,本申请实施例还可以包括:统计如下至少一项信息:
不同传输接口收发诊断通信报文的总数;
允许通过的诊断通信报文收发总数;
被丢弃的诊断通信报文收发总数;
不同Payload类型的诊断通信报文收发总数;
不同UDS服务标识的诊断通信报文收发总数;
与检测诊断通信报文中所涉及的各个规则分别匹配成功的诊断通信报文收发总数。
综上所述,本申请实施提供诊断通信报文的安全检测框架可以如图3所示,主要包括C1:应用识别和安全过滤功能和C2:应用监控功能。C1功能的实现方法可以总结为S0-S4五大步骤,S0为诊断通信报文识别(也可称为应用识别),S1为防畸形报文攻击(即上述实施例中提及的合法性检测),S2为基于Payload类型过滤功能(即上述实施例中提及的判断是否属于预设Payload类型),S3为支持IP地址和UDS逻辑地址绑定功能,S4为基于UDS服务标识/UDS源逻辑地址/UDS目的逻辑地址的多样化组合过滤功能。C2功能主要包括可限速的日志功能和流量统计功能。
基于上述实施例,本申请的另一个实施例提供了一种报文检测装置,如图4所示,所述装置包括:
检测单元20,用于从所有诊断通信报文中检测出目标报文,其中,所述目标报文符合协议规范且所述目标报文的有效载荷Payload类型满足预设Payload类型匹配结果,其中,所述预设Payload类型匹配结果包括所述诊断通信报文中Payload类型属于预设Payload类型,或者所述诊断通信报文中Payload类型不属于预设Payload类型但属于诊断服务报文,或者未设置预设Payload类型但所述诊断通信报文属于诊断服务报文;
第一执行单元22,用于在所述目标报文对应的既定动作为允许通过且所述目标报文属于诊断服务报文的情况下,或者,在所述目标报文不属于预设Payload类型或者未设置预设Payload类型且所述目标报文属于诊断服务报文的情况下,对地址信息和/或统一诊断服务UDS服务标识满足诊断规则的目标报文执行对应的既定动作;
第二执行单元24,用于在所述目标报文对应的既定动作为丢弃的情况下,丢弃所述目标报文,在所述目标报文对应的既定动作为允许通过且所述目标报文不属于诊断服务报文的情况下,允许所述目标报文通过。
在一种实施方式中,所述装置还包括:
第三执行单元,用于对所述所有诊断通信报文中除所述目标报文以外的诊断通信报文执行对应的缺省动作,检测终止;和/或,对所述地址信息和/或所述UDS服务标识不满足所述诊断规则的目标报文执行对应的缺省动作,检测终止。
在一种实施方式中,检测单元20,包括:
检测模块,用于根据所述协议规范对每个未检测的诊断通信报文中的至少一个第一特定字段进行合法性检测;
第一确定模块,用于在所有所述第一特定字段合法的情况下,确定所述未检测的诊断通信报文符合所述协议规范;
匹配模块,用于将符合所述协议规范的未检测的诊断通信报文中Payload类型与有效载荷类型集合中的预设Payload类型进行匹配;
第一确定模块,还用于在匹配成功的情况下,确定符合所述协议规范的未检测的诊断通信报文属于预设Payload类型,在匹配失败的情况下,确定符合所述协议规范的未检测的诊断通信报文不属于预设Payload类型;
第二确定模块,用于将Payload类型属于所述预设Payload类型且符合所述协议规范的未检测的诊断通信报文,Payload类型不属于所述预设Payload类型但属于所述诊断服务报文且符合所述协议规范的未检测的诊断通信报文,未设置所述预设Payload类型但属于所述诊断服务报文且符合所述协议规范的未检测的诊断通信报文中至少一项确定为目标报文。
在一种实施方式中,在所述诊断通信报文为基于IP的诊断通信DoIP报文的情况下,所述第一特定字段包括DoIP版本号、DoIP取反版本号、DoIP Payload类型、DoIPPayload长度、DoIP应答码、统一诊断服务UDS服务标识中至少一项,所述DoIP Payload类型是所述DoIP报文中的Payload类型。
在一种实施方式中,所述装置还包括:
判断单元,用于在对地址信息和/或统一诊断服务UDS服务标识满足诊断规则的目标报文执行对应的既定动作,对地址信息和/或UDS服务标识不满足所述诊断规则的目标报文执行对应的缺省动作之前,判断所述目标报文的地址信息和/或UDS服务标识是否满足诊断规则,其中,所述地址信息包括源IP地址、UDS源逻辑地址、目的IP地址和UDS目的逻辑地址,所述诊断规则包括地址绑定规则和UDS字段规则,满足所述诊断规则包括同时满足所述地址绑定规则和所述UDS字段规则;
判断单元,包括:
第三确定模块,用于在所述源IP地址和所述UDS源逻辑地址为预先绑定的地址或者所述目标IP地址和所述UDS目的逻辑地址为预先绑定的地址的情况下,确定所述目标报文满足所述地址绑定规则;
第四确定模块,用于在满足所述地址绑定规则的目标报文中至少一个第二特定字段的内容与所述UDS字段规则匹配成功的情况下,确定满足所述地址绑定规则的目标报文满足所述UDS字段规则,其中,所述第二特定字段包括UDS源逻辑地址、UDS目的逻辑地址、UDS服务标识中至少一项。
在一种实施方式中,所述UDS字段规则包括多条UDS字段子规则,所述UDS字段子规则根据所述UDS源逻辑地址、所述UDS目的逻辑地址和所述UDS服务标识中至少一项确定;
第二判断模块包括:
匹配子模块,用于按照所述多条UDS字段子规则优先级从高到低的顺序依次与满足所述地址绑定规则的目标报文中对应的第二特定字段进行匹配,其中,所述UDS字段子规则的长度与所述UDS字段子规则的优先级呈正相关关系,同一长度的多条UDS字段子规则符合所述UDS源逻辑地址、所述UDS目的逻辑地址和所述UDS服务标识的优先级依次降低的原则;
确定子模块,用于当与某条所述UDS字段子规则匹配成功时,确定满足所述地址绑定规则的目标报文与所述UDS字段规则匹配成功。
在一种实施方式中,匹配子模块,用于
将满足所述地址绑定规则的目标报文中的所述UDS源逻辑地址、所述UDS目的逻辑地址和所述UDS服务标识与第一条UDS字段子规则进行匹配,其中,所述第一条UDS字段子规则包括所述UDS源逻辑地址、所述UDS目的逻辑地址和所述UDS服务标识;
在所述第一条UDS字段子规则匹配失败的情况下,将满足所述地址绑定规则的目标报文中的所述UDS源逻辑地址和所述UDS目的逻辑地址与第二条UDS字段子规则进行匹配,其中,所述第二条UDS字段子规则包括所述UDS源逻辑地址和所述UDS目的逻辑地址;
在所述第二条UDS字段子规则匹配失败的情况下,将满足所述地址绑定规则的目标报文中的所述UDS源逻辑地址和所述UDS服务标识与第三条UDS字段子规则进行匹配,其中,所述第三条UDS字段子规则包括所述UDS源逻辑地址和所述UDS服务标识;
在所述第三条UDS字段子规则匹配失败的情况下,将满足所述地址绑定规则的目标报文中的所述UDS目的逻辑地址和所述UDS服务标识与第四条UDS字段子规则进行匹配,其中,第四条UDS字段子规则包括所述UDS目的逻辑地址和所述UDS服务标识;
在所述第四条UDS字段子规则匹配失败的情况下,将满足所述地址绑定规则的目标报文中的所述UDS源逻辑地址与第五条UDS字段子规则进行匹配,其中,所述第五条UDS字段子规则包括所述UDS源逻辑地址;
在所述第五条UDS字段子规则匹配失败的情况下,将满足所述地址绑定规则的目标报文中的所述UDS目的逻辑地址与第六条UDS字段子规则进行匹配,所述第六条UDS字段子规则包括所述UDS目的逻辑地址;
在所述第六条UDS字段子规则匹配失败的情况下,将满足所述地址绑定规则的目标报文中的所述UDS服务标识与第七条UDS字段子规则进行匹配,其中,所述第七条UDS字段子规则包括所述UDS服务标识。
在一种实施方式中,所述装置还包括:
记录单元,用于记录日志信息,其中,所述日志信息包括所述诊断通信报文的源IP地址、所述诊断通信报文的目的IP地址、传输所述诊断通信报文的源端口、传输所述诊断通信报文的目的端口、报文传输协议、传输所述诊断通信报文的源接口、传输所述诊断通信报文的目的接口、Payload类型、UDS服务标识、UDS源逻辑地址、UDS目的逻辑地址、所述诊断通信报文执行的动作、所述诊断通信报文执行动作的原因、处理所述诊断通信报文的电子控制单元ECU标识中至少一项。
在一种实施方式中,所述装置还包括:
识别单元,用于在从所有诊断通信报文中检测出目标报文之前,在传输层中通过端口号识别所述所有诊断通信报文,所述端口号包括基于传输控制协议TCP和用户数据报协议UDP的13400端口。
基于上述方法实施例,本申请的另一实施例提供了一种存储介质,其上存储有可执行指令,该指令被处理器执行时使处理器实现上述任一方法实施例所述的方法。
基于上述方法实施例,本申请的另一实施例提供了一种电子设备,所述电子设备包括:一个或多个处理器;
存储装置,用于存储一个或多个程序,
其中,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现如上述任一方法实施例所述的方法。
上述系统、装置实施例与方法实施例相对应,与该方法实施例具有同样的技术效果,具体说明参见方法实施例。装置实施例是基于方法实施例得到的,具体的说明可以参见方法实施例部分,此处不再赘述。本领域普通技术人员可以理解:附图只是一个实施例的示意图,附图中的模块或流程并不一定是实施本申请所必须的。
本领域普通技术人员可以理解:实施例中的装置中的模块可以按照实施例描述分布于实施例的装置中,也可以进行相应变化位于不同于本实施例的一个或多个装置中。上述实施例的模块可以合并为一个模块,也可以进一步拆分成多个子模块。
最后应说明的是:以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请实施例技术方案的精神和范围。
Claims (10)
1.一种报文检测方法,其特征在于,所述方法包括:
从所有诊断通信报文中检测出目标报文,其中,所述目标报文符合协议规范且所述目标报文的有效载荷Payload类型满足预设Payload类型匹配结果,其中,所述预设Payload类型匹配结果包括所述诊断通信报文中Payload类型属于预设Payload类型,或者所述诊断通信报文中Payload类型不属于所述预设Payload类型但属于诊断服务报文,或者未设置所述预设Payload类型但所述诊断通信报文属于所述诊断服务报文;
在所述目标报文对应的既定动作为允许通过且所述目标报文属于所述诊断服务报文的情况下,或者,在所述目标报文不属于所述预设Payload类型或者未设置所述预设Payload类型且所述目标报文属于所述诊断服务报文的情况下,对地址信息和/或统一诊断服务UDS服务标识满足诊断规则的所述目标报文执行对应的既定动作;
在所述目标报文对应的既定动作为丢弃的情况下,丢弃所述目标报文,在所述目标报文对应的所述既定动作为允许通过且所述目标报文不属于所述诊断服务报文的情况下,允许所述目标报文通过。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
对所述所有诊断通信报文中除所述目标报文以外的诊断通信报文执行对应的缺省动作,检测终止;和/或,
对所述地址信息和/或所述UDS服务标识不满足所述诊断规则的所述目标报文执行对应的缺省动作,检测终止。
3.根据权利要求1所述的方法,其特征在于,从所有诊断通信报文中检测出目标报文,包括:
根据所述协议规范对每个未检测的诊断通信报文中的至少一个第一特定字段进行合法性检测;
在所有所述第一特定字段合法的情况下,确定所述未检测的诊断通信报文符合所述协议规范;
将符合所述协议规范的未检测的诊断通信报文中Payload类型与有效载荷类型集合中的预设Payload类型进行匹配;
在匹配成功的情况下,确定符合所述协议规范的未检测的诊断通信报文属于所述预设Payload类型;
在匹配失败的情况下,确定符合所述协议规范的未检测的诊断通信报文不属于所述预设Payload类型;
将Payload类型属于所述预设Payload类型且符合所述协议规范的未检测的诊断通信报文,Payload类型不属于所述预设Payload类型但属于所述诊断服务报文且符合所述协议规范的未检测的诊断通信报文,未设置所述预设Payload类型但属于所述诊断服务报文且符合所述协议规范的未检测的诊断通信报文中至少一项确定为目标报文。
4.根据权利要求3所述的方法,其特征在于,在所述诊断通信报文为基于IP的诊断通信DoIP报文的情况下,所述第一特定字段包括DoIP版本号、DoIP取反版本号、DoIP Payload类型、DoIP Payload长度、DoIP应答码、UDS服务标识中至少一项,所述DoIP Payload类型是所述DoIP报文中的Payload类型。
5.根据权利要求1所述的方法,其特征在于,在对地址信息和/或统一诊断服务UDS服务标识满足诊断规则的所述目标报文执行对应的既定动作之前,所述方法还包括:
判断所述目标报文的所述地址信息和/或所述UDS服务标识是否满足所述诊断规则,其中,所述地址信息包括源IP地址、UDS源逻辑地址、目的IP地址和UDS目的逻辑地址,所述诊断规则包括地址绑定规则和UDS字段规则,满足所述诊断规则包括同时满足所述地址绑定规则和所述UDS字段规则;
判断所述目标报文的所述地址信息和/或所述UDS服务标识是否满足所述诊断规则,包括:
在所述源IP地址和所述UDS源逻辑地址为预先绑定的地址或者所述目标IP地址和所述UDS目的逻辑地址为预先绑定的地址的情况下,确定所述目标报文满足所述地址绑定规则;
在满足所述地址绑定规则的目标报文中至少一个第二特定字段的内容与所述UDS字段规则匹配成功的情况下,确定满足所述地址绑定规则的目标报文满足所述UDS字段规则,其中,所述第二特定字段包括UDS源逻辑地址、UDS目的逻辑地址、UDS服务标识中至少一项。
6.根据权利要求5所述的方法,其特征在于,所述UDS字段规则包括多条UDS字段子规则,所述UDS字段子规则根据所述UDS源逻辑地址、所述UDS目的逻辑地址和所述UDS服务标识中至少一项确定;
满足所述地址绑定规则的目标报文中至少一个第二特定字段的内容与所述UDS字段规则匹配成功包括:
按照所述多条UDS字段子规则优先级从高到低的顺序依次与满足所述地址绑定规则的目标报文中对应的第二特定字段进行匹配,其中,所述UDS字段子规则的长度与所述UDS字段子规则的优先级呈正相关关系,同一长度的多条UDS字段子规则符合所述UDS源逻辑地址、所述UDS目的逻辑地址和所述UDS服务标识的优先级依次降低的原则;
当与某条所述UDS字段子规则匹配成功时,确定满足所述地址绑定规则的目标报文与所述UDS字段规则匹配成功。
7.根据权利要求6所述的方法,其特征在于,按照所述多条UDS字段子规则优先级从高到低的顺序依次与满足所述地址绑定规则的目标报文中对应的第二特定字段进行匹配,包括:
将满足所述地址绑定规则的目标报文中的所述UDS源逻辑地址、所述UDS目的逻辑地址和所述UDS服务标识与第一条UDS字段子规则进行匹配,其中,所述第一条UDS字段子规则包括所述UDS源逻辑地址、所述UDS目的逻辑地址和所述UDS服务标识;
在所述第一条UDS字段子规则匹配失败的情况下,将满足所述地址绑定规则的目标报文中的所述UDS源逻辑地址和所述UDS目的逻辑地址与第二条UDS字段子规则进行匹配,其中,所述第二条UDS字段子规则包括所述UDS源逻辑地址和所述UDS目的逻辑地址;
在所述第二条UDS字段子规则匹配失败的情况下,将满足所述地址绑定规则的目标报文中的所述UDS源逻辑地址和所述UDS服务标识与第三条UDS字段子规则进行匹配,其中,所述第三条UDS字段子规则包括所述UDS源逻辑地址和所述UDS服务标识;
在所述第三条UDS字段子规则匹配失败的情况下,将满足所述地址绑定规则的目标报文中的所述UDS目的逻辑地址和所述UDS服务标识与第四条UDS字段子规则进行匹配,其中,第四条UDS字段子规则包括所述UDS目的逻辑地址和所述UDS服务标识;
在所述第四条UDS字段子规则匹配失败的情况下,将满足所述地址绑定规则的目标报文中的所述UDS源逻辑地址与第五条UDS字段子规则进行匹配,其中,所述第五条UDS字段子规则包括所述UDS源逻辑地址;
在所述第五条UDS字段子规则匹配失败的情况下,将满足所述地址绑定规则的目标报文中的所述UDS目的逻辑地址与第六条UDS字段子规则进行匹配,所述第六条UDS字段子规则包括所述UDS目的逻辑地址;
在所述第六条UDS字段子规则匹配失败的情况下,将满足所述地址绑定规则的目标报文中的所述UDS服务标识与第七条UDS字段子规则进行匹配,其中,所述第七条UDS字段子规则包括所述UDS服务标识。
8.根据权利要求1所述的方法,其特征在于,所述方法还包括:
记录日志信息,其中,所述日志信息包括所述诊断通信报文的源IP地址、所述诊断通信报文的目的IP地址、传输所述诊断通信报文的源端口、传输所述诊断通信报文的目的端口、报文传输协议、传输所述诊断通信报文的源接口、传输所述诊断通信报文的目的接口、Payload类型、UDS服务标识、UDS源逻辑地址、UDS目的逻辑地址、所述诊断通信报文执行的动作、所述诊断通信报文执行动作的原因、处理所述诊断通信报文的电子控制单元ECU标识中至少一项。
9.根据权利要求1-8中任一项所述的方法,其特征在于,在从所有诊断通信报文中检测出目标报文之前,所述方法还包括:
在传输层中通过端口号识别所述所有诊断通信报文,所述端口号包括基于传输控制协议TCP和用户数据报协议UDP的13400端口。
10.一种报文检测装置,其特征在于,所述装置包括:
检测单元,用于从所有诊断通信报文中检测出目标报文,其中,所述目标报文符合协议规范且所述目标报文的有效载荷Payload类型满足预设Payload类型匹配结果,其中,所述预设Payload类型匹配结果包括所述诊断通信报文中Payload类型属于预设Payload类型,或者所述诊断通信报文中Payload类型不属于所述预设Payload类型但属于诊断服务报文,或者未设置所述预设Payload类型但所述诊断通信报文属于所述诊断服务报文;
第一执行单元,用于在所述目标报文对应的既定动作为允许通过且所述目标报文属于所述诊断服务报文的情况下,或者,在所述目标报文不属于所述预设Payload类型或者未设置所述预设Payload类型且所述目标报文属于所述诊断服务报文的情况下,对地址信息和/或统一诊断服务UDS服务标识满足诊断规则的所述目标报文执行对应的既定动作;
第二执行单元,用于在所述目标报文对应的既定动作为丢弃的情况下,丢弃所述目标报文,在所述目标报文对应的所述既定动作为允许通过且所述目标报文不属于所述诊断服务报文的情况下,允许所述目标报文通过。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210280421.9A CN114679309B (zh) | 2022-03-22 | 2022-03-22 | 报文检测方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210280421.9A CN114679309B (zh) | 2022-03-22 | 2022-03-22 | 报文检测方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114679309A true CN114679309A (zh) | 2022-06-28 |
CN114679309B CN114679309B (zh) | 2023-07-07 |
Family
ID=82074389
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210280421.9A Active CN114679309B (zh) | 2022-03-22 | 2022-03-22 | 报文检测方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114679309B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117250943A (zh) * | 2023-11-20 | 2023-12-19 | 常州星宇车灯股份有限公司 | 一种车辆uds服务报文异常检测方法及检测系统 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20190079842A1 (en) * | 2017-09-13 | 2019-03-14 | Hyundai Motor Company | Failure diagnosis apparatus and method for in-vehicle control unit |
CN109669442A (zh) * | 2018-12-25 | 2019-04-23 | 深圳市元征科技股份有限公司 | 一种协议转换方法及转换装置 |
CN110351295A (zh) * | 2019-07-22 | 2019-10-18 | 百度在线网络技术(北京)有限公司 | 报文检测方法和装置、电子设备、计算机可读介质 |
CN112422506A (zh) * | 2020-10-16 | 2021-02-26 | 郑州信大捷安信息技术股份有限公司 | 一种基于DoIP协议的入侵检测防御方法及系统 |
CN113759879A (zh) * | 2021-09-28 | 2021-12-07 | 重庆长安汽车股份有限公司 | 一种基于L3整车架构的车载以太网DoIP诊断刷写测试方法及系统 |
CN113872878A (zh) * | 2020-06-30 | 2021-12-31 | 深圳市中兴微电子技术有限公司 | 一种报文处理方法、设备及储存介质 |
-
2022
- 2022-03-22 CN CN202210280421.9A patent/CN114679309B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20190079842A1 (en) * | 2017-09-13 | 2019-03-14 | Hyundai Motor Company | Failure diagnosis apparatus and method for in-vehicle control unit |
CN109669442A (zh) * | 2018-12-25 | 2019-04-23 | 深圳市元征科技股份有限公司 | 一种协议转换方法及转换装置 |
CN110351295A (zh) * | 2019-07-22 | 2019-10-18 | 百度在线网络技术(北京)有限公司 | 报文检测方法和装置、电子设备、计算机可读介质 |
CN113872878A (zh) * | 2020-06-30 | 2021-12-31 | 深圳市中兴微电子技术有限公司 | 一种报文处理方法、设备及储存介质 |
CN112422506A (zh) * | 2020-10-16 | 2021-02-26 | 郑州信大捷安信息技术股份有限公司 | 一种基于DoIP协议的入侵检测防御方法及系统 |
CN113759879A (zh) * | 2021-09-28 | 2021-12-07 | 重庆长安汽车股份有限公司 | 一种基于L3整车架构的车载以太网DoIP诊断刷写测试方法及系统 |
Non-Patent Citations (3)
Title |
---|
MASARU MATSUBAYASHI; ET ALL: "Attacks Against UDS on DoIP by Exploiting Diagnostic Communications and Their Countermeasures", 《2021 IEEE 93RD VEHICULAR TECHNOLOGY CONFERENCE (VTC2021-SPRING)》 * |
赵立超;吴长水;: "车辆控制器故障诊断系统的设计与实现", 《软件工程》, no. 07 * |
陈博: "基于DoIP的汽车网络系统研究", 《中国优秀硕士学位论文全文数据库》 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117250943A (zh) * | 2023-11-20 | 2023-12-19 | 常州星宇车灯股份有限公司 | 一种车辆uds服务报文异常检测方法及检测系统 |
CN117250943B (zh) * | 2023-11-20 | 2024-02-06 | 常州星宇车灯股份有限公司 | 一种车辆uds服务报文异常检测方法及检测系统 |
Also Published As
Publication number | Publication date |
---|---|
CN114679309B (zh) | 2023-07-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11082436B1 (en) | System and method for offloading packet processing and static analysis operations | |
CN110445770B (zh) | 网络攻击源定位及防护方法、电子设备及计算机存储介质 | |
US8060927B2 (en) | Security state aware firewall | |
CN101594269B (zh) | 一种异常连接的检测方法、装置及网关设备 | |
CN101136922B (zh) | 业务流识别方法、装置及分布式拒绝服务攻击防御方法、系统 | |
KR102227933B1 (ko) | 통신 네트워크를 위한 방법 및 전자 제어 유닛 | |
CN101064597B (zh) | 网络安全设备以及使用该网络安全设备处理包数据的方法 | |
CN108965267B (zh) | 网络攻击处理方法、装置及车辆 | |
US20190268368A1 (en) | Method for a communications network, and electronic monitoring unit (as amended) | |
CN107360182B (zh) | 一种用于嵌入式的主动网络防御系统及其防御方法 | |
CN114338234B (zh) | 一种处理报文的方法及装置 | |
CN114710356A (zh) | 车载防火墙的数据处理方法、装置及车载防火墙设备 | |
CN114679309B (zh) | 报文检测方法及装置 | |
CN110912887A (zh) | 一种基于Bro的APT监测系统和方法 | |
US20210014253A1 (en) | Device and method for intrusion detection in a communications network | |
CN114050917B (zh) | 音频数据的处理方法、装置、终端、服务器及存储介质 | |
EP3985920B1 (en) | Network traffic analysis | |
CN113079180B (zh) | 一种基于执行上下文的防火墙细粒度访问控制方法及系统 | |
JP4391455B2 (ja) | DDoS攻撃に対する不正アクセス検知システム及びプログラム | |
CN113453278A (zh) | 一种基于5g upf下的tcp包分段组包方法及终端 | |
US20220360990A1 (en) | 4g / 5g core network deep packet inspection system | |
CN116866055B (zh) | 数据泛洪攻击的防御方法、装置、设备及介质 | |
CN114697136B (zh) | 一种基于交换网络的网络攻击检测方法与系统 | |
CN115865416A (zh) | 一种攻击检测方法、系统及车辆 | |
CN117560178A (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 |