一种通信数据劫持监控方法及系统、存储介质、电子设备与流程

文档序号:33096549发布日期:2023-02-01 00:02阅读:39来源:国知局
一种通信数据劫持监控方法及系统、存储介质、电子设备与流程

1.本发明涉及信息安全技术领域,尤其是涉及一种通信数据劫持监控方法及系统、存储介质、电子设备。


背景技术:

2.近年来,在汽车中的系统配置有大量的被称为电子控制单元(ecu:electroniccontrolunit,以下也标记为“ecu”)的装置。连接这些ecu的通信网络被称为车载网络。车载网络存在大量的通信标准。其中最主流的车载网络的标准之一有控制器局域网络(controllerareanetwork,以下记为“can”),can总线对于信息娱乐、底盘控制、车身电子、动力总成等关键领域的连接至关重要。
3.在依据can标准的网络(以下也称为“can网络”)中,通信路径(总线)由2条线缆构成,与总线连接的ecu也称为节点。与总线连接的各节点以被称为帧或者消息的单位来收发数据。另外,在can中,不使用表示数据的发送目的地或者发送源的识别符。发送帧的节点对各消息附加表示消息的种类的被称为消息id的id来进行发送、也即是向总线送出信号。接收消息的节点仅接收包含预先确定的消息id的消息、也即是从总线读取信号。同一id的消息以预定的一定周期被发送。
4.如上述所,在汽车中的系统大量配置的ecu分别与can网络连接,在彼此交换各种各样的消息的同时进行工作。在此,具有与can网络的外部的通信功能的ecu可能会因被从外部攻击等而被劫持,可能会引起对can网络发送非法的消息。这样的被劫持了的ecu可能会通过例如伪装成其他ecu来发送攻击消息,从而非法地控制汽车。


技术实现要素:

