一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

车辆远程合规测试方法、装置、设备及介质与流程

2023-01-15 07:21:50 来源:中国专利 TAG:


1.本发明涉及车联网安全技术领域,特别涉及车辆远程合规测试方法、装置、设备及介质。


背景技术:

2.在对车辆进行合规测试的过程中,经常需要测试人员对主要软件进行逆向分析和动态调试,然而因为守护进程的存在,一旦测试人员对软件进行动态调试会导致程序无法正常运行,守护进程接收到程序异常,设备会自动重启,这给测试人员带来很大的麻烦。在对车联网设备进行调试和分析的研究中,为解决上述的守护进程问题,一般测试人员都会通过获取固件、并对其进行仿真的技术,绕过守护进程,实现对软件进行调试分析的目的。在车联网环境中,开发者通过强制关闭守护进程然后对软件进行远程调试,达到该目的,但是作为测试者在不知道守护程序情况下,只能自己尝试去找到并关闭守护进程。虽然仿真固件可以很好的解决守护进程带来的问题,但也有很多不理想的情况,一般来说linux里面都会有较多程序,要一个个寻找的话要费大量的时间,效果也不明显;在使用调试器进行调试的前提下,对每次发送的数据要进行获取和发送的话,需要下断点获取数据再继续发送,这个过程中程序可能已经发送了几十条数据,而人工获取的方法极其浪费时间且效率低,且不能很好的分析发送的数据时间间隔;如果合规测试者尝试删掉每一个进程,再去测试是否删掉的是守护进程,这个时间也是非常长的,且如果删错了程序可能也会导致设备重启,这也给了测试者很大的困扰。
3.综上可见,如何提高车辆合规测试的效率是本领域有待解决的问题。


技术实现要素:

