一种车载信息交互系统信息安全测试方法和系统与流程

文档序号:31791056发布日期:2022-10-14 15:14阅读:311来源:国知局
一种车载信息交互系统信息安全测试方法和系统与流程

1.本发明的实施例涉及信息安全测试技术领域,尤其涉及一种车载信息交互系统信息安全测试方法和系统。


背景技术:

2.目前,随着智能网联汽车技术的发展和普及,汽车智能化水平一再提高,对汽车的安全认知已经不能仅仅停留于保障传统汽车功能安全,越来越多的恶意攻击者,开始将目标转向了智能网联汽车。
3.由于汽车作为载人运输设备的特殊性,汽车信息安全与功能安全息息相关,某个环节的攻破,不仅仅意味着用户数据被窃取、信息被泄露,同时也很可能会直接导致汽车内部总线网络被控制、车内信息被仿冒,从而威胁乘车人自身安全。
4.现有的安全测试方法一般是在车机上直接进行测试,例如给车机系统注入故障,测试车机是否能够正常启动。这种测试方法效率低下,而且容易给车机系统造成损害。


技术实现要素:

5.本发明提供一种车载信息交互系统信息安全测试方法和系统,用于远程测试车机固件的安全性,通过自动化流程减少人工操作,无需测试人员知晓其中机理即可完成测试。
6.第一方面,本发明提供一种车载信息交互系统信息安全测试系统,包括:
7.人机交互界面,用于响应于用户的操作采集测试任务的信息,所述测试任务的信息至少包括测试用例;
8.模拟仿真模块,用于通过与被测车机的通信链路,从所述被测车机下载被测固件到本地;根据所述被测固件的信息,在本地的虚拟机中搭建所述被测固件的模拟运行环境;
9.测试模块,用于在所述模拟运行环境中自动根据所述测试用例对所述被测固件进行测试;
10.报告生成模块,根据测试结果自动生成测试报告。
11.第二方面,本发明提供一种车载信息交互系统信息安全测试方法,包括:
12.响应于用户在人机交互界面上的操作采集测试任务的信息,所述测试任务的信息至少包括测试用例;
13.通过与被测车机的通信链路,从所述被测车机下载被测固件到本地;根据所述被测固件的信息,在本地的虚拟机中搭建所述被测固件的模拟运行环境;
14.在所述模拟运行环境中自动根据所述测试用例对所述被测固件进行测试;
15.根据测试结果自动生成测试报告。
16.本发明通过建立远程车载信息交互系统信息安全测试系统,有效隔绝了本地系统测试的危险性,同时通过全面地系统性测试,提升了测试流程效率与个性化,提高了车载交互系统的整体的安全性。通过高度自动化的测试流程,杜绝了测试过程中用户的不规范行为。
附图说明
17.为了更清楚地说明本发明或相关技术中的技术方案,下面将对实施例或相关技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
18.图1是本发明实施例提供的一种车载信息交互系统信息安全测试系统的结构示意图;
19.图2是本发明实施例提供的一种车载信息交互系统信息安全测试方法的流程示意图。
具体实施方式
20.为使本发明的目的、技术方案和优点更加清楚明白,以下结合具体实施例,并参照附图,对本发明进一步详细说明。
21.需要说明的是,除非另外定义,本发明的实施例使用的技术术语或者科学术语应当为本发明所属领域内具有一般技能的人士所理解的通常意义。本发明的实施例中使用的“第一”、“第二”以及类似的词语并不表示任何顺序、数量或者重要性,而只是用来区分不同的组成部分。“包括”或者“包含”等类似的词语意指出现该词前面的元件或者物件涵盖出现在该词后面列举的元件或者物件及其等同,而不排除其他元件或者物件。“连接”或者“相连”等类似的词语并非限定于物理的或者机械的连接,而是可以包括电性的连接,不管是直接的还是间接的。
22.本发明实施例提供一种车载信息交互系统信息安全测试系统,用于对车机系统的中的固件(例如启动文件、系统文件等)进行安全测试。其中,车载信息交互系统包括android、linux系统。被测车机的测试场景包括:
23.1)整车环境,用于对整车环境的远程车载信息交互系统(t-box)、车载综合信息处理系统(ivi)以及其混合体进行信息安全测试。
24.2)车载信息交互系统零部件测试场景,用于对远程车载信息交互系统(t-box)、车载综合信息处理系统(ivi)以及其混合体的零部件,进行信息安全测试。
25.3)车载信息交互系统的系统文件测试场景,用于对从整车环境的远程车载信息交互系统(t-box)、车载综合信息处理系统(ivi)以及其混合体中提取的系统文件进行信息安全测试。
26.该系统的结构图参见图1,包括:人机交互界面、模拟仿真模块、测试模块和报告生成模块。下面介绍每个部分的具体功能。
27.人机交互界面,用于响应于用户的操作采集测试任务的信息,所述测试任务的信息至少包括测试用例。
28.在一具体实施方式中,用户在人机交互界面上创建测试项目,并在该项目下添加测试任务,选择采集该测试任务的信息,至少包括测试用例。可选的,测试任务的信息还包括登录方式、登陆端口、用户名、密码、任务名称、测试时间和用户的生理信号:心跳信号和脉搏信号。
29.模拟仿真模块,用于通过与被测车机的通信链路,从所述被测车机下载被测固件
到本地;根据所述被测固件的信息,在本地的虚拟机中搭建所述被测固件的模拟运行环境。可选的,模拟仿真模块包括通信单元、加解密单元和仿真单元。
30.其中,通信单元用于搭建与被测车机的通信链路;通信链路可以是有线形式或者无线形式,登录车机的端口包括adb、ftp、ssh、telnet和serial等。加解密单元用于根据任务名称、测试时间和所述用户的生理信号生成加密密钥和解密密钥;通过与被测车机的通信链路访问所述被测车机,采用所述加密密钥对所述被测固件进行加密。其中,用户可以远程登录车机加密打包固件,或者通过脚本自动加密打包固件。将加密后的被测固件发送至本地,并采用所述解密密钥进行解密得到所述被测固件,如被测固件进行了打包,还需要进行解压。下面详细介绍加密密钥和解密密钥的生成过程:
31.预先操作:对脉搏信号和心跳信号进行降噪处理;提取脉搏信号的特征,提取心跳信号的特征。特征包括信号的主波峰值与对应的时间。
32.第一步:根据脉搏信号的特征生成第一二进制随机数序列,根据所述第一二进制随机数序列与所述心跳信号的特征生成第二二进制随机数序列;
33.t1'=t1(n+1)-t1(n)
34.t
1”(n)=t1'(n+1)-t1'(n)
35.其中,n为主波峰的序号,t1(n)表示脉搏信号主波峰的时间坐标序列,t1'(n)表示相邻两个主波峰的时间间隔序列,t
1”(n)表示主波峰时间间隔差异,即脉搏序列i;
[0036][0037]
其中,ij表示脉搏序列中的第j个值,为一个比特位,当j从1到n遍历后,得到第一二进制随机数序列s={s1,s2,s3,...}。
[0038]
获得心跳信号的主波峰值保留小数的后3位,扩大1000倍,将采集的心跳信号的时间点转化为单位为秒的整数。将处理后的主波峰值数值,时间点数值构成一维特征向量。这样,多个采集时刻就可以得到多个一维特征向量。将多个一维特征向量拼接构成正整数序列,将正整数序列中的每个数值转化为二进制序列,得到心跳序列q。
[0039]
将第一二进制随机数序列s与心跳序列q做和或者异或计算,获得第二二进制随机数序列y。
[0040]
第二步:将第二二进制随机数序列与所述任务名称和测试时间的二进制表示进行拼接,并将拼接后的结果转换为无符号的整数得到加密密钥和解密密钥。
[0041]
其中,任务名称可以用编号表示。将任务名称和测试时间均转换为二进制表示,再与第二二进制随机数序列y拼接获得密钥序列,将密钥序列的每8个作为一个字节转换为无符号整数作为加密密钥,同时也作为解密密钥。
[0042]
仿真单元用于根据被测固件的信息,在本地的虚拟机中搭建所述被测固件的模拟运行环境。
[0043]
可选的,车载信息交互系统信息安全测试系统部署有多个虚拟机,每个虚拟机用于搭建不同的模拟运行环境。模块运行环境包括被测固件运行所需的硬件环境和软件环境。示例性的,预先存储有被测固件的信息对应的硬件环境信息和软件环境信息。当获取到被测固件的信息后,查询对应的硬件环境信息和软件环境信息,并在虚拟机上部署。当被测
固件在虚拟机的模拟运行环境中运行时,与在原始车机系统中运行的效果是一致的。
[0044]
测试模块,用于在模拟运行环境中自动根据测试用例对被测固件进行测试。
[0045]
用户在人机交互界面上选定测试用例后,后续不需要人工操作;而是通过测试模块自动根据选定的测试用例进行测试。
[0046]
可选的,测试模块包括通信协议与接口安全测试单元、系统安全测试单元、应用软件安全测试单元和数据安全测试单元。每个测试单元用于执行多个测试项目(用分号间隔开),每个测试项目由对应的测试用例执行。下面介绍每个测试单元的测试项目。
[0047]
通信协议与接口安全测试单元,用于在所述模拟运行环境中自动根据所述测试用例对通信协议与接口进行安全测试,包括:根据无线协议漏洞数据库(包括通信协议的漏洞的信息)对被测固件的蓝牙和wifi信号进行漏洞验证;根据变异算法生成的数据包,对通信协议进行模糊测试,发现协议漏洞,并将发现的漏洞添加到无线协议漏洞数据库。
[0048]
系统安全测试单元,用于在模拟运行环境中自动根据所述测试用例对通信协议与接口进行安全测试,包括:根据系统漏洞数据库(包括系统漏洞的信息),在模拟仿真环境中进行系统漏洞验证;根据密钥特征数据库(包括明文密钥的特征,例如用户名username或者数字和字母的组合),查询系统文件内是否存在明文的密钥;获取操作系统的系统固件的安全启动代码并进行篡改,将篡改后代码写入到模拟运行环境内的指定区域,查看系统运行情况;查询系统内核版本,根据内核漏洞数据库(包括内核漏洞的信息)分析当前内核版本存在的漏洞并进行验证,查看已进行内核漏洞修复状态。
[0049]
应用软件安全测试单元,用于在模拟运行环境中自动根据所述测试用例对通信协议与接口进行安全测试,包括:对车载信息交互系统内的应用软件安装包进行反编译,根据软件加固特征数据库(包括加固的应用软件代码的特征,例如代码具有特定类型的文件或数据)分析反编译后的代码,检测是否进行应用软件加固;调用系统内部工具,查询模拟运行环境是否具有代码安全机制;根据加密算法特征数据库(包括使用加密算法的应用软件代码的特征,例如代码具有加密算法名称)对反编译的应用软件代码进行分析,检测应用软件所使用的加密算法,并查询是否存在明文密钥;根据应用软件漏洞数据库(包括应用软件的漏洞的信息)进行应用软件漏洞验证;根据应用软件残留调试信息特征数据库(包括应用软件代码中调试信息的特征,例如调试接口和调试命令),查询应用软件反编译后的代码,检测是否含有残留的调试信息;判断软件的安全等级。
[0050]
在一优选实施方式中,判断软件的安全等级包括:获取应用软件注册名称,与专家库危险名单对比,若所述应用软件为非危险软件则执行所述应用软件;否则对所述应用软件进行冻结,并提醒用户做删除处理。其中,专家库危险名单包括诈骗软件黑名单。
[0051]
在一优选实施方式中,根据应用软件漏洞数据库进行应用软件漏洞验证包括:获得软件漏洞扫描结果的多维度信息;将所述多维度信息输入神经网络模型,获得分类结果;根据所述分类结果在高危漏洞库中进行相似度分析,获得高危漏洞以及修复措施和对应链接。
[0052]
其中,多维度信息包括漏洞名称,发现时间,版本号等。分类结果包括病毒、木马和缺陷等。神经网络模型是用于对特征进行分类的网络,表示从多维度信息到分类结果的映射关系。
[0053]
神经网络模型的训练方法包括:将多维度信息组成输入特征向量,根据特征向量
及其分类结果标签对神经网络模型进行训练。得到分类结果后,在高危漏洞库里进行相应分类中漏洞特征的搜索匹配,确定其具体是哪一种高危漏洞。其中,高危漏洞库存储有高危漏洞的信息,以及对应的修复措施和链接。跳转到该链接得到该高危漏洞的修复文件。
[0054]
数据安全测试单元,用于根据个人敏感信息特征数据库(包括个人敏感信息的特征,例如身份证号和手机号),检测模拟运行环境是否含明文存储的有个人敏感信息;根据密钥特征数据库,检测集成到硬件中的文件内是否存在明文的密钥;硬编码检测。
[0055]
报告生成模块,根据测试结果自动生成测试报告。
[0056]
在一具体实施方式中,报告生成模块用于对每个测试单元中每个测试用例的测试结果进行评分;在每个测试单元中,根据每个测试用例的权重对分数进行加权求和得到每个测试单元的分数;根据每个测试单元的分数反馈所述被测车机的信息安全等级,自动生成测试报告。
[0057]
可选的,基于上述对测试单元功能的介绍,每个测试用例的测试结果包括有无漏洞、安全等级、是否存在明文密钥和软件加固等不同类型的结果。根据经验,对该不同类型的结果进行评分。基于层次分析法分别得到每个测试单元中每个测试用例的权重,从而对分数进行加权求和。构建目标层:信息安全,准则层:通信协议与接口安全、系统安全、应用软件安全和数据安全,最底层:各个准侧层下的多个测试用例。通过专家打分或者问卷调查,利用各因素之间的两两比较确定合适的标度并构造判断矩阵。计算该判断矩阵的特征向量,经归一化后得到各测试用例所占权重。最后,根据加权求和后的分数高低映射为不同的信息安全等级,例如低危、中危和高危。测试报告内容包括测试项目的名称、执行时间、用户、总体评分、各单元的漏洞数量、漏洞的详细信息、信息安全等级和修复建议。
[0058]
本发明实施例具有如下技术效果:
[0059]
1、本发明通过建立远程模拟测试系统,有效隔绝了本地系统测试的危险性,同时通过全面地系统性测试,提升了测试流程效率与个性化,提高了车载交互系统的整体的安全性。
[0060]
2、本发明通过构建以心跳信号与脉搏信号为基础的密钥,有效提高了测试的安全性与可溯源性,杜绝了测试过程中,测试员不规范行为。
[0061]
3、本发明通过对软件多维度测试,提高了对软件安全性认定,软件漏洞分析以及后续修补效率。
[0062]
图2是本发明实施例提供的一种车载信息交互系统信息安全测试方法的流程图,应用于上述任一实施例提供的车载信息交互系统信息安全测试系统。该方法包括以下操作:
[0063]
s110、响应于用户在人机交互界面上的操作采集测试任务的信息,所述测试任务的信息至少包括测试用例。
[0064]
s120、通过与被测车机的通信链路,从所述被测车机下载被测固件到本地;根据所述被测固件的信息,在本地的虚拟机中搭建所述被测固件的模拟运行环境。
[0065]
s130、在所述模拟运行环境中自动根据所述测试用例对所述被测固件进行测试。
[0066]
s140、根据测试结果自动生成测试报告。
[0067]
具体操作参见上述实施例的记载,此处不再赘述。
[0068]
在实际应用场景中,信息安全测试方法包括以下操作:
[0069]
s1、在人机交互界面上创建测试项目,并在该项目下添加测试任务,选择采集该测试任务的基本信息,包括登录方式、登陆端口、用户名、密码、任务名称、选择测试用例,用户生理信号。
[0070]
s2、通过通信单元建立车载信息交互系统与信息安全检测系统的连接,其连接方式包括有线和无线方式,登录的端口包括adb、ftp、ssh、telnet、serial等。
[0071]
s3、车载信息交互系统信息安全检测系统通过自动化脚本对车载新信息交互系统的固件进行加密打包,并下载到信息安全检测系统本地,并进行解密解压;加密秘钥和解密密钥根据任务名称以及所述任务时间、用户生理信号自动生成。
[0072]
s4、根据提取到的系统固件或用户上传手动打包的系统固件,在虚拟机生成车载信息交互系统的模拟运行环境。
[0073]
s5、根据测试任务选择的测试用例,进行通信协议与接口安全、系统安全、应用软件安全以及数据安全进行信息安全测试。
[0074]
s6、统计各检测单元的各测试用例的测试结果,并根据各测试用例的权重计算通信协议与接口、系统、应用软件以及数据的信息安全的分数,并生成检测报告。
[0075]
本方法具有与系统一致的技术手段和技术效果,此次不再赘述。
[0076]
本发明的实施例旨在涵盖落入所附权利要求的宽泛范围之内的所有这样的替换、修改和变型。因此,凡在本发明的实施例的精神和原则之内,所做的任何省略、修改、等同替换、改进等,均应包含在本发明的保护范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1