5.针对上述技术问题,本发明提出一种通信数据劫持监控方法及系统、存储介质、电子设备,通过构建知识库用于构建通信数据劫持监控标准,采用该知识库对测试模块进行数据测试,获得通信数据劫持结果。
6.具体的,本发明所述一种通信数据劫持监控方法,包括以下步骤:s1:采集连续时间t内的can消息或can跟踪日志,将收集到的数据按一时间间隔t划分为多个数据包,计算每一数据包中的每一帧数据的时间差值的平均值p;s2:根据所述平均值p计算第一临界值l;将所述平均值p和第一临界值l发送至知识库完成数据训练;s3:采集当前can通信数据,采用所述知识库进行数据劫持测试,完成数据监控。
7.其中,每一帧数据至少包括帧id,以及每一帧id对应的时间戳。通过各帧id及其时间戳进行相邻时间戳间的时间差值,进而计算其平均值p。
8.通过上述方法中的简单计算,即可以判断相邻时间戳的时间是否异常,在面对大量数据排查过程中,可以有效提高数据监管的效率,且不需要非常大的算力,就可以完成监管工作,通过验证的数据还可以进一步更新至知识库中,不断优化知识库中的数据,进一步
完成数据监管机制和数据判断的精确度。
9.优选的,所述将收集到的数据按一时间间隔划分为多个数据包,可采用滑动窗口法进行数据采集。根据滑动窗口法获取数据集n,n为滑动窗口数,并按时间戳大小将所述数据集n划分成i个数据组,其中数据集n=数据组n1,数据组n2,......,数据组ni;计算所述数据组ni时间差值的平均值p。
10.其中,所述第一临界点l=max(平均值p-时间t内所有帧数据的时间差值的平均值q)。
11.优选的,所述s2还包括:迭代计算上述步骤s1和s2,计算所述知识库中最大临界点l’,所述最大临界点l’=max第一临界点l。
12.所述s3还包括:计算出当前帧和下一帧数据的时间差值,每累计t时间后计算一次时间差值的平均值p’;计算第二临界点l’=max(平均值p
’‑
当前时间t内所有帧数据的时间差值的平均值q’);判断所述第二临界点l’是否大于所述知识库中最大临界点l’,若大于,则检测到异常信息;否则,can通信数据正常。
13.作为另一优选的,本发明还提出一种通信数据劫持监控系统,至少包括以下:训练模块,包括第一采集单元,数据划分单元,数据处理单元和知识库;所述第一采集单元,用于采集can消息或can跟踪日志;所述数据划分单元,根据滑动窗口法将所述数据采集单元采集的数据划分成数据集n,并按一时间间隔t将所述数据集n划分成i个数据包;所述数据处理单元,用于计算每一数据包中的每一帧数据的时间差值的平均值p,根据所述平均值p计算第一临界值l;将所述平均值p和第一临界值l发送至知识库;所述知识库,根据所述第一临界值l计算得最大临界点l’;测试模块,包括第二采集模块,计算单元和检测单元;所述第二采集模块,用于采集当前can通信数据;所述计算单元,用于计算出当前帧和下一帧数据的时间差值,每累计t时间后计算一次时间差值的平均值p’和计算第二临界点l’;所述检测单元,将所述第二临界点l’与所述知识库进行比对,进行当前can通信数据劫持监控。
14.可见,本发明所述通信数据劫持监控系统,可适用于任何车型和目标平台/ecu的mcu或soc,有效提高系统的兼容性和算力。
15.其中,所述数据处理单元具体包括以下计算过程:所述第一临界点l=max(平均值p-时间t内所有帧数据的时间差值的平均值q)。
16.所述最大临界点l’=max第一临界点l。
17.第二临界点l’=max(平均值p
’‑
当前时间t内所有帧数据的时间差值的平均值q’)。
18.优选的,将所述平均值p’和计算第二临界点l’更新至知识库中,作为下一次测试的知识库。
19.作为另一优选的,本发明还提出一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如上所述通信数据劫持监控方法的步骤。
20.作为另一优选的,本发明还提出一种电子设备,包括:如上所述的计算机可读存储介质;以及一个或者多个处理器,用于执行所述计算机可读存储介质中的程序以实现通信
数据劫持监控,所述电子设备至少安装于任一汽车端,或ecu的mcu或soc端,用于执行can通信数据劫持监控。
21.综上所述,本发明提供一种通信数据劫持监控方法及系统、存储介质、电子设备,通过滑动窗口法对连续时间t内的can 消息或can跟踪日志计算每一帧数据的时间差值的平均值p和计算所述平均值p的第一临界值l,经过n次迭代完成知识库训练,进而对采集的实时数据进行通信数据劫持监测,无论是学习训练过程还是监测过程,均只需计算数据的平均值,比现有的机器或深度学习算法更加快速和节省资源,也进一步扩展了资源利用率,本发明只需时间戳和id即可完成监测,可适用于任何车型和目标平台/ecu的mcu或soc,有效提高系统的兼容性和算力。
附图说明
22.图1为本发明所述的一种通信数据劫持监控方法的流程图。
23.图2为本发明所述的一种通信数据劫持监控系统的示意图。
具体实施方式
24.为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
25.如图1所示,本发明提出一种通信数据劫持监控方法,在预先进行的知识库训练基础上,进行实时采集数据的监测,在的知识库训练前,采用的学习数据是系统的历史数据,例如是系统在某一时间段内采集的can消息或can跟踪日志,对于训练数据,越多越好,根据实际需求进行适应增加训练的数据量。
26.具体的,所述方法包括以下步骤:s1:采集连续时间t内的can消息或can跟踪日志,将收集到的数据按一时间间隔t划分为多个数据包,计算每一数据包中的每一帧数据的时间差值的平均值p;其中,每一帧数据至少包括帧id,以及每一帧id对应的时间戳。
27.其中,所述将收集到的数据按一时间间隔划分为多个数据包,还包括:采用滑动窗口法进行数据采集。
28.s2:根据所述平均值p计算第一临界值l;将所述平均值p和第一临界值l发送至知识库完成数据训练;其中,所述第一临界点l=max(平均值p-时间t内所有帧数据的时间差值的平均值q)。
29.迭代计算所述步骤s1和s2,计算所述知识库中最大临界点l’。
30.其中,所述最大临界点l’=max第一临界点l。
31.s3:采集当前can通信数据,采用所述知识库进行数据劫持测试,完成数据监控。
32.优选的,先对当前采集的数据进行处理,计算出平均值p’和第二临界点l’,具体的:计算出当前帧和下一帧数据的时间差值,每累计t时间后计算一次时间差值的平
均值p’。
33.计算第二临界点l’=max(平均值p
’‑
当前时间t内所有帧数据的时间差值的平均值q’)。
34.判断所述第二临界点l’是否大于所述知识库中最大临界点l’,若大于,则检测到异常信息;否则,can通信数据正常。
35.其中,数据劫持具体表现为攻击者以非常小的时间间隔连续发送 can 数据包,目的是使 can 总线无效或试图获得最高优先级,为此当攻击者发送具有高优先级id的消息,或是更高优先级can消息的频率,或发送高数据长度can报文导致占用较长的can 总线时间,最终平均值p变大,故本发明通过计算每一帧数据的时间差值的平均值p,进而计算平均值p的第一临界值l,可以通过第一临界值l的变大,判断出存在异常信息,否则正常。无论是学习训练过程还是监测过程,均只需计算数据的平均值,比现有的机器或深度学习算法更加快速和节省资源,也进一步扩展了资源利用率。
36.进一步的,其中,所述采用滑动窗口法对采集的数据进行处理并完成知识库的构建具体为:收集can消息或can跟踪日志,其中,可以是can历史数据信息,或是从云端加载,根据滑动窗口法获取数据集n,n为滑动窗口数,并按时间戳大小将所述数据集n划分成i个数据组,其中数据集n=数据组n1,数据组n2,......,数据组ni;其中,每一数组中含有多个时间戳数据。
37.计算所述数据组ni时间差值的平均值pi,具体为:计算第二临界点li’=max(当前平均时间差值pi-数据集n的平均时间差值q’),并保存至知识库中;其中,数据集n的平均时间差值q’,具体为:迭代计算步骤s31至s33,并设置所述最大临界点l’=max第一临界点l。
38.作为优选的,如图2所示,本发明还提出一种通信数据劫持监控系统,至少包括以下:训练模块,包括第一采集单元,数据划分单元,数据处理单元和知识库;所述第一采集单元,用于采集can消息或can跟踪日志;所述数据划分单元,根据滑动窗口法将所述数据采集单元采集的数据划分成数据集n,并按一时间间隔t将所述数据集n划分成i个数据包;所述数据处理单元,用于计算每一数据包中的每一帧数据的时间差值的平均值p,根据所述平均值p计算第一临界值l;将所述平均值p和第一临界值l发送至知识库;所述知识库,根据所述第一临界值l计算得最大临界点l’;测试模块,包括第二采集模块,计算单元和检测单元;所述第二采集模块,用于采集当前can通信数据;
所述计算单元,用于计算出当前帧和下一帧数据的时间差值,每累计t时间后计算一次时间差值的平均值p’和计算第二临界点l’;所述检测单元,将所述第二临界点l’与所述知识库进行比对,进行当前can通信数据劫持监控。
39.进一步的,所述系统连接车载中控显示屏端或第三方终端,当检测单元发现异常时,通过输出端口发送至显示屏端或第三方终端,并发起异常提示或警报。
40.可见,本发明所述通信数据劫持监控系统,可适用于任何车型和目标平台/ecu的mcu或soc,有效提高系统的兼容性和算力其中,所述数据处理单元具体包括以下计算过程:所述第一临界点l=max(平均值p-时间t内所有帧数据的时间差值的平均值q)。
41.所述最大临界点l’=max第一临界点l。
42.第二临界点l’=max(平均值p
’‑
当前时间t内所有帧数据的时间差值的平均值q’)。
43.优选的,将所述平均值p’和计算第二临界点l’更新至知识库中,作为下一次测试的知识库。
44.作为另一优选的,本发明还提出一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如上所述通信数据劫持监控方法的步骤。
45.作为另一优选的,本发明还提出一种电子设备,包括:如上所述的计算机可读存储介质;以及一个或者多个处理器,用于执行所述计算机可读存储介质中的程序以实现通信数据劫持监控,所述电子设备至少安装于任一汽车端,或ecu的mcu或soc端,用于执行can通信数据劫持监控。
46.优选的,本发明除了通过计算平均时间差外,可选的,还可以通过计算方差/标准偏差,均不限于此,该算法的优势在于它可以在极短的时间内检测到是否发生 dos 攻击,相比常见的机器学习算法反应更及时,且本发明所述算法需要较少的内存,可以应用于多种类型的目标平台或ecu的mcu或soc进行实时监测数据安全。
47.作为优选的,本发明还提出一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如上所述方法的步骤。
48.作为另一优选的,本发明还提出一种电子设备,包括:如上所述的计算机可读存储介质;以及一个或者多个处理器,用于执行所述计算机可读存储介质中的程序,所述电子设备至少安装于任一汽车端,或ecu的mcu或soc端,用于执行can通信数据劫持监控。
49.综上所述,本发明提供一种通信数据劫持监控方法及系统、存储介质、电子设备,通过滑动窗口法对连续时间t内的can 消息或can跟踪日志计算每一帧数据的时间差值的平均值p和计算所述平均值p的第一临界值l,经过n次迭代完成知识库训练,进而对采集的实时数据进行通信数据劫持监测,无论是学习训练过程还是监测过程,均只需计算数据的平均值,比现有的机器或深度学习算法更加快速和节省资源,也进一步扩展了资源利用率,本发明只需时间戳和id即可完成监测,可适用于任何车型和目标平台/ecu的mcu或soc。
50.在本技术所提供的几个实施例中,应该理解到,所揭露的装置和方法,也可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,附图中的流程图和框图显示了根据本发明的多个实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一
部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
51.另外,在本发明各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。
52.所述功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-only memory)、随机存取存储器(ram,random access memory)、磁碟或者光盘等各种可以存储程序代码的介质。
53.需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
54.以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1