4.有鉴于此,本发明的目的在于提供一种车辆远程合规测试方法、装置、设备及介质,能够提高车辆合规测试的效率。其具体方案如下:
5.第一方面,本技术公开了一种车辆远程合规测试方法,包括:
6.逆向分析目标车辆终端的cpu架构,以确定待测试程序,并将合规测试工具传入至所述目标车辆终端;
7.将所述待测试程序注入至所述合规测试工具,然后启动所述合规测试工具以生成测试日志;
8.获取所述合规测试工具中服务端发送的请求日志,并基于所述请求日志发送所述测试日志至所述服务端,以便服务端基于所述测试日志生成测试报告。
9.可选的,所述将合规测试工具传入至所述目标车辆终端之前,还包括:
10.当预设指令接口获取到控车指令时,strace跟踪器记录与所述控车指令对应的交互数据;
11.基于所述交互数据,并利用测试框架编写测试代码,以得到合规测试工具。
12.可选的,所述利用测试框架编写测试代码,以得到合规测试工具,包括:
13.调用mmap函数以创建内存空间,并将所述交互数据写入所述内存空间中的数据空间;
14.利用测试框架编写测试代码,并将所述测试代码写入所述内存空间中的代码空间,以得到合规测试工具。
15.可选的,所述启动所述合规测试工具以生成测试日志,包括:
16.启动所述合规测试工具,并通过ptrace进程将所述待测试程序中的程序计数器指向所述合规测试工具中的所述测试代码,以便所述合规测试工具运行所述测试代码并生成测试日志。
17.可选的,所述通过ptrace进程将所述待测试程序中的程序计数器指向所述合规测试工具中的所述测试代码之前,还包括:
18.查询so库地址,并通过所述so库地址查询mmap函数地址,然后利用所述so库地址和所述mmap函数地址计算出所述mmap函数在加载程序中的实际地址;
19.利用所述mmap函数在加载程序中的实际地址确定所述待测试程序中的程序计数器的地址,以便通过ptrace进程将所述程序计数器指向所述合规测试工具中的所述测试代码。
20.可选的,所述启动所述合规测试工具以生成测试日志,包括:
21.启动所述合规测试工具,以便通过所述合规测试工具监测所述目标车辆生成的测试数据和测试行为,并利用所述测试数据和所述测试行为生成测试日志。
22.可选的,所述通过所述合规测试工具监测所述目标车辆生成的测试数据和测试行为之前,还包括:
23.通过ptrace进程将所述合规测试工具和所述待测试程序之间的关系转换为父子关系,以便通过所述合规测试工具监测所述目标车辆生成的测试数据和测试行为。
24.第二方面,本技术公开了一种车辆远程合规测试装置,包括:
25.测试工具传入模块,用于逆向分析目标车辆终端的cpu架构,以确定待测试程序,并将合规测试工具传入至所述目标车辆终端;
26.测试工具启动模块,用于将所述待测试程序注入至所述合规测试工具,然后启动所述合规测试工具以生成测试日志;
27.测试报告生成模块,用于获取所述合规测试工具中服务端发送的请求日志,并基于所述请求日志发送所述测试日志至所述服务端,以便服务端基于所述测试日志生成测试报告。
28.第三方面,本技术公开了一种电子设备,包括:
29.存储器,用于保存计算机程序;
30.处理器,用于执行所述计算机程序,以实现前述公开的车辆远程合规测试方法的步骤。
31.第四方面,本技术公开了一种计算机可读存储介质,用于存储计算机程序;其中,所述计算机程序被处理器执行时实现前述公开的车辆远程合规测试方法的步骤。
32.可见,本技术逆向分析目标车辆终端的cpu架构,以确定待测试程序,并将合规测试工具传入至所述目标车辆终端;将所述待测试程序注入至所述合规测试工具,然后启动所述合规测试工具以生成测试日志;获取所述合规测试工具中服务端发送的请求日志,并
基于所述请求日志发送所述测试日志至所述服务端,以便服务端基于所述测试日志生成测试报告。由此可见,本技术通过逆向分析目标车辆终端的cpu架构以确定待测试程序,并将待测试程序注入至合规测试工具,启动合规测试工具后生成测试日志,服务端基于测试日志生成测试工具,因为此过程中不涉及守护进程,也即对守护进程无影响,进而可以避免守护进程对测试的影响,又因为本技术无需花费获取固件的时间及对固件仿真的时间,提高测试效率。
附图说明
33.为了更清楚地说明本技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
34.图1为本技术公开的一种车辆远程合规测试方法流程图;
35.图2为本技术公开的一种具体的合规测试工具的架构图;
36.图3为本技术公开的一种具体的车辆远程合规测试方法流程图;
37.图4为本技术公开的一种车辆远程合规测试装置结构示意图;
38.图5为本技术公开的一种电子设备结构图。
具体实施方式
39.下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
40.在对车辆进行合规测试的过程中,经常需要测试人员对主要软件进行逆向分析和动态调试,然而因为守护进程的存在,一旦测试人员对软件进行动态调试会导致程序无法正常运行,守护进程接收到程序异常,设备会自动重启,这给测试人员带来很大的麻烦。在对车联网设备进行调试和分析的研究中,为解决上述的守护进程问题,一般测试人员都会通过获取固件、并对其进行仿真的技术,绕过守护进程,实现对软件进行调试分析的目的。在车联网环境中,开发者通过强制关闭守护进程然后对软件进行远程调试,达到该目的,但是作为测试者在不知道守护程序情况下,只能自己尝试去找到并关闭守护进程。虽然仿真固件可以很好的解决守护进程带来的问题,但也有很多不理想的情况,一般来说linux里面都会有较多程序,要一个个寻找的话要费大量的时间,效果也不明显;在使用调试器进行调试的前提下,对每次发送的数据要进行获取和发送的话,需要下断点获取数据再继续发送,这个过程中程序可能已经发送了几十条数据,而人工获取的方法极其浪费时间且效率低,且不能很好的分析发送的数据时间间隔;如果合规测试者尝试删掉每一个进程,再去测试是否删掉的是守护进程,这个时间也是非常长的,且如果删错了程序可能也会导致设备重启,这也给了测试者很大的困扰。
41.为此本技术相应的提供了一种车辆远程合规测试方案,能够提高车辆合规测试的效率。
42.参见图1所示,本技术实施例公开了一种车辆远程合规测试方法,包括:
43.步骤s11:逆向分析目标车辆终端的cpu架构,以确定待测试程序,并将合规测试工具传入至所述目标车辆终端。
44.可以理解的是,本实施例中,逆向分析指软件逆向分析,指从可运行的程序系统出发,运用解密、反汇编、系统分析、程序理解等多种计算机技术,对软件的结构、流程、算法、代码等进行逆向拆解和分析,推导出软件产品的源代码、设计原理、结构、算法、处理过程、运行方法及相关文档等。
45.本实施例中,所述将合规测试工具传入至所述目标车辆终端之前,还包括:当预设指令接口获取到控车指令时,strace跟踪器记录与所述控车指令对应的交互数据;基于所述交互数据,并利用测试框架编写测试代码,以得到合规测试工具。查看远程终端cpu(central processing unit,即中央处理器)架构,确定需要进程注入的程序,即待测试程序,测试者发送控车指令至预设指令接口,strace跟踪器将每次发送的数据都记录下来,测试者获取交互数据,基于交互数据,利用测试框架编写测试代码。
46.本实施例中,所述利用测试框架编写测试代码,以得到合规测试工具,包括:调用mmap函数以创建内存空间,并将所述交互数据写入所述内存空间中的数据空间;利用测试框架编写测试代码,并将所述测试代码写入所述内存空间中的代码空间,以得到合规测试工具。调用mmap函数创建内存空间,并得到空间地址a3,该空间供测试者使用。测试者将需要测试的数据写入到这片内存空间中,即将交互数据写入内存空间中的数据空间a3,将测试代码写入到这片内存空间的代码空间a3 n,需要注意的是,n取任意数,但不和数据空间重叠。
47.步骤s12:将所述待测试程序注入至所述合规测试工具,然后启动所述合规测试工具以生成测试日志。
48.本实施例中,所述启动所述合规测试工具以生成测试日志,包括:启动所述合规测试工具,并通过ptrace进程将所述待测试程序中的程序计数器指向所述合规测试工具中的所述测试代码,以便所述合规测试工具运行所述测试代码并生成测试日志。通过ptrace将程序计数器指向代码空间a3 n中的测试代码,随后合规测试工具就会自运行测试代码,达到测试的目的,并且测试完之后将恢复环境,保持原样。编译生成静态程序放入到目标车辆终端并运行,以便基于静态程序hook的方式实现合规测试。
49.本实施例中,所述通过ptrace进程将所述待测试程序中的程序计数器指向所述合规测试工具中的所述测试代码之前,还包括:查询so库地址,并通过所述so库地址查询mmap函数地址,然后利用所述so库地址和所述mmap函数地址计算出所述mmap函数在加载程序中的实际地址;利用所述mmap函数在加载程序中的实际地址确定所述待测试程序中的程序计数器的地址,以便通过ptrace进程将所述程序计数器指向所述合规测试工具中的所述测试代码。通过查询/proc/{pid}/maps,以查询so库地址a1,然后通过so库查询mmap的函数地址a2,计算得到mmap函数在加载程序中的实际地址a1 a2,通过ptrace在待测试进程中将程序计数器修改为mmap函数的地址a1 a2。
50.步骤s13:获取所述合规测试工具中服务端发送的请求日志,并基于所述请求日志发送所述测试日志至所述服务端,以便服务端基于所述测试日志生成测试报告。
51.本实施例中,合规测试工具的架构图如图2所示,主要分为客户端和服务端两部
分,客户端主要是由合规测试程序、进程注入程序、日志记录程序、服务处理程序三部分组成,而服务端则包括测试数据处理、测试报告生成。合规测试中的检查项可以为:检测远程通信终端是否防止流量重放攻击,检测可靠性、检测远程通信终端里的设备文件能否防止数据重放攻击,检测可靠性、检测远程通信终端是否存在内存安全等问题,检测可用性、检测远程通信终端通信是否加密。检测项、检测规则和判断依据可以如下表所示:
52.表一
[0053][0054]
可见,本技术逆向分析目标车辆终端的cpu架构,以确定待测试程序,并将合规测试工具传入至所述目标车辆终端;将所述待测试程序注入至所述合规测试工具,然后启动所述合规测试工具以生成测试日志;获取所述合规测试工具中服务端发送的请求日志,并基于所述请求日志发送所述测试日志至所述服务端,以便服务端基于所述测试日志生成测试报告。由此可见,本技术通过逆向分析目标车辆终端的cpu架构以确定待测试程序,并将待测试程序注入至合规测试工具,启动合规测试工具后生成测试日志,服务端基于测试日志生成测试工具,因为此过程中不涉及守护进程,也即对守护进程无影响,进而可以避免守护进程对测试的影响,又因为本技术无需花费获取固件的时间及对固件仿真的时间,提高测试效率。
[0055]
参见图3所示,本技术实施例公开了一种具体的车辆远程合规测试方法,包括:
[0056]
步骤s21:逆向分析目标车辆终端的cpu架构,以确定待测试程序,并将合规测试工具传入至所述目标车辆终端。
[0057]
步骤s22:将所述待测试程序注入至所述合规测试工具,启动所述合规测试工具,以便通过所述合规测试工具监测所述目标车辆生成的测试数据和测试行为,并利用所述测试数据和所述测试行为生成测试日志。
[0058]
本实施例中,所述通过所述合规测试工具监测所述目标车辆生成的测试数据和测试行为之前,还包括:通过ptrace进程将所述合规测试工具和所述待测试程序之间的关系转换为父子关系,以便通过所述合规测试工具监测所述目标车辆生成的测试数据和测试行为。例如检测项为测试远程通信终端mcu是否存在抗重放攻击,观察汽车,如果汽车重复云端控车动作,如开关车门,则说明存在mcu(微控制单元)无抗重放攻击问题。
[0059]
步骤s23:获取所述合规测试工具中服务端发送的请求日志,并基于所述请求日志发送所述测试日志至所述服务端,以便服务端基于所述测试日志生成测试报告。
[0060]
由此可见,本技术理由合规测试工具对目标车辆终端的待测试程序进行合规测试,此过程中不涉及守护进程,也即对守护进程无影响,进而可以避免守护进程对测试的影响,又因为本技术无需花费获取固件的时间及对固件仿真的时间,提高测试效率。
[0061]
参见图4所示,本技术实施例公开了一种车辆远程合规测试装置,包括:
[0062]
测试工具传入模块11,用于逆向分析目标车辆终端的cpu架构,以确定待测试程序,并将合规测试工具传入至所述目标车辆终端;
[0063]
测试工具启动模块12,用于将所述待测试程序注入至所述合规测试工具,然后启动所述合规测试工具以生成测试日志;
[0064]
测试报告生成模块13,用于获取所述合规测试工具中服务端发送的请求日志,并基于所述请求日志发送所述测试日志至所述服务端,以便服务端基于所述测试日志生成测试报告。
[0065]
可见,本技术逆向分析目标车辆终端的cpu架构,以确定待测试程序,并将合规测试工具传入至所述目标车辆终端;将所述待测试程序注入至所述合规测试工具,然后启动所述合规测试工具以生成测试日志;获取所述合规测试工具中服务端发送的请求日志,并基于所述请求日志发送所述测试日志至所述服务端,以便服务端基于所述测试日志生成测试报告。由此可见,本技术通过逆向分析目标车辆终端的cpu架构以确定待测试程序,并将待测试程序注入至合规测试工具,启动合规测试工具后生成测试日志,服务端基于测试日志生成测试工具,因为此过程中不涉及守护进程,也即对守护进程无影响,进而可以避免守护进程对测试的影响,又因为本技术无需花费获取固件的时间及对固件仿真的时间,提高测试效率。
[0066]
在一些具体实施例中,所述车辆远程合规测试装置,还包括:
[0067]
测试工具获取单元,用于当预设指令接口获取到控车指令时,strace跟踪器记录与所述控车指令对应的交互数据;基于所述交互数据,并利用测试框架编写测试代码,以得到合规测试工具。
[0068]
在一些具体实施例中,所述测试工具获取单元,包括:
[0069]
合规测试工具获取单元,用于调用mmap函数以创建内存空间,并将所述交互数据写入所述内存空间中的数据空间;利用测试框架编写测试代码,并将所述测试代码写入所述内存空间中的代码空间,以得到合规测试工具。
[0070]
在一些具体实施例中,所述测试工具启动模块12,包括:
[0071]
第一测试日志生成单元,用于启动所述合规测试工具,并通过ptrace进程将所述待测试程序中的程序计数器指向所述合规测试工具中的所述测试代码,以便所述合规测试工具运行所述测试代码并生成测试日志。
[0072]
在一些具体实施例中,所述车辆远程合规测试装置,还包括:
[0073]
地址确定单元,用于查询so库地址,并通过所述so库地址查询mmap函数地址,然后利用所述so库地址和所述mmap函数地址计算出所述mmap函数在加载程序中的实际地址;利用所述mmap函数在加载程序中的实际地址确定所述待测试程序中的程序计数器的地址,以便通过ptrace进程将所述程序计数器指向所述合规测试工具中的所述测试代码。
[0074]
在一些具体实施例中,所述测试工具启动模块12,包括:
[0075]
第二测试日志生成单元,用于启动所述合规测试工具,以便通过所述合规测试工具监测所述目标车辆生成的测试数据和测试行为,并利用所述测试数据和所述测试行为生成测试日志。
[0076]
在一些具体实施例中,所述车辆远程合规测试装置,还包括:
[0077]
监测单元,用于通过ptrace进程将所述合规测试工具和所述待测试程序之间的关系转换为父子关系,以便通过所述合规测试工具监测所述目标车辆生成的测试数据和测试行为。
[0078]
进一步的,本技术实施例还提供了一种电子设备。图5是根据一示例性实施例示出的电子设备20结构图,图中的内容不能认为是对本技术的使用范围的任何限制。
[0079]
图5为本技术实施例提供的一种电子设备的结构示意图。具体可以包括:至少一个处理器21、至少一个存储器22、电源23、通信接口24、输入输出接口25和通信总线26。其中,所述存储器22用于存储计算机程序,所述计算机程序由所述处理器21加载并执行,以实现以下步骤:
[0080]
逆向分析目标车辆终端的cpu架构,以确定待测试程序,并将合规测试工具传入至所述目标车辆终端;
[0081]
将所述待测试程序注入至所述合规测试工具,然后启动所述合规测试工具以生成测试日志;
[0082]
获取所述合规测试工具中服务端发送的请求日志,并基于所述请求日志发送所述测试日志至所述服务端,以便服务端基于所述测试日志生成测试报告。
[0083]
在一些具体实施方式中,所述处理器通过执行所述存储器中保存的计算机程序,具体可以实现以下步骤:
[0084]
当预设指令接口获取到控车指令时,strace跟踪器记录与所述控车指令对应的交互数据;
[0085]
基于所述交互数据,并利用测试框架编写测试代码,以得到合规测试工具。
[0086]
在一些具体实施方式中,所述处理器通过执行所述存储器中保存的计算机程序,具体可以实现以下步骤:
[0087]
调用mmap函数以创建内存空间,并将所述交互数据写入所述内存空间中的数据空间;
[0088]
利用测试框架编写测试代码,并将所述测试代码写入所述内存空间中的代码空间,以得到合规测试工具。
[0089]
在一些具体实施方式中,所述处理器通过执行所述存储器中保存的计算机程序,具体可以实现以下步骤:
[0090]
启动所述合规测试工具,并通过ptrace进程将所述待测试程序中的程序计数器指向所述合规测试工具中的所述测试代码,以便所述合规测试工具运行所述测试代码并生成测试日志。
[0091]
在一些具体实施方式中,所述处理器通过执行所述存储器中保存的计算机程序,具体可以实现以下步骤:
[0092]
查询so库地址,并通过所述so库地址查询mmap函数地址,然后利用所述so库地址和所述mmap函数地址计算出所述mmap函数在加载程序中的实际地址;
[0093]
利用所述mmap函数在加载程序中的实际地址确定所述待测试程序中的程序计数器的地址,以便通过ptrace进程将所述程序计数器指向所述合规测试工具中的所述测试代码。
[0094]
在一些具体实施方式中,所述处理器通过执行所述存储器中保存的计算机程序,具体可以实现以下步骤:
[0095]
启动所述合规测试工具,以便通过所述合规测试工具监测所述目标车辆生成的测试数据和测试行为,并利用所述测试数据和所述测试行为生成测试日志。
[0096]
在一些具体实施方式中,所述处理器通过执行所述存储器中保存的计算机程序,还可以进一步包括以下步骤:
[0097]
通过ptrace进程将所述合规测试工具和所述待测试程序之间的关系转换为父子关系,以便通过所述合规测试工具监测所述目标车辆生成的测试数据和测试行为。
[0098]
本实施例中,电源23用于为电子设备上的各硬件设备提供工作电压;通信接口24能够为电子设备创建与外界设备之间的数据传输通道,其所遵循的通信协议是能够适用于本技术技术方案的任意通信协议,在此不对其进行具体限定;输入输出接口25,用于获取外界输入数据或向外界输出数据,其具体的接口类型可以根据具体应用需要进行选取,在此不进行具体限定。
[0099]
其中,处理器21可以包括一个或多个处理核心,比如4核心处理器、8核心处理器等。处理器21可以采用dsp(digital signal processing,数字信号处理)、fpga(field-programmable gate array,现场可编程门阵列)、pla(programmable logic array,可编程逻辑阵列)中的至少一种硬件形式来实现。处理器21也可以包括主处理器和协处理器,主处理器是用于对在唤醒状态下的数据进行处理的处理器,也称cpu(central processing unit,中央处理器);协处理器是用于对在待机状态下的数据进行处理的低功耗处理器。在一些实施例中,处理器21可以在集成有gpu(graphics processing unit,图像处理器),gpu用于负责显示屏所需要显示的内容的渲染和绘制。一些实施例中,处理器21还可以包括ai(artificial intelligence,人工智能)处理器,该ai处理器用于处理有关机器学习的计算操作。
[0100]
另外,存储器22作为资源存储的载体,可以是只读存储器、随机存储器、磁盘或者光盘等,其上所存储的资源包括操作系统221、计算机程序222及数据223等,存储方式可以是短暂存储或者永久存储。
[0101]
其中,操作系统221用于管理与控制电子设备上的各硬件设备以及计算机程序
222,以实现处理器21对存储器22中海量数据223的运算与处理,其可以是windows、unix、linux等。计算机程序222除了包括能够用于完成前述任一实施例公开的由电子设备执行的车辆远程合规测试方法的计算机程序之外,还可以进一步包括能够用于完成其他特定工作的计算机程序。数据223除了可以包括电子设备接收到的由外部设备传输进来的数据,也可以包括由自身输入输出接口25采集到的数据等。
[0102]
进一步的,本技术实施例还公开了一种计算机可读存储介质,所述存储介质中存储有计算机程序,所述计算机程序被处理器加载并执行时,实现前述任一实施例公开的由车辆远程合规测试过程中执行的方法步骤。
[0103]
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
[0104]
以上对本发明所提供的一种车辆远程合规测试方法、装置、设备及介质进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献