CN114338234B - 一种处理报文的方法及装置 - Google Patents
一种处理报文的方法及装置 Download PDFInfo
- Publication number
- CN114338234B CN114338234B CN202210188836.3A CN202210188836A CN114338234B CN 114338234 B CN114338234 B CN 114338234B CN 202210188836 A CN202210188836 A CN 202210188836A CN 114338234 B CN114338234 B CN 114338234B
- Authority
- CN
- China
- Prior art keywords
- message
- address
- source
- processed
- matching
- 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
Links
- 238000012545 processing Methods 0.000 title claims abstract description 76
- 238000000034 method Methods 0.000 title claims abstract description 74
- 238000001914 filtration Methods 0.000 claims abstract description 395
- 238000004891 communication Methods 0.000 claims description 10
- 238000010586 diagram Methods 0.000 description 6
- 230000005540 biological transmission Effects 0.000 description 5
- 238000000605 extraction Methods 0.000 description 2
- 230000006399 behavior Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000007689 inspection Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
Images
Classifications
-
- Y—GENERAL 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
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D30/00—Reducing energy consumption in communication networks
- Y02D30/50—Reducing energy consumption in communication networks in wire-line communication networks, e.g. low power modes or reduced link rate
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明提供了一种处理报文的方法及装置,该方法包括:接收由第一ECU发送至目标端口的待处理报文;解析待处理报文的数据链路层数据和网络IP层数据,以得到至少一条待匹配字段;将待匹配字段与相应的过滤规则进行匹配,获取匹配结果;根据由各条待匹配字段与相应的过滤规则进行匹配所得到的匹配结果,确定允许待处理报文通过或者丢弃待处理报文。本方案中,在接收到待处理报文时,解析待处理报文的数据链路层数据和网络IP层数据,得到至少一条待匹配字段。利用过滤规则对待匹配字段进行匹配,并根据匹配结果确定允许待处理报文通过或者丢弃待处理报文,以实现对数据链路层数据的过滤,提高车载网络系统的安全性。
Description
技术领域
本发明涉及通信技术领域,具体涉及一种处理报文的方法及装置。
背景技术
目前车载网络系统主要由车内交换网络中的多个电子控制单元(ElectronicControl Unit,ECU)组成,为保证车载网络系统的安全,需要对ECU所接收到的数据进行过滤以防止网络攻击。
目前对ECU接收到的数据进行过滤的方式包括:在网络IP层中设置诸如Iptables的防火墙软件,在网络IP层对ECU接收到的数据进行过滤。但是,目前的防火墙软件只针对网络IP层数据进行过滤,无法对车载网络系统的数据链路层数据进行过滤,不能有效防止数据链路层数据的攻击,导致车载网络系统的安全性较差。
发明内容
有鉴于此,本发明实施例提供一种处理报文的方法及装置,以解决现有防火墙软件不能有效防止数据链路层数据的攻击从而导致车载网络系统的安全性较差的问题。
为实现上述目的,本发明实施例提供如下技术方案:
本发明实施例第一方面公开一种处理报文的方法,所述方法包括:
接收由第一ECU发送至目标端口的待处理报文,其中,所述目标端口为第二ECU与车内交换网络连接的端口,与所述车内交换网络连接的每个ECU均设置有相应的链路层防火墙,各个ECU接收到的报文由其它ECU发送,所述待处理报文由所述第一ECU发送至所述第二ECU,所述待处理报文由所述第二ECU的链路层防火墙进行过滤;
解析所述待处理报文的数据链路层数据和网络IP层数据,以得到至少一条待匹配字段;
将所述待匹配字段与相应的过滤规则进行匹配,获取匹配结果;
在所有所述匹配结果均指示匹配失败的情况下,或者,在部分所述匹配结果指示匹配成功,且指示匹配成功的所述匹配结果对应的所述过滤规则设定的动作为允许所述待处理报文通过的情况下,根据预设的缺省规则处理所述待处理报文,所述缺省规则为允许所述待处理报文通过或丢弃所述待处理报文;
在任意所述匹配结果指示匹配成功的情况下,若指示匹配成功的所述匹配结果对应的所述过滤规则设定的动作为丢弃所述待处理报文,丢弃所述待处理报文;
在所有所述匹配结果均指示匹配成功的情况下,若指示匹配成功的所述匹配结果对应的所述过滤规则设定的动作为允许所述待处理报文通过,允许所述待处理报文通过并记录所述待处理报文的日志。
优选的,接收由第一ECU发送至目标端口的待处理报文之前,所述方法还包括:
将与所述车内交换网络连接的各个ECU的MAC地址记录到MAC地址列表,以及将所述各个ECU的IP地址记录到IP地址列表,其中,MAC地址分为源MAC地址和目的MAC地址,IP地址分为源IP地址和目的IP地址,所述MAC地址列表中至少包括:记录了源MAC地址的源MAC地址列表;所述IP地址列表至少包括:记录了源IP地址的源IP地址列表;
至少根据所述MAC地址列表和所述IP地址列表,设置所述第二ECU的类型对应的过滤规则,以用于检测待处理报文中不同域的值;
其中,所述待处理报文中不同域的值至少分别为源MAC地址、目的MAC地址、源IP地址和目的IP地址;不同的所述过滤规则可分别用于检测所述待处理报文的源MAC地址、目的MAC地址、源IP地址和目的IP地址;每条所述过滤规则预先设定动作,每条所述过滤规则所设定的动作为丢弃待处理报文或允许所述待处理报文通过,所述第二ECU为通信盒子TBOX或除通信盒子TBOX以外的其它ECU。
优选的,解析所述待处理报文的数据链路层数据和网络IP层数据,以得到至少一条待匹配字段,包括:
解析待处理报文的数据链路层数据以获取MAC报文头,及解析所述待处理报文的网络IP层数据以获取IP报文头;
分别提取所述MAC报文头中的第一目的MAC地址和第一源MAC地址以作为待匹配字段,及分别提取所述IP报文头中的第一目的IP地址和第一源IP地址以作为待匹配字段;
其中,调用查找程序查找所述待处理报文中的内容以得到所述MCA报文头和所述MCA报文头中各个域的值,调用查找程序查找所述待处理报文中的内容以得到所述IP报文头和所述IP报文头中各个域的值,所述MAC报文头中各个域的值至少为所述第一目的MAC地址和所述第一源MAC地址,所述IP报文头中各个域的值至少为所述第一目的IP地址和所述第一源IP地址。
优选的,将所述待匹配字段与相应的过滤规则进行匹配,获取匹配结果,包括:
将所述第一目的MAC地址与目的MAC过滤规则中的第二目的MAC地址进行匹配,获取相应的匹配结果;
将所述第一源MAC地址与源MAC过滤规则中的第二源MAC地址进行匹配,获取相应的匹配结果;
将所述第一目的IP地址与目的IP过滤规则中的第二目的IP地址进行匹配,获取相应的匹配结果;
将所述第一源IP地址与源IP过滤规则中的第二源IP地址进行匹配,获取相应的匹配结果;
将所述第一源MAC地址和所述第一源IP地址分别与绑定关系过滤规则中的第二源MAC地址和第二源IP地址进行匹配,获取相应的匹配结果,其中,所述第二源MAC地址和所述第二源IP地址具有绑定关系。
优选的,将所述第一源MAC地址和所述第一源IP地址分别与绑定关系过滤规则中的第二源MAC地址和第二源IP地址进行匹配,获取相应的匹配结果,包括:
将所述第一源MAC地址和所述第一源IP地址分别与绑定关系过滤规则中的第二源MAC地址和第二源IP地址进行匹配;
若所述第一源MAC地址与所述第二源MAC地址一致,且所述第一源IP地址与所述第二源IP地址一致,获取指示匹配成功的匹配结果,记录所述绑定关系过滤规则设定的动作;
若所述第一源MAC地址与所述第二源MAC地址不一致,和/或,若所述第一源IP地址与所述第二源IP地址不一致,获取指示匹配失败的匹配结果,根据预设的缺省规则处理所述待处理报文,所述缺省规则为允许所述待处理报文通过或丢弃所述待处理报文。
优选的,允许所述待处理报文通过并记录所述待处理报文的日志之后,所述方法还包括:
将所述待处理报文发送至网络协议栈或网络硬件以进行相关逻辑处理。
优选的,链路层防火墙为EBPF链路层防火墙,
设置所述第二ECU的类型对应的过滤规则的过程,包括:
响应于在EBPF链路层防火墙对应的EBPF软件中输入的设置指令,基于所述设置指令所携带的命令行,生成与第二ECU的类型对应的过滤规则,其中,每条所述过滤规则包含匹配字段和动作,所述匹配字段用于检测待处理报文是否与过滤规则相匹配,
针对每条过滤规则,若所述待处理报文与所述过滤规则相匹配,记录所述过滤规则的动作;
将所生成的所述过滤规则存储到共享内存中。
优选的,所述第二ECU为通信盒子TBOX,
所述源MAC过滤规则的定义为:源MAC地址在源MAC地址列表中的报文可以被允许通过;
所述目的MAC过滤规则的定义为:在TBOX端口接收到的报文为单播报文的情况下,目的MAC地址为TBOX端口的MAC地址的报文可以被允许通过,
在TBOX端口接收到的报文为广播报文的情况下,目的MAC地址为广播MAC地址的报文可以被允许通过,
在TBOX端口接收到的报文为组播报文的情况下,目的MAC地址为TBOX端口所加入的组播组的组播MAC地址的报文可以被允许通过;
所述源IP过滤规则的定义为:源IP地址在源IP列表中的报文可以被允许通过;
所述目的IP过滤规则的定义为:在TBOX端口接收到的报文为单播报文的情况下,目的IP地址为TBOX端口的IP地址的报文可以被允许通过,或者,目的IP地址不是车载网络系统的ECU使用的私有网址网段的报文可以被允许通过,
在TBOX端口接收到的报文为广播报文的情况下,目的IP地址为广播IP地址的报文可以被允许通过,
在TBOX端口接收到的报文为组播报文的情况下,目的IP地址为TBOX端口所加入的组播组的组播IP地址的报文可以被允许通过,
所述绑定关系过滤规则的定义为:源MAC地址和源IP地址均存在绑定关系列表中且符合所述绑定关系列表中规定的绑定关系的报文允许被通过,其中,所述绑定关系列表中规定了各个源MAC地址和各个源IP地址之间的绑定关系;
对于均不满足所述源MAC过滤规则、所述目的MAC过滤规则、所述源IP过滤规则、所述目的IP过滤规则和所述绑定关系过滤规则的报文,按照缺省规则处理。
优选的,所述第二ECU为除通信盒子TBOX以外的ECU,
所述源MAC过滤规则的定义为:源MAC地址在源MAC地址列表中的报文可以被允许通过;
所述目的MAC过滤规则的定义为:在ECU端口接收到的报文为单播报文的情况下,目的MAC地址为ECU端口的MAC地址的报文可以被允许通过,
在ECU端口接收到的报文为广播报文的情况下,目的MAC地址为广播MAC地址的报文可以被允许通过,
在ECU端口接收到的报文为组播报文的情况下,目的MAC地址为ECU端口所加入的组播组的组播MAC地址的报文可以被允许通过;
所述源IP过滤规则的定义为:源IP地址不在车内交换网络采用的私有IP网段中的报文可以被允许通过,源IP地址在所述私有IP网段中且在源IP列表中的报文可以被允许通过;
所述目的IP过滤规则的定义为:在ECU端口接收到的报文为单播报文的情况下,目的IP地址为ECU端口的IP地址的报文可以被允许通过,
在ECU端口接收到的报文为广播报文的情况下,目的IP地址为广播IP地址的报文可以被允许通过,
在ECU端口接收到的报文为组播报文的情况下,目的IP地址为ECU端口所加入的组播组的组播IP地址的报文可以被允许通过;
所述绑定关系过滤规则的定义为:源MAC地址和源IP地址均存在绑定关系列表中且符合所述绑定关系列表中规定的绑定关系的报文允许被通过,其中,所述绑定关系列表中规定了各个源MAC地址和各个源IP地址之间的绑定关系;
对于均不满足所述源MAC过滤规则、所述目的MAC过滤规则、所述源IP过滤规则、所述目的IP过滤规则和所述绑定关系过滤规则的报文,按照缺省规则处理。
本发明实施例第二方面公开一种处理报文的装置,所述装置包括:
接收模块,用于接收由第一ECU发送至目标端口的待处理报文,其中,所述目标端口为第二ECU与车内交换网络连接的端口,与所述车内交换网络连接的每个ECU均设置有相应的链路层防火墙,各个ECU接收到的报文由其它ECU发送,所述待处理报文由所述第一ECU发送至所述第二ECU,所述待处理报文由所述第二ECU的链路层防火墙进行过滤;
解析模块,用于解析所述待处理报文的数据链路层数据和网络IP层数据,以得到至少一条待匹配字段;
匹配模块,用于将所述待匹配字段与相应的过滤规则进行匹配,获取匹配结果;
第一处理模块,用于在所有所述匹配结果均指示匹配失败的情况下,或者,在部分所述匹配结果指示匹配成功,且指示匹配成功的所述匹配结果对应的所述过滤规则设定的动作为允许所述待处理报文通过的情况下,根据预设的缺省规则处理所述待处理报文,所述缺省规则为允许所述待处理报文通过或丢弃所述待处理报文;
第二处理模块,用于在任意所述匹配结果指示匹配成功的情况下,若指示匹配成功的所述匹配结果对应的所述过滤规则设定的动作为丢弃所述待处理报文,丢弃所述待处理报文;
第三处理模块,用于在所有所述匹配结果均指示匹配成功的情况下,若指示匹配成功的所述匹配结果对应的所述过滤规则设定的动作为允许所述待处理报文通过,允许所述待处理报文通过并记录所述待处理报文的日志。
基于上述本发明实施例提供的一种处理报文的方法及装置,该方法包括:接收由第一ECU发送至目标端口的待处理报文;解析待处理报文的数据链路层数据和网络IP层数据,以得到至少一条待匹配字段;将待匹配字段与相应的过滤规则进行匹配,获取匹配结果;根据由各条待匹配字段与相应的过滤规则进行匹配所得到的匹配结果,确定允许待处理报文通过或者丢弃待处理报文。本方案中,在接收到待处理报文时,解析待处理报文的数据链路层数据和网络IP层数据,得到至少一条待匹配字段。利用过滤规则对待匹配字段进行匹配,并根据匹配结果确定允许待处理报文通过或者丢弃待处理报文,以实现对数据链路层数据的过滤,提高车载网络系统的安全性。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本发明实施例提供的车载网络系统的结构框图;
图2为本发明实施例提供的EBPF链路层防火墙的应用示意图;
图3为本发明实施例提供的一种处理报文的方法的流程图;
图4为本发明实施例提供的一种处理报文的方法的另一流程图;
图5为本发明实施例提供的过滤待处理报文的流程图;
图6为本发明实施例提供的一种处理报文的装置的结构框图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
在本申请中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
由背景技术可知,目前通常利用设置在网络IP层的诸如Iptables的防火墙软件对电子控制单元(Electronic Control Unit,ECU)接收到的数据进行过滤。但是目前的防火墙软件只针对网络IP层数据进行过滤,无法对车载网络系统的数据链路层数据进行过滤,不能有效防止数据链路层数据的攻击,导致车载网络系统的安全性较差。
因此,本发明实施例提供一种处理报文的方法及装置,在接收到待处理报文时,解析待处理报文的数据链路层数据和网络IP层数据,得到至少一条待匹配字段。利用过滤规则对待匹配字段进行匹配,并根据匹配结果确定允许待处理报文通过或者丢弃待处理报文,以实现对数据链路层数据的过滤,从而提高车载网络系统的安全性。
一些实施例中,本发明实施例所提供的一种处理报文的方法及装置可以应用在链路层防火墙中,通过链路层防火墙来对ECU接收到的数据进行过滤。可以理解的是,车载网络系统由车内交换网络中的多个ECU组成,该多个ECU的类型可以划分为通信盒子(TBOX)和其它ECU,其中TBOX为一种ECU。
一些实施例中,每个ECU通过相应的端口与车内交换网络连接,即一个ECU通过一个端口与车内交换网络连接;每个ECU都配置相应的链路层防火墙,某一ECU所配置的链路层防火墙设置在该ECU与车内交换网络连接的端口上。请参照图1,图1为车载网络系统的结构框图,车载网络系统由车内交换网络100中的TBOX200和多个其它ECU300;其中,TBOX200负责连接车内交换网络100和外网服务器;TBOX200和各个其它ECU300都设置相应的链路层防火墙;对于TBOX200和各个其它ECU300,在接收到报文时可利用所设置的链路层防火墙对接收到的报文进行过滤,将攻击报文丢弃。
需要说明的是,增强的加州伯克利包过滤器(extendedBerkeley packet filter,EBPF)为Linux网络过滤工具,EBPF可以在Linux的各个挂载点加载;在本发明实施例中所提及的链路层防火墙可以是EBPF链路层防火墙;该EBPF链路层防火墙可以在车载网络系统的网络驱动层加载预设的EBPF处理程序,由该EBPF程序对ECU接收的报文进行过滤。
请参照图2,图2为EBPF链路层防火墙的应用示意图,图2示出了步骤S0至步骤S5的相关内容,详见以下说明。
步骤S0:响应设置指令,获取设置指令携带的命令行。
具体实现中,响应于在EBPF软件中输入的携带命令行的设置指令,利获取该命令行;设置指令携带的命令行的示例为:ebpftables-A-i eth1-A source-ip192.168.1.209-j accept。
步骤S1:基于所获取的命令行生成相应的过滤规则,并将生成的过滤规则存储到共享内存中。
例如:假设所获取的命令行为:ebpftables-A-i eth1-A source-ip192.168.1.209-j accept;根据该命令行生成的过滤规则为:ETH1 SIP=192.168.1.209ACTION=ACCEPT;将所生成的过滤规则存储到用户进程和内核的共享内存中。
需要说明的是,结合图1示出的内容可知,对于某一ECU,该ECU所接收到的报文是由其它ECU发送的,由于不同的处理需求,报文的传递方向有所不同,其中一个传递方向如步骤S2至步骤S3示出的内容,另一个传递方向如步骤S4至步骤S5示出的内容。
步骤S2:ECU的网络硬件在接收到报文时将该报文发送至网络驱动层。网络驱动层中的EBPF处理程序根据上述所生成的过滤规则对该报文进行过滤,确定丢弃该报文或允许该报文通过。
具体实现中,如果确定丢弃报文,则将接收到的报文丢弃(相当于不再处理该报文);如果确定允许报文通过,则执行步骤S3。
步骤S3:将允许通过的报文发送至网络协议栈进行相关逻辑处理。
具体实现中,将允许通过的报文发送至网络IP层和传输层TCP/UDP层进行相关逻辑处理,该相关逻辑处理为符合Linux网络标准的处理流程。
S4:从传输层TCP/UDP层发出的报文经过网络IP层进入网络驱动层。
需要说明的是,对于经过网络IP层的报文,网络IP层根据符合Linux网络标准的处理流程(如网络IP层流程)处理该报文,再将处理后的报文发送至网络驱动层。
S5:网络驱动层中的EBPF处理程序根据上述所生成的过滤规则对该报文进行过滤,确定丢弃该报文或允许该报文通过。
具体实现中,如果确定丢弃报文,则将接收到的报文丢弃(相当于不再处理该报文);如果确定允许报文通过,则将该报文发送到网络硬件。
以上图2是关于EBPF链路层防火墙的相关说明,对于图2中涉及的根据过滤规则对报文进行过滤的内容,详见以下各个实例的说明。
参见图3,示出了本发明实施例提供的一种处理报文的方法的流程图,该方法包括:
步骤S301:接收由第一ECU发送至目标端口的待处理报文。
需要说明的是,目标端口为第二ECU与车内交换网络连接的端口;由上述本发明实施例图1相关的内容可知,每个ECU都设置相应的链路层防火墙,且各个ECU接收到的报文由其它ECU发送,故待处理报文为第一ECU发送至第二ECU的报文,此时由第二ECU对应的链路层防火墙对该待处理报文进行过滤。
可以理解的是,由上述内容可知,ECU可以划分为TBOX和其它ECU两类;也就是说,第二ECU可以是TBOX,也可以是除TBOX以外的其它ECU。不同类型的ECU所生成的过滤规则有所不同;因此对于第二ECU,需要生成与第二ECU的类型对应的过滤规则。以下分别对TBOX和其它ECU对应的过滤规则进行解释说明。
关于TBOX对应的过滤规则的说明:
需要说明的是,车载网络系统中的各个ECU的MAC地址(Media Access ControlAddress)和IP地址都是预先固定设置的;因此可以将各个ECU的MAC地址记录到MAC地址列表中,以及将各个ECU的IP地址记录到IP地址列表中,通过MAC地址列表和IP地址列表来确定过滤规则;其中,由于MAC地址分为源MAC地址和目的MAC地址,故MAC地址列表中包括了源MAC地址列表(记录了源MAC地址);同理,由于IP地址分为源IP地址和目的IP地址,故IP地址列表中包括了源IP地址列表(记录了源IP地址)。
待处理报文中不同域的值至少分别为源MAC地址、目的MAC地址、源IP地址和目的IP地址;对于TBOX对应的过滤规则,不同过滤规则用于检测待处理报文中不同域的值,即不同的过滤规则可分别用于检测待处理报文的源MAC地址、目的MAC地址、源IP地址和目的IP地址;每条过滤规则预先设定动作,每条过滤规则所设定的动作为丢弃报文或允许报文通过(或者说允许报文通行);TBOX的部分过滤规则参见表1。
表1:
对于上述编号为A0的过滤规则,由于源MAC地址列表中存储的源MAC地址均为车载网络系统中各个ECU的源MAC地址,因此源MAC地址在源MAC地址列表中的报文可以被允许通过。
对于上述编号为A1的过滤规则,由于车内交换网络中与TBOX连接的端口上所接收到的报文都是发送到TBOX端口上的,如果该报文为单播报文,则该报文的目的MAC地址应该是TBOX端口的MAC地址,即目的MAC地址为TBOX端口的MAC地址的报文可以被允许通过;如果报文是广播报文,则该报文的目的MAC地址为广播MAC地址,该报文可以被允许通过;如果报文为组播报文,则该报文的目的MAC地址应该是TBOX端口所加入的组播组的组播MAC地址,即目的MAC地址为TBOX端口所加入的组播组的组播MAC地址的报文可以被允许通过。
对于上述编号为A2的过滤规则,由于源IP列表中存储的源IP地址均为车载网络系统中各个ECU的源IP地址,因此源IP地址在源IP列表中的报文可以被允许通过。
对于上述编号为A3的过滤规则,由于车内交换网络中与TBOX连接的端口上所接收到的报文都是发送到TBOX端口上的,如果该报文为单播报文,则该报文的目的IP地址应该是TBOX端口的IP地址,即目的IP地址为TBOX端口的IP地址的报文可以被允许通过;由于车载网络系统的ECU都是使用相同的一个私有网址网段,如果报文为单播报文且目的IP地址不是该私有网址网段,表示该报文需要经过TBOX转发到远端服务器IP地址,此时目的IP地址不是该私有网址网段的报文可以被允许通过;如果报文是广播报文,则该报文的目的IP地址为广播IP地址,该报文可以被允许通过,例如广播IP地址可以是255.255.255.255;如果报文为组播报文,则该报文的目的IP地址应该是TBOX端口所加入的组播组的组播IP地址,即目的IP地址为TBOX端口所加入的组播组的组播IP地址的报文可以被允许通过。
对于上述编号为A4的过滤规则,预先设定绑定关系列表,该绑定关系列表中规定了各个源MAC地址和各个源IP地址之间的绑定关系,即绑定关系列表中每个源MAC地址都存在与之对应的源IP地址;如果报文的源MAC地址和源IP地址均存在绑定关系列表中,且报文的源MAC地址和源IP地址符合绑定关系列表中规定的绑定关系,则该报文允许被通过。
对于上述编号为A5的过滤规则,如果报文不满足A0至A4的所有过滤规则或任意过滤规则(可根据实际需求设定),可以执行缺省规则以采取默认动作,该默认动作可以设置为丢弃报文或允许报文通行。
需要说明的是,上述表1所示出的过滤规则仅仅用于举例说明,过滤规则的动作也可以设置为丢弃(即丢弃报文),在此对于过滤规则的具体内容不一一举例说明。
结合上述关于TBOX的过滤规则的内容,一些具体实施例中,在第二ECU为TBOX的情况下,各个过滤规则的定义如下:
源MAC过滤规则的定义为:源MAC地址在源MAC地址列表中的报文可以被允许通过。
目的MAC过滤规则的定义:在TBOX端口接收到的报文为单播报文的情况下,目的MAC地址为TBOX端口的MAC地址的报文可以被允许通过;在TBOX端口接收到的报文为广播报文的情况下,目的MAC地址为广播MAC地址的报文可以被允许通过;在TBOX端口接收到的报文为组播报文的情况下,目的MAC地址为TBOX端口所加入的组播组的组播MAC地址的报文可以被允许通过。
源IP过滤规则的定义为:源IP地址在源IP列表中的报文可以被允许通过。
目的IP过滤规则的定义为:在TBOX端口接收到的报文为单播报文的情况下,目的IP地址为TBOX端口的IP地址的报文可以被允许通过,或者,目的IP地址不是车载网络系统的ECU使用的私有网址网段的报文可以被允许通过;在TBOX端口接收到的报文为广播报文的情况下,目的IP地址为广播IP地址的报文可以被允许通过;在TBOX端口接收到的报文为组播报文的情况下,目的IP地址为TBOX端口所加入的组播组的组播IP地址的报文可以被允许通过。
绑定关系过滤规则的定义为:源MAC地址和源IP地址均存在绑定关系列表中且符合所述绑定关系列表中规定的绑定关系的报文允许被通过,其中,绑定关系列表中规定了各个源MAC地址和各个源IP地址之间的绑定关系。
对于均不满足源MAC过滤规则、目的MAC过滤规则、源IP过滤规则、目的IP过滤规则和绑定关系过滤规则的报文,按照缺省规则处理。
关于除TBOX以外的其它ECU对应的过滤规则的说明:
需要说明的是,关于MAC地址列表、IP地址列表和待处理报文中不同域的值的相关内容,可参见上述关于TBOX对应的过滤规则的说明,在此不再赘述。除TBOX以外的其它ECU的部分过滤规则参见表2。
表2:
对于上述编号为B0的过滤规则,由于源MAC地址列表中存储的源MAC地址均为车载网络系统中各个ECU的源MAC地址,因此源MAC地址在源MAC地址列表中的报文可以被允许通过。
对于上述编号为B1的过滤规则,如果报文为单播报文,则该报文的目的MAC地址应该是ECU端口(车内交换网络中接收到报文的与除TBOX以外的ECU连接的端口)的MAC地址,即目的MAC地址为ECU端口的MAC地址的报文可以被允许通过;如果报文是广播报文,则该报文的目的MAC地址为广播MAC地址,该报文可以被允许通过;如果报文为组播报文,则该报文的目的MAC地址应该是ECU端口所加入的组播组的组播MAC地址,即目的MAC地址为ECU端口所加入的组播组的组播MAC地址的报文可以被允许通过。
对于上述编号为B2的过滤规则,由于ECU端口上收到的报文是从其它ECU(此时为相对于接收到报文的ECU以外的ECU)发送的或者由远端服务器经过TBOX发送的,车内交换网络采用私有IP网段,如果报文的源IP地址不在该私有IP网段中,说明该报文是由远端服务器经过TBOX发送的,此时允许该报文通过,即允许源IP地址不在该私有IP网段中的报文通过;如果报文的源IP地址在该私有IP网段中,说明该报文是由其它ECU发送的,此时需要利用源IP地址列表对该报文进行判断,若该报文的源IP地址在源IP地址列表中则允许该报文通过,也就是说,允许源IP地址在私有IP网段和源IP地址列表中的报文通过。
对于上述编号为B3的过滤规则,如果该报文为单播报文,则该报文的目的IP地址应该是ECU端口的IP地址,即目的IP地址为ECU端口的IP地址的报文可以被允许通过;如果报文是广播报文,则该报文的目的IP地址为广播IP地址,该报文可以被允许通过;如果报文为组播报文,则该报文的目的IP地址应该是ECU端口所加入的组播组的组播IP地址,即目的IP地址为ECU端口所加入的组播组的组播IP地址的报文可以被允许通过。
对于上述编号为B4的过滤规则,预先设定绑定关系列表,该绑定关系列表中规定了各个源MAC地址和各个源IP地址之间的绑定关系,即绑定关系列表中每个源MAC地址都存在与之对应的源IP地址;如果报文的源MAC地址和源IP地址均存在绑定关系列表中,且报文的源MAC地址和源IP地址符合绑定关系列表中规定的绑定关系,则该报文允许被通过。
对于上述编号为B5的过滤规则,如果报文不满足B0至B4的所有过滤规则或任意过滤规则(可根据实际需求设定),可以执行缺省规则以采取默认动作,该默认动作可以设置为丢弃报文或允许报文通行。
需要说明的是,上述表2所示出的过滤规则仅仅用于举例说明,过滤规则的动作也可以设置为丢弃(即丢弃报文),在此对于过滤规则的具体内容不一一举例说明。
结合上述关于除TBOX以外的其它ECU的过滤规则的内容,一些具体实施例中,在第二ECU为除TBOX以外的ECU的情况下,各个过滤规则的定义如下:
源MAC过滤规则的定义为:源MAC地址在源MAC地址列表中的报文可以被允许通过。
目的MAC过滤规则的定义:在ECU端口接收到的报文为单播报文的情况下,目的MAC地址为ECU端口的MAC地址的报文可以被允许通过;在ECU端口接收到的报文为广播报文的情况下,目的MAC地址为广播MAC地址的报文可以被允许通过;在ECU端口接收到的报文为组播报文的情况下,目的MAC地址为ECU端口所加入的组播组的组播MAC地址的报文可以被允许通过。
源IP过滤规则的定义为:源IP地址不在车内交换网络采用的私有IP网段中的报文可以被允许通过;源IP地址在私有IP网段中且在源IP列表中的报文可以被允许通过。
目的IP过滤规则的定义为:在ECU端口接收到的报文为单播报文的情况下,目的IP地址为ECU端口的IP地址的报文可以被允许通过;在ECU端口接收到的报文为广播报文的情况下,目的IP地址为广播IP地址的报文可以被允许通过;在ECU端口接收到的报文为组播报文的情况下,目的IP地址为ECU端口所加入的组播组的组播IP地址的报文可以被允许通过。
绑定关系过滤规则的定义为:源MAC地址和源IP地址均存在绑定关系列表中且符合绑定关系列表中规定的绑定关系的报文允许被通过,其中,绑定关系列表中规定了各个源MAC地址和各个源IP地址之间的绑定关系。
对于均不满足源MAC过滤规则、目的MAC过滤规则、源IP过滤规则、目的IP过滤规则和绑定关系过滤规则的报文,按照缺省规则处理。
结合上述表1和表2中的内容可知,每条过滤规则均由匹配字段和动作两部分构成;过滤规则的匹配字段用于检测待处理报文是否与该过滤规则相匹配,如果待处理报文与该过滤规则相匹配,可以记录该过滤规则的动作;例如:假设过滤规则A的匹配字段为源MAC地址列表中的源MAC地址,将待处理报文的源MAC地址与过滤规则A的匹配字段进行匹配,如果待处理报文的源MAC地址与过滤规则A的匹配字段相匹配(也就是待处理报文的源MAC地址在源MAC地址列表中),则表示待处理报文与过滤规则A相匹配,此时记录过滤规则A的动作。
结合上述关于TBOX的过滤规则和除TBOX以外的其它ECU的部分过滤规则的相关内容,优选的,在执行步骤S301之前,将与车内交换网络连接的各个ECU的MAC地址记录到MAC地址列表,以及将各个ECU的IP地址记录到IP地址列表,其中,MAC地址分为源MAC地址和目的MAC地址,IP地址分为源IP地址和目的IP地址,MAC地址列表中至少包括:记录了源MAC地址的源MAC地址列表;IP地址列表至少包括:记录了源IP地址的源IP地址列表;至少根据MAC地址列表和IP地址列表,设置第二ECU的类型对应的过滤规则,以用于检测待处理报文中不同域的值;其中,待处理报文中不同域的值至少分别为源MAC地址、目的MAC地址、源IP地址和目的IP地址;不同的所述过滤规则可分别用于检测所述待处理报文的源MAC地址、目的MAC地址、源IP地址和目的IP地址;每条过滤规则预先设定动作,每条过滤规则所设定的动作为丢弃待处理报文或允许所述待处理报文通过,第二ECU为TBOX或除TBOX以外的其它ECU。
一些具体实施例中,设置第二ECU的类型对应的过滤规则的过程包括:响应于在EBPF链路层防火墙对应的EBPF软件中输入的设置指令,基于设置指令所携带的命令行,生成与第二ECU的类型对应的过滤规则,其中,每条过滤规则包含匹配字段和动作,匹配字段用于检测待处理报文是否与过滤规则相匹配;针对每条过滤规则,若待处理报文与该过滤规则相匹配,记录该过滤规则的动作。将所生成的过滤规则存储到共享内存中。需要说明的是,关于设置指令的具体内容可参见上述图2步骤S0和步骤S1中的相关内容。
步骤S302:解析待处理报文的数据链路层数据和网络IP层数据,以得到至少一条待匹配字段。
在具体实现步骤S302的过程中,解析待处理报文的数据链路层数据以获取MAC报文头,及解析待处理报文的网络IP层数据以获取IP报文头;分别提取MAC报文头中的第一目的MAC地址和第一源MAC地址以作为待匹配字段,及分别提取IP报文头中的第一目的IP地址和第一源IP地址以作为待匹配字段。
具体而言,解析待处理报文的数据链路层数据,调用查找程序查找待处理报文中的内容,以得到MAC报文头和MAC报文头中各个域的值,MAC报文头中各个域的值至少为第一目的MAC地址和第一源MAC地址。同理,解析待处理报文的网络IP层数据,调用查找程序查找报文中的内容,以得到IP报文头和IP报文头中各个域的值,IP报文头中各个域的值至少为第一目的IP地址和第一源IP地址。也就是说,从待处理报文中提取的待匹配字段分别为第一目的MAC地址、第一源MAC地址、第一目的IP地址和第一源IP地址。
步骤S303:将待匹配字段与相应的过滤规则进行匹配,获取匹配结果。
需要说明的是,由上述表1和表2的相关内容中可知,不同的过滤规则用于针对报文中不同域的值进行过滤,例如:某些过滤规则用于过滤报文中的源MAC地址,某些过滤规则用于过滤报文中的目的MAC地址;因此,用于过滤源MAC地址的过滤规则可称为源MAC过滤规则,用于过滤目的MAC地址的过滤规则可称之为目的MAC过滤规则,用于过滤源IP地址的过滤规则可称为源IP过滤规则,用于过滤目的IP地址的过滤规则可称之为目的IP过滤规则,用于过滤源IP地址和源MAC地址之间的对应关系的过滤规则可称之为绑定关系过滤规则。
在具体实现步骤S303的过程中,对于待处理报文中提取的待匹配字段,该待匹配字段需要与自身相对应的过滤规则进行匹配以得到匹配结果,每条待匹配字段都可得到相应的匹配结果;例如:第一目的MAC地址需要与目的MAC过滤规则进行匹配,从而得到相应的匹配结果。
具体而言,将第一目的MAC地址与目的MAC过滤规则中的第二目的MAC地址进行匹配,获取相应的匹配结果,其中第二目的MAC地址即为MAC过滤规则中的匹配字段;如果第一目的MAC地址与第二目的MAC地址相同,则该匹配结果指示匹配成功;反之则该匹配结果指示匹配失败。
将第一源MAC地址与源MAC过滤规则中的第二源MAC地址进行匹配,获取相应的匹配结果;如果第一源MAC地址与第二源MAC地址相同,则该匹配结果指示匹配成功;反之则该匹配结果指示匹配失败。
将第一目的IP地址与目的IP过滤规则中的第二目的IP地址进行匹配,获取相应的匹配结果;如果第一目的IP地址与第二目的IP地址相同,则该匹配结果指示匹配成功;反之则该匹配结果指示匹配失败。
将第一源IP地址与源IP过滤规则中的第二源IP地址进行匹配,获取相应的匹配结果;如果第一源IP地址与第二源IP地址相同,则该匹配结果指示匹配成功;反之则该匹配结果指示匹配失败。
将第一源MAC地址和第一源IP地址分别与绑定关系过滤规则中的第二源MAC地址和第二源IP地址进行匹配,获取相应的匹配结果;其中,第二源MAC地址和第二源IP地址具有绑定关系,如果第一源MAC地址与第二源MAC地址相同,且第一源IP地址与第二源IP地址相同,则该匹配结果指示匹配成功;反之则该匹配结果指示匹配失败。
一些实施例中,对于每一待匹配字段,将该待匹配字段与相应的过滤规则进行匹配后,若匹配结果指示匹配成功,则记录与该待匹配字段相应的过滤规则所设定的动作(丢弃或允许通过)。
为更好解释说明上述关于各个过滤规则的内容,通过表3至表7进行举例说明,其中,表3为源MAC过滤规则的相关示例,表4为目的MAC过滤规则的相关示例,表5为源IP过滤规则的相关示例,表6为目的IP过滤规则的相关示例,表7为绑定关系过滤规则的相关示例。
表3:
编号 | 源MAC地址 | 动作 |
1 | 02:52:5a:47:14:26 | 允许通过 |
2 | 02:52:5a:47:14:28 | 丢弃 |
如表3示出的两条源MAC过滤规则,每条源MAC过滤规则由一个第二源MAC地址和动作组成;如果待处理报文中的第一源MAC地址与某一源MAC过滤规则中的第二源MAC地址相同,则匹配结果指示匹配成功,此时记录该源MAC过滤规则的动作,该动作为允许通过或丢弃。
表4:
编号 | 目的MAC地址 | 动作 |
1 | 02:52:5a:47:14:24 | 允许通过 |
2 | 02:52:5a:47:14:23 | 丢弃 |
如表4示出的两条目的MAC过滤规则,每条目的MAC过滤规则由一个第二目的MAC地址和动作组成;如果待处理报文中的第一目的MAC地址与某一目的MAC过滤规则中的第二目的MAC地址相同,则匹配结果指示匹配成功,此时记录该目的MAC过滤规则的动作,该动作为允许通过或丢弃。
表5:
编号 | 源IP地址 | 动作 |
1 | 192.168.2.129 | 允许通过 |
2 | 192.168.2.128 | 丢弃 |
如表5示出的两条源IP过滤规则,每条源IP过滤规则由一个第二源IP地址和动作组成;如果待处理报文中的第一源IP地址与某一源IP过滤规则中的第二源IP地址相同,则匹配结果指示匹配成功,此时记录该源IP过滤规则的动作,该动作为允许通过或丢弃。
表6:
编号 | 目的IP地址 | 动作 |
1 | 192.168.2.209 | 允许通过 |
2 | 239.0.0.1 | 丢弃 |
如表6示出的两条目的IP过滤规则,每条目的IP过滤规则由一个第二目的IP地址和动作组成;如果待处理报文中的第一目的IP地址与某一目的IP过滤规则中的第二目的IP地址相同,则匹配结果指示匹配成功,此时记录该目的IP过滤规则的动作,该动作为允许通过或丢弃。
表7:
编号 | 源MAC | 源IP | 动作 |
1 | 02:52:5a:47:14:26 | 192.168.2.128 | 允许通过 |
2 | 02:52:5a:47:14:29 | 192.168.2.129 | 允许通过 |
如表6示出的两条绑定关系过滤规则,每条绑定关系过滤规则由动作及一组具有绑定关系的第二源MAC地址和第二源IP地址组成;如果待处理报文中的第一源MAC地址和第一源IP地址的关系与某一绑定关系过滤规则中所规定的第二源MAC地址和第二源IP地址的绑定关系一致,即第一源MAC地址与该绑定关系过滤规则中的第二源MAC地址一致,且第一源IP地址与该绑定关系过滤规则中的第二源IP地址一致,则匹配结果指示匹配成功,此时记录该绑定关系过滤规则的动作,该动作通常设置为允许通过。一些实施例中,如果第一源MAC地址与该绑定关系过滤规则中的第二源MAC地址不一致,和/或,如果第一源IP地址与该绑定关系过滤规则中的第二源IP地址不一致,可以根据预设的缺省规则处理待处理报文(此种方式仅举例),缺省规则为允许待处理报文通过或丢弃待处理报文,其中,根据缺省规则处理待处理报文可以理解为采用默认动作。
一些实施例中,在待处理报文与绑定关系过滤规则进行匹配的过程中,将第一源MAC地址和第一源IP地址分别与绑定关系过滤规则中的第二源MAC地址和第二源IP地址进行匹配;若第一源MAC地址与第二源MAC地址一致,且第一源IP地址与第二源IP地址一致,获取指示匹配成功的匹配结果,记录绑定关系过滤规则设定的动作;若第一源MAC地址与第二源MAC地址不一致,和/或,若第一源IP地址与第二源IP地址不一致,获取指示匹配失败的匹配结果,根据预设的缺省规则处理待处理报文,所述缺省规则为允许待处理报文通过或丢弃待处理报文。
步骤S304:在所有匹配结果均指示匹配失败的情况下,或者,在部分匹配结果指示匹配成功,且指示匹配成功的匹配结果对应的过滤规则设定的动作为允许待处理报文通过的情况下,根据预设的缺省规则处理待处理报文。
需要说明的是,将各条待匹配字段与相应的过滤规则进行匹配之后,可能存在以下情况:所有待匹配字段均匹配上相应的过滤规则;或者,所有待匹配字段都匹配不上相应的过滤规则;或者,部分待匹配字段匹配上相应的过滤规则,而另一部分待匹配字段未匹配上相应的过滤规则,也就是某些待匹配字段同与其相应的过滤规则相匹配,而另一些待匹配字段同与其相应的过滤规则不匹配。
进一步需要说明的是,待匹配字段与过滤规则匹配上具体是指:待匹配字段与过滤规则的匹配结果指示匹配成功。同理,待匹配字段与过滤规则未匹配上具体是指:待匹配字段与过滤规则的匹配结果指示匹配失败。
在具体实现步骤S304的过程中,将各条待匹配字段与相应的过滤规则进行匹配之后,如果每一条待匹配字段都匹配不上相应的过滤规则,即在所有匹配结果均指示匹配失败的情况下,根据预设的缺省规则处理待处理报文,缺省规则为允许待处理报文通过或丢弃待处理报文。
在部分匹配结果指示匹配成功,且指示匹配成功的匹配结果对应的过滤规则设定的动作为允许待处理报文通过的情况下,也就是说,在部分待匹配字段匹配上相应的过滤规则且匹配上的过滤规则设定的动作为允许待处理报文通过的情况下,则根据缺省规则处理该待处理报文,缺省规则为允许待处理报文通过或丢弃待处理报文。
需要说明的是,部分匹配结果指示匹配成功具体是指:所有待匹配字段不完全匹配上相应的过滤规则;也就是说,部分待匹配字段匹配上相应的过滤规则,而另一部分待匹配字段未匹配上相应的过滤规则。
步骤S305:在任意匹配结果指示匹配成功的情况下,若指示匹配成功的匹配结果对应的过滤规则设定的动作为丢弃待处理报文,丢弃待处理报文。
在具体实现步骤S305的过程中,在任意匹配结果指示匹配成功的情况下,或者说,在部分待匹配字段匹配上相应的过滤规则的情况下,如果匹配上的任意一条过滤规则设定的动作为丢弃待处理报文,则直接丢弃待处理报文。
步骤S306:在所有匹配结果均指示匹配成功的情况下,若指示匹配成功的匹配结果对应的过滤规则设定的动作为允许待处理报文通过,允许待处理报文通过并记录待处理报文的日志。
在具体实现步骤S306的过程中,在所有匹配结果均指示匹配成功的情况下,或者说,在所有待匹配字段都匹配上相应的过滤规则的情况下,若所有匹配上的过滤规则设定的动作均为允许待处理报文通过,允许待处理报文通过并记录待处理报文的日志。同理,如果匹配上的任意一条过滤规则设定的动作为丢弃待处理报文,则直接丢弃待处理报文。
优选的,在允许待处理报文通过并记录待处理报文的日志之后,将待处理报文发送至网络协议栈或网络硬件以进行相关逻辑处理,将待处理报文发送至网络协议栈或网络硬件的方式,可参见上述图2中的内容,在此不再赘述。
以上步骤S301至步骤S306中是关于过滤规则和如何过滤待处理报文的相关内容,其中,如何过滤待处理报文的相关内容也就是上述图2中EBPF处理程序对报文进行过滤的详细内容。
在本发明实施例中,在接收到待处理报文时,解析待处理报文的数据链路层数据和网络IP层数据,得到至少一条待匹配字段。利用过滤规则对待匹配字段进行匹配,并根据匹配结果确定允许待处理报文通过或者丢弃待处理报文,以实现对数据链路层数据的过滤,提高车载网络系统的安全性。
为更好解释说明上述本发明实施例图3中的内容,通过图4示出的一种处理报文的方法的另一流程图进行示例说明,图4包括以下步骤:
步骤S401:在Linux的网络驱动层接收到待处理报文。
需要说明的是,待处理报文为第一控制电子单元发送至第二ECU的报文;由第二ECU所对应的EBPF链路层防火墙处理该待处理报文。
步骤S402:解析待处理报文的数据链路层数据,以得到至少一条待匹配字段。
在具体实现步骤S402的过程中,解析待处理报文的数据链路层数据,调用查找程序查找待处理报文中的内容以得到MAC报文头和MAC报文头中各个域的值,MAC报文头中各个域的值至少为第一目的MAC地址和第一源MAC地址,第一目的MAC地址和第一源MAC地址即为待匹配字段。
步骤S403:将第一目的MAC地址和目的MAC过滤规则进行匹配,得到匹配结果,其中,匹配结果指示匹配成功时记录目的MAC过滤规则设定的动作。
在具体实现步骤S403的过程中,将第一目的MAC地址和目的MAC过滤规则的第二目的MAC地址进行匹配,获取相应的匹配结果;如果第一目的MAC地址与第二目的MAC地址相同,则该匹配结果指示匹配成功;反之则该匹配结果指示匹配失败;在匹配结果指示匹配成功时记录目的MAC过滤规则设定的动作,目的MAC过滤规则设定的动作为允许待处理报文通过或丢弃待处理报文。
步骤S404:将第一源MAC地址和源MAC过滤规则进行匹配,得到匹配结果,其中,匹配结果指示匹配成功时记录源MAC过滤规则设定的动作。
在具体实现步骤S404的过程中,将第一源MAC地址和源MAC过滤规则的第二源MAC地址进行匹配,获取相应的匹配结果;如果第一源MAC地址与第二源MAC地址相同,则该匹配结果指示匹配成功;反之则该匹配结果指示匹配失败;在匹配结果指示匹配成功时记录源MAC过滤规则设定的动作,源MAC过滤规则设定的动作为允许待处理报文通过或丢弃待处理报文。
步骤S405:解析待处理报文的网络IP层数据,以得到至少一条待匹配字段。
在具体实现步骤S404的过程中,解析待处理报文的网络IP层数据,调用查找程序查找待处理报文中的内容以得到IP报文头和IP报文头中各个域的值,IP报文头中各个域的值至少为第一目的IP地址和第一源IP地址,第一目的IP地址和第一源IP地址即为待匹配字段。
步骤S406:将第一目的IP地址和目的IP过滤规则进行匹配,得到匹配结果,其中,匹配结果指示匹配成功时记录目的IP过滤规则设定的动作。
在具体实现步骤S406的过程中,将第一目的IP地址和目的IP过滤规则的第二目的IP地址进行匹配,获取相应的匹配结果;如果第一目的IP地址与第二目的IP地址相同,则该匹配结果指示匹配成功;反之则该匹配结果指示匹配失败;在匹配结果指示匹配成功时记录目的IP过滤规则设定的动作,目的IP过滤规则设定的动作为允许待处理报文通过或丢弃待处理报文。
步骤S407:将第一源IP地址和源IP过滤规则进行匹配,得到匹配结果,其中,匹配结果指示匹配成功时记录源IP过滤规则设定的动作。
在具体实现步骤S407的过程中,将第一源IP地址和源IP过滤规则的第二源IP地址进行匹配,获取相应的匹配结果;如果第一源IP地址与第二源IP地址相同,则该匹配结果指示匹配成功;反之则该匹配结果指示匹配失败;在匹配结果指示匹配成功时记录源IP过滤规则设定的动作,源IP过滤规则设定的动作为允许待处理报文通过或丢弃待处理报文。
步骤S408:将第一源MAC地址和第一源IP地址与绑定关系过滤规则进行匹配,得到匹配结果,其中,匹配结果指示匹配成功时记录绑定关系过滤规则设定的动作。
在具体实现步骤S408的过程中,将第一源MAC地址和第一源IP地址分别与绑定关系过滤规则中的第二源MAC地址和第二源IP地址进行匹配,获取相应的匹配结果;其中,第二源MAC地址和第二源IP地址具有绑定关系,如果第一源MAC地址与第二源MAC地址相同,且第一源IP地址与第二源IP地址相同,则该匹配结果指示匹配成功;反之则该匹配结果指示匹配失败。绑定关系过滤规则设定的动作为允许待处理报文通过或丢弃待处理报文。
步骤S409:根据各个匹配结果和所记录的动作,允许待处理报文通过,或者,丢弃待处理报文,或者,根据缺省规则处理待处理报文。
在具体实现步骤S409的过程中,在所有匹配结果均指示匹配失败的情况下,根据缺省规则处理待处理报文;缺省规则为允许待处理报文通过或丢弃待处理报文。在部分待匹配字段匹配上相应的过滤规则的情况下(部分匹配结果指示匹配成功),如果所记录的任意动作为丢弃待处理报文,也就是如果匹配上的任意一条过滤规则设定的动作为丢弃待处理报文,则直接丢弃待处理报文。
在部分待匹配字段匹配上相应的过滤规则的情况下,如果所记录的动作均为允许待处理报文通过,也就是如果所有匹配上的过滤规则设定的动作均为允许待处理报文通过,则根据缺省规则处理该待处理报文。
在所有匹配结果均指示匹配成功的情况下,也就是匹配上所有过滤规则的情况下,若所记录的所有动作均为允许待处理报文通过,允许待处理报文通过并记录待处理报文的日志。在允许待处理报文通过并记录待处理报文的日志之后,将待处理报文发送至网络协议栈或网络硬件以进行相关逻辑处理。
以上图4各个步骤所给出的内容为处理报文的其中一种方式;在图4所给出的示例中,依次将目的MAC地址、源MAC地址、目的IP地址和源IP地址与相应的过滤规则进行匹配,最后按照匹配结果和所记录的动作确定允许待处理报文通过或丢弃待处理报文;前述示例仅仅为处理报文的其中一种方式,也可以在将待匹配字段与过滤规则进行匹配的过程中确定允许待处理报文通过或丢弃待处理报文,详见以下说明。
在将第一目的MAC地址和目的MAC过滤规则进行匹配得到匹配结果的过程中,若匹配结果指示匹配成功且目的MAC过滤规则设定的动作为允许待处理报文通过,继续将第一源MAC地址和源MAC过滤规则进行匹配(相当于继续进行后续过滤规则的匹配);若匹配结果指示匹配失败且目的MAC过滤规则设定的动作为允许待处理报文通过,根据缺省规则处理待处理报文;若匹配结果指示匹配成功且目的MAC过滤规则设定的动作为丢弃待处理报文,则直接丢弃待处理报文;若匹配结果指示匹配失败且目的MAC过滤规则设定的动作为丢弃待处理报文,继续将第一源MAC地址和源MAC过滤规则进行匹配(相当于继续进行后续过滤规则的匹配)。
将第一源MAC地址和源MAC过滤规则进行匹配的过程中的处理逻辑,可参见上述将第一目的MAC地址和目的MAC过滤规则进行匹配的过程中的处理逻辑,在此不再赘述;同理,其它待匹配字段和过滤规则进行匹配的过程中的处理逻辑,也可参见上述内容,在此也不再赘述。
以上各实施例是关于如何过滤报文的相关说明,通过以上实施例所给出的处理报文的方式,可以对接入车载网络系统的设备所发送的待处理报文进行安全检查,将攻击者发送的待处理报文丢弃;为更好解释说明如果对待处理报文进行安全检查,以第二ECU为ECU为例,通过图5示出的过滤待处理报文的流程图进行举例说明,图5包括以下步骤:
步骤S501:ECU配置相应的过滤规则。
需要说明的是,预先设置缺省规则为丢弃待处理报文。关于各过滤规则的具体内容,可参见上述各实施例中关于过滤规则的说明,在此不再赘述;预先设置缺省规则为丢弃待处理报文;例如:将源MAC过滤规则的第二源MAC地址设置为“02:52:5a:47:14:24”,源MAC过滤规则设定的动作为允许待处理报文通过;又例如:将绑定关系过滤规则中具有对应关系的第二源MAC地址和第二源IP地址分别设置为“02:52:5a:47:14:24”和“192.168.1.207”。
步骤S502:ECU接收车载网络设备发送的待处理报文;该待处理报文匹配上配置的各条过滤规则,且各条过滤规则设定的动作为允许待处理报文通过,此时允许待处理报文通过。
在具体实现步骤S502的过程中,ECU接收车载网络设备(其它ECU)发送的待处理报文,且该待处理报文中的待匹配字段均匹配上相应的过滤规则,由于各条过滤规则设定的动作为允许待处理报文通过,此时允许待处理报文通过。
例如:待处理报文中的第一源MAC地址和第一源IP地址分别为“02:52:5a:47:14:24”和“192.168.1.207”,该第一源MAC地址与第二源MAC地址相同,第一源IP地址与第二源IP地址相同,则该待处理报文匹配上所配置的源MAC过滤规则和绑定关系过滤规则。
步骤S503:ECU接收攻击设备1发送的待处理报文;该待处理报文未匹配上配置的任意过滤规则,此时丢弃待处理报文。
在具体实现步骤S503的过程中,ECU接收攻击设备1发送的待处理报文,该待处理报文中的任意待匹配字段未匹配上相应的过滤规则;根据缺省规则处理待处理报文,由于缺省规则为丢弃待处理报文,此时丢弃待处理报文。
例如:待处理报文的第一源MAC地址为“02:52:5a:47:14:20”,该第一源MAC地址与第二源MAC地址不同,则该待处理报文未匹配上源MAC过滤规则和绑定关系过滤规则,此时丢弃待处理报文。
步骤S504:ECU接收攻击设备2发送的待处理报文;该待处理报文未匹配上配置的任意过滤规则,此时丢弃待处理报文。
在具体实现步骤S504的过程中,ECU接收攻击设备2发送的待处理报文,该待处理报文中的任意待匹配字段未匹配上相应的过滤规则;根据缺省规则处理待处理报文,由于缺省规则为丢弃待处理报文,此时丢弃待处理报文。
例如:待处理报文的第一源MAC地址为“02:52:5a:47:14:10”,第一源IP地址为“192.168.1.207”;该第一源IP地址与第二源IP地址相同,但是该第一源MAC地址与第二源MAC地址不同,则该待处理报文未匹配上源MAC过滤规则和绑定关系过滤规则,此时丢弃待处理报文。
与上述本发明实施例提供的一种处理报文的方法相对应,参见图6,本发明实施例还提供了一种处理报文的装置的结构框图,该处理报文的装置包括:接收模块601、解析模块602、匹配模块603、第一处理模块604、第二处理模块605和第三处理模块606;
接收模块601,用于接收由第一ECU发送至目标端口的待处理报文。
需要说明的是,目标端口为第二ECU与车内交换网络连接的端口,与车内交换网络连接的每个ECU均设置有相应的链路层防火墙,各个ECU接收到的报文由其它ECU发送,待处理报文由第一ECU发送至第二ECU,待处理报文由第二ECU的链路层防火墙进行过滤。
解析模块602,用于解析待处理报文的数据链路层数据和网络IP层数据,以得到至少一条待匹配字段。
匹配模块603,用于将待匹配字段与相应的过滤规则进行匹配,获取匹配结果。
第一处理模块604,用于在所有匹配结果均指示匹配失败的情况下,或者,在部分匹配结果指示匹配成功,且指示匹配成功的匹配结果对应的过滤规则设定的动作为允许待处理报文通过的情况下,根据预设的缺省规则处理待处理报文,缺省规则为允许待处理报文通过或丢弃待处理报文。
第二处理模块605,用于在任意匹配结果指示匹配成功的情况下,若指示匹配成功的匹配结果对应的过滤规则设定的动作为丢弃待处理报文,丢弃待处理报文。
第三处理模块606,用于在所有匹配结果均指示匹配成功的情况下,若指示匹配成功的匹配结果对应的过滤规则设定的动作为允许待处理报文通过,允许待处理报文通过并记录待处理报文的日志。
优选的,第三处理模块606还用于:允许待处理报文通过并记录待处理报文的日志之后,将待处理报文发送至网络协议栈或网络硬件以进行相关逻辑处理。
在本发明实施例中,在接收到待处理报文时,解析待处理报文的数据链路层数据和网络IP层数据,得到至少一条待匹配字段。利用过滤规则对待匹配字段进行匹配,并根据匹配结果确定允许待处理报文通过或者丢弃待处理报文,以实现对数据链路层数据的过滤,提高车载网络系统的安全性。
优选的,结合图6示出的内容,处理报文的装置还包括:
记录模块,用于将与车内交换网络连接的各个ECU的MAC地址记录到MAC地址列表,以及将各个ECU的IP地址记录到IP地址列表,其中,MAC地址分为源MAC地址和目的MAC地址,IP地址分为源IP地址和目的IP地址,MAC地址列表中至少包括:记录了源MAC地址的源MAC地址列表;IP地址列表至少包括:记录了源IP地址的源IP地址列表。
规则设置模块,用于至少根据MAC地址列表和IP地址列表,设置第二ECU的类型对应的过滤规则,以用于检测待处理报文中不同域的值。
其中,待处理报文中不同域的值至少分别为源MAC地址、目的MAC地址、源IP地址和目的IP地址;不同的过滤规则可分别用于检测待处理报文的源MAC地址、目的MAC地址、源IP地址和目的IP地址;每条过滤规则预先设定动作,每条过滤规则所设定的动作为丢弃待处理报文或允许待处理报文通过,第二ECU为TBOX或除TBOX以外的其它ECU。
在一些实施例中,链路层防火墙为EBPF链路层防火墙;规则设置模块具体用于:响应于在EBPF链路层防火墙对应的EBPF软件中输入的设置指令,基于设置指令所携带的命令行,生成与第二ECU的类型对应的过滤规则,将所生成的过滤规则存储到共享内存中;其中,每条过滤规则包含匹配字段和动作,匹配字段用于检测待处理报文是否与过滤规则相匹配;针对每条过滤规则,若待处理报文与过滤规则相匹配,记录过滤规则的动作。
优选的,结合图6示出的内容,解析模块602包括解析子模块和提取子模块;各个子模块的执行原理如下:
解析子模块,用于解析待处理报文的数据链路层数据以获取MAC报文头,及解析待处理报文的网络IP层数据以获取IP报文头。
提取子模块,用于分别提取MAC报文头中的第一目的MAC地址和第一源MAC地址以作为待匹配字段,及分别提取IP报文头中的第一目的IP地址和第一源IP地址以作为待匹配字段。
其中,调用查找程序查找待处理报文中的内容以得到MCA报文头和MCA报文头中各个域的值,调用查找程序查找待处理报文中的内容以得到IP报文头和IP报文头中各个域的值,MAC报文头中各个域的值至少为第一目的MAC地址和第一源MAC地址,IP报文头中各个域的值至少为第一目的IP地址和第一源IP地址。
优选的,结合图6示出的内容,匹配模块603包括:第一匹配子模块、第二匹配子模块、第三匹配子模块、第四匹配子模块和第五匹配子模块;各个子模块的执行原理如下:
第一匹配子模块,用于将第一目的MAC地址与目的MAC过滤规则中的第二目的MAC地址进行匹配,获取相应的匹配结果。
第二匹配子模块,用于将第一源MAC地址与源MAC过滤规则中的第二源MAC地址进行匹配,获取相应的匹配结果。
第三匹配子模块,用于将第一目的IP地址与目的IP过滤规则中的第二目的IP地址进行匹配,获取相应的匹配结果。
第四匹配子模块,用于将第一源IP地址与源IP过滤规则中的第二源IP地址进行匹配,获取相应的匹配结果。
第五匹配子模块,用于将第一源MAC地址和第一源IP地址分别与绑定关系过滤规则中的第二源MAC地址和第二源IP地址进行匹配,获取相应的匹配结果,其中,第二源MAC地址和第二源IP地址具有绑定关系。
在具体实现中,第五匹配子模块具体用于:将第一源MAC地址和第一源IP地址分别与绑定关系过滤规则中的第二源MAC地址和第二源IP地址进行匹配;若第一源MAC地址与所述第二源MAC地址一致,且第一源IP地址与第二源IP地址一致,获取指示匹配成功的匹配结果,记录绑定关系过滤规则设定的动作;若第一源MAC地址与第二源MAC地址不一致,和/或,若第一源IP地址与第二源IP地址不一致,获取指示匹配失败的匹配结果,根据预设的缺省规则处理待处理报文,缺省规则为允许待处理报文通过或丢弃待处理报文。
在一些实施例中,在第二ECU为TBOX的情况下,各个过滤规则的定义如下:
源MAC过滤规则的定义为:源MAC地址在源MAC地址列表中的报文可以被允许通过。
目的MAC过滤规则的定义:在TBOX端口接收到的报文为单播报文的情况下,目的MAC地址为TBOX端口的MAC地址的报文可以被允许通过;在TBOX端口接收到的报文为广播报文的情况下,目的MAC地址为广播MAC地址的报文可以被允许通过;在TBOX端口接收到的报文为组播报文的情况下,目的MAC地址为TBOX端口所加入的组播组的组播MAC地址的报文可以被允许通过。
源IP过滤规则的定义为:源IP地址在源IP列表中的报文可以被允许通过。
目的IP过滤规则的定义为:在TBOX端口接收到的报文为单播报文的情况下,目的IP地址为TBOX端口的IP地址的报文可以被允许通过,或者,目的IP地址不是车载网络系统的ECU使用的私有网址网段的报文可以被允许通过;在TBOX端口接收到的报文为广播报文的情况下,目的IP地址为广播IP地址的报文可以被允许通过;在TBOX端口接收到的报文为组播报文的情况下,目的IP地址为TBOX端口所加入的组播组的组播IP地址的报文可以被允许通过。
绑定关系过滤规则的定义为:源MAC地址和源IP地址均存在绑定关系列表中且符合绑定关系列表中规定的绑定关系的报文允许被通过,其中,绑定关系列表中规定了各个源MAC地址和各个源IP地址之间的绑定关系。
对于均不满足源MAC过滤规则、目的MAC过滤规则、源IP过滤规则、目的IP过滤规则和绑定关系过滤规则的报文,按照缺省规则处理。
在一些实施例中,在第二ECU为除TBOX以外的ECU的情况下,各个过滤规则的定义如下:
源MAC过滤规则的定义为:源MAC地址在源MAC地址列表中的报文可以被允许通过。
目的MAC过滤规则的定义:在ECU端口接收到的报文为单播报文的情况下,目的MAC地址为ECU端口的MAC地址的报文可以被允许通过;在ECU端口接收到的报文为广播报文的情况下,目的MAC地址为广播MAC地址的报文可以被允许通过;在ECU端口接收到的报文为组播报文的情况下,目的MAC地址为ECU端口所加入的组播组的组播MAC地址的报文可以被允许通过。
源IP过滤规则的定义为:源IP地址不在车内交换网络采用的私有IP网段中的报文可以被允许通过;源IP地址在私有IP网段中且在源IP列表中的报文可以被允许通过。
目的IP过滤规则的定义为:在ECU端口接收到的报文为单播报文的情况下,目的IP地址为ECU端口的IP地址的报文可以被允许通过;在ECU端口接收到的报文为广播报文的情况下,目的IP地址为广播IP地址的报文可以被允许通过;在ECU端口接收到的报文为组播报文的情况下,目的IP地址为ECU端口所加入的组播组的组播IP地址的报文可以被允许通过。
绑定关系过滤规则的定义为:源MAC地址和源IP地址均存在绑定关系列表中且符合绑定关系列表中规定的绑定关系的报文允许被通过,其中,绑定关系列表中规定了各个源MAC地址和各个源IP地址之间的绑定关系。
对于均不满足源MAC过滤规则、目的MAC过滤规则、源IP过滤规则、目的IP过滤规则和绑定关系过滤规则的报文,按照缺省规则处理。
综上所述,本发明实施例提供一种处理报文的方法及装置,在接收到待处理报文时,解析待处理报文的数据链路层数据和网络IP层数据,得到至少一条待匹配字段。利用过滤规则对待匹配字段进行匹配,并根据匹配结果确定允许待处理报文通过或者丢弃待处理报文,以实现对数据链路层数据的过滤,提高车载网络系统的安全性。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统或系统实施例而言,由于其基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。以上所描述的系统及系统实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
Claims (10)
1.一种处理报文的方法,其特征在于,所述方法包括:
接收由第一ECU发送至目标端口的待处理报文,其中,所述目标端口为第二ECU与车内交换网络连接的端口,与所述车内交换网络连接的每个ECU均设置有相应的链路层防火墙,所述链路层防火墙用于在ECU的网络驱动层加载预设的网络过滤程序,各个ECU接收到的报文由其它ECU发送,所述待处理报文由所述第一ECU发送至所述第二ECU,所述待处理报文由所述第二ECU的链路层防火墙加载的所述网络过滤程序进行过滤;
解析所述待处理报文的数据链路层数据和网络IP层数据,以得到至少一条待匹配字段;
将所述待匹配字段与相应的过滤规则进行匹配,获取匹配结果;
在所有所述匹配结果均指示匹配失败的情况下,或者,在部分所述匹配结果指示匹配成功,且指示匹配成功的所述匹配结果对应的所述过滤规则设定的动作为允许所述待处理报文通过的情况下,根据预设的缺省规则处理所述待处理报文,所述缺省规则为允许所述待处理报文通过或丢弃所述待处理报文;
在任意所述匹配结果指示匹配成功的情况下,若指示匹配成功的所述匹配结果对应的所述过滤规则设定的动作为丢弃所述待处理报文,丢弃所述待处理报文;
在所有所述匹配结果均指示匹配成功的情况下,若指示匹配成功的所述匹配结果对应的所述过滤规则设定的动作为允许所述待处理报文通过,允许所述待处理报文通过并记录所述待处理报文的日志。
2.根据权利要求1所述的方法,其特征在于,接收由第一ECU发送至目标端口的待处理报文之前,所述方法还包括:
将与所述车内交换网络连接的各个ECU的MAC地址记录到MAC地址列表,以及将所述各个ECU的IP地址记录到IP地址列表,其中,MAC地址分为源MAC地址和目的MAC地址,IP地址分为源IP地址和目的IP地址,所述MAC地址列表中至少包括:记录了源MAC地址的源MAC地址列表;所述IP地址列表至少包括:记录了源IP地址的源IP地址列表;
至少根据所述MAC地址列表和所述IP地址列表,设置所述第二ECU的类型对应的过滤规则,以用于检测待处理报文中不同域的值;
其中,所述待处理报文中不同域的值至少分别为源MAC地址、目的MAC地址、源IP地址和目的IP地址;不同的所述过滤规则可分别用于检测所述待处理报文的源MAC地址、目的MAC地址、源IP地址和目的IP地址;每条所述过滤规则预先设定动作,每条所述过滤规则所设定的动作为丢弃待处理报文或允许所述待处理报文通过,所述第二ECU为通信盒子TBOX或除通信盒子TBOX以外的其它ECU。
3.根据权利要求2所述的方法,其特征在于,解析所述待处理报文的数据链路层数据和网络IP层数据,以得到至少一条待匹配字段,包括:
解析待处理报文的数据链路层数据以获取MAC报文头,及解析所述待处理报文的网络IP层数据以获取IP报文头;
分别提取所述MAC报文头中的第一目的MAC地址和第一源MAC地址以作为待匹配字段,及分别提取所述IP报文头中的第一目的IP地址和第一源IP地址以作为待匹配字段;
其中,调用查找程序查找所述待处理报文中的内容以得到所述MAC报文头和所述MAC报文头中各个域的值,调用查找程序查找所述待处理报文中的内容以得到所述IP报文头和所述IP报文头中各个域的值,所述MAC报文头中各个域的值至少为所述第一目的MAC地址和所述第一源MAC地址,所述IP报文头中各个域的值至少为所述第一目的IP地址和所述第一源IP地址。
4.根据权利要求3所述的方法,其特征在于,将所述待匹配字段与相应的过滤规则进行匹配,获取匹配结果,包括:
将所述第一目的MAC地址与目的MAC过滤规则中的第二目的MAC地址进行匹配,获取相应的匹配结果;
将所述第一源MAC地址与源MAC过滤规则中的第二源MAC地址进行匹配,获取相应的匹配结果;
将所述第一目的IP地址与目的IP过滤规则中的第二目的IP地址进行匹配,获取相应的匹配结果;
将所述第一源IP地址与源IP过滤规则中的第二源IP地址进行匹配,获取相应的匹配结果;
将所述第一源MAC地址和所述第一源IP地址分别与绑定关系过滤规则中的第二源MAC地址和第二源IP地址进行匹配,获取相应的匹配结果,其中,所述第二源MAC地址和所述第二源IP地址具有绑定关系。
5.根据权利要求4所述的方法,其特征在于,将所述第一源MAC地址和所述第一源IP地址分别与绑定关系过滤规则中的第二源MAC地址和第二源IP地址进行匹配,获取相应的匹配结果,包括:
将所述第一源MAC地址和所述第一源IP地址分别与绑定关系过滤规则中的第二源MAC地址和第二源IP地址进行匹配;
若所述第一源MAC地址与所述第二源MAC地址一致,且所述第一源IP地址与所述第二源IP地址一致,获取指示匹配成功的匹配结果,记录所述绑定关系过滤规则设定的动作;
若所述第一源MAC地址与所述第二源MAC地址不一致,和/或,若所述第一源IP地址与所述第二源IP地址不一致,获取指示匹配失败的匹配结果,根据预设的缺省规则处理所述待处理报文,所述缺省规则为允许所述待处理报文通过或丢弃所述待处理报文。
6.根据权利要求1所述的方法,其特征在于,允许所述待处理报文通过并记录所述待处理报文的日志之后,所述方法还包括:
将所述待处理报文发送至网络协议栈或网络硬件以进行相关逻辑处理。
7.根据权利要求2所述的方法,其特征在于,链路层防火墙为EBPF链路层防火墙,
设置所述第二ECU的类型对应的过滤规则的过程,包括:
响应于在EBPF链路层防火墙对应的EBPF软件中输入的设置指令,基于所述设置指令所携带的命令行,生成与第二ECU的类型对应的过滤规则,其中,每条所述过滤规则包含匹配字段和动作,所述匹配字段用于检测待处理报文是否与过滤规则相匹配,
针对每条过滤规则,若所述待处理报文与所述过滤规则相匹配,记录所述过滤规则的动作;
将所生成的所述过滤规则存储到共享内存中。
8.根据权利要求4所述的方法,其特征在于,所述第二ECU为通信盒子TBOX,
所述源MAC过滤规则的定义为:源MAC地址在源MAC地址列表中的报文可以被允许通过;
所述目的MAC过滤规则的定义为:在TBOX端口接收到的报文为单播报文的情况下,目的MAC地址为TBOX端口的MAC地址的报文可以被允许通过,
在TBOX端口接收到的报文为广播报文的情况下,目的MAC地址为广播MAC地址的报文可以被允许通过,
在TBOX端口接收到的报文为组播报文的情况下,目的MAC地址为TBOX端口所加入的组播组的组播MAC地址的报文可以被允许通过;
所述源IP过滤规则的定义为:源IP地址在源IP列表中的报文可以被允许通过;
所述目的IP过滤规则的定义为:在TBOX端口接收到的报文为单播报文的情况下,目的IP地址为TBOX端口的IP地址的报文可以被允许通过,或者,目的IP地址不是车载网络系统的ECU使用的私有网址网段的报文可以被允许通过,
在TBOX端口接收到的报文为广播报文的情况下,目的IP地址为广播IP地址的报文可以被允许通过,
在TBOX端口接收到的报文为组播报文的情况下,目的IP地址为TBOX端口所加入的组播组的组播IP地址的报文可以被允许通过,
所述绑定关系过滤规则的定义为:源MAC地址和源IP地址均存在绑定关系列表中且符合所述绑定关系列表中规定的绑定关系的报文允许被通过,其中,所述绑定关系列表中规定了各个源MAC地址和各个源IP地址之间的绑定关系;
对于均不满足所述源MAC过滤规则、所述目的MAC过滤规则、所述源IP过滤规则、所述目的IP过滤规则和所述绑定关系过滤规则的报文,按照缺省规则处理。
9.根据权利要求4所述的方法,其特征在于,所述第二ECU为除通信盒子TBOX以外的ECU,
所述源MAC过滤规则的定义为:源MAC地址在源MAC地址列表中的报文可以被允许通过;
所述目的MAC过滤规则的定义为:在ECU端口接收到的报文为单播报文的情况下,目的MAC地址为ECU端口的MAC地址的报文可以被允许通过,
在ECU端口接收到的报文为广播报文的情况下,目的MAC地址为广播MAC地址的报文可以被允许通过,
在ECU端口接收到的报文为组播报文的情况下,目的MAC地址为ECU端口所加入的组播组的组播MAC地址的报文可以被允许通过;
所述源IP过滤规则的定义为:源IP地址不在车内交换网络采用的私有IP网段中的报文可以被允许通过,源IP地址在所述私有IP网段中且在源IP列表中的报文可以被允许通过;
所述目的IP过滤规则的定义为:在ECU端口接收到的报文为单播报文的情况下,目的IP地址为ECU端口的IP地址的报文可以被允许通过,
在ECU端口接收到的报文为广播报文的情况下,目的IP地址为广播IP地址的报文可以被允许通过,
在ECU端口接收到的报文为组播报文的情况下,目的IP地址为ECU端口所加入的组播组的组播IP地址的报文可以被允许通过;
所述绑定关系过滤规则的定义为:源MAC地址和源IP地址均存在绑定关系列表中且符合所述绑定关系列表中规定的绑定关系的报文允许被通过,其中,所述绑定关系列表中规定了各个源MAC地址和各个源IP地址之间的绑定关系;
对于均不满足所述源MAC过滤规则、所述目的MAC过滤规则、所述源IP过滤规则、所述目的IP过滤规则和所述绑定关系过滤规则的报文,按照缺省规则处理。
10.一种处理报文的装置,其特征在于,所述装置包括:
接收模块,用于接收由第一ECU发送至目标端口的待处理报文,其中,所述目标端口为第二ECU与车内交换网络连接的端口,与所述车内交换网络连接的每个ECU均设置有相应的链路层防火墙,所述链路层防火墙用于在ECU的网络驱动层加载预设的网络过滤程序,各个ECU接收到的报文由其它ECU发送,所述待处理报文由所述第一ECU发送至所述第二ECU,所述待处理报文由所述第二ECU的链路层防火墙加载的所述网络过滤程序进行过滤;
解析模块,用于解析所述待处理报文的数据链路层数据和网络IP层数据,以得到至少一条待匹配字段;
匹配模块,用于将所述待匹配字段与相应的过滤规则进行匹配,获取匹配结果;
第一处理模块,用于在所有所述匹配结果均指示匹配失败的情况下,或者,在部分所述匹配结果指示匹配成功,且指示匹配成功的所述匹配结果对应的所述过滤规则设定的动作为允许所述待处理报文通过的情况下,根据预设的缺省规则处理所述待处理报文,所述缺省规则为允许所述待处理报文通过或丢弃所述待处理报文;
第二处理模块,用于在任意所述匹配结果指示匹配成功的情况下,若指示匹配成功的所述匹配结果对应的所述过滤规则设定的动作为丢弃所述待处理报文,丢弃所述待处理报文;
第三处理模块,用于在所有所述匹配结果均指示匹配成功的情况下,若指示匹配成功的所述匹配结果对应的所述过滤规则设定的动作为允许所述待处理报文通过,允许所述待处理报文通过并记录所述待处理报文的日志。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210188836.3A CN114338234B (zh) | 2022-02-28 | 2022-02-28 | 一种处理报文的方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210188836.3A CN114338234B (zh) | 2022-02-28 | 2022-02-28 | 一种处理报文的方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114338234A CN114338234A (zh) | 2022-04-12 |
CN114338234B true CN114338234B (zh) | 2023-07-14 |
Family
ID=81030937
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210188836.3A Active CN114338234B (zh) | 2022-02-28 | 2022-02-28 | 一种处理报文的方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114338234B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114884706B (zh) * | 2022-04-24 | 2023-06-16 | 北京经纬恒润科技股份有限公司 | 车载报文处理方法及系统 |
CN114978637A (zh) * | 2022-05-12 | 2022-08-30 | 湖北天融信网络安全技术有限公司 | 一种报文处理方法及装置 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2016019031A (ja) * | 2014-07-04 | 2016-02-01 | トヨタ自動車株式会社 | フィルタリング装置およびフィルタリング方法 |
CN105659532A (zh) * | 2013-09-05 | 2016-06-08 | Trw有限公司 | 车辆网络中的安全过滤器 |
CN109117313A (zh) * | 2018-08-28 | 2019-01-01 | 成都信息工程大学 | 一种带隔离灾备管控机制的车辆智慧安全网关及管控方法 |
CN111343128A (zh) * | 2018-12-18 | 2020-06-26 | 上海汽车集团股份有限公司 | 应用于机动车辆的网络安全监控设备及网络安全监控系统 |
CN112187960A (zh) * | 2019-07-01 | 2021-01-05 | 广州汽车集团股份有限公司 | 一种车辆ecu地址分配方法、装置和车辆 |
-
2022
- 2022-02-28 CN CN202210188836.3A patent/CN114338234B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105659532A (zh) * | 2013-09-05 | 2016-06-08 | Trw有限公司 | 车辆网络中的安全过滤器 |
JP2016019031A (ja) * | 2014-07-04 | 2016-02-01 | トヨタ自動車株式会社 | フィルタリング装置およびフィルタリング方法 |
CN109117313A (zh) * | 2018-08-28 | 2019-01-01 | 成都信息工程大学 | 一种带隔离灾备管控机制的车辆智慧安全网关及管控方法 |
CN111343128A (zh) * | 2018-12-18 | 2020-06-26 | 上海汽车集团股份有限公司 | 应用于机动车辆的网络安全监控设备及网络安全监控系统 |
CN112187960A (zh) * | 2019-07-01 | 2021-01-05 | 广州汽车集团股份有限公司 | 一种车辆ecu地址分配方法、装置和车辆 |
Also Published As
Publication number | Publication date |
---|---|
CN114338234A (zh) | 2022-04-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN114338234B (zh) | 一种处理报文的方法及装置 | |
EP3542511B1 (de) | Verfahren für ein kommunikationsnetzwerk und elektronische kontrolleinheit | |
US10057292B2 (en) | Method for operating a security gateway of a communication system for vehicles | |
CN109937563B (zh) | 用于通信网络的方法、和电子监测单元 | |
US11063908B2 (en) | On-vehicle communication device, communication control method, and communication control program | |
JP7149888B2 (ja) | 情報処理装置、情報処理方法及びプログラム | |
JP7065444B2 (ja) | 情報処理装置および情報処理システム | |
JP2022173394A (ja) | 情報処理装置、情報処理方法及びプログラム | |
US11533327B2 (en) | Method and device for intrusion detection in a computer network | |
US11522892B2 (en) | Method and device for intrusion detection in a computer network | |
CN114679309B (zh) | 报文检测方法及装置 | |
CN112217783A (zh) | 用于在通信网络中的攻击识别的设备和方法 | |
CN112217784B (zh) | 用于在计算机网络中的攻击识别的设备和方法 | |
WO2020069852A1 (de) | Verfahren zur absicherung eines datenpakets durch eine vermittlungsstelle in einem netzwerk, vermittlungsstelle und kraftfahrzeug | |
US10063487B2 (en) | Pattern matching values of a packet which may result in false-positive matches | |
CN117879938A (zh) | 安全防护设备协同联动方法、系统、设备和介质 | |
DE102005050584B4 (de) | Verfahren zum Ermitteln eines unerwünschten Zugriffs auf ein Datenpaket | |
CN114285634A (zh) | 数据报文的深度检测方法、装置、介质及监控系统 | |
CN116015876A (zh) | 访问控制方法、装置、电子设备及存储介质 | |
CN117692222A (zh) | 处理报文的方法和装置 | |
JP2006217039A (ja) | ネットワーク中継装置 | |
WO2010013098A1 (en) | Data path debugging |
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 |