可左右滑动选省市

用于防止程序代码对车辆恶意攻击的设备、系统和方法

更新时间:2024-10-01
用于防止程序代码对车辆恶意攻击的设备、系统和方法 专利申请类型:实用新型专利;
源自:德国高价值专利检索信息库;

专利名称:用于防止程序代码对车辆恶意攻击的设备、系统和方法

专利类型:实用新型专利

专利申请号:CN201910939331.4

专利申请(专利权)人:罗伯特·博世有限公司
权利人地址:德国斯图加特

专利发明(设计)人:陈增星

专利摘要:本申请提供了用于防止程序代码对车辆恶意攻击的设备、系统的方法,其中,所述程序代码被设置成在车辆电子系统的隔离执行环境中运行。所述设备包括:确定模块,配置成确定所述程序代码的操作的操作类型和操作对象区域;计算模块,根据操作类型和操作对象区域计算出影响值,所述影响值表示假如在车辆电子系统的原始执行环境中运行所述程序代码以执行所述操作将对车辆安全性产生的影响程度;以及决策模块,配置成评估所述影响值以确定所述程序代码是否为恶意代码;并且在确定为程序代码是恶意代码的情况下,禁止程序代码在所述原始执行环境中运行。

主权利要求:
1.一种用于防止程序代码(21)对车辆恶意攻击的设备(10),其中,所述程序代码被设置成在车辆电子系统的隔离执行环境中运行,所述设备包括:确定模块(13),配置成确定所述程序代码的操作的操作类型和操作对象区域;
计算模块(15),根据操作类型和操作对象区域计算出影响值,所述影响值表示若在车辆电子系统的原始执行环境中运行所述程序代码以执行所述操作将对车辆安全性产生的影响程度;以及决策模块(16),配置成评估所述影响值以确定所述程序代码是否为恶意代码;并且在确定为程序代码是恶意代码的情况下,禁止程序代码在所述原始执行环境中运行,其中,所述计算模块还配置成获取车辆的当前状态,至少包含车辆处于行驶中或熄火的当前状态;并且计算模块通过以下方式计算所述影响值:使用预先构建的影响值模型计算所述影响值,其中,操作类型、操作对象区域和当前状态是模型输入,影响值是模型输出,其中,评估所述影响值以确定所述程序代码是否为恶意代码包括:在存储于车辆电子系统的存储器中的多个预定阈值中选择针对所述操作对象区域的预定阈值;将计算出的影响值与选定的预定阈值相比较以获得比较结果;并通过比较结果来判断所述程序代码是否为恶意代码,并且其中,所述程序代码在虚拟执行环境中执行,所述虚拟执行环境是隔离执行环境中的一部分,并且所述设备在隔离执行环境中的不是虚拟执行环境位于的区域中执行。
2.根据权利要求1所述的设备(10),其中,所述决策模块还配置成:
在确定为程序代码是恶意代码的情况下,使得程序代码退出隔离执行环境并将该情况作为异常事件提供给车辆电子系统的存储器以便存储;并且在确定为程序代码不是恶意代码的情况下,将所述程序代码输出至所述原始执行环境,以便在原始执行环境中执行所述程序代码。
3.如权利要求1所述的设备(10),其中,通过比较结果来判断所述程序代码是否为恶意代码包括:当比较结果为影响值大于等于预定阈值的情况下,确定为所述程序代码是恶意代码;
并且
当比较结果为影响值小于预定阈值的情况下,确定为所述程序代码不是恶意代码。
4.根据权利要求1所述的设备(10),其中,所述设备还包括验证模块(12),配置成借助存储于车辆电子系统的存储器中的验证数据来验证所述程序代码;
所述验证模块配置成在程序代码的标签数据符合所述验证数据的情况下,允许程序代码通过所述验证模块以进入所述确定模块;并且在程序代码的标签数据不符合所述验证数据的情况下,使得程序代码退出隔离执行环境并禁止所述程序代码在原始执行环境中运行,并且将该情况作为异常事件提供给所述存储器以便存储。
5.根据权利要求4所述的设备(10),其中,所述验证数据是数字化的白名单。
6.根据权利要求4所述的设备(10),其中,所述程序代码为加密的程序代码,所述设备还包括解密模块(13),连接在验证模块与确定模块之间,配置成对通过所述验证模块的加密的程序代码进行解密,并将经解密的程序代码传输给所述确定模块。
7.根据权利要求1所述的设备(10),其中,所述影响值模型是机器学习模型,并且所述机器学习模型包括随机森林支持向量机模型和卷积神经网络模型中的至少一种。
8.根据权利要求1所述的设备(10),其中,所述设备还包括握手模块(11),配置成通过握手协议来将所述程序代码同步到车辆电子系统中;并且所述握手模块还配置成借助存储于车辆电子系统的存储器中的身份认证数据来完成握手协议。
9.根据权利要求1所述的设备(10),其中,隔离执行环境和原始执行换是位于车辆电子系统中的彼此独立的执行环境,并且所述设备被设置于所述隔离执行环境中;并且所述隔离执行环境包括用于虚拟地运行所述程序代码的虚拟执行环境。
10.根据权利要求9所述的设备(10),其中,所述虚拟执行环境是虚拟机或沙盒。
11.根据权利要求1所述的设备(10),其中,所述操作类型包括以下至少一项:读操作、写操作、擦除操作;并且所述操作对象区域包括以下至少一项:底座系统、影音娱乐系统、驾驶辅助系统、动力系统、制动系统。
12.一种用于防止程序代码对车辆恶意攻击的系统(100),所述系统是车辆电子系统或者与车辆电子系统耦接的系统或者车辆电子系统的控制器,所述系统包括:隔离执行环境(40),包括用于虚拟地执行所述程序代码的虚拟执行环境(20);以及根据权利要求1‑11中任一项所述的设备(10),设置于所述隔离执行环境中,所述设备包括确定模块、计算模块和决策模块,确定模块用于确定所述程序代码的操作类型和操作对象区域,计算模块用于根据所述操作类型和操作对象区域计算出影响值,决策模块用于评估所述影响值以确定所述程序代码是否为恶意代码;以及存储器(30),配置成存储用于辅助所述设备的各模块的参考数据以及异常事件;
其中,在决策模块确定为程序代码是恶意代码的情况下,禁止所述程序代码在原始执行环境中运行并将该情况作为异常事件存储到存储器中;并且其中,在决策模块确定为程序代码不是恶意代码的情况下,使得所述程序代码输出至所述原始执行环境,以便在所述原始执行环境中执行所述程序代码。
13.如权利要求12所述的系统(100),其中,所述系统还包括与云端存储器进行无线通信的通信接口,其中,所述存储器经由所述通信接口将异常事件上传至云端存储器,并经由所述通信接口从云端存储器获取更新的参考数据。
14.一种用于防止程序代码对车辆恶意攻击的方法(300),所述方法由如权利要求1‑11中任一项所述的设备(10)和/或如权利要求12‑13中任一项所述的系统(100)执行,所述方法包括:将所述程序代码同步至车辆电子系统的隔离执行环境中;
确定所述程序代码的操作的操作类型和操作对象区域;
根据操作类型和操作对象区域计算出影响值,所述影响值表示假如在车辆电子系统的原始执行环境中运行程序以执行所述操作将对车辆安全性产生的影响程度;
评估所述影响值以确定所述程序代码是否为恶意代码;以及
在确定为程序代码是恶意代码的情况下,禁止程序代码在所述原始执行环境中运行。 说明书 : 用于防止程序代码对车辆恶意攻击的设备、系统和方法技术领域[0001] 本申请涉及用于防止程序代码对车辆恶意攻击的设备、系统和方法。背景技术[0002] 车联网由于能够实现本车与其它车辆和通信网络的交互而具有诸多优点,例如,能够降低车辆发生碰撞事故的几率,帮助车主实时导航,以及提高交通通行的效率。[0003] 但是,随着车辆与外界交互的增加,车内软件和车内电子系统也变得更加复杂,随之带来潜在的车辆安全性问题。例如,车辆系统漏洞的增加,黑客通过网络对车辆的恶意攻击更容易得逞,即便是在车内网也存在恶意程序经由各种接口进入车内系统进而在车内网本地发起恶意控制的风险。另外,有些恶意程序在被静态观察时难以发现问题,一旦在特定环境中运行就诱导出攻击性,进而对车内电子系统的关键部件进行改动以至于破坏车内系统,导致车内系统中可怕的安全隐患。[0004] 因此,亟需一种技术方案来解决现有技术中的上述问题。发明内容[0005] 鉴于现有技术中的上述问题,本申请提供了一种防止程序代码对车辆恶意攻击的技术方案,其能够有效地保证程序代码的恶意操作不对车内系统产生任何有害影响。[0006] 根据本申请的一个方面,提供了一种用于防止程序代码对车辆恶意攻击的设备,其中,所述程序代码被设置成在车辆电子系统的隔离执行环境中运行,所述设备包括:确定模块,配置成确定所述程序代码的操作的操作类型和操作对象区域;计算模块,根据操作类型和操作对象区域计算出影响值,所述影响值表示若在车辆电子系统的原始执行环境中运行所述程序代码以执行所述操作将对车辆安全性产生的影响程度;以及决策模块,配置成评估所述影响值以确定所述程序代码是否为恶意代码;并且在确定为程序代码是恶意代码的情况下,禁止程序代码在所述原始执行环境中运行。[0007] 根据一种可行实施方式,其中,所述决策模块还配置成:在确定为程序代码是恶意代码的情况下,使得程序代码退出隔离执行环境并将该情况作为异常事件提供给车辆电子系统的存储器以便存储;并且在确定为程序代码不是恶意代码的情况下,将所述程序代码输出至所述原始执行环境,以便在原始执行环境中执行所述程序代码。[0008] 根据一种可行实施方式,其中,所述决策模块通过如下方式评估所述影响值:在存储于车辆电子系统的存储器中的多个预定阈值中选择针对所述操作对象区域的预定阈值;将计算出的影响值与选定的预定阈值相比较以获得比较结果;当比较结果为影响值大于等于预定阈值的情况下,确定为所述程序代码是恶意代码;并且当比较结果为影响值小于预定阈值的情况下,确定为所述程序代码不是恶意代码。[0009] 根据一种可行实施方式,其中,所述设备还包括验证模块,配置成借助存储于车辆电子系统的存储器中的验证数据来验证所述程序代码,可选地,所述验证数据是数字化的白名单;所述验证模块配置成在程序代码的标签数据符合所述验证数据的情况下,允许程序代码通过所述验证模块以进入所述确定模块;并且在程序代码的标签数据不符合所述验证数据的情况下,使得程序代码退出隔离执行环境并禁止所述程序代码在原始执行环境中运行,并且将该情况作为异常事件提供给所述存储器以便存储。[0010] 根据一种可行实施方式,其中,所述程序代码为加密的程序代码,所述设备还包括解密模块,连接在验证模块与确定模块之间,配置成对通过所述验证模块的加密的程序代码进行解密,并将经解密的程序代码传输给所述确定模块。[0011] 根据一种可行实施方式,其中,所述计算模块还配置成获取车辆的当前状态,至少包含车辆处于行驶中或熄火的当前状态;并且计算模块通过以下方式计算所述影响值:使用预先构建的影响值模型计算所述影响值,其中,操作类型、操作对象区域和当前状态是模型输入,影响值是模型输出。[0012] 根据一种可行实施方式,所述影响值模型是机器学习模型。[0013] 根据一种可行实施方式,所述机器学习模型包括随机森林支持向量机模型和卷积神经网络模型中的至少一种。[0014] 根据一种可行实施方式,其中,所述设备还包括握手模块,配置成通过握手协议来将所述程序代码同步到车辆电子系统中;并且所述握手模块还配置成借助存储于车辆电子系统的存储器中的身份认证数据来完成握手协议。[0015] 根据一种可行实施方式,其中,隔离执行环境和原始执行换是位于车辆电子系统中的彼此独立的执行环境,并且所述设备被设置于所述隔离执行环境中;并且所述隔离执行环境包括用于虚拟地运行所述程序代码的虚拟执行环境,可选地,所述虚拟执行环境是虚拟机或沙盒。[0016] 根据一种可行实施方式,其中,所述操作类型包括以下至少一项:读操作、写操作、擦除操作;并且所述操作对象区域包括以下至少一项:底座系统、影音娱乐系统、驾驶辅助系统、动力系统、制动系统。[0017] 根据本申请的另一个方面,提供了一种用于防止程序代码对车辆恶意攻击的系统,可选地,所述系统是车辆电子系统或者与车辆电子系统耦接的系统或者车辆电子系统的控制器,所述系统包括:隔离执行环境,包括用于虚拟地执行所述程序代码的虚拟执行环境;以及如上所述的设备,设置于所述隔离执行环境中,所述设备包括确定模块、计算模块和决策模块,确定模块用于确定所述程序代码的操作类型和操作对象区域,计算模块用于根据所述操作类型和操作对象区域计算出影响值,决策模块用于评估所述影响值以确定所述程序代码是否为恶意代码;以及存储器,配置成存储用于辅助所述设备的各模块的参考数据以及异常事件;其中,在决策模块确定为程序代码是恶意代码的情况下,禁止所述程序代码在原始执行环境中运行并将该情况作为异常事件存储到存储器中;并且其中,在决策模块确定为程序代码不是恶意代码的情况下,使得所述程序代码输出至所述原始执行环境,以便在所述原始执行环境中执行所述程序代码。[0018] 根据一种可行实施方式,其中,所述系统还包括与云端存储器进行无线通信的通信接口,其中,所述存储器经由所述通信接口将异常事件上传至云端存储器,并经由所述通信接口从云端存储器获取更新的参考数据。[0019] 根据本申请的又一个方面,提供了一种用于防止程序代码对车辆恶意攻击的方法,可选地,所述方法由如上所述的设备和/或如上所述的系统执行,所述方法包括:将所述程序代码同步至车辆电子系统的隔离执行环境中;确定所述程序代码的操作的操作类型和操作对象区域;根据操作类型和操作对象区域计算出影响值,所述影响值表示假如在车辆电子系统的原始执行环境中运行程序以执行所述操作将对车辆安全性产生的影响程度;评估所述影响值以确定所述程序代码是否为恶意代码;以及在确定为程序代码是恶意代码的情况下,禁止程序代码在所述原始执行环境中运行。[0020] 根据申请的技术方案,通过虚拟地运行进入车端的程序代码来获得该程序代码的操作的影响值,并通过影响值来决策程序代码是否包含恶意操作,在确定为包含恶意操作的情况下,禁止该恶意代码在车辆电子系统的原始执行环境中运行,从而能够有效地检测出进入车端的恶意代码并确保该恶意代码不会对车内系统产生任何有害影响。附图说明[0021] 图1示出了根据本申请的一种可行实施方式的用于防止程序代码对车辆恶意攻击的设备的示意性框图。[0022] 图2示出了根据本申请的一种可行实施方式的用于防止程序代码对车辆恶意攻击的系统,其包括图1中的设备和执行环境。[0023] 图3示出了根据本申请的一种可行实施方式的用于防止程序代码对车辆恶意攻击的方法流程图。[0024] 图4示出了图3中的主要步骤的子步骤的流程图。具体实施方式[0025] 本发明主要涉及防止程序代码对车辆恶意攻击的技术方案。根据本申请的技术方案,程序代码在进入车端后首先在隔离执行环境中被虚拟地运行。在程序代码被虚拟地运行过程中,如果检测出程序代码包含恶意攻击的操作,则禁止程序代码在原始执行环境中运行,从而防止了恶意代码对车辆电子系统产生不利的影响。这样,通过虚拟地运行程序代码,能够充分发现程序代码是否包含恶意操作,并且在程序代码包含恶意操作的情况下,也不会对车辆电子系统产生任何有害影响,由此有效地检测出并阻止进入车端的恶意代码对车辆的攻击。[0026] 在描述本申请的具体实施例之前,首先对本申请的术语进行定义。[0027] 在本申请中,隔离执行环境和原始执行环境是车内电子系统上彼此独立的执行环境。在隔离执行环境中可以进一步包括虚拟执行环境。换言之,虚拟执行环境是隔离执行环境中的一部分。例如,就根据本申请的用于防止程序代码对车辆恶意攻击的设备而言,所述程序代码在虚拟执行环境中执行,所述设备在隔离执行环境中的不是虚拟执行环境位于的区域中执行。[0028] 在本申请中,“虚拟执行环境”是代码安全机制,用于虚拟地执行程序代码,尤其适于执行可能具有恶意攻击行为的恶意代码,例如,不可信、具破坏力或无法判定程序意图的程序代码。在虚拟执行环境中运行程序代码所产生的所有改动不会对系统产生任何影响。虚拟执行环境可以实现为虚拟机或沙盒。[0029] 在本申请中,隔离执行环境也是代码安全机制,用于执行需要与可能是恶意代码的程序进行交互的软件(应用),例如,本申请的用于防止程序代码对车辆恶意攻击的设备。由此,能够防止在设备与恶意代码的交互过程中,系统被无意地或恶意地影响,进一步提升了系统的安全等级。[0030] 在本申请中,原始执行环境用于执行被确认为是安全的程序代码。例如,只有在进入车辆电子系统的程序代码被确认为是安全的(不具有恶意攻击行为)情况下,才能够在原始执行环境中运行。[0031] 下面,结合附图来详细描述本申请的各个实施例。[0032] 图1示出了根据本申请的一种可行实施方式的用于防止程序代码对车辆恶意攻击的设备10。图2示出了根据本申请的一种可行实施方式的用于防止程序代码对车辆恶意攻击的系统100。系统100可以实现为车辆电子系统或者与车辆电子系统耦接的系统或者车辆电子系统的一部分,例如,车内的电子控制单元或控制器或处理器。系统100主要包括设备10、存储器30和多个执行环境。所述多个执行环境至少包括彼此独立的隔离执行环境40和原始执行环境50。在隔离执行环境中还可以包括虚拟执行环境20。[0033] 程序代码21在通过握手协议而进入车端(例如,车辆电子系统)后,首先在隔离执行环境40(例如,隔离执行环境40的虚拟执行环境20)中被虚拟地运行。在隔离执行环境中运行程序代码所产生的所有改动不会对车辆电子系统产生任何影响。例如,在虚拟执行环境40中运行程序代码以执行删除车辆影音娱乐系统中的数据的操作,实际上不会真实地执行该删除操作。由此,即便程序代码是可能包含病毒或恶意攻击的恶意代码,也不会给车辆电子系统带来任何损失。虚拟执行环境例如为虚拟机或沙盒。[0034] 设备10设置于隔离执行环境40中,用于检测程序代码是否为恶意代码,并在检测出恶意代码的情况下使得恶意代码退出隔离执行环境并禁止该恶意代码在车辆电子系统的原始执行环境中运行。设备10例如实现为软件,并在隔离执行环境40中运行该软件。这样,设备10在隔离执行环境中进行操作的过程中,由于隔离系统与原始执行环境是隔离开的,即便设备10与恶意代码进行了交互,也不会对车辆电子系统产生有害影响。[0035] 在设备10确定为程序代码21不是恶意代码的情况下,允许程序代码进入原始执行环境50,以便在原始执行环境50中运行该程序代码。程序代码在原始执行环境中被运行后,程序代码的操作会对其操作对象产生改动。例如,在原始执行环境中运行程序代码以执行删除车辆影音娱乐系统中的数据的操作,该删除操作会被真实地执行。[0036] 存储器30可以位于车辆电子系统中,用于存储辅助设备10执行其功能的参考数据。该参考数据例如包括用于辅助握手过程的身份认证数据31;用于辅助验证过程的验证数据32(例如,白名单);用于辅助比较过程的预定阈值33。存储器30还用于存储异常事件,例如,在虚拟地运行程序代码的过程中出现的异常事件。[0037] 另外,系统100还可以包括与云端存储器进行无线通信的通信接口(未示出)。存储器30可以经由该通信接口将异常事件上传至云端存储器并从本地删除,从而节省存储器的本地存储空间。存储器30还可以经由该通信接口从云端存储器获得更新的参考数据,例如,获得更新的白名单,从而提升本申请的技术方案检测出并防止恶意代码的能力。[0038] 设备10包括握手模块11、验证模块12、解密模块13、确定模块14、计算模块15和决策模块16。以下具体介绍设备10的各模块和工作原理。[0039] 握手模块11在程序代码进入车辆电子系统(车端)之前,执行握手过程,以便在车端和从外部进入车端的程序代码21之间进行彼此身份认证。在完成握手协议后程序代码21才能被同步到车辆电子系统的隔离执行环境40(例如,隔离执行环境40中的虚拟执行环境20)中。例如,握手模块11借助存储在存储器30中的身份认证数据31来完成该握手过程。[0040] 验证模块12对完成握手过程而进入隔离执行环境40中的程序代码进行验证,程序代码通过该验证才能继续运行,反之,退出隔离执行环境并被标记为异常事件。[0041] 在一个实施例中,程序代码不是明文的,例如,程序代码是数字化的加密代码,并具有标签数据。验证模块12借助存储器30中的数字化的验证数据32,例如,白名单,来执行验证。验证模块基于白名单来执行过滤操作,当标签数据包含在白名单中时,验证模块12允许程序代码通过。反之,当标签数据没有包含在白名单中时,验证模块不允许程序代码通过,进而使得程序代码退出隔离执行环境。另外,在该情况下,验证模块12将该情况作为异常事件存储到存储器30中。[0042] 解密模块13对通过验证模块12的加密程序代码进行解密。例如,程序代码以对称加密的方式被加密,并包含对称的密钥。解密模块采用该密钥进行解密并将解密的程序代码传输给确定模块14。[0043] 确定模块14从解密的程序代码中确定出与程序代码的操作相关的信息,例如操作类型、操作对象区域和操作参数。操作类型例如包括读操作、写操作和擦除操作。操作对象区域是操作对象在车辆中的位置,例如包括底座系统、影音娱乐系统、驾驶辅助系统、动力系统和制动系统。操作参数是操作的具体内容,例如,擦除影音娱乐系统中的特定数据。[0044] 计算模块15获取车辆的当前状态,至少包含车辆处于行驶中或熄火的状态。当前状态还可以包含车辆的当前车速、当前加速度、当前跟车距离等。计算模块基于当前状态、操作的类型和对象区域之间的映射关系计算出影响值。在本申请中,影响值应当理解为假如在车辆电子系统的原始执行环境中运行该程序代码以执行操作(该程序代码所指示的操作)将对车辆安全性产生的影响程度。[0045] 在一个实施例中,计算模块采用预先创建的影响值模型来计算影响值。操作类型、操作对象区域和当前状态是模型输入,并且影响值模型输出。该影响值模型可以实现为机器学习模块,例如随机森林支持向量机模型或者卷积神经网络模型,或者它们的组合模型。[0046] 由此,计算模块具有采用上述机器学习模型而带来的优点。例如,随机森林支持向量机模型能够避免多维参数的过拟合。卷积神经网络模型是强分类器,能够对数据进行强分类,从而获得更鲁棒的计算结果。因此,计算模块可以获得更加准确和鲁棒的计算结果,即,影响值。[0047] 决策模块16对计算出的影响值进行评估以确定程序代码是否为包含恶意攻击操作的恶意代码。[0048] 在一个实施例中,决策模块16在存储于车辆电子系统的存储器中的多个预定阈值中选择针对操作对象区域的预定阈值。将计算出的影响值与选定的预定阈值相比较。当比较结果为影响值大于等于预定阈值的情况下,决策模块16确定为程序代码是恶意代码。当比较结果为影响值小于预定阈值的情况下,决策模块16确定为程序代码不是恶意代码。[0049] 在决策模块确定为是恶意代码的情况下,使得程序代码退出隔离执行环境并禁止该程序代码在原始执行环境中运行。另外,决策模块还将该情况作为异常事件存储到存储器中。另外,在出现异常事件的情况下,该程序代码可以从车辆电子系统中永久性删除或者在车辆电子系统中被永久性隔离。在决策模块确定为不是恶意代码的情况下,使得该程序代码输出至所述原始执行环境,以便在原始执行环境中执行所述程序代码。[0050] 由此可见,根据本申请的技术方案,通过针对性选择预定阈值,能够进一步有效确保恶意代码被识别出并被禁止运行。存储于存储器30中的多个预定阈值具有分别针对不同操作对象区域的不同值。这些值如下设置:针对车辆安全性影响较大的区域的预定阈值高于影响性较小区域的预定阈值。例如,针对制动系统的预定阈值高于针对影音娱乐系统的预定阈值。[0051] 另外,根据本申请的技术方案,通过考虑车辆的当前状态、操作类型和操作对象区域来获得影响值,能够进一步提升防止恶意代码攻击的能力。例如,在处于行驶中的车辆中运行程序代码比在处于熄火的车辆中运行程序代码应当具有更高的风险,因此匹配较大的影响值。在车辆中执行擦除操作比在车辆中执行读取操作具有更高的风险,因此匹配较大的影响值。[0052] 另外,根据本申请的技术方案,能够实现对进入车端的程序代码的实时监测,而不需要实时地从后端系统(云端数据库)获得参考数据。进一步,根据本申请的技术方案,在连接至后端系统(云端数据库)的情况下,能够从后端系统(云端数据库)获得更新的参考数据,进一步提升检测出并防止恶意代码的能力。[0053] 本申请还涉及用于防止程序代码对车辆恶意攻击的方法300。该方法300可以由上述设备10来执行。该方法300还可以由上述系统100来执行。因此,上述相关特征和优点同样适用于此。[0054] 方法300主要包括如下步骤:[0055] 在步骤S310中,执行握手过程,以将加密的程序代码同步至车辆电子系统的隔离执行环境中。[0056] 在步骤S320中,借助存储器中的验证数据来验证该程序代码。[0057] 在程序代码无法通过验证的情况下,方法300进入步骤S330,在步骤S330中,使得程序代码退出隔离执行环境并将该情况作为异常事件存储到存储器中。[0058] 在程序代码通过验证的情况下,方法300进入步骤S340,在步骤S340中,对加密的程序代码进行解密。[0059] 随后,方法进入步骤S350,在步骤S320中,从经解密的程序代码中确定程序代码的操作的操作类型和操作对象区域。[0060] 在步骤S360中,根据操作类型和操作对象区域计算出影响值。该影响值表示假如在车辆电子系统的原始执行环境中运行程序代码以执行操作将对车辆安全性产生的影响程度。[0061] 在步骤S370中,评估影响值以确定程序代码的操作是否为对车辆具有恶意攻击操作的恶意代码。[0062] 在确定为程序代码是恶意代码的情况下,方法进入步骤S330。[0063] 在确定为程序代码不是恶意代码的情况下,方法进入步骤S380,在步骤S380中,使得程序模块进入原始执行环境,以便在原始执行环境中执行。[0064] 在一个实施例中,步骤S370可以包括如下子步骤:[0065] 在步骤S371中,在存储于存储器中的多个预定阈值中选择针对操作对象区域的预定阈值。[0066] 在步骤S372中,将计算出的影响值与选定的预定阈值相比较以获得比较结果。[0067] 当比较结果为影响值大于等于预定阈值的情况下,方法进入步骤S330。[0068] 当比较结果为影响值小于预定阈值的情况下,方法进入步骤S380。[0069] 虽然前面描述了一些实施方式,这些实施方式仅以示例的方式给出,而不意于限制本申请的范围。所附的权利要求及其等同替换意在涵盖本申请范围和主旨内做出的所有修改、替代和改变。

专利地区:德国

专利申请日期:2019-09-30

专利公开日期:2024-07-26

专利公告号:CN112580031B


以上信息来自国家知识产权局,如信息有误请联系我方更正!
电话咨询
读内容
搜本页
回顶部