一种带隔离灾备管控机制的车辆智慧安全网关及管控方法
技术领域
本发明属于智能网联车安全技术领域,尤其涉及一种带隔离灾备管控机制的车辆智慧安全网关及管控方法。
背景技术
目前,业内常用的现有技术是这样的:
随着技术的发展,汽车不再作为一个孤立的个体。借助在车辆上的传感设备、车载设备和通信模块,通过移动通讯技术、汽车导航系统、智能终端设备与信息网络平台,已经实现车与路、车与车、车与人、以及车与应用平台的全面网络连接。
车载软件、汽车局域网对于汽车的“行驶、转弯、停车”等基本控制功能的影响正在增加。部分车载系统商开始使用Linux等通用操作系统。随着汽车用户越来越方便地使用各项服务,攻击汽车操作系统的难度也变得越来越低。不只是操作系统,汽车局域网的通用性也在提高。比如德国政府扶持的“基于IP协议的安全嵌入式系统(SEIS)”项目,让汽车局域网采用以太网协议,并使用标准通信协议“TCP/IP”。无线方面也已经出现了采用近距离无线通信协议“蓝牙”、“WiFi”等的汽车局域网通信适配器。随着越来越多的汽车局域网采用互网联标准,车内外的众多设备和信息系统都将与互网联更加紧密的相连,使得车内外的攻击也越来越容易。从道路拥堵、事故频发等一系列交通安全问题,到黑客通过网络远程入侵车载系统实现对车载信息系统的破坏性攻击,完成诸如关闭汽车刹车系统、篡改车速表读数、打开空调、播放收音机中的音乐或把乘客锁在汽车里等破坏行为,智能网联车辆表现出更多的脆弱性。2015年1月,宝马公司被爆出其车载系统ConnectedDrive存安全漏洞,黑客可以利用这一漏洞远程攻击安装这种车载系统的200万辆汽车。2016年8月,360汽车安全实验室首次通过传感器漏洞破解了特斯拉自动驾驶系统。智能网联车辆的安全问题会直接导致驾驶员与交通参与者的生命受到威胁,比传统的互网联的攻击危害更大。
对网联车辆的安全防护进行研究是具有迫切现实意义的,极其必要的。业界给出的切实解决方案就是车载安全网关。但是目前公开文献和公开的车载安全产品均把防护车外网来的攻击当作目标,例如:实审中的[中国发明]CN201611179934.1其车载网关就处于车内网和ODB接口之间,可以阻断通过ODB接口进入的外部异常。此外更多的车载网关则被安装于车内网(各ECU组成的车辆内部往来)与互网联接口之间,用于阻断来自互网联的外部攻击,这类的类似专利最多,例如:[中国发明]CN201611015045.1一种车载MOST/CAN安全网关及其入侵管控方法,[中国发明]CN201710391299.1一种实现电动汽车信息安全的方法,[中国实用新型]CN201520722261.4车载网络装置等等。这些现有技术对从车辆外部来的威胁做了较好的防护,但是,缺点也相当明显,就是防护的对象集中在车辆外部,对车辆内部可能产生的威胁没有管控和防护能力。例如:用户在车载信息系统中安装带有木马病毒的APK软件,那么该类威胁从车辆内部爆发,处于车内网和车外网接口处的网关对此类攻击毫无作用。
综上所述,现有技术存在的问题是:
现有的车载网关被安置于车内网和车外网的接口处,目的是防止车辆外部的攻击和威胁。对车辆内部产生的威胁缺乏发现与防护,而随着智能车辆搭载各种软件,各类型ECU的增多,内部威胁也越来越多,必须予以管控与防护。
现有的车载网关最大的功能就是对外部可疑的行为进行管控和阻止,但是对已经产生的破坏没有相应的对策,只能等待维修人员检修重刷ECU固件。
现有车载网关基本都是针对传统汽车总线协议(CAN协议,MOST协议等)研发。但是随着汽车电子爆发,ECU数量,ECU的运算能力和带宽需求都呈现爆发式增长。传统总线根本不能满足,智能车辆换用更高速,连接成本更低更紧凑的车载以太网是未来的发展趋势,例如奥迪A8已经使用车载以太网做骨干网。特别对于车载娱乐信息系统,传统高速CAN总线也不过几百Kbps,不超过1Mbps的传输率,对于现在的高清影音来说根本不够用。许多车辆虽然暂时不能总体更换为车载以太网,但是把娱乐信息系统以太网传输已经提上日程。
解决上述技术问题的难度和意义:
综上所述,现有车载安全网关不能对车内网的威胁进行管控和防御,不能对已经产生的ECU破坏进行恢复,对新兴的车载以太网支持不足,不能应对网联智能汽车越来越严重的安全威胁。而网联车辆的安全比传统互网联的安全要求更高,后者最多是网络瘫痪造成严重经济损失,而前者的安全问题则可能导致交通参与者(驾驶员、乘客、行人等)的生命受到威胁。特别是各国人工智能企业都在投入海量人力财力研制的无人驾驶汽车,属于智能汽车的终极产品,同样存在类似问题,更容易导致重大安全事故。因此,安全问题对网联的智能汽车更加重要,对现有智能汽车安全防护的短板进行研究的意义重大。
然而,汽车制造之初,并没有考虑到现代网络化的智能车辆可能遭遇的各种安全问题,传统汽车车辆内部数据从架构上就是不受监管互相流通的。加之,现阶段懂网络安全的研究人员对车辆内部架构不甚了解,而汽车端的研发人员对网络安全又了解不深,导致都不敢轻易对汽车内部整体架构进行安全方面的改造。导致现有方案对车辆内部的威胁防护不足。团队从14年开始对车辆安全进行研究,先后提出多个车辆安全网关的设计方案,在积累了大量经验和进一步研究的基础上提出本发明的车辆智慧安全网管设计方案与管控方法。在对车辆通信各种协议网络研究基础上,提出了改造车辆内部的数据通信架构增加内部网关的方案,对车辆内部数据进行管控,解决以上问题。
发明内容
针对现有技术存在的问题,本发明提供了一种带隔离灾备管控机制的车辆智慧安全网关及管控方法。
本发明是这样实现的,一种带隔离灾备管控机制的车辆智慧安全网关管控方法,包括:带隔离灾备管控机制的车辆智慧安全网关整体嵌入车辆内部,处于车辆各系统通信网络的交汇节点,将不同功能车辆总线网络分隔为多个隔离区;各隔离区数据互相通信时,进行:
通过匹配的收发器发到网关处;
网关的协议转换模块对数据包进行解析提取出数据包的内容;
管控:网关的管控模块根据管控规则对数据包进行检测,并依据规则定义的动作进行转发、备份、恢复、日志管控操作;
备份:对在灾备模块中记录的ECU固件数据进行备份,备份时机为ECU初始化时和ECU固件更新之前。
恢复:当探测到ECU不能正常工作(总线有专门的探测命令)时,提取出备份的数据进行固件刷新,将有问题的ECU固件还原为上一次正常时的固件数据。
进一步,根据管控规则对数据包进行检测中,包括:
检测时首先检测来源地址与目的地址,如果来源隔离等级低于目的隔离等级,则马上丢弃并记录日志,无需检测数据包具体内容,确保低等级的隔离域数据无法访问高等级隔离域;
来源与目的通过隔离等级检测后,进行数据包携带内容的检测。内容检查重点检查总线命令ID和命令的具体取值。检测方法包括简单的字符串匹配、阈值比较、熵值检查等,前序发明已经有详述不再累述,本发明关注管控规则和灾备机制。
如果安全检测通不过,则丢弃数据包,并进行记录;
如果通过安全检测,则查询交换模块中的交换表,根据指示的接口转发数据包,如果规则有日志动作,则对应记录日志。
进一步,隔离区具体为车外网,车载娱乐信息系统、车身控制系统、动力和底盘安全系统五个隔离域,隔离等级依次升高。
进一步,管控规则包括:低级隔离域的数据包不允许进入高级隔离域,予以丢弃并记录日志;内容中含有威胁字段的数据包予以丢弃并记录日志;对预设的重要ECU的数据交互进行记录日志;在ECU固件更新前进行ECU固件数据备份;在ECU不能正常工作时恢复固件内容;
管控规则的格式如下:
action:source->destination,content,callback;
action:动作,包括log日志记录,abort隔离(即丢弃),pass转发,backup备份,recovery恢复;
source:数据来源地址,内容ID:PORT两个部分,ID是来自网络的网络地址,没有就是NULL;PORT是进入网关的端口号;
destination:数据目的地址,内容为目的网络的网络地址ID,不允许为NULL;
content:规则的内容,为字符串,用来匹配数据包的内容;还包括频率(熵,总和)阈值和比较复杂的熵值等需要计算的内容;
callback:回调函数,指示调用的功能函数,配合完成管控任务。
本发明的另一目的在于提供一种带隔离灾备检测机制的车辆智慧安全网关包括:
管控模块:用于管理配置规则,调用其他模块配合进行管控、隔离、备份恢复;
灾备模块:对指定的ECU固件数据进行备份。备份动作在网关安装时和ECU固件刷新之前进行。而恢复操作则在发现ECU不能正常工作时进行,即从备份文件中取出对应ECU数据,并用可正常工作的数据对ECU进行固件刷新。
日志模块:在管控模块管理下对指定内容数据进行记录;日志文件以日期时间部件ID综合命名,后缀是log。
协议转换模块:用于负责各种网络协议的解析和协议之间的转换;具体如图3所示,模块含有多组协议栈,同时支持以太网数据解析、CAN协议解析,FlexRay协议解析和无线协议(4G,WIFI,蓝牙)解析。转换子模块在转换时先用一方的协议栈函数解析到达的数据报文,然后用另一个协议的首部进行封装成另一个协议的报文。
交换模块:通过交换表指明数据从哪个接口转发。具体如图4所示交换表(包含硬件地址,目的地址),如果是以太网帧和无线帧就是目的MAC,如果是CAN和FlexRay数据包就是ECU的ID;接口就是网关应该转发的接口;有效时间是指该项目的有效时间,如果时间为空,则表项不允许更改。
本发明的网关与各网络的连接如图2所示,用一个微处理器(MCU)对其他硬件模块进行统一控制。车内网的各CAN总线利用对应的总线控制器和收发器进行控制和数据收发;FlexRay网络用对应的FlexRay控制器和收发器控制收发;对车辆外部的无线通讯利用无线模块进行。无线模块包含SIM卡支持4G,包含WIFI芯片支持WIFI通信,包含蓝牙模块支持蓝牙通信。网关程序,以及灾备的数据均存储在存储模块中,MCU通过存储控制芯片进行读写操作。
本发明的另一目的在于提供一种实现所述带隔离灾备管控机制的车辆智慧安全网关管控方法的计算机程序。
本发明的另一目的在于提供一种实现所述带隔离灾备管控机制的车辆智慧安全网关管控方法的信息数据处理终端。
本发明的另一目的在于提供一种计算机可读存储介质,包括指令,当其在计算机上运行时,使得计算机执行所述的带隔离灾备管控机制的车辆智慧安全网关管控方法。
本发明的另一目的在于提供一种搭载有所述带隔离灾备管控机制的车辆智慧安全网关的智能汽车。
本发明的另一目的在于提供一种搭载所述带隔离灾备检测机制的车辆智慧安全网关的车载信息控制系统。
综上所述,本发明的优点及积极效果为:
对车辆内外不同功能网络划分为不同的隔离域,隔离域间的数据流通必须经过网关的管控。限制了威胁的蔓延范围。且目前车辆内部90%以上的攻击均由最易攻破的车载娱乐系统作为中转发出,本发明中把娱乐系统的隔离并设为车内的最低级,使得通过娱乐系统中转的攻击全部被阻断,无法影响车辆的动力系统、底盘安全等切实与驾驶有关的系统。且本发明中的交换表的重要表项特别是涉及隔离区之间数据流动的表项是不允许修改的。从根本上抑制了车辆内部的威胁蔓延。因而,对车内攻击的防护率相比现有网关也提高90%。后者处于车内外接口处,只能阻止车辆外部互网联来的攻击,对车辆内部各部件之间的攻击没有防范功能。
在受到极端外部攻击的情况下,到达的报文超过模块的处理能力(这就是现在最常见,也最易发起的拒绝服务攻击DoS),则会使得无线模块宕机。但是在本网关的架构下,交换模块把不同功能区域隔离,无线模块失效,并不能影响车内网的正常工作,不能影响车辆的动力系统,不影响车辆正常驾驶;也不能影响娱乐信息系统的设备,至多使得车载设备暂时无法上外网。车内网各区域正常数据交换,不会有车外网的流量造成车内网网络延迟和拥塞。
万一某ECU确实受到了破坏,导致车辆不能驾驶,本网关存储的备份数据可以用于重新刷新ECU固件,使之恢复功能,解决现有方案缺乏对已经形成的危害没有对应手段的问题。
对流经网关的重要数据有日志记录,如果发生攻击,可以查询日志,帮助找寻攻击来源,至少可以确定攻击来自的隔离域。现有车载网关方案并不提供类似攻击回溯功能。
附图说明
图1是本发明实施例提供的带隔离灾备管控机制的车辆智慧安全网关示意图。
图2是本发明实施提供的智慧网关硬件部署示意图;
图3是本发明实施提供的智慧网关协议转换模块结构图;
图4是本发明实施提供的智慧网关交换表示意图;
图5是本发明实施提供的带隔离灾备管控机制的车辆智慧安全网关管控方法流程图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
本发明网关整体嵌入车辆内部,处于车辆各系统通信网络的交汇节点,将不同功能车辆总线网络分隔为一个个的隔离区。管控方法为:各隔离区数据需要互相通信时,先通过匹配收发器发到网关处,网关的协议转换模块对数据包进行解析提取出数据包的内容,然后根据管控模块的规则检测内容并按规则进行处理。最重要的规则是高级隔离域可以访问低级隔离域,反之会被阻止。通过规则检测的数据包查询交换模块的交换表,根据指示的接口转发并按规则进行记录日志,备份,恢复等操作。其中,通过备份指定ECU的数据,如果发现ECU不能正常工作则会取出备份的正常数据进行刷新回滚操作,使ECU恢复功能。解决现有方法对已受到破坏的ECU没有有效应对方法的问题。而拥有日志功能对回溯威胁来源,统计各种数据也提供了依据。本发明的网关除了支持传统车载总线外,还搭载车载以太网芯片,支持车载以太网,可以对接最新型的智能汽车。
本发明各隔离区数据需要互相通信时,先通过匹配收发器发到网关处,网关的协议转换模块对数据包进行解析提取出数据包的内容,然后根据管控模块的规则检测内容并按规则进行处理。最重要的规则是高级隔离域可以访问低级隔离域,反之会被阻止。通过规则检测的数据包查询交换模块的交换表,根据指示的接口转发并按规则进行记录日志,备份,恢复等操作。其中,通过备份指定ECU的数据,如果发现ECU不能正常工作则会取出备份的正常数据进行刷新回滚操作,使ECU恢复功能。解决现有方法对已受到破坏的ECU没有有效应对方法的问题。而拥有日志功能对回溯威胁来源,统计各种数据也提供了依据。本发明的网关除了支持传统车载总线外,还搭载车载以太网芯片,支持车载以太网,可以对接最新型的智能汽车。
本发明实施例提供的带隔离灾备管控机制的车辆智慧安全网关管控方法,包括:
带隔离灾备管控机制的车辆智慧安全网关整体嵌入车辆内部,处于车辆各系统通信网络的交汇节点,将不同功能车辆总线网络分隔为多个隔离区;
各隔离区数据互相通信时,进行:
通过匹配的收发器发到网关处;
网关的协议转换模块对数据包进行解析提取出数据包的内容;
管控:网关的管控模块根据管控规则对数据包进行检测,并依据规则定义的动作进行转发、备份、恢复、日志管控操作;
备份:对在灾备模块中记录的ECU固件数据进行备份,备份时机为ECU初始化时和ECU固件更新之前。
恢复:当探测到ECU不能正常工作(总线有专门的探测命令)时,提取出备份的数据进行固件刷新,将有问题的ECU固件还原为上一次正常时的固件数据。
下面结合具体实施例对本发明作进一步描述。
本发明实施例所设计的“带隔离灾备管控机制的车辆智慧安全网关”装置整体嵌入车辆内部,处于车辆各系统通信网络的交汇节点。根据智能网联车不同功能性质的网络分隔成不同的区域。区域内ECU之间可以互相访问,不经过网关。但是不同区域间要进行数据交换,必须经过网关的转发。如图1所示。
这些区域被称为“隔离域”。规定高等级隔离域的数据可以访问较之低等级的隔离域,而低等级隔离域数据不可以访问高等级隔离域。并对重要的ECU数据进行备份,一旦ECU不能正常工作则用备份数据刷新ECU固件恢复ECU功能。
根据重要性不同,隔离域分为从高级level 1到低级level 4的四个等级,分别是:
Level 1动力系统隔离域与底盘安全系统:等级的数字越小代表优先级越高,功能越加重要。动力传输系统负责将发动机产生的动力,经过曲轴——飞轮——离合器——变速器——万向节——传动轴——万向节——差速器——减速器——传导到车轮,是直接控制车辆行驶的重要系统。而底盘安全系统负责稳定车身,辅助转向等与车辆驾驶直接相关的工作,也非常重要,这两个系统一旦出现异常就可能危害驾驶人员的生命,属于优先级最高,最需要保护的系统,给予最高Level 1的优先等级。
Level 2车身控制系统隔离域:车身系统控制车门、车窗、车座等部件,具有车身主动控制(ABC、Active Body Control)可以在起步、转向和制动时使车身明显降低以稳定车身。并具有启动和关闭发动机,开钥匙的功能。重要性仅次于动力系统,一旦出现异常也会导致车辆行驶问题,例如车身剧烈抖动等。因此给予Level 2的优先等级。
Level 3娱乐信息系统隔离域:车载娱乐信息系统负责链接诸如TBox,DVD、mp3播放器,导航仪,移动终端等设备,需要连接外部网络,很多攻击都是通过该系统进入到车辆内部网络的。该系统在车内网络的优先级最低,出现异常一般不会危及驾驶人员生命安全,但是还是会给使用带来不便。特别容易作为攻击的跳板和恶意代码的隐藏地。因此给予Level 3的优先等级。
Level 4车外网络隔离域:包括车外一切设备设施,无论是移动通讯网络还是一般的WIFI网络,以及它们连接的各种终端,路边单元,远程汽车TPS云端等。属于不可控制的部分,攻击的来源方,需要跟车内网络隔离开来,给予最低的优先等级Level 4.
网关与各网络的连接采用如图2所示的架构,用一个微处理器(MCU STM32F103)对其他硬件模块进行统一控制,该MCU自带两个CAN接口可以直接连接车内高低速CAN总线。车内网的各CAN总线利用CAN总线控制器MCP2510和收发器PCA82C250进行控制和数据收发,该型号收发器和控制器兼容高低速CAN总线,可以用于动力系统和车身控制系统。底盘安全系统的FlexRay网络使用FlexRay通讯控制器MFR4310和收发器TJA1080控制收发,该型号控制器可以集成到MCU应用中。车载娱乐信息系统的车载以太网使用恩智浦的TJA1100收发器和SJA1105交换机。对车辆外部的无线通讯利用无线模块进行。无线模块包含SIM卡支持4G,包含WIFI ESP8266模块支持WIFI通信,包含蓝牙模块ibeacon支持蓝牙通信。网关控制程序,以及灾备的数据均存储在存储模块中,MCU通过存储控制芯片进行读写操作。以上各型号可以根据具体情况更改。
网关具体功能由以下五大功能模块配合完成:
1)管控模块:管理配置规则,调用其他模块配合完成管控、隔离、备份恢复等任务;规则形式为:action:source->destination,content,callback.
action:动作,包括log(日志记录),abort(丢弃),pass(转发),backup(备份),recovery(恢复);
source:数据来源地址,内容ID:PORT两个部分,ID是来自网络的网络地址,没有就是NULL;PORT是进入网关的端口号。
destination:数据目的地址,内容为目的网络的网络地址ID,不允许为NULL;
content:规则的内容,一般为字符串,用来匹配数据包的内容;也包括比较复杂的内容,例如:频率(熵,总和)阈值计算,对短时间大量到来的报文(DOS攻击),超过阈值的报文全部阻止。此类管控算法已有很多,本发明借用不作详述。
callback:回调函数,指示调用的功能函数,配合完成管控任务。
最重要的隔离规则样式为:
(abort,log):PORT3->PORT1,any,logfunction;
各隔离域网络通过不同端口链接到网关,该例子中PORT3端口链接等级为level3的娱乐信息系统,PORT1链接等级为level1的车辆动力系统,根据这个规则任何(content为any代表任何内容)从PORT3到PORT1的流量都要被丢弃(abort),并且调用记录日志函数logfunction进行记录,因此规则的动作是两个(abort,log)。
2)灾备模块:在管控模块管理下对指定ECU数据进行备份和恢复操作;当管控规则的action为backup,则对应callbacnk函数为灾备模块的入口函数,即调用灾备模块对规则指定的soure来源的ECU数据进行备份操作。本系统规则规定备份动作在网关初始安装时和ECU固件刷新之前进行。而恢复操作则在发现ECU不能正常工作时进行,即从备份文件中取出对应ECU数据,并用可正常工作的数据对ECU进行固件刷新,恢复ECU的功能。
3)日志模块:在管控模块管理下对指定内容数据进行记录;当管控规则的action为log,则对应callbacnk函数为日志模块的入口函数,即调用日志模块对规则指定的数据进行记录日志操作,日志文件以日期时间命名,后缀是log。
4)协议转换模块:该模块负责各种网络协议的解析和协议之间的转换;如图3所示,模块含有多组协议栈,同时支持以太网数据解析、CAN协议解析,FlexRay协议解析和无线(4G,WIFI,蓝牙)协议解析。转换模块在转换时先用一方的协议栈函数解析到达的数据报文,然后用另一个协议的首部进行封装成另一个协议的报文。其中稍微特别的是高速CAN和低速CAN,由于高速CAN与低速CAN的数据报文格式,其实是一样的,不同主要在物理层的电平高低及收发频率不同。因此无需协议转换而是通过图2所示的不同的收发器转发即可。而转发的操作之前必须通过安全交换模块的管控,管控,通过管控后返回该模块进行分发。
5)交换模块:包含交换表,指明数据应该从哪个接口转发。交换表包含如图4所示内容:硬件地址,目的地址,如果是以太网帧和无线帧就是目的MAC,如果是CAN和FlexRay数据包就是ECU的ID;接口就是网关应该转发的端口PORT;有效时间是指该项目的有效时间,如果时间为空,则表项不允许更改,永远有效。
图3是本发明实施提供的智慧网关协议转换模块结构图;
图4是本发明实施提供的智慧网关交换表示意图。
下面结合具体分析对本发明作进一步描述。
整个网关工作流程如图5。车辆不同隔离域的数据要进行交换时,都需要经过网关转发。步骤如下:
1)各隔离域数据通过各种类型收发器被网关接收到,网关内的对应协议栈对数据报文进行解析,获得数据报文的内容;
2)用数据报文内容查询管控规则,根据配置好的管控规则决定下面的动作。管控规则包括:低级隔离域的数据不允许进入高级隔离域,予以丢弃;记录日志,备份,恢复等。
3)如果通过安全管控,可以转发,则查询交换表,根据指示的接口转发数据包。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用全部或部分地以计算机程序产品的形式实现,所述计算机程序产品包括一个或多个计算机指令。在计算机上加载或执行所述计算机程序指令时,全部或部分地产生按照本发明实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL)或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输)。所述计算机可读取存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘SolidState Disk(SSD))等。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。