CAN网络数据安全监控方法、装置、设备及可读存储介质与流程

专利检索2022-05-11  2


can网络数据安全监控方法、装置、设备及可读存储介质
技术领域
1.本发明涉及can网络信息安全防护技术领域,尤其涉及一种can网络数据安全监控方法、装置、设备及可读存储介质。


背景技术:

2.随着智能网联汽车的发展,信息安全将是未来智能网联汽车不可或缺的核心功能,在实现智能网联汽车信息安全时,要求can网络通信时是强实时性、高可靠性的。目前的现有技术,在can网络上直接应用信息安全方法具有一定的缺点,第一点是,信息安全措施会增加can网络带宽负载;第二点是,因为传统的中央安全网关中的can网络的复杂信息安全分析技术无法实现实时处理,基于信息拦截和过滤的信息安全技术会带来很大的时延和时延波动的问题,从会破坏can通信的实时要求;第三点是,因为传统的中央安全网关上的mcu计算能力有限,同时mcu也不擅长数据分析,无法在不影响正常功能下监测并分析can网络数据,以发现非法的或可疑的操作,进而采取进一步的主动或被动的信息安全隔离、过滤和防护操作,为can网络提供安全防护,因此会破环can应用的功能安全要求。


技术实现要素:

3.本发明的主要目的在于提供一种can网络数据安全监控方法、装置、设备及可读存储介质,旨在解决现有的信息安全方法因为传统中央安全网关的计算能力有限,无法在不影响正常功能下监测can网络数据,为can网络提供安全防护的技术问题。
4.第一方面,本发明提供一种can网络数据安全监控方法,所述can网络数据安全监控方法包括以下步骤:
5.当监测到有can网络中的镜像数据到达,则将所述镜像数据写入高速数据缓存区的缓存队列中;
6.读取所述高速数据缓存区的缓存队列中最先写入的镜像数据;
7.判断读取的镜像数据是否存在异常;
8.若存在异常,则将所述镜像数据对应的应用的异常累计值加1;
9.当所述异常累计值大于预设阈值时,根据所述应用的类型,进行相应的操作并输出对应的提示信息。
10.可选的,所述当监测到有can网络中的镜像数据到达,则将所述镜像数据写入高速数据缓存区的缓存队列中的步骤之前包括:
11.为数据分析设备设定与can网络进行通信的唯一标识号;
12.将can网络路由上满足预设规则的数据拷贝,且将转发份数的数值加1;
13.将所拷贝的镜像数据转发到所述唯一标识号所对应的数据分析设备中。
14.可选的,所述当监测到有can网络中的镜像数据到达,则将所述镜像数据写入高速数据缓存区的缓存队列中的步骤包括:
15.当监测到有can网络中的镜像数据到达,则判断所述高速缓存区的缓存队列是否
已满;
16.若所述高速数据缓存区的缓存队列未满,则将所述镜像数据写入所述高速缓存区的缓存队列中,并更新缓存队列的队列标记。
17.可选的,在所述当监测到有can网络中的镜像数据到达,则判断所述高速缓存区的当前缓存队列是否已满的步骤之后包括:
18.若所述高速数据缓存区的缓存队列已满,则判断所述缓存队列的队列头数据是否正在被读取;
19.若所述队列头数据正在被读取,则丢弃所述镜像数据;
20.若所述队列头数据未正在被读取,则丢弃所述队列头数据,将所述镜像数据写入所述队列头,并更新缓存队列的队列标记。
21.可选的,所述读取所述高速数据缓存区的缓存队列中最先写入的镜像数据的步骤包括:
22.根据高速数据缓存区的缓存队列的队列标记,读取所述高速数据缓存区的缓存队列中最先写入的镜像数据,并更新队列标记。
23.可选的,所述根据所述应用的类型,进行相应的操作并输出对应的提示信息的步骤包括:
24.若所述应用为非关键应用,则关闭所述应用,并对用户输出应用关闭的提示信息;
25.若所述应用为关键应用,则对所述应用对应的ecu进行隔离,并输出用户靠边停车以进行修复的提示信息。
26.第二方面,本发明还提供一种can网络数据安全监控装置,所述can网络数据安全监控装置包括:
27.写入模块,用于当监测到有can网络中的镜像数据到达,则将所述镜像数据写入高速数据缓存区的缓存队列中;
28.读取模块,用于读取所述高速数据缓存区的缓存队列中最先写入的镜像数据;
29.判断模块,用于判断读取的镜像数据是否存在异常;
30.累计模块,用于若存在异常,则将所述镜像数据对应的应用的异常累计值加1;
31.控制模块,用于当所述异常累计值大于预设阈值时,根据所述应用的类型,进行相应的操作并输出对应的提示信息。
32.可选的,所述can网络数据安全监控装置,还包括转发模块,用于:
33.为数据分析设备设定与can网络进行通信的唯一标识号;
34.将can网络路由上满足预设规则的数据拷贝,且将转发份数的数值加1;
35.将所拷贝的镜像数据转发到所述唯一标识号所对应的数据分析设备中。
36.可选的,所述写入模块,用于:
37.当监测到有can网络中的镜像数据到达,则判断所述高速缓存区的缓存队列是否已满;
38.若所述高速数据缓存区的缓存队列未满,则将所述镜像数据写入所述高速缓存区的缓存队列中,并更新缓存队列的队列标记。
39.可选的,所述写入模块,还用于:
40.若所述高速数据缓存区的缓存队列已满,则判断所述缓存队列的队列头数据是否
正在被读取;
41.若所述队列头数据正在被读取,则丢弃所述镜像数据;
42.若所述队列头数据未正在被读取,则丢弃所述队列头数据,将所述镜像数据写入所述队列头,并更新缓存队列的队列标记。
43.可选的,所述读取模块,用于:
44.根据高速数据缓存区的缓存队列的队列标记,读取所述高速数据缓存区的缓存队列中最先写入的镜像数据,并更新队列标记。
45.可选的,所述控制模块,用于:
46.若所述应用为非关键应用,则关闭所述应用,并对用户输出应用关闭的提示信息;
47.若所述应用为关键应用,则对所述应用对应的ecu进行隔离,并输出用户靠边停车以进行修复的提示信息。
48.第三方面,本发明还提供一种can网络数据安全监控设备,所述can网络数据安全监控设备包括处理器、存储器、以及存储在所述存储器上并可被所述处理器执行的can网络数据安全监控程序,其中所述can网络数据安全监控程序被所述处理器执行时,实现如上述所述的can网络数据安全监控方法的步骤。
49.第四方面,本发明还提供一种可读存储介质,其特征在于,所述可读存储介质上存储有can网络数据安全监控程序,其中所述can网络数据安全监控程序被处理器执行时,实现如上述所述的can网络数据安全监控方法的步骤。
50.本发明中,当监测到有can网络中的镜像数据到达,则将所述镜像数据写入高速数据缓存区的缓存队列中;读取所述高速数据缓存区的缓存队列中最先写入的镜像数据;判断读取的镜像数据是否存在异常;若存在异常,则将所述镜像数据对应的应用的异常累计值加1;当所述异常累计值大于预设阈值时,根据所述应用的类型,进行相应的操作并输出对应的提示信息。通过本发明综合应用多种方法将can网络数据以对can网络透明的方式交由数据分析设备如soc上的mpu分析处理,充分利用数据分析设备如soc上的mpu的性能对数据进行安全分析,避免了对mcu和can网络数据造成性能负担,并且结合现有的can路由功能,无需修改can网络端代码,通过对can网络中的数据的镜像后由数据分析设备如soc上的mpu分析处理,以实现在不影响原有的can网络应用的功能和实时性下监测can网络数据,发现非法的或可疑的操作,进而采取进一步的主动后被动的信息安全隔离、过滤和防护,为can网络提供安全防护。
附图说明
51.图1为本发明实施例方案中涉及的can网络数据安全监控设备的硬件结构示意图;
52.图2为本发明can网络数据安全监控方法一实施例的流程示意图;
53.图3为本发明can网络数据安全监控装置一实施例的功能模块示意图。
54.本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
55.应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
56.第一方面,本发明实施例提供一种can网络数据安全监控设备。
57.参照图1,图1为本发明实施例方案中涉及的can网络数据安全监控设备的硬件结构示意图。本发明实施例中,can网络数据安全监控设备可以包括处理器1001(例如中央处理器central processing unit,cpu),通信总线1002,用户接口1003,网络接口1004,存储器1005。其中,通信总线1002用于实现这些组件之间的连接通信;用户接口1003可以包括显示屏(display)、输入单元比如键盘(keyboard);网络接口1004可选的可以包括标准的有线接口、无线接口(如无线保真wireless-fidelity,wi-fi接口);存储器1005可以是高速随机存取存储器(random access memory,ram),也可以是稳定的存储器(non-volatile memory),例如磁盘存储器,存储器1005可选的还可以是独立于前述处理器1001的存储装置。本领域技术人员可以理解,图1中示出的硬件结构并不构成对本发明的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
58.继续参照图1,图1中作为一种计算机存储介质的存储器1005中可以包括操作系统、网络通信模块、用户接口模块以及can网络数据安全监控程序。其中,处理器1001可以调用存储器1005中存储的can网络数据安全监控程序,并执行本发明实施例提供的can网络数据安全监控方法。
59.第二方面,本发明实施例提供了一种can网络数据安全监控方法。
60.参照图2,图2为本发明can网络数据安全监控方法一实施例的流程示意图。
61.在本发明can网络数据安全监控方法一实施例中,can网络数据安全监控方法包括:
62.步骤s10,当监测到有can网络中的镜像数据到达,则将所述镜像数据写入高速数据缓存区的缓存队列中;
63.本实施例中,基于soc的多核中央安全网关的内部有mpu与mcu,其中,mcu可以直接连接到can网络上,而部分soc芯片支持mpu直接连接can网络。当监测到有can网络中的镜像数据到达,mpu直连的can网络中的镜像数据可以通过共享内存方式在高速内存上缓存,而mcu连接的can网络中的镜像数据可以通过芯片的片内高速总线传到高速内存上缓存,即通过不同的方式将所到达的镜像数据写入到soc上的高速缓存区的缓存队列中。由于本方法只需要在中央安全网关的soc芯片上实施,利用的是soc芯片上片内高速总线和高速存储,因而不会在can网络上增加通信的带宽负载。
64.进一步,一实施例中,所述当监测到有can网络中的镜像数据到达,则将所述镜像数据写入高速数据缓存区的缓存队列中的步骤之前包括:
65.为数据分析设备设定与can网络进行通信的唯一标识号;
66.将can网络路由上满足预设规则的数据拷贝,且将转发份数的数值加1;
67.将所拷贝的镜像数据转发到所述唯一标识号所对应的数据分析设备中。
68.本实施例中,为数据分析设备,如soc上的mpu,设定与can网络进行通信的唯一标识号,用于接收所有的can镜像数据,以避免复杂的协议转换,保障数据镜像不需要额外操作,降低数据镜像时延。因而网关的can端网络可以加修改,正常监听和路由转发。而can网关本身具有数据拷贝及路由转发功能,因而对can网络中的数据进行拷贝和转发的功能不需要额外修改,可根据预设规则,包括但不限于分时抽样方法、指定应用转发、完全转发、条件转发等规则,对can网络上满足预设规则的数据做镜像路由转发。例如,可以通过分时抽样方法配置转发规则,将所有的或部分选择的can网络上的所拷贝的镜像数据进行周期性
的转发,以满足不同性能soc芯片的需求。只需要在路由规则中加入一条固定转发任务,将can网络路由上的数据拷贝,且将转发份数的数值加1,即为唯一标识号对应的数据分析设备准备一份数据,并将所拷贝的镜像数据转发到所述唯一标识号所对应的数据分析设备如soc上的mpu中。对数据的拷贝及镜像操作是瞬时常量时间的操作,所以只会产生一个常量的时延,该时延对网关正常的数据转发就存在,同时因为无需对can网络或can协议做任何修改,所以无需在相关can网络上设备或代码增加额外的硬件或代码的植入,不会侵扰现有系统功能。
69.进一步,一实施例中,所述当监测到有can网络中的镜像数据到达,则将所述镜像数据写入高速数据缓存区的缓存队列中的步骤包括:
70.当监测到有can网络中的镜像数据到达,则判断所述高速缓存区的缓存队列是否已满;
71.若所述高速数据缓存区的缓存队列未满,则将所述镜像数据写入所述高速缓存区的缓存队列中,并更新缓存队列的队列标记。
72.本实施例中,当监测到有can网络中的镜像数据到达,则判断高速缓存区的缓存队列是否已满,若高速数据缓存区的缓存队列未满,则表示当前缓存队列中有空置的缓存区进行缓存,可以将到达镜像数据写入高速缓存区的缓存队列中空置的缓存区中,并更新缓存队列的队列标记。
73.进一步,一实施例中,在所述当监测到有can网络中的镜像数据到达,则判断所述高速缓存区的当前缓存队列是否已满的步骤之后包括:
74.若所述高速数据缓存区的缓存队列已满,则判断所述缓存队列的队列头数据是否正在被读取;
75.若所述队列头数据正在被读取,则丢弃所述镜像数据;
76.若所述队列头数据未正在被读取,则丢弃所述队列头数据,将所述镜像数据写入所述队列头,并更新缓存队列的队列标记。
77.本实施例中,当监测到有can网络中的镜像数据到达,则判断高速缓存区的缓存队列是否已满,若高速数据缓存区的缓存队列已满,则表示高速缓存区的当前缓存队列已满,不具有空置的缓存区来进行缓存,因此需要判断当前缓存队列的队列头数据是否正在被读取。若队列头数据正在被读取,则表示队列头数据还在读取分析中不能中断,而现有有新的数据也没有空置的缓存区来写入,因此保持正在被读取中的先进入的镜像数据,而丢弃新到达的镜像数据。若队列头数据未正在被读取,则直接丢弃当前队列中最先进入的镜像数据,即队列头数据,将最新到达的镜像数据写入所述队列头,并更新缓存队列的队列标记。例如,若缓存队列中有10个位置分别标号,则若最先进入的镜像数据在位置2,标记为1,则从位置3到10依次是新进入的镜像数据、位置1是当前最后进入的数据,标记为10,若队列头数据即位置2标记1的镜像数据未正在被读取,则直接丢弃当前队列中最先进入的镜像数据,即位置2的队列头数据,将最新到达的镜像数据写入所述队列头位置2,并更新缓存队列的队列标记,位置2的镜像数据,标记为10,位置1的镜像数据,标记为9,位置3到位置10的镜像数据,按顺序标记为从1到8。
78.步骤s20,读取所述高速数据缓存区的缓存队列中最先写入的镜像数据;
79.本实施例中,高速缓存区的数据是按照镜像数据到达的时序来写入的,所以在读
取高速数据缓存区的缓存队列中数据时,先读取最先的缓存队列,再读取缓存队列中最先写入的数据,即读取高速数据缓存区的缓存队列中最先写入的数据,从而按照数据到达顺序读取后做相应的安全分析。
80.进一步,一实施例中,所述读取所述高速数据缓存区的缓存队列中最先写入的镜像数据的步骤包括:
81.根据高速数据缓存区的缓存队列的队列标记,读取所述高速数据缓存区的缓存队列中最先写入的镜像数据,并更新队列标记。
82.本实施例中,根据高速数据缓存区的缓存队列的队列标记,读取所述高速数据缓存区的缓存队列中最先写入的镜像数据,数据读取完成后,数据原先所存储的位置空置,队列标记也同时更新。
83.步骤s30,判断读取的镜像数据是否存在异常;
84.本实施例中,可以通过各类信息安全分析方法,如idps车辆入侵检测与防御,流量行为分析、规则分析等方法检测相关数据包或数据帧是否安全,即判断读取的镜像数据是否存在异常。以安全规则库分析为例,当镜像数据准备好时,安全服务读取镜像数据,将读取的镜像数据与给定的安全规则进行匹配,若有一条规则没满足,即判断该镜像数据有异常,存在安全风险,同时,因为存在误报问题,通常还会通过对具有相关性的数据进行协同分析,以进一步降低安全误报。
85.步骤s40,若存在异常,则将所述镜像数据对应的应用的异常累计值加1;
86.本实施例中,若通过安全分析判断读取的镜像数据存在异常,则根据所读取的镜像数据中id字段找到镜像数据所对应的应用,并将应用所累计的异常数据量的数值加1,并将异常数据记录并上报到云端。
87.步骤s50,当所述异常累计值大于预设阈值时,根据所述应用的类型,进行相应的操作并输出对应的提示信息。
88.本实施例中,当同一应用所累计的异常数据量的值大于预设阈值时,则表示当前应用存在一定的信息安全风险,则此时根据存在信息安全风险的应用类型,如应用是否为关键应用,即是否对信息安全要求较高并且若存在风险会影响驾驶安全性,来进行相应的操作并输出对应的提示信息。
89.进一步,一实施例中,所述根据所述应用的类型,进行相应的操作并输出对应的提示信息的步骤包括:
90.若所述应用为非关键应用,则关闭所述应用,并对用户输出应用关闭的提示信息;
91.若所述应用为关键应用,则对所述应用对应的ecu进行隔离,并对用户输出靠边停车以进行修复的提示信息。
92.本实施例中,当同一应用所累计的异常数据量的值大于预设阈值时,则表示当前应用存在一定的信息安全风险,若判断存在信息安全风险的应用为非关键应用,则在一段时间内关闭相关应用,并及时对用户输出应用关闭的提示信息,若判断存在信息安全风险的应用为关键应用,则此时应用存在的安全风险会影响驾驶安全性,需要根据存在安全风险的应用找到控制该应用运行的ecu并对该应用对应的ecu进行隔离,以及对用户输出靠边停车以进行修复的提示信息。若找到的应用所对应的ecu支持ota,则后续不论所涉及的应用的类型,若应用存在安全性风险,必须在车辆不在行驶工况下,通过网关连接车载云端或
者最近备份的版本,使用ota修复相关问题。若ecu自动修复并上线后,安全问题消除,则结束本次can网络数据安全监控程序中对存在安全性风险的应用的关闭及对应用所对应的ecu进行隔离的控制操作;若问题依旧存在且云端无解决方法,或找到的应用所对应的ecu不支持ota,或找到多个应用分别对应多个ecu均存在安全性风险,均需要对车主输出建议售后检修的提示。
93.本实施例中,当监测到有can网络中的镜像数据到达,则将所述镜像数据写入高速数据缓存区的缓存队列中;读取所述高速数据缓存区的缓存队列中最先写入的镜像数据;判断读取的镜像数据是否存在异常;若存在异常,则将所述镜像数据对应的应用的异常累计值加1;当所述异常累计值大于预设阈值时,根据所述应用的类型,进行相应的操作并输出对应的提示信息。通过本发明综合应用多种方法将can网络数据以对can网络透明的方式交由数据分析设备如soc上的mpu分析处理,充分利用数据分析设备如soc上的mpu的性能对数据进行安全分析,避免了对mcu和can网络数据造成性能负担,并且结合现有的can路由功能,无需修改can网络端代码,通过对can网络中的数据的镜像后由mpu分析处理,以实现在不影响原有的can网络应用的功能和实时性下监测can网络数据,发现非法的或可疑的操作,进而采取进一步的主动后被动的信息安全隔离、过滤和防护,为can网络提供安全防护。
94.第三方面,本发明实施例还提供一种can网络数据安全监控装置。
95.参照图3,can网络数据安全监控装置一实施例的功能模块示意图。
96.本实施例中,所述can网络数据安全监控装置包括:
97.写入模块10,用于当监测到有can网络中的镜像数据到达,则将所述镜像数据写入高速数据缓存区的缓存队列中;
98.读取模块20,用于读取所述高速数据缓存区的缓存队列中最先写入的镜像数据;
99.判断模块30,用于判断读取的镜像数据是否存在异常;
100.累计模块40,用于若存在异常,则将所述镜像数据对应的应用的异常累计值加1;
101.控制模块50,用于当所述异常累计值大于预设阈值时,根据所述应用的类型,进行相应的操作并输出对应的提示信息。
102.进一步,一实施例中,所述can网络数据安全监控装置,还包括转发模块,用于:
103.为数据分析设备设定与can网络进行通信的唯一标识号;
104.将can网络路由上满足预设规则的数据拷贝,且将转发份数的数值加1;
105.将所拷贝的镜像数据转发到所述唯一标识号所对应的数据分析设备中。
106.进一步,一实施例中,所述写入模块10,用于:
107.当监测到有can网络中的镜像数据到达,则判断所述高速缓存区的缓存队列是否已满;
108.若所述高速数据缓存区的缓存队列未满,则将所述镜像数据写入所述高速缓存区的缓存队列中,并更新缓存队列的队列标记。
109.进一步,一实施例中,所述写入模块10,还用于:
110.若所述高速数据缓存区的缓存队列已满,则判断所述缓存队列的队列头数据是否正在被读取;
111.若所述队列头数据正在被读取,则丢弃所述镜像数据;
112.若所述队列头数据未正在被读取,则丢弃所述队列头数据,将所述镜像数据写入
所述队列头,并更新缓存队列的队列标记。
113.进一步,一实施例中,所述读取模块20,用于:
114.根据高速数据缓存区的缓存队列的队列标记,读取所述高速数据缓存区的缓存队列中最先写入的镜像数据,并更新队列标记。
115.进一步,一实施例中,所述控制模块50,用于:
116.若所述应用为非关键应用,则关闭所述应用,并对用户输出应用关闭的提示信息;
117.若所述应用为关键应用,则对所述应用对应的ecu进行隔离,并输出用户靠边停车以进行修复的提示信息。
118.其中,上述can网络数据安全监控装置中各个模块的功能实现与上述can网络数据安全监控方法实施例中各步骤相对应,其功能和实现过程在此处不再一一赘述。
119.第四方面,本发明实施例还提供一种可读存储介质。
120.本发明可读存储介质上存储有can网络数据安全监控程序,其中所述can网络数据安全监控程序被处理器执行时,实现如上述的can网络数据安全监控方法的步骤。
121.其中,can网络数据安全监控程序被执行时所实现的方法可参照本发明can网络数据安全监控方法的各个实施例,此处不再赘述。
122.需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者系统不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者系统所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括该要素的过程、方法、物品或者系统中还存在另外的相同要素。
123.上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
124.通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在如上所述的一个存储介质(如rom/ram、磁碟、光盘)中,包括若干指令用以使得一台终端设备执行本发明各个实施例所述的方法。
125.以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
转载请注明原文地址:https://win.8miu.com/read-950321.html

最新回复(0)