CN110460573A - 一种应用于汽车ecu安全升级管理***及方法 - Google Patents
一种应用于汽车ecu安全升级管理***及方法 Download PDFInfo
- Publication number
- CN110460573A CN110460573A CN201910610375.2A CN201910610375A CN110460573A CN 110460573 A CN110460573 A CN 110460573A CN 201910610375 A CN201910610375 A CN 201910610375A CN 110460573 A CN110460573 A CN 110460573A
- Authority
- CN
- China
- Prior art keywords
- ecu
- file
- service packs
- module
- attack
- 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
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/65—Updates
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/40—Bus networks
- H04L12/40006—Architecture of a communication node
-
- 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/04—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
- H04L63/0428—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
-
- 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/12—Applying verification of the received information
- H04L63/123—Applying verification of the received information received data contents, e.g. message integrity
-
- 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/1433—Vulnerability analysis
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/40—Bus networks
- H04L2012/40208—Bus networks characterized by the use of a particular bus standard
- H04L2012/40215—Controller Area Network CAN
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/40—Bus networks
- H04L2012/40267—Bus for use in transportation systems
- H04L2012/40273—Bus for use in transportation systems the transportation system being a vehicle
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- General Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Small-Scale Networks (AREA)
- Stored Programmes (AREA)
Abstract
本发明提供了一种应用于汽车ECU安全升级管理***及方法,包括安全管理模块、入侵检测模块、中央网关,防护ECU、漏洞ECU,入侵检测模块对车内网络实时监测,当发现车内网络升级受到攻击时,能够及时将攻击信息反馈给安全管理模块,安全管理模块会下发控制指令给防护ECU,防护ECU将抵抗策略发送给可能受到攻击或者已经被攻击的ECU进行抵抗攻击,对升级过程中的升级文件引入较小的弥补包,通过引入弥补包替代不同历史版本的补丁包,能够大幅度降低升级所需数据包的大小,同时也节省ECU升级补丁包的传输时间。
Description
技术领域
本发明涉及汽车ECU领域,尤其涉及一种应用于汽车ECU的安全升级管理***及其方法。
背景技术
随着汽车的普及,越来越多的汽车进入千家万户,但由此也带来关于汽车的安全问题。近来了,许多汽车厂家以及研究结构都在推广智能汽车,使汽车趋于智能化、人性化。在汽车行业中,无人驾驶汽车和先进驾驶员辅助***(ADAS)、ABS(防抱死制动***)等发展已经变得今后技术的发展方向。当这些功能安装在车辆中时,汽车中的电子控制单元(ECU)的数量正在增加,控制车辆***需要100多个ECU(电子控制单元),这增加了软件尺寸和逻辑复杂性。此外,安装在车辆中的软件变得越来越大和越来越复杂。由于bug的存在,如果不及时修复,会发生较大的危险性。由软件引起的召回次数正在增加,一旦检测到错误就快速修复错误是非常重要的,修复和新特性的加入导致应用程序的更新升级变得非常频繁结果。目前,车辆ECU通过车辆网络连接,车辆网络用于更新ECU软件。将来,随着联网车辆越来越普及,车辆将增加新功能以提供各种服务,例如智能手机应用程序下载。但是,通过将车辆连接到互联网,它可能成为网络攻击的目标。实际上,可以通过利用无线接口利用其漏洞来远程操作车辆,并且已经存在这种情况已经发展成大规模召回。
由于增加了新功能,纠正缺陷和应对安全风险,ECU软件更新的频率和重要性将会增加。传统的ECU软件bug修复由用户将车辆带到经销商处执行,其中工程师使用专用诊断设备通过有线连接执行修复。然而,传统方法有两个缺点。首先,在传统方法中,用户必须将汽车带到经销商处以安装新软件,并且如果软件更新的频率在将来增加,则这可能是用户的负担。其次,可以一次更新的车辆数量是有限的,因为软件更新需要专用设备和停放车辆的地方。在更新发布或在生产线上更新后,此类限制立即成为障碍。结果,执行更新所需的时间显着增加。已经开发了用于更新车载软件的空中(OTA)方法。如果可以使用无线通信(移动网络,Wi-Fi等),则可以通过OTA进行更新。因此,可以减少由软件更新引起的负担,因为用户可以在不去经销商的情况下进行更新。另外,通过使用无线通信,可以同时更新多个车辆时间。因此,可以在不受设备数量或停放车辆数量限制的情况下执行更新。在ECU软件更新期间,如果传输速度过慢以及数据包过大,都会造成ECU软件升级所用的时间增加。此时,用户是不能进行使用车辆的。用户使用车辆是危险的。因此,在车辆停放时执行ECU软件更新。用户在软件更新期间无法使用汽车,因此有必要缩短软件更新时间。
现有技术中,即使新包与旧包只有略微的差别,每次版本的升级仍下载完整的新安装包进行替换安装,这种全量更新的方式不仅浪费了较多的客户端网络流量,同时也增加了升级过程所耗费的时间。用户在这段ECU修复的时间内是无法使用车辆的,这必然给用户带来用车的不便,因此压缩ECU修复的时间是目前需要迫切解决的技术问题。同时也有必要告知车辆ECU软件的修复时间,让用户根据自己的时间安排选择合适的时间段进行升级,而压缩升级时间带来的挑战来源于尽可能的降低升级包的尺寸。另一方面,尽可能的避免***受到黑客的攻击,当发现车内网络受到黑客攻击时,能够尽早发现,采取解决措施,从而解决将攻击受到的损害降到最低。
发明内容
基于现有技术中存在的缺陷,为了实现上述目的,本发明提供一种应用于汽车ECU升级文件的方法,能够解决目前升级数据包较大且升级过程中容易遭受黑客攻击的技术问题,具体为:
一种应用于汽车ECU安全升级管理方法,至少包括:
车内的中央网关接收到来自服务器的升级文件,升级文件经中央网关通传输到需要升级的ECU进行升级;
入侵检测模块对车内网络进行实时监控,当发现升级文件中含有攻击代码的数据包时或汽车网络受到攻击时,入侵检测模块将检测到攻击信息反馈给安全管理模块;
安全管理模块接收到来自入侵检测模块反馈的攻击信息时,安全管理模块给防护模块下发控制指令防止目标ECU被入侵;
所述防护模块被配置为与安全模块相对应,能够根据安全模块下发的控制指令采取相应的抵抗攻击策略并发送给目标ECU;
所述ECU包括抵抗模块,抵抗模块被配置为具有与抵抗攻击策略相匹配的功能,当目标ECU受到攻击时,ECU内的抵抗模块能够根据防护模块出发的抵抗攻击策略调用匹配应用程序进行抵抗入侵;
所述抵抗攻击策略包括目标ECU安全重置策略、目标节点网关的安全重置策略、丢弃含有攻击代码的数据包策略;
所述攻击代码的数据包至少包括符合CAN报文格式的数据。
一种应用于汽车ECU安全升级管理方法,进一步地,所述目标ECU安全重置策略包括以下步骤:
目标ECU接收到安全重置策略时,目标ECU自动重启后进入安全模式,所述安全模式至少包括:
被配置为允许基本驾驶操作以保证车辆的安全,仅允许处理经过安全验证的CAN消息,或被配置为需要对接收的数据进行完整性检查及数据加密。
一种应用于汽车ECU安全升级管理方法,进一步地,所述防护模块包括防护ECU,所述丢弃含有攻击代码的数据包策略包括:
安全管理模块将含有攻击代码的数据发送到安装在特定域中的防护ECU中,防护ECU将含有CAN消息标识符的攻击数据包的信息广播到同一域中的所有ECU中,ECU通过抵抗模块调用应用程序丢弃包含相应CAN消息标识符的数据包;
当攻击结束时,防护ECU再次广播包含正常的相应CAN消息标识符的数据包。
一种应用于汽车ECU安全升级管理方法,进一步地,当车内网络采用车载以太网进行传输并且设置节点网关与多种域进行连接,发生攻击时,安全管理模块向受到攻击的目标节点网关发送控制指令以指示目标节点网关采取抵抗攻击策略进行抵抗;
所述抵抗攻击策略包括目标节点网关的安全重置策略,节点网关的安全重置策略包括节点网关自动重启后进入安全模式,所述节点网关的安全模式至少包括:被配置为允许基本驾驶操作以保证车辆的安全,仅允许处理经过安全验证的CAN消息,或被配置为需要对接受数据进行完整性检查以及数据加密。
一种应用于汽车ECU安全升级管理方法,进一步地,所述CAN报文格式至少包括CAN消息地址、远程请求位;
远程请求位用于区分远程帧和数据帧的字段,数据帧用于在CAN总线上进行数据传输,对于数据帧必须是显性,远程请求位用0表示;
远程帧用于发送请求并且不含有载荷数据信息,对于远程请求帧必须是隐性1,远程请求位用1表示。
一种应用于汽车ECU安全升级管理方法,进一步地,所述丢弃含有攻击代码的数据包括以下步骤:
安全管理模块下发丢弃数据包的指令给防护ECU,防护ECU将符合CAN报文格式并且含有CAN消息地址的攻击代码的数据包中的远程请求位从显性0更改为隐性1,然后再将该更改后的数据包以广播的形式发送给所有的ECU;
ECU仅在接收到CAN消息地址是与其关联的CAN消息地址时才进行相应,无关联时则直接将该数据包进行丢弃;
所述显性与隐性的变换是通过CAN总线上的电压控制CAN_H高电压,CAN_L低电压进行更改远程请求位的值而实现。
一种应用于汽车ECU安全升级管理方法,进一步地,入侵检测模块检测车内网络时,还包括对漏洞ECU的检测,漏洞ECU使含有攻击代码的数据包易于被入侵检测模块检测到。
一种应用于汽车ECU安全升级管理方法,进一步地,所述升级文件至少包括补丁包,补丁包是通过将基准补丁包与待升级ECU匹配的弥补包进行合成;
所述基准补丁包与弥补包的形成方法包括:
步骤1:将新文件分别与旧文件通过差异分析,分别找出新文件与旧文件的差异,获取新文件与旧文件的差异数据包并将差异数据包进行提取打包后组成补丁包;重复步骤1,直至获得新文件分别与所有的不同历史版本的旧文件对应的补丁包;
步骤2:在多个补丁包选择其中一个作为基准补丁包;
步骤3:将所选的基准补丁包与补丁包进行差异对比,找出基准补丁包与补丁包的差异,获取基准补丁包与补丁包的差异数据包并将差异数据包提取打包压缩后形成弥补包;重复步骤3,直至获得基准补丁包分别与所有的不同历史版本的旧文件对应的弥补包。
一种应用于汽车ECU安全升级管理方法,进一步地,所述获取新文件与旧文件的差异数据包包括以下步骤:
步骤S200:利用后缀数组方法对旧文件与新文件进行排序形成字符串组;
步骤S201:然后根据所形成的字符串组将新文件与旧文件进对比;
步骤S202:利用二分法查询旧文件与新文件之间的相同部分;
步骤S203:找出新文件与旧文件的最大公共子序列并确定差异部分;
步骤S204:找出新文件与旧文件的额外部分;
步骤S205:将差异部分和额外部分以及控制字进行压缩;
步骤S206:形成补丁包。
所述新文件与旧文件中的数据存储的地址采用4个字节,操作代码在每个地址下存储固定8个字节。
一种应用于汽车ECU安全升级管理方法,进一步地,所述弥补包获取包括以下步骤:
步骤S300:将基准补丁包与补丁包的文件进行解压分别获得基准补丁包和补丁包的解压文件,解压后文件都分别包括三部分:控制字文件、差异文件、额外文件,即基准补丁包与补丁包都分别包括:控制字文件、差异文件、额外文件;
步骤S301:去掉基准补丁包的控制字文件,保留补丁包的控制字文件并将基准补丁包中差异文件、额外文件与补丁包中的差异文件、额外文件利用BSDIFF算法进行差异化分析;
步骤S302:通过BSDIFF算法形成相应的子差异文件、子额外文件、子控制字文件;
步骤S303:将所形成的子差异文件、子额外文件、子控制字文件以及所保留的补丁包的控制字文件进行打包后压缩形成弥补包。
一种应用于汽车ECU安全升级管理方法,进一步地,通过基准补丁包与弥补包合成补丁包包括以下步骤:
步骤S400:将弥补包与基准补丁包分别进行解压缩并分别获得解压后文件,弥补包解压后的文件包括:子差异文件、子额外文件、子控制字文件以及所保留的补丁包的控制字文件,基准补丁包解压后获得文件包括:差异文件、额外文件、控制字文件;
步骤S401:去掉基准补丁包的控制字文件,保留补丁包的控制字文件并将并根据子控制字文件中的指引信息将子差异文件、子额外文件通过添加和***放入基准补丁中的差异文件、额外文件中还原形成补丁包中的差异文件、额外文件;
步骤S402:将所形成的补丁包中的差异文件、额外文件以及所保留补丁包中的控制字文件进行打包形成补丁包。
本发明还提供了一种应用于汽车ECU安全升级管理***,其特征在于,包括中央网关、入侵检测模块、安全管理模块、多个ECU,其中安全管理模块与入侵检测模块分别中央网关电连接;
中央网关,至少用于与车内内部与外部之间的通信或数据处理或车内网络管理;
入侵检测模块,被配置为监控模块或监控设备,用于对车内网络安全进行实时监控,当检测车内网络受到攻击时,能够将攻击信息反馈给安全管理模块;安全管理模块,一种控制设备或控制模块,能够在入侵检测模块检测到汽车网络攻击时减轻网络攻击造成的损害;
安全管理模块,被配置为控制设备或控制模块,能够在入侵检测模块检测到车内网络受到攻击时下发控制指令并使目标采取抵抗攻击策略进行抵抗;
防护模块,被配置为能够根据安全管模块下发的控制指令采取抵抗攻击策略并发送给ECU,防护模块通过CAN总线与中央网关电连接;
所述ECU包括抵抗模块,抵抗模块被配置为具有与抵抗攻击策略相匹配的功能,当目标ECU受到攻击时,ECU内的抵抗模块能够根据防护模块发出的抵抗攻击策略调用匹配应用程序进行抵抗入侵;
所述安全管理模块和入侵检测模块能够作为独立的硬件存在或以软件模块的方式集成到中央网关中;
当不存在节点网关时,各ECU通过CAN总线与中央网关电连接。
本发明还提供了一种应用于汽车ECU安全升级管理***,进一步地,所述防护模块被配置为防护ECU,防护ECU与其它ECU一起通过CAN总线接入CAN网络中。
本发明还提供了一种应用于汽车ECU安全升级管理***,进一步地,还包括:节点网关,所述节点网关通过车载以太网总线与中央网关电连接,各ECU通过CAN网络数据总线与节点网关电连接。
本发明还提供了一种应用于汽车ECU安全升级管理***,进一步地,还包括漏洞ECU,所述漏洞ECU,漏洞ECU被配置为具有较多安全漏洞的ECU,使含有攻击代码的数据包易于被入侵检测模块检测;
还包括服务器、通信模块,服务器通过通信模块与中央网关电连接,其中,服务器用于存储升级所需的升级文件,通信模块设置于车内,通过车载以太网与中央网关电连接,通信模块与服务器通过有线或者无线的方式电连接。
本发明还提供了一种应用于汽车ECU安全升级管理***,进一步地,包括权上述应用于汽车ECU安全升级管理升级方法。
本发明有益效果:
1.安全管理模块与入侵检测模块的使用,并且ECU含有抵抗模块和防护ECU引入,在车内网络受到黑客的攻击时,入侵检测模块能够及时的将攻击信息及时的反馈给安全管理模块,安全管理模块能够下发控制指令给防护ECU,防护ECU能够及时的采取抵抗策略使可能被入侵的ECU进行抵抗,降低因为受到攻击而使ECU受到损坏的风险。确保升级过程中各ECU不被攻击,及时监测***的安全以便做出对策。
2.漏洞ECU的引入,使得黑客进行攻击时,漏洞ECU容易被最先攻击,当其被攻击时,能够使入侵检测模块更容易检测到***被攻击并及时的反馈消息给安全管理模块。
3.相比于现有技术,通过引用基准补丁包以及弥补包,本发明能够同时满足不同版本的ECU升级,最大限度的降低ECU升级包的大小。
4.相比于现有技术,本发明由于引入的基准补丁包以及弥补包后,由于基准补丁包以及多个弥补包相比于采用多个不同版本的补丁包,其基准补丁包和弥补包所占存储空间要远小于多个补丁包所占的存储空间,因此,本发明可以直接在将升级所需的基准补丁包和弥补包直接下载到中央网关或者车载主机中,并不会增加***的负荷,同时也节省ECU升级补丁包的传输时间,而不必每次都需要从服务器下载。
5.相比于现有技术,在对新文件与旧文件进行差异分析时,采用了4byte表示存储地址,每个存储地址下采用了固定的8byte对操作代码进行存储。与采用ARM平台的ECU中的8,16,32-bit的CPU进行结合,不仅能够降低补丁包尺寸,还能够提供运行效率。
附图说明
以下附图仅对本发明做示意性说明和解释,并不限定本发明的范围。
图1本发明实施例中一安全升级管理***示意图;
图2本发明实施例中含有节点网关一安全升级管理***示意图;
图3本发明CAN报文格式中,数据帧和远程帧的报文格式示意图;
图4a至4c本发明实施例中补丁包、弥补包以及新文件的形成与合成过程中示意,图4a为补丁包合成,图4b为弥补包合成,图4c为根据补丁包、弥补包、旧文件合成新文件示意图;
图5本发明实施例中获取新文件与旧文件的差异数据数据包的流程图;
图6本发明实施例中补丁包形成过程的示意图;
图7本发明实施例中现有的非固定位数的操作代码示意图;
图8本发明实施例中固定位数的操作代码示意图;
图9本发明实施例中获取基准补丁包与补丁包的差异数据包方法流程图;
图10本发明实施例中弥补包的形成过程实例;
图11本发明实施例中补丁包的合成方法;
图12本发明实施例中基准补丁包与弥补包合成补丁包的过程示例;
图13本发明实施例中服务器存储补丁包以及基准补丁包、弥补包示例。
具体实施方式
为了对本发明的技术特征、目的和效果有更加清楚的理解,现对照附图说明本发明的具体实施方式,在各图中相同的标号表示相同的部分。为使图面简洁,各图中的只示意性地表示出了与本发明相关部分,而并不代表其作为产品的实际结构。另外,以使图面简洁便于理解,在有些图中具有相同结构或功能的部件,仅示意性地绘示了其中的一个,或仅标出了其中的一个。
关于控制***,本领域技术人员熟知的是,其可以采用任何适当的形式,既可以是硬件也可以是软件,既可以是离散设置的多个功能模块,也可以是集成到一个硬件上的多个功能单元。作为最简单的形式,所述控制***可以是控制器,例如组合逻辑控制器、微程序控制器等,只要能够实现本申请描述的操作即可。当然,控制***也可以作为不同的模块集成到一个物理设备上,这些都不偏离本发明的基本原理和保护范围。
实施例1:
本实施例提供了一种应用于汽车的安全管理方法,具体包括:
车内的中央网关接收到来自服务器的升级文件,升级文件经中央网关通传输到需要升级的ECU进行升级;
入侵检测模块对车内网络进行实时监控,当发现升级文件中含有攻击代码的数据包时或汽车网络受到攻击时,入侵检测模块将检测到攻击信息反馈给安全管理模块;
安全管理模块接收到来自入侵检测模块反馈的攻击信息时,安全管理模块给防护模块下发控制指令防止目标ECU被入侵;
防护模块被配置为与安全模块相对应,能够根据安全模块下发的控制指令采取相应的抵抗攻击策略并发送给目标ECU;
ECU包括抵抗模块,抵抗模块被配置为具有与抵抗攻击策略相匹配的功能,当目标ECU受到攻击时,ECU内的抵抗模块能够根据防护模块出发的抵抗攻击策略调用匹配应用程序进行抵抗入侵;
抵抗攻击策略包括目标ECU安全重置策略、目标节点网关的安全重置策略、丢弃含有攻击代码的数据包策略;
攻击代码的数据包至少包括符合CAN报文格式的数据,还可以包括病毒类型、攻击方式等
具体地,目标ECU接收到安全重置策略时,目标ECU自动重启后进入安全模式,所述安全模式至少包括:被配置为允许基本驾驶操作以保证车辆的安全,仅允许处理经过安全验证的CAN消息,或被配置为需要对接收的数据进行完整性检查及数据加密。
具体地,防护模块可以被配置为防护ECU,从ECU中任意选择一个作为防护ECU,但是为了安全期间,一般都选择不担任与安全责任紧密相关的ECU,如刹车、发动机相关的ECU。也可以设置一个ECU,其与车身控制无直接关系,单纯的作为防护ECU。此时,丢弃含有攻击代码的数据包策略具体包括:安全管理模块将含有攻击代码的数据发送到安装在特定域中的防护ECU中,防护ECU将含有CAN消息标识符(CAN ID)的攻击数据包的信息广播到同一域中的所有ECU中,ECU通过抵抗模块调用应用程序丢弃包含相应CAN消息标识符的数据包;
当攻击结束时,防护ECU再次广播包含正常的相应CAN消息标识符的数据包。
具体地的,需要说明的是,本发明可以将汽车的众多ECU进行分类,如分为动力控制段、车身段、安全段、娱乐段等,每个段都设置有防护ECU和漏洞ECU。
本实施例中的另一种方式,车载以太网具有根据车辆的功能形成域的结构,车内网络采用车载以太网进行传输并且设置节点网关与多种域进行连接,发生攻击时,安全管理模块向受到攻击的目标节点网关发送控制指令以指示目标节点网关采取抵抗攻击策略进行抵抗。在由节点网关存在的情况下,与节点网关直接连接的ECU与节点网关组成特定的域,如动力控制域、车身域、安全域、娱乐域,每个域都设置有防护ECU和漏洞ECU。每个防护ECU和漏洞ECU对应一个域。
抵抗攻击策略包括目标节点网关的安全重置策略,节点网关的安全重置策略包括节点网关自动重启后进入安全模式,节点网关的安全模式至少包括:被配置为允许基本驾驶操作以保证车辆的安全,仅允许处理经过安全验证的CAN消息,或被配置为需要对接受数据进行完整性检查以及数据加密。
具体地,需要说明的是,入侵检测模块检测车内网络时,还包括对漏洞ECU的检测,漏洞ECU被配置为具有较多安全漏洞的ECU,漏洞ECU使含有攻击代码的数据包易于被入侵检测模块检测到。漏洞ECU为认为设置的,其不参与对车内的概况进行控制,其目的在于在设置该ECU时,故意的留下较多的bug、后门,使其最先受到攻击,一旦其受到攻击,入侵检测模块就能更容易的检测到有恶意代码的存在,使安全模块能够及时的做出响应。
实施例2:
本实施例提供了一种使ECU丢失含有恶意代码的数据包的方法,具体包括:参见图3。图3a为CAN报文中数据帧的格式,图3b为CAN报文中远程帧的格式,
图3a中,CAN报文中数据帧的格式为标准帧,帧起始,用1个bit表示;
仲裁段包含11bit的ID(CAN消息标识符)以及远程请求位(Remote TransmissionRequest,RTR),ID分布于ID28到ID18,禁止高7bit全都为隐性;RTR:远程请求位,显性(0)表示数据帧,隐性(1)表示远程帧。
控制段:由6个bit组成,指示要传输信息的数据字节数,包含预留位IDE/r1、r0(1bit),DLC(4bit)。
IDE:Identifier Extension Bit,标识符扩展位,它在标准帧中位于控制场,始终处于显性。在扩展帧中位于仲裁场,始终处于显性。r0、r1:保留位必须以显性电平传送,然而,在接收侧可以接收显性、隐性集任意组合的电平。DLC:数据的字节数必须是0-8个字节,但接收方对DLC=9-15的情况并不视为错误。
数据段:由0到8个字节组成,用于负载传输的数据。
循环冗余校验码段(CRC,Cyclic Redundancy Check,CRC):由15bit CRCSequence和1bit CRC Delimiter组成,用来检查帧是否有传输错误。CRC Sequence:CRC序列,计算范围是SOF,仲裁域,控制域和数据域。CRC Delimiter:CRC界定符,是一个常态隐性位。
应答场(ACK):ACK(应答场)长度为2个bit。包括ACK Slot和ACK Delimiter。ACKSlot:应答间隙,发送节点送数据时,会将ACK Slot及ACK Delimiter全部置为隐性,接收节点计算CRC Sequence正确无误后,会在ACK Slot期间向发送方发送一个显性位以示应答。ACK Delimiter:ACK界定符,是一个常态隐性位。
如果总线上有2个以上的接收节点,只要它们当中任意一个正常接收到消息,就会有ACK被返回,如果总线上没有节点能够正常接收信息,则NO ACK被返回。另外发送节点不发送ACK;
帧结束:指示帧的结束,由7个隐性位组成。
图3b中,CAN报文中远程帧的格式,其与数据帧的报文格式区别在于远程帧中并不包括数据段,其余段都有,用于区别数据帧与远程帧标识依靠远程请求位(RTR)用来标识,当RTR显示为0是,标识数据帧帧,此时是显性。当RTR显示为1时,为远程帧,此时为隐性。
本实施例中对于其余报文格式不做要求,仅要求CAN报文格式至少包括CAN消息标识符(CAN ID)、远程请求位(RTR);
远程请求位用于区分远程帧和数据帧的字段,数据帧用于在CAN总线上进行数据传输,对于数据帧必须是显性,远程请求位用0表示;
远程帧用于发送请求并且不含有载荷数据信息,对于远程请求帧必须是隐性1,远程请求位用1表示。
安全管理模块下发丢弃数据包的指令给防护ECU,防护ECU将符合CAN报文格式并且含有CAN消息标识符的攻击代码的数据包中的远程请求位从显性0更改为隐性1,然后再将该更改后的数据包以广播的形式发送给所有的ECU;
具体地,防护ECU接受到含有CAN消息标识符的数据包时,其会根据安全模块下发给它的指令进行判断该数据包中的CAN消息标识符是否与含有攻击的代码的CAN消息标识符相同,如果确认相同,防护ECU会将收到含有攻击代码的CAN消息标识符的数据包进行报文格式的修改,其将RTR从0改为1,这样,就把数据帧改为远程帧。作为远程帧发送后,ECU仅在接收到CAN消息标识符是与其关联的CAN消息标识符时才进行相应,无关联时则直接将该数据包进行丢弃。尽管此时含有攻击的数据包带有数据,但是由于其RTR显示为1表示远程帧,关联的ECU收到该远程帧后并不会接受数据,仅是发送一个基于请求的响应,避免了这些ECU被攻击。而无关联的ECU仅不会接收该数据,直接将该数据进行丢失。
显性与隐性的变换是通过CAN总线上的电压控制CAN_H(3.5V)高电压,CAN_L(1.5V)低电压进行更改远程请求位的值而实现。
实施例3:
参见图4a至图4c,其描述了本实施例中提供了实施例1获取实施例1的升级包的方法,所述升级文件至少包括补丁包,补丁包是通过将基准补丁包与待升级ECU匹配的弥补包进行合成,
基准补丁包与弥补包的形成方法包括:
步骤1:将新文件分别与旧文件通过差异分析,分别找出新文件与旧文件的差异,获取新文件与旧文件的差异数据包并将差异数据包进行提取打包后组成补丁包;重复步骤1,直至获得新文件分别与所有的不同历史版本的旧文件对应的补丁包;
具体地,在ECU的bug的修复过程中,不可能一劳永逸,其bug的修复是不断完善的,因此在不同的用户手中,其升级的旧文件可能存在多个版本,如车厂原始的某个ECU的旧文件从V0版本逐渐更新到V6版本,但是车主的选择众多,未必都更新到最新版本V6。此时,可能存在有些车主使用V2版本旧文件,有些使用V3版本的旧文件等。假设最近的开发出新版本的V7新文件,此时需要对这些车主进行升级,因此旧文件含有多版本,本次升级时,都需要考虑不同旧文件与新文件之间的版本差异。所以旧文件存在多个,与此相应的补丁包也存在多个。其中一种差异分析方式为,例如:假设有V0至V6个旧文件,有一个V7新文件,则形成7个补丁包B0至B6。B0代表V7与V0形成的补丁包,以此类推,B6代表V7与V6形成的补丁包。
步骤2:在多个补丁包选择其中一个作为基准补丁包,
步骤3:将所选的基准补丁包分别与多个补丁包通过差异分析方法,找出新文件与旧文件的差异,形成多个弥补包;
具体地,由于旧文件存在多个版本,因此形成的补丁包也存在多个版本,将多个版本中选择其中一个作为基准补丁包,基准补丁包为任意一个补丁包。但是考虑到大多数用户会根据车厂的提示进行升级到当的最新旧文件版本(即尚未升级前的最新版本,例如:原先存在V0版本至V6版本,目前有最新版本的V7需要升级,此时定义V6为最新旧文件,V7为新文件)。通常情况下,选择新文件与最新旧文件进行差异分析后的补丁包为基准补丁包,即V7与V6形成的补丁包作为基准补丁包B6。然后将基准补丁包分别与补丁包进行差异分析,形成多个弥补包。例如:B6分别与B0至B5形成弥补包,记为M0至M5。
具体地,在新文件与旧文件中的补丁包以及弥补包都是在服务器端完成,本发明所指的服务器是一种广义的概念,其可以只云服务器,也可以为本地的PC电脑或者本地服务器,或者可以进行补丁包和弥补包进行运算的设备。
ECU升级所补丁包的合成方法包括:
将基准补丁包与相对应的弥补包进行数据包合成,形成与待升级的ECU对应的补丁包;
具体地,如存储有基准补丁包和多个弥补包,如基准补丁包B6,多个弥补包为M0,M1,M2,M3,M4,M5。若当前需要升级的ECU为最新旧文件为V6版本,基准补丁包为B6,由于B6其正好对应于最新版本的补丁包,此时,无须进行合成,直接采用基准补丁包升级即可。若当前需要升级的ECU版本不是最新的旧文件,则根据当前最新旧文件的版本,找出对应版本的弥补包,然后将基准补丁包与该弥补包进行合成并生成与最新旧文件对应的补丁包。例如:当前ECU的最近旧文件版本为V4,则对应的弥补包为M4,将M4与基准补丁包B6进行数据合成为补丁包M4。
将待升级的ECU对应的补丁包与ECU中的旧文件进行数据包合成并形成需要升级的新文件。
具体地,通过形成的补丁包,与当前ECU中的旧文件合成为最新的升级文件包,如V7版本的文件包,然后通过启动升级程序,对ECU进行升级。
弥补包与补丁包的生成以及补丁包和新文件的还原可能处于不同设备,此时,可以通过有线或者无线通信的方式将数据包进行各中转站之间的转移。
将形成的多个弥补包与基准补丁包通过网络传输给本地中转站;
具体地,在服务端完成弥补包与基准补丁包之后,通过无线网络或者有限网络传给中转站,本发明所指的中转站定义为可以将数据包传输给ECU端的设备,其可以为车载主机,也可以为带有数据处理的网关等设备。
实施例4:
获取新文件与旧文件的差异数据包尽可能多的利用旧文件中已有的内容,尽可能少的加入新的内容来构建新文件。例如:对旧文件和新文件做子字符串匹配或使用hash技术,提取公共部分,将新文件中剩余的部分打包成补丁包或者弥补包。在合成阶段中,用添加(ADD)和***(insertion)两个基本操作即可将旧文件和补丁包合成新文件。
获取新文件与旧文件的差异数据包具体步骤包括:
步骤S200:利用后缀数组方法对旧文件与新文件进行排序形成字符串组;
具体地,首先是字符串索引的生成,采用基于二分思想的Faster Suffix Sorting(更快的后缀排序)算法来进行索引的生成。后缀数组即一个一维数组,保存了i(1…n)的某个排列I,并且保证suffix(I)<suffix(I[i+1]),即将S的n个后缀从小到大进行排序之后,把有序的后缀的开头位置顺次放入I中。
步骤S201:然后根据所形成的字符串组将新文件与旧文件进对比;
步骤S202:利用二分法查询旧文件与新文件之间的相同部分;
步骤S203:找出最大新文件与旧文件的最大公共子序列并确定差异部分;
步骤S204:找出额外部分;
步骤S205:将差异部分和额外部分以及控制字进行压缩;
步骤S206:形成补丁包
具体的,参见图6:
如:假设新文件为:abedefsdfaoiutkllklll
旧文件为:abcdefsdfaoiuker
通过比较新文件和旧文件,新文件中的“abcdefsdfaoiu”与旧文件中的“abrdefsdfaoiu”仅在第三位不同,因此差异部分[00200000000],由于差异部分含有大量的0,因此可以高效的被压缩。额外部分为:tjkllklll。由于在后续数据包合成过程中是通过复制和***操作进行的,***操作会引起大量的指针变动和修改,要记录这些值才能在Patch阶段给修改过的区域重新定位。因此在形成差异部分与额外部分时,需要记录的指针控制字的数值。BSDiff通过引入差异文件的概念,大大减少了要记录的指针控制字的数目,从而使得补丁包更小。
在差异分析阶段以及数据存储阶段,对于数据包进行了以下处理,现有技术中,参见图7,其数据文件的存储中,其地址采用了8位数表示,每一个地址用来对数据存储,其采用非固定大小的存储方法。如图7中,地址为80484b4,存储的代码为8b 45 f0,存储的代码为6位,地址为80484ba,存储的代码为e8 a1 ff ff ff。存储的代码为10为字节(byte)。但是ECU是基于ARM的CPU进行集成的,这种架构下,拥有8位、16位、32位比特(bit)的处理器,例如,32位比特的处理器一次能够处理的最大二进制数为32位(bit)的操作代码。为了更好降低数据包的大小,目前汽车的ECU升级包相比PC***等,其数据包的大小非常小,因此,将地址改为4位byte,将原有的代码改为能够存储8byte的固定长度的代码。参见图8,如旧文件的其中一个地址为:8400,该地址存储的代码:ebffffba,下一个地址:8404,该地址存储的代码:e3a03000。新文件中,其中一个为地址8418,该地址存储的代码:ebffffb4,另一个为地址841c,该地址存储的代码:e51b200c。通过采用固定的长度的代码存储,降低用于表示地址的位数,并且固定长度为8byte,这样一方面能够节省空间,降低数据包的大小。另一方面,由于存储代码的固定长度为8byte,其为CPU的识别最大二进制文件的倍数。使得处理效率高。
另一方面,存储地址部分中出现许多差异,这些差异是由滑动参考地址引起的。最初,Bsdiff通过存储地址对新文件与旧文件的相似部分进行分类,并按不同代码的百分比对新代码进行分类。此外,如果连续不同的操作代码长度超过8个字节,则该部分被定义为不相似。
对于固定代码,以更改此百分比以进行优化。在许多情况下,32位固定操作代码只更改了8位。因此,阈值应为75%,而不是50%。
实施例5:
由实施例3和实施例4形成的补丁包至少包括三部分构成:第一是一个包含了添加(ADD)和***(INSERT)指令的控制字文件,添加指令指定旧文件中的偏移量和长度,从旧文件读取适当的字节数,并将其添加到差异文件中的相同字节数,***指令只是指定一个长度,指定的字节数是从额外的文件中读取的;第二是一个包含了概率匹配中不同字节内容的差异文件;第三是一个包含了不属于概略匹配中内容的额外的文件。每一个ADD指令指定了旧文件中的偏移位置和长度,从旧文件中读取相应数量的字节内容并且从差异文件中读取相同字节的内容添加进去。INSERT指令仅仅制定一个长度,用于从额外文件中读取指定数量的字节内容。
在实施例中的步骤2中,弥补包的形成方法,参见图9至图10,具体过程包括获取基准补丁包与补丁包的差异数据包,差异数据包的获取包括以下步骤:
步骤S300:将基准补丁包与补丁包的文件进行解压分别获得基准补丁包和补丁包的解压文件,解压文件分别包括三部分:控制字文件、差异文件、额外文件;
基准补丁包与补丁包都分别包括:控制字文件、差异文件、额外文件,其中基准补丁包记为控制字文件1、差异文件1、额外文件1,补丁包:控制字文件2、差异文件2、额外文件2。
步骤S301:去掉基准补丁包的控制字文件1,保留补丁包的控制字文件2并将基准补丁包中差异文件1、额外文件1与补丁包中的差异文件2、额外文件2利用BSDIFF算法进行差异化分析;
具体地,当需要升级的ECU版本与基准补丁包对应时,直接使用基准补丁包进行升级即可。当需要升级的ECU版本与基准补丁包不对应,需要找到相应的补丁包进行升级。因此,若需要升级的ECU版本与基准不对应时,基准版本的控制字文件是无用的文件,为了节省空间,在步骤S301,将基准补丁包的控制字文件1进行移除而完全保留与升级的ECU版本对应的补丁包中的控制字文件2。
步骤S302:通过BSDIFF算法形成相应的子差异文件、子额外文件、子控制字文件;
步骤S303:将所形成的子差异文件、子额外文件、子控制字文件以及所保留的补丁包的控制字文件2进行打包后压缩形成弥补包。
弥补包有多个版本,需要每个对应版本的弥补包都需要重复步骤S300至S303进行形成。
通过基准补丁包和相应弥补包合成当前ECU升级所需对应的补丁包的方法至少包括以下步骤:参见图11至图12。
步骤S400:将弥补包与基准补丁包分别进行解压缩并分别获得解压后文件,弥补包解压后的文件为:子差异文件、子额外文件、子控制字文件以及所保留的补丁包的控制字文件2,基准补丁包解压后获得文件包括:差异文件1、额外文件1、控制字文件1;
具体地,弥补包需要选择与当前ECU版本对应升级对应的弥补包。本实施例中尽管对弥补包和基准补丁包进行解压缩,实际上,如果弥补包与基准补丁包如果传输过程中并没有被解压缩,此过程中无须解压,直接获得数据包文件。因此解压缩并未是必须步骤。
步骤S401:去掉基准补丁包的控制字文件1,保留补丁包的控制字文件2并将并根据子控制字文件中的记录将子差异文件、子额外文件通过添加和***放入基准补丁中的差异文件1、额外文件1中还原形成补丁包中的差异文件2、额外文件2;
步骤S402:将所形成的补丁包中的差异文件2、额外文件2所保留补丁包中的控制字文件2进行打包合成补丁包。
形成当前ECU版本对应升级的补丁包之后,需要将当前补丁包与当前版本的旧文件进行数据包合成为相应的新文件。
具体地,通过补丁包的控制字文件2并根据控制字文件中的记录位置将差异文件2、额外文件2通过添加和***放入当前旧文件中形成相应的升级新文件。
实施例6:
本实施例提供了一种车载ECU安全升级***,参见图1至图2。
具体包括:中央网关、入侵检测模块、安全管理模块、多个ECU,其中安全管理模块与入侵检测模块分别中央网关电连接;
中央网关,至少用于与车内内部与外部之间的通信或数据处理或车内网络管理;
入侵检测模块,被配置为监控模块或监控设备,用于对车内网络安全进行实时监控,当检测车内网络受到攻击时,能够将攻击信息反馈给安全管理模块;安全管理模块,一种控制设备或控制模块,能够在入侵检测模块检测到汽车网络攻击时减轻网络攻击造成的损害;
安全管理模块,被配置为控制设备或控制模块,能够在入侵检测模块检测到车内网络受到攻击时下发控制指令并使目标采取抵抗攻击策略进行抵抗;
防护模块,被配置为能够根据安全管模块下发的控制指令采取抵抗攻击策略并发送给ECU,防护模块通过CAN总线与中央网关电连接;
ECU包括抵抗模块,抵抗模块被配置为具有与抵抗攻击策略相匹配的功能,当目标ECU受到攻击时,ECU内的抵抗模块能够根据防护模块发出的抵抗攻击策略调用匹配应用程序进行抵抗入侵;
安全管理模块和入侵检测模块能够作为独立的硬件存在或以软件模块的方式集成到中央网关中;
当不存在节点网关时,各ECU通过CAN总线与中央网关电连接。
防护模块被配置为防护ECU,防护ECU与其它ECU一起通过CAN总线接入CAN网络中。具体地,防护模块可以被配置为防护ECU,从ECU中任意选择一个作为防护ECU,但是为了安全期间,一般都选择不担任与安全责任紧密相关的ECU,如刹车、发动机相关的ECU。也可以设置一个ECU,其与车身控制无直接关系,单纯的作为防护ECU。此时,丢弃含有攻击代码的数据包策略具体包括:安全管理模块将含有攻击代码的数据发送到安装在特定域中的防护ECU中,防护ECU将含有CAN消息标识符(CAN ID)的攻击数据包的信息广播到同一域中的所有ECU中,ECU通过抵抗模块调用应用程序丢弃包含相应CAN消息标识符的数据包;
本实施中,还包括另一种结构方式,在车内网络中含有节点网关,节点网关通过车载以太网总线与中央网关电连接,各ECU通过CAN网络数据总线与节点网关电连接。
具体地,还包括漏洞ECU,漏洞ECU被配置为具有较多安全漏洞的ECU,使含有攻击代码的数据包易于被入侵检测模块检测;具体地,需要说明的是,入侵检测模块检测车内网络时,还包括对漏洞ECU的检测,漏洞ECU被配置为具有较多安全漏洞的ECU,漏洞ECU使含有攻击代码的数据包易于被入侵检测模块检测到。漏洞ECU为认为设置的,其不参与对车内的概况进行控制,其目的在于在设置该ECU时,故意的留下较多的bug、后门,使其最先受到攻击,一旦其受到攻击,入侵检测模块就能更容易的检测到有恶意代码的存在,使安全模块能够及时的做出响应。
具体地,还包括服务器、通信模块,服务器通过通信模块与中央网关电连接,其中,服务器用于存储升级所需的升级文件,通信模块设置于车内,通过车载以太网与中央网关电连接,通信模块与服务器通过有线或者无线的方式电连接。
通信模块可以为T-box智能天线。
具体地的,需要说明的是,本发明可以将汽车的众多ECU进行分类,如分为动力控制段、车身段、安全段、娱乐段等,每个段都设置有防护ECU和漏洞ECU。
具体地,还包括车载主机,车载主机通过车载以太网总线与中央网关电连接。
本实施例中的另一种方式,车载以太网具有根据车辆的功能形成域的结构,车内网络采用车载以太网进行传输并且设置节点网关与多种域进行连接,发生攻击时,安全管理模块向受到攻击的目标节点网关发送控制指令以指示目标节点网关采取抵抗攻击策略进行抵抗。在由节点网关存在的情况下,与节点网关直接连接的ECU与节点网关组成特定的域,如动力控制域、车身域、安全域、娱乐域,每个域都设置有防护ECU和漏洞ECU。每个防护ECU和漏洞ECU对应一个域。
若ECU所需升级补丁包并不在存储于服务上时,服务器调用应用程序将相应的弥补包与基准补丁包进行合成为当前ECU升级相匹配的补丁包或通过通信模块将相应弥补包和基准补丁包下载到中央网关或车载主机中进行合成为当前ECU升级相匹配的补丁包。
或实施例3中的补丁包、弥补包的形成可以在服务器中进行加工处理完成,也可以通过本地PC电脑加工处理完成后在传到服务中,也可以在PC电脑加工完成后通过有线或者无线的方式将数据传给ECU、传感器、摄像头等进行升级,此时,PC也相当于服务器。车载以太网的传输带宽为100Mbps/s,有效载荷(payload)的传输容量为46~1518byte。而CAN总线的传输带宽为1Mbps/s,有效载荷(payload)的传输速率为0~8byte。因此,CAN网络的速率比车载以太网要小很多,CAN网络属于制约ECU升级时间的最大限制因素。而基于CAN网络的协议传输速率时,为了数据的可靠性,其不能同时进行数据传输,数据是逐个传输的,在ECU的升级阶段,占用时间最长。
具体地,参见图13实施例中服务器存储补丁包以及基准补丁包、弥补包示例。
图13a表示当只有补丁包存在的情况时,服务器存储了所有历史版本中的补丁包文件,图13b表示有基准补丁包与所有历史版本相对应的弥补包。基准补丁包时从所有历史版本的补丁包中任选一个版本作为基准补丁包都可以,通常情况下,选择未升级前ECU的最新版本对应的补丁包为基准补丁包,由于每次升级版本的更新都是在历史版本上进行更改,其变动不大。因此ECU升级所需的补丁包与其对应版本的弥补包的所占存储空间相比,补丁包所占的存储空间远大于弥补包。因此采用本发明弥补包的方法,所有历史版本升级所需的ECU升级包为基准补丁包和多个弥补包,其数据包较小。较大的减少的存储器的存储负荷,更有利于数据的传输,尤其是在中央网关和车载主机中具有较小的存储空间环境中,较小的数据包尺寸可以直接传输到车载主机或者中央网关,通过在车载主机或中央网关进行补丁包的合成,进一步的降低传输时间以及***所消耗的资源。
Claims (16)
1.一种应用于汽车ECU安全升级管理方法,其特征在于,至少包括:
车内的中央网关接收到来自服务器的升级文件,升级文件经中央网关通传输到需要升级的ECU进行升级;
入侵检测模块对车内网络进行实时监控,当发现升级文件中含有攻击代码的数据包时或汽车网络受到攻击时,入侵检测模块将检测到攻击信息反馈给安全管理模块;
安全管理模块接收到来自入侵检测模块反馈的攻击信息时,安全管理模块给防护模块下发控制指令防止目标ECU被入侵;
所述防护模块被配置为与安全模块相对应,能够根据安全模块下发的控制指令采取相应的抵抗攻击策略并发送给目标ECU;
所述ECU包括抵抗模块,抵抗模块被配置为具有与抵抗攻击策略相匹配的功能,当目标ECU受到攻击时,ECU内的抵抗模块能够根据防护模块出发的抵抗攻击策略调用匹配应用程序进行抵抗入侵;
所述抵抗攻击策略包括目标ECU安全重置策略、目标节点网关的安全重置策略、丢弃含有攻击代码的数据包策略;
所述攻击代码的数据包至少包括符合CAN报文格式的数据。
2.如权利要求1所述的一种应用于汽车ECU安全升级管理方法,其特征在于,所述目标ECU安全重置策略包括以下步骤:
目标ECU接收到安全重置策略时,目标ECU自动重启后进入安全模式,所述安全模式至少包括:
被配置为允许基本驾驶操作以保证车辆的安全,仅允许处理经过安全验证的CAN消息,或被配置为需要对接收的数据进行完整性检查及数据加密。
3.如权利要求1所述的一种应用于汽车ECU安全升级管理方法,其特征在于,所述防护模块包括防护ECU,所述丢弃含有攻击代码的数据包策略包括:
安全管理模块将含有攻击代码的数据发送到安装在特定域中的防护ECU中,防护ECU将含有CAN消息标识符的攻击数据包的信息广播到同一域中的所有ECU中,ECU通过抵抗模块调用应用程序丢弃包含相应CAN消息标识符的数据包;
当攻击结束时,防护ECU再次广播包含正常的相应CAN消息标识符的数据包。
4.如权利要求1所述的一种应用于汽车ECU安全升级管理方法,其特征在于,当车内网络采用车载以太网进行传输并且设置节点网关与多种域进行连接,发生攻击时,安全管理模块向受到攻击的目标节点网关发送控制指令以指示目标节点网关采取抵抗攻击策略进行抵抗;
所述抵抗攻击策略包括目标节点网关的安全重置策略,节点网关的安全重置策略包括节点网关自动重启后进入安全模式,所述节点网关的安全模式至少包括:被配置为允许基本驾驶操作以保证车辆的安全,仅允许处理经过安全验证的CAN消息,或被配置为需要对接受数据进行完整性检查以及数据加密。
5.如权利要求1所述的一种应用于汽车ECU安全升级管理方法,其特征在于,所述CAN报文格式至少包括CAN消息标识符、远程请求位;
远程请求位用于区分远程帧和数据帧的字段,数据帧用于在CAN总线上进行数据传输,对于数据帧必须是显性,远程请求位用0表示;
远程帧用于发送请求并且不含有载荷数据信息,对于远程请求帧必须是隐性1,远程请求位用1表示。
6.如权利要求5所述的一种应用于汽车ECU安全升级管理方法,其特征在于,所述丢弃含有攻击代码的数据包括以下步骤:
安全管理模块下发丢弃数据包的指令给防护ECU,防护ECU将符合CAN报文格式并且含有CAN消息标识符的攻击代码的数据包中的远程请求位从显性0更改为隐性1,然后再将该更改后的数据包以广播的形式发送给所有的ECU;
ECU仅在接收到CAN消息标识符是与其关联的CAN消息标识符时才进行相应,无关联时则直接将该数据包进行丢弃;
所述显性与隐性的变换是通过CAN总线上的电压控制CAN_H高电压,CAN_L低电压进行更改远程请求位的值而实现。
7.如权利要求1所述的一种应用于汽车ECU安全升级管理方法,其特征在于,入侵检测模块检测车内网络时,还包括对漏洞ECU的检测,漏洞ECU使含有攻击代码的数据包易于被入侵检测模块检测到。
8.如权利要求1所述的一种应用于汽车ECU安全升级管理方法,其特征在于,所述升级文件至少包括补丁包,补丁包是通过将基准补丁包与待升级ECU匹配的弥补包进行合成;
所述基准补丁包与弥补包的形成方法包括:
步骤1:将新文件分别与旧文件通过差异分析,分别找出新文件与旧文件的差异,获取新文件与旧文件的差异数据包并将差异数据包进行提取打包后组成补丁包;重复步骤1,直至获得新文件分别与所有的不同历史版本的旧文件对应的补丁包;
步骤2:在多个补丁包选择其中一个作为基准补丁包;
步骤3:将所选的基准补丁包与补丁包进行差异对比,找出基准补丁包与补丁包的差异,获取基准补丁包与补丁包的差异数据包并将差异数据包提取打包压缩后形成弥补包;重复步骤3,直至获得基准补丁包分别与所有的不同历史版本的旧文件对应的弥补包。
9.根据权利要求8所述的一种应用于汽车ECU安全升级管理方法,其特征在于,所述获取新文件与旧文件的差异数据包包括以下步骤:
步骤S200:利用后缀数组方法对旧文件与新文件进行排序形成字符串组;
步骤S201:然后根据所形成的字符串组将新文件与旧文件进对比;
步骤S202:利用二分法查询旧文件与新文件之间的相同部分;
步骤S203:找出新文件与旧文件的最大公共子序列并确定差异部分;
步骤S204:找出新文件与旧文件的额外部分;
步骤S205:将差异部分和额外部分以及控制字进行压缩;
步骤S206:形成补丁包。
所述新文件与旧文件中的数据存储的地址采用4个字节,操作代码在每个地址下存储固定8个字节。
10.根据权利要求8所述的一种应用于汽车ECU安全升级管理方法,其特征在于,所述弥补包获取包括以下步骤:
步骤S300:将基准补丁包与补丁包的文件进行解压分别获得基准补丁包和补丁包的解压文件,解压后文件都分别包括三部分:控制字文件、差异文件、额外文件,即基准补丁包与补丁包都分别包括:控制字文件、差异文件、额外文件;
步骤S301:去掉基准补丁包的控制字文件,保留补丁包的控制字文件并将基准补丁包中差异文件、额外文件与补丁包中的差异文件、额外文件利用BSDIFF算法进行差异化分析;
步骤S302:通过BSDIFF算法形成相应的子差异文件、子额外文件、子控制字文件;
步骤S303:将所形成的子差异文件、子额外文件、子控制字文件以及所保留的补丁包的控制字文件进行打包后压缩形成弥补包。
11.根据权利要求10所述的一种应用于汽车ECU安全升级管理方法,其特征在于,通过基准补丁包与弥补包合成补丁包包括以下步骤:
步骤S400:将弥补包与基准补丁包分别进行解压缩并分别获得解压后文件,弥补包解压后的文件包括:子差异文件、子额外文件、子控制字文件以及所保留的补丁包的控制字文件,基准补丁包解压后获得文件包括:差异文件、额外文件、控制字文件;
步骤S401:去掉基准补丁包的控制字文件,保留补丁包的控制字文件并将并根据子控制字文件中的指引信息将子差异文件、子额外文件通过添加和***放入基准补丁中的差异文件、额外文件中还原形成补丁包中的差异文件、额外文件;
步骤S402:将所形成的补丁包中的差异文件、额外文件以及所保留补丁包中的控制字文件进行打包形成补丁包。
12.一种应用于汽车ECU安全升级管理***,其特征在于,包括中央网关、入侵检测模块、安全管理模块、多个ECU,其中安全管理模块与入侵检测模块分别中央网关电连接;
中央网关,至少用于与车内内部与外部之间的通信或数据处理或车内网络管理;
入侵检测模块,被配置为监控模块或监控设备,用于对车内网络安全进行实时监控,当检测车内网络受到攻击时,能够将攻击信息反馈给安全管理模块;安全管理模块,一种控制设备或控制模块,能够在入侵检测模块检测到汽车网络攻击时减轻网络攻击造成的损害;
安全管理模块,被配置为控制设备或控制模块,能够在入侵检测模块检测到车内网络受到攻击时下发控制指令并使目标采取抵抗攻击策略进行抵抗;
防护模块,被配置为能够根据安全管模块下发的控制指令采取抵抗攻击策略并发送给ECU,防护模块通过CAN总线与中央网关电连接;
所述ECU包括抵抗模块,抵抗模块被配置为具有与抵抗攻击策略相匹配的功能,当目标ECU受到攻击时,ECU内的抵抗模块能够根据防护模块发出的抵抗攻击策略调用匹配应用程序进行抵抗入侵;
所述安全管理模块和入侵检测模块能够作为独立的硬件存在或以软件模块的方式集成到中央网关中;
当不存在节点网关时,各ECU通过CAN总线与中央网关电连接。
13.如权利要求11所述一种应用于汽车ECU安全升级管理***,其特征在于,所述防护模块被配置为防护ECU,防护ECU与其它ECU一起通过CAN总线接入CAN网络中。
14.如权利要求11所述一种应用于汽车ECU安全升级管理***,其特征在于,还包括:节点网关,所述节点网关通过车载以太网总线与中央网关电连接,各ECU通过CAN网络数据总线与节点网关电连接。
15.如权利要求11所述一种应用于汽车ECU安全升级管理***,其特征在于,还包括漏洞ECU,所述漏洞ECU,漏洞ECU被配置为具有较多安全漏洞的ECU,使含有攻击代码的数据包易于被入侵检测模块检测;
还包括服务器、通信模块,服务器通过通信模块与中央网关电连接,其中,服务器用于存储升级所需的升级文件,通信模块设置于车内,通过车载以太网与中央网关电连接,通信模块与服务器通过有线或者无线的方式电连接。
16.如权利要求11所述一种应用于汽车ECU安全升级管理***,其特征在于,包括权利要求1至10所述任一项应用于汽车ECU安全升级管理升级方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910610375.2A CN110460573B (zh) | 2019-07-08 | 2019-07-08 | 一种应用于汽车ecu安全升级管理***及方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910610375.2A CN110460573B (zh) | 2019-07-08 | 2019-07-08 | 一种应用于汽车ecu安全升级管理***及方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110460573A true CN110460573A (zh) | 2019-11-15 |
CN110460573B CN110460573B (zh) | 2022-05-20 |
Family
ID=68482354
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910610375.2A Active CN110460573B (zh) | 2019-07-08 | 2019-07-08 | 一种应用于汽车ecu安全升级管理***及方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110460573B (zh) |
Cited By (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111030908A (zh) * | 2019-12-25 | 2020-04-17 | 东风汽车集团有限公司 | 一种车辆内部网络***的信息安全监控***及方法 |
CN111147448A (zh) * | 2019-12-06 | 2020-05-12 | 中科曙光(南京)计算技术有限公司 | 一种can总线洪范攻击防御***及方法 |
CN111343064A (zh) * | 2020-02-29 | 2020-06-26 | 东风汽车集团有限公司 | 汽车控制***软件升级***及方法 |
CN111935325A (zh) * | 2020-10-15 | 2020-11-13 | 广州汽车集团股份有限公司 | 一种ota升级方法及装置 |
CN112506550A (zh) * | 2020-12-21 | 2021-03-16 | 江苏徐工信息技术股份有限公司 | 一种车辆控制器快速ota方法 |
CN112585549A (zh) * | 2020-02-29 | 2021-03-30 | 华为技术有限公司 | 一种故障诊断方法、装置及车辆 |
CN112783022A (zh) * | 2020-12-25 | 2021-05-11 | 长城汽车股份有限公司 | 网关***和网关控制方法 |
CN112822684A (zh) * | 2021-02-04 | 2021-05-18 | 中汽创智科技有限公司 | 车辆入侵检测方法及防御*** |
CN113141300A (zh) * | 2020-01-17 | 2021-07-20 | 大陆汽车有限公司 | 用于机动车辆的传送数据帧的通信网关 |
CN113228594A (zh) * | 2021-03-31 | 2021-08-06 | 华为技术有限公司 | 确定防护方案的方法、装置、设备及计算机可读存储介质 |
CN113468522A (zh) * | 2021-07-19 | 2021-10-01 | 泰安北航科技园信息科技有限公司 | 一种车载ota升级服务器信息安全的检测*** |
CN113810446A (zh) * | 2020-06-16 | 2021-12-17 | 上海赫千电子科技有限公司 | 一种车载网络的ecu的安全升级管理方法 |
CN114157471A (zh) * | 2021-11-29 | 2022-03-08 | 阿波罗智联(北京)科技有限公司 | 车辆异常的处理方法、装置、电子设备和介质 |
CN115296860A (zh) * | 2022-07-15 | 2022-11-04 | 智己汽车科技有限公司 | 基于中央计算平台的车辆安全运维运营***及车辆 |
Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6725377B1 (en) * | 1999-03-12 | 2004-04-20 | Networks Associates Technology, Inc. | Method and system for updating anti-intrusion software |
US20160163125A1 (en) * | 2014-12-09 | 2016-06-09 | Hyundai Autron Co., Ltd. | Error variance detection method of can communication system and the can communication system |
CN105893844A (zh) * | 2015-10-20 | 2016-08-24 | 乐卡汽车智能科技(北京)有限公司 | 车辆总线网络的报文发送方法和装置 |
CN106790153A (zh) * | 2016-12-29 | 2017-05-31 | 北京天融信网络安全技术有限公司 | 一种车联网安全控制***及其方法 |
CN106897627A (zh) * | 2017-02-21 | 2017-06-27 | 成都信息工程大学 | 一种保证汽车ecu免受攻击和自动更新的方法 |
CN107579995A (zh) * | 2017-09-30 | 2018-01-12 | 北京奇虎科技有限公司 | 车载***的网络防护方法及装置 |
US20180167360A1 (en) * | 2015-10-09 | 2018-06-14 | Panasonic Intellectual Property Corporation Of America | Security apparatus, attack detection method, and storage medium |
CN108965267A (zh) * | 2018-06-28 | 2018-12-07 | 北京车和家信息技术有限公司 | 网络攻击处理方法、装置及车辆 |
CN109501697A (zh) * | 2018-11-14 | 2019-03-22 | 上海赫千电子科技有限公司 | 一种汽车智能信息娱乐服务***及其控制方法 |
CN109582331A (zh) * | 2018-11-01 | 2019-04-05 | 北京汽车集团有限公司 | 车载通信模块的升级方法、装置和*** |
CN109871227A (zh) * | 2017-12-05 | 2019-06-11 | 卓望数码技术(深圳)有限公司 | 一种基于二阶差分增量的软件升级方法及装置 |
-
2019
- 2019-07-08 CN CN201910610375.2A patent/CN110460573B/zh active Active
Patent Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6725377B1 (en) * | 1999-03-12 | 2004-04-20 | Networks Associates Technology, Inc. | Method and system for updating anti-intrusion software |
US20160163125A1 (en) * | 2014-12-09 | 2016-06-09 | Hyundai Autron Co., Ltd. | Error variance detection method of can communication system and the can communication system |
US20180167360A1 (en) * | 2015-10-09 | 2018-06-14 | Panasonic Intellectual Property Corporation Of America | Security apparatus, attack detection method, and storage medium |
CN105893844A (zh) * | 2015-10-20 | 2016-08-24 | 乐卡汽车智能科技(北京)有限公司 | 车辆总线网络的报文发送方法和装置 |
CN106790153A (zh) * | 2016-12-29 | 2017-05-31 | 北京天融信网络安全技术有限公司 | 一种车联网安全控制***及其方法 |
CN106897627A (zh) * | 2017-02-21 | 2017-06-27 | 成都信息工程大学 | 一种保证汽车ecu免受攻击和自动更新的方法 |
CN107579995A (zh) * | 2017-09-30 | 2018-01-12 | 北京奇虎科技有限公司 | 车载***的网络防护方法及装置 |
CN109871227A (zh) * | 2017-12-05 | 2019-06-11 | 卓望数码技术(深圳)有限公司 | 一种基于二阶差分增量的软件升级方法及装置 |
CN108965267A (zh) * | 2018-06-28 | 2018-12-07 | 北京车和家信息技术有限公司 | 网络攻击处理方法、装置及车辆 |
CN109582331A (zh) * | 2018-11-01 | 2019-04-05 | 北京汽车集团有限公司 | 车载通信模块的升级方法、装置和*** |
CN109501697A (zh) * | 2018-11-14 | 2019-03-22 | 上海赫千电子科技有限公司 | 一种汽车智能信息娱乐服务***及其控制方法 |
Non-Patent Citations (3)
Title |
---|
DARLING757267: "《BSDiff算法》", 《CSDN HTTPS://BLOG.CSDN.NET/DARLING757267/ARTICLE/DETAILS/80652267》 * |
于赫; 秦贵和,孙铭会,闫鑫,王璇喆: "《车载CAN总线网络安全问题及异常检测方法 》", 《吉林大学学报(工学版) 期刊》 * |
张海强: "《智能网联汽车安全远程升级技术的研究与实现》", 《中国硕士学位论文全文数据库 信息技术辑》 * |
Cited By (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111147448A (zh) * | 2019-12-06 | 2020-05-12 | 中科曙光(南京)计算技术有限公司 | 一种can总线洪范攻击防御***及方法 |
CN111147448B (zh) * | 2019-12-06 | 2022-06-07 | 中科曙光(南京)计算技术有限公司 | 一种can总线洪范攻击防御***及方法 |
CN111030908A (zh) * | 2019-12-25 | 2020-04-17 | 东风汽车集团有限公司 | 一种车辆内部网络***的信息安全监控***及方法 |
CN113141300A (zh) * | 2020-01-17 | 2021-07-20 | 大陆汽车有限公司 | 用于机动车辆的传送数据帧的通信网关 |
CN113141300B (zh) * | 2020-01-17 | 2023-05-23 | 大陆汽车科技有限公司 | 用于机动车辆的传送数据帧的通信网关 |
CN111343064A (zh) * | 2020-02-29 | 2020-06-26 | 东风汽车集团有限公司 | 汽车控制***软件升级***及方法 |
CN112585549A (zh) * | 2020-02-29 | 2021-03-30 | 华为技术有限公司 | 一种故障诊断方法、装置及车辆 |
CN112585549B (zh) * | 2020-02-29 | 2022-05-31 | 华为技术有限公司 | 一种故障诊断方法、装置及车辆 |
CN113810446A (zh) * | 2020-06-16 | 2021-12-17 | 上海赫千电子科技有限公司 | 一种车载网络的ecu的安全升级管理方法 |
CN111935325B (zh) * | 2020-10-15 | 2021-08-24 | 广州汽车集团股份有限公司 | 一种ota升级方法及装置 |
CN111935325A (zh) * | 2020-10-15 | 2020-11-13 | 广州汽车集团股份有限公司 | 一种ota升级方法及装置 |
CN112506550A (zh) * | 2020-12-21 | 2021-03-16 | 江苏徐工信息技术股份有限公司 | 一种车辆控制器快速ota方法 |
CN112783022A (zh) * | 2020-12-25 | 2021-05-11 | 长城汽车股份有限公司 | 网关***和网关控制方法 |
CN112822684A (zh) * | 2021-02-04 | 2021-05-18 | 中汽创智科技有限公司 | 车辆入侵检测方法及防御*** |
CN113228594A (zh) * | 2021-03-31 | 2021-08-06 | 华为技术有限公司 | 确定防护方案的方法、装置、设备及计算机可读存储介质 |
CN113468522A (zh) * | 2021-07-19 | 2021-10-01 | 泰安北航科技园信息科技有限公司 | 一种车载ota升级服务器信息安全的检测*** |
CN114157471A (zh) * | 2021-11-29 | 2022-03-08 | 阿波罗智联(北京)科技有限公司 | 车辆异常的处理方法、装置、电子设备和介质 |
CN115296860A (zh) * | 2022-07-15 | 2022-11-04 | 智己汽车科技有限公司 | 基于中央计算平台的车辆安全运维运营***及车辆 |
CN115296860B (zh) * | 2022-07-15 | 2023-08-15 | 智己汽车科技有限公司 | 基于中央计算平台的车辆安全运维运营***及车辆 |
Also Published As
Publication number | Publication date |
---|---|
CN110460573B (zh) | 2022-05-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110460573A (zh) | 一种应用于汽车ecu安全升级管理***及方法 | |
US10826687B2 (en) | Key management method used in encryption processing for safely transmitting and receiving messages | |
US11695790B2 (en) | Anomaly detection electronic control unit, onboard network system, and anomaly detection method | |
CN110162330A (zh) | 一种应用于汽车ecu升级文件的***及方法 | |
CN108132795B (zh) | 一种电子控制单元的软件更新方法及装置 | |
JP5641244B2 (ja) | 車両用ネットワークシステム及び車両用情報処理方法 | |
JP2010258990A (ja) | 制御システム及び制御プログラム更新方法 | |
CN109076016B9 (zh) | 非法通信检测基准决定方法、决定***以及记录介质 | |
CN109005678B (zh) | 非法通信检测方法、非法通信检测***以及记录介质 | |
EP3376360A1 (en) | Data storage device | |
CN107438833A (zh) | 一种数据更新方法、装置、***及服务器 | |
CN110989564B (zh) | 一种汽车数据诊断方法及装置 | |
CN104423378A (zh) | 车辆电子控制单元校准 | |
CN107920007A (zh) | 车辆网络中的多个通信节点的第一通信节点及其操作方法 | |
US11327842B2 (en) | Backing up a software update of a control device of transport vehicle | |
JP6992309B2 (ja) | 送信装置、受信装置、及び通信方法 | |
JP6874102B2 (ja) | 不正検知電子制御ユニット、車載ネットワークシステム及び不正検知方法 | |
CN116467096B (zh) | 一种核间通信的数据传输方法、***以及通信内核 | |
US20240211242A1 (en) | Apparatus and method for optimally updating vehicle controller | |
CN116401146B (zh) | 一种数据交互方法、装置、存储介质、服务器及车辆 | |
CN118355632A (zh) | 车载装置、程序及信息处理方法 | |
JP2022156463A (ja) | 通信システム、移動体、及び通信方法 | |
CN112733210A (zh) | 一种设备标识获取方法、装置和计算机可读存储介质 | |
CN114513475A (zh) | 报文交互方法、装置、控制器、存储介质和程序产品 | |
CN117270932A (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 |