本发明涉及网联车信息安全技术领域,尤其涉及一种汽车can总线信息安全模拟装置。
背景技术:
随着汽车智能网联化的发展,汽车不再局限为一个运载工具,它慢慢发展成为一个复杂的移动网络终端,其内部ecu以及与外界通讯端口数量增多,与外界相互通信、共享信息的程度越来越高,这给人们带来了极大的方便,但安全威胁也随之而来。黑客或者外界非法人员通过各种方式(有线方式、无线方式)进入汽车内部网络,进行一些攻击,导致一些非常危险的问题;这对个人、交通以及社会存在较大的安全隐患。
目前汽车信息安全方面采取的技术,主要有身份认证、数据加密、入侵检测。前两者针对can总线协议、通信过程以及时间方面,不利于车载网络使用,入侵检测因为不影响正常通信,应用较为广泛。但入侵监测模型的训练和模型的测试,大多采用实车来做,需要设置测试场地和测试用车、耗时多,大大增加了实验成本;模型训练的样本仅仅局限于所实测的车型,无法与其它厂家甚至是同一厂家不同车型的车辆通用,适用性差;单台测试车辆始终只能提供一台车辆的信息安全样本,在测试车辆的数量没有达到规模之前,无法对服务器端的安全态势感知平台提供有力支撑,导致平台端的攻击模型训练的效率低下。
技术实现要素:
根据现有技术存在的问题,本发明公开了一种汽车can总线信息安全模拟装置,包括同时对多台汽车驶过程中正常情况和异常情况下任意工况进行模拟的can总线攻击模拟单元;
对所述can总线攻击模拟单元传送的汽车行驶过程中正常情况和异常情况下任意工况数据,进行检测模型训练,并使用训练好的检测模型检测can总线是否遭受攻击的can总线攻击检测单元。
进一步地,该装置还包括can接口;所述can接口一端与所述can总线攻击模拟单元相连接,所述can接口的另一端与所述can总线攻击检测单元相连接。
进一步地,所述can总线攻击模拟单元包括:
同时模拟多台汽车正常行驶过程中的任意工况下产生的数据的汽车工况数据模拟模块;
接收所述汽车工况数据模拟模块传送的模拟汽车正常行驶过程中的任意工况下产生的数据并进行解读并编译成多种can总线协议可识读的数据的can总线协议生成模块;多种can总线协议包括了iso14230、iso9141、iso15765等;
同时模拟多台汽车can总线识读的各种can总线攻击模式的数据发送状态、数据形式以及数据内容的can总线攻击模拟模块。
通过修改所述汽车工况数据模拟模块和所述can总线攻击模拟模块中的汽车的编号,可以模拟多台汽车的运行数据;
进一步地,所述can总线攻击检测单元包括:
解读can总线的实时数据,并转化成可识读信息,并提取出id段信息和数据域信息的can总线协议解析模块;
接收所述can总线协议解析模块传送的id段信息和数据域信息,按id、按数据域信息、按数据发送频率进行预处理的实时数据预处理模块;
接收所述实时数据预处理模块传送的预处理后的数据,并对预处理后数据参照检测模型检测can总线是否遭受攻击、是否存在异常进行检测的总线攻击检测模块。
进一步地,所述can总线攻击检测单元还包括数据存储模块、样本预处理模块、检测模型训练模块和检测模型存储模块;
所述can总线协议解析模块解读can总线的实时数据,并转化成可识读信息,并提取出id段信息和数据域信息的并传送给所述数据存储模块进行存储;
所述数据存储模块将接收到id段信息和数据域信息传送给所述样本预处理子模块按id、按数据域信息、按数据发送频率进行预处理,得到预处理后的数据;
所述样本预处理子模块将预处理后的数据传送给检测模型训练模块进行训练,得到检测模型;
所述检测模型训练模块将训练得到的检测模型传送给所述检测模型存储模块进行存储;
所述检测模型存储模块将存储之后的传送给所述总线攻击检测模块。
进一步地,对can总线协议解析模块传送的检测过程中的实时数据和所述总线攻击检测模块传送检测结果进行显示的数据流显示模块。
进一步地,所述检测模型存储模块还与外部需要测试的汽车相连接。
由于采用了上述技术方案,本发明提供的一种汽车can总线信息安全模拟装置,无需实体汽车,可节约大量的人力物力和时间成本,该装置为模拟装置,只需要pc机和该装置就可以进行信息安全的攻击与检测试验,避免了大量的实车测试,可节约大量的人力物力和时间成本;可模拟多个厂家不同型号的车辆,适用性强;该装置中集成了iso14230、iso9141、iso15765等多个can总线协议,可模拟多个厂家不同型号的车辆can总线数据流,进而对其总线攻击与检测进行模拟,适用性强;可同时模拟多辆汽车的安全攻击与检测数据,有效提升平台端安全态势感知攻击模型训练的效率;该装置可通过时分复用、修改车辆编号和can协议类型的方式同一时间段模拟多辆汽车的安全攻击与检测数据,并将这些数据发送的服务器端,进而有效提升整个网络安全态势感知攻击模型训练的效率。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明提供的汽车can总线信息安全模拟装置系统架构图;
图2为汽车工况数据模拟模块电路图;
图3为can总线协议生产模块电路图;
图4为电源模块电路图;
图5为数据流显示模块的电路图;
图6为can总线检测单元处理流程示意图。
图中:1、汽车工况数据模拟模块,2、can总线协议生成模块,3、can总线攻击模块,4、can总线接口,5、can总线协议解析模块;6、数据存储模块;7、样本预处理模块,8、检测模型训练模块,9、检测模型存储模块;10、总线攻击检测模块,11、实时数据预处理模块;12、数据流显示模块,100、can总线攻击模拟单元,200、can总线攻击检测单元。
具体实施方式
为使本发明的技术方案和优点更加清楚,下面结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚完整的描述:
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
为使本发明的技术方案和优点更加清楚,下面结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚完整的描述:
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
图1为该装置的系统架构图,该装置包括can总线攻击模拟单元100、can总线攻击检测单元200和can接口4;
所述can总线攻击模拟单元100同时对多台汽车驶过程中正常情况和异常情况下任意工况进行模拟,所述can总线攻击检测单元200进行检测模型训练,并使用训练好的检测模型检测can总线是否遭受攻击;
所述can接口4一端与所述can总线攻击模拟单元100相连接,所述can接口的另一端与所述can总线攻击检测单元200相连接。
所述can总线攻击模拟单元100包括汽车工况数据模拟模块1、can总线协议生成模块3和can总线攻击模拟模块2:
汽车工况数据模拟模块1同时模拟多台汽车正常行驶过程中的任意工况下产生的数据;
can总线协议生成模块3对汽车工况数据模拟模块1模拟汽车正常行驶过程中的任意工况下产生的数据进行解读并编译成多种can总线协议可识读的数据;多种can总线协议包括了iso14230、iso9141、iso15765等;
can总线攻击模拟模块2同时模拟多台汽车can总线识读的各种can总线攻击模式的数据发送状态、数据形式以及数据内容;
通过修改所述汽车工况数据模拟模块和所述can总线攻击模拟模块中的汽车的编号,可以模拟多台汽车的运行数据;
图2为汽车工况数据模块模拟的电路图;所述汽车工况数据模拟模块1由stm32f103和cp2102构成,其中stm32f103负责将工况模拟数据通过其内部集成的协议进行can总线报文的功能解析,cp2102的功能是建立stm32f103与外部pc的数据通讯,进而对工况数据信息进行扩,所述stm32f103cbt6的nrst引脚通过电容c18与地相连接;所述stm32f103cbt6的vssa引脚、vss_1引脚、boot0引脚均与地相连接。
图3为can总线协议生产模块的电路图;can总线协议生成模块2和can总线攻击模拟模块3由两块tja1050t组成,对can总线的通讯电平进行转换和数据收发,所支持的can总线协议包括:iso14230-4地址模式、iso14230-4快速模式、iso9141-2、iso15765-4标准11bit500k、iso15765-4扩展29bit500k、iso15765-4标准11bit250k、iso15765-4扩展29bit250k,tja1050t通过can串口与stm32f103进行通讯。所述芯片tja1050t的rs引脚与二级管d7的阳极、二极管d8的阳极及电容c3的一端和电容c4的一端相连接,所述芯片tja1050t的canh引脚与电容c3的另一端和电容c4的另一端相连接,所述芯片tja1050t的canl引脚的与二级管d7的阴极、二极管d8的阴极相连接。
所述检测模型训练模块8和样品预处理模块7由两片stm32f103及其周边电路构成,二者间的数据交换通过串口进行。数据存储模块6由w25n512构成,与样品预处理模块通过串口进行数据交互。can总线协议解析模块5由tja1050t组成,对can总线的通讯电平进行转换和数据收发。
所述样本预处理模块7和所述总线攻击检测模块10由两片芯片stm32f103组成。
检测模型存储模块8由芯片w25n512构成,与样品预处理模块7通过串口进行数据交互。
该装置还包括为所述can总线攻击模拟单元100和所述can总线攻击检测单元200提供电源的电源模块,图4为电源模块的电路图,所述电源模块采用的芯片型号是tps5430,电源模块负责对整个系统进行供电。
图5为数据流显示模块电路图,所述数据流显示模块12采用的芯片型号是cp2102,负责将需要显示的数据通过usb接口交由pc进行显示;所述cp2102的rst引脚与电阻r14相连接,所述cp2102的vcc引脚通过电容c12与地相连接,通过串联电阻r15及二极管d0与地相连接。
图6为can总线攻击检测单元处理流程示意图;首先根据样本数据训练检测模型,在模型训练之前,要进行数据预处理提取出样本数据特征,然后实时检测过程中,can总线连接接口实时向can总线攻击检测单元传输进数据流,总线攻击检测模块10根据处理过后的待测数据以及检测模型,进行相应的异常检测,检测结果在显示模块12上进行显示,供有关人员查看分析。
检测模型训练模块8的检测模型训练方案可基于神经网络原理,即通过构造神经网络模型用来检测事件异常与否、是否发生故障,或者预测事物发展,该方法可以通过两个方面进行联合检测:将can网络的数据包发送频率作为一个bp神经网络的输入来训练模型,该检测模型可以检测拒绝服务攻击、重放、注入攻击;将具有关联性的数据比如发动机转速、进气量、车速等作为另一个bp神经网络的输入来训练模型,如果有某一个数据出现异常,与其他的关联性发生差错,则判断为异常,该检测模型可以检测篡改攻击、中间人攻击;检测模型训练方案也可基于信息熵原理,即当有异常或者入侵,熵值会变化:当有重放攻击时,can总线系统信息熵增加;重放开始时,该消息相对距离得到正值的变化;重放结束时,该消息相对距离得到负值的变化,检测模型构建过程中,根据采集原始数据,预处理后,确定出正常情况下的熵值、检测异常的阈值以及监测采样的周期,完成检测模型的建立;该检测模型数据传输频率异常,比如重放和泛洪攻击,检测模型的训练方案也可基于决策树原理,即模型的构建以数据纯度构造一棵数据纯度上升最快的树,其包括三个阶段:决策树模型属性选择、决策树模型生成和决策树模型剪枝;随机树的生成采用二叉方法或者随机超平面方法,然后根据孤立树构造异常分数进行异常判断;随机森林即不同id棵孤立决策树构成的树群;该检测模型可以检测报文数据异常,比如can帧篡改,消息非法注入等攻击。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。