欢迎光临小豌豆知识网!
当前位置:首页 > 电学技术 > 电通讯技术> 一种基于车内CAN总线的渗透测试方法、装置及系统独创技术43994字

一种基于车内CAN总线的渗透测试方法、装置及系统

2021-03-01 16:05:23

一种基于车内CAN总线的渗透测试方法、装置及系统

  技术领域

  本申请涉及通信安全技术领域,具体而言,涉及一种基于车内CAN总线的渗透测试方法、装置及系统。

  背景技术

  目前,CAN总线通信是现阶段车辆内部的主要通信方式,随着车联网的发展,信息安全及车辆渗透引起了众多安全人员的兴趣。现有的渗透测试方法,通常为测试人员通过手动的方式进行测试,在测试过程中,测试人员通过手动控制CAN总线分析仪来检测报文收发检测,或者通过测试人员通过手动CAN总线诊断仪来对车内CAN总线进行诊断操作,此外,测试人员在进行渗透检测时,还需要对测试车辆进行手动抓包、分析数据等工作,工作繁琐,效率低、同时,人工分析数据受主观因素影响大,渗透测试结果准确性低。可见,现有的测试方法测试步骤繁琐、测试效率低、准确性低。

  发明内容

  本申请实施例的目的在于提供一种基于车内CAN总线的渗透测试方法、装置及系统,能够简单快速地对车内CAN总线进行渗透测试,不需要借助CAN总线分析仪或者CAN总线诊断仪来进行测试,测试步骤简单、测试效率高、准确性高。

  本申请实施例第一方面提供了一种基于车内CAN总线的渗透测试方法,包括:

  接收针对待测试车辆的渗透测试指令,并根据所述渗透测试指令确定测试方案;

  根据所述测试方案通过预设的CAN通信设备对所述待测试车辆进行渗透测试,得到CAN总线测试数据;其中,所述CAN通信设备与所述待测试车辆通信连接;

  根据所述测试方案对所述CAN总线测试数据进行数据分析处理,得到渗透测试结果。

  在上述实现过程中,在对待测试车辆进行渗透测试时,先接收针对待测试车辆的渗透测试指令,并根据渗透测试指令确定测试方案;然后根据测试方案通过与待测试车辆通信连接的CAN通信设备对待测试车辆进行渗透测试,得到CAN总线测试数据;进一步地,根据测试方案对CAN总线测试数据进行数据分析处理,得到渗透测试结果。可见,在该方法中,只需要工作人员发送渗透测试指令,就能够简单快速地对车内CAN总线进行渗透测试,不需要借助其他渗透测试设备,测试步骤简单、测试效率高、准确性高。

  进一步地,所述渗透测试指令包括UDS扫描指令、UDS安全检测指令、报文分析指令、模糊测试指令、泛洪攻击检测指令、报文逆向检测指令、报文收发检测指令中的一种或者多种。

  在上述实现过程中,渗透测试指令包括多种检测指令,通过一次性输入渗透测试指令,能够同时实现不同的测试功能,操作简单,测试效率高。

  进一步地,所述根据所述渗透测试指令确定测试方案包括:

  确定所述渗透测试指令对应的测试项目信息;

  根据所述测试项目信息获取针对所述待测试车辆的测试方案。

  在上述实现过程中,可以通过输入渗透测试指令,以实现不同类型的渗透测试,在接收到渗透测试指令之后,需要先根据渗透测试指令确定所要测试的测试项目信息,然后再根据目标功能信息确定相应的测试方案,有利于提升渗透测试的灵活性,测试功能多,测试目标强。

  进一步地,所述测试项目信息包括与所述渗透测试指令对应的测试功能信息以及所述测试功能信息的配置信息。

  在上述实现过程中,不同的渗透测试项目,有其对应的测试功能信息、配置信息。用户在输入渗透测试指令时,可以选择相应的渗透测试功能并配置相应的测试参数,在根据渗透测试指令可以确定出相应的测试项目信息,并根据测试项目信息获取测试方案,进而有利于提升了渗透测试的多功能性和灵活性。

  进一步地,在所述根据所述渗透测试指令对所述CAN总线测试数据进行渗透测试处理,得到渗透测试结果之后,所述方法还包括:

  根据所述渗透测试结果对所述待测试车辆的车内CAN总线安全性情况进行评估,得到安全性评估结果;

  获取与所述安全性评估结果相匹配的安全性建议信息;

  输出所述安全性评估结果和所述安全性建议信息。

  在上述实现过程中,在得到渗透测试结果之后,能够根据渗透测试结果确定出安全性评估结果,并根据安全性评估结果确定出安全性建议信息,最后可视化进行输出,便于用户进行查看,便捷度高,检测结果全面,参考性强。

  本申请实施例第二方面提供了一种基于车内CAN总线的渗透测试装置,所述基于车内CAN总线的渗透测试装置包括:

  接收单元,用于接收针对待测试车辆的渗透测试指令;

  确定单元,用于根据所述渗透测试指令确定测试方案;

  渗透测试单元,用于根据所述测试方案通过预设的CAN通信设备对所述待测试车辆进行渗透测试,得到CAN总线测试数据;其中,所述CAN通信设备与所述待测试车辆通信连接;

  分析单元,用于根据所述测试方案对所述CAN总线测试数据进行数据分析处理,得到渗透测试结果。

  在上述实现过程中,在对待测试车辆进行渗透测试时,接收单元先接收针对待测试车辆的渗透测试指令,确定单元根据渗透测试指令确定测试方案;然后渗透测试单元根据测试方案通过与待测试车辆通信连接的CAN通信设备对待测试车辆进行渗透测试,得到CAN总线测试数据;进一步地,分析单元根据测试方案对CAN总线测试数据进行数据分析处理,得到渗透测试结果。可见,在该方法中,只需要工作人员发送渗透测试指令,就能够简单快速地对车内CAN总线进行渗透测试,不需要借助其他渗透测试设备,测试步骤简单、测试效率高、准确性高。

  进一步地,所述基于车内CAN总线的渗透测试装置还包括:

  评估单元,用于在所述根据所述渗透测试指令对所述CAN总线测试数据进行渗透测试处理,得到渗透测试结果之后,根据所述渗透测试结果对所述待测试车辆的车内CAN总线安全性情况进行评估,得到安全性评估结果;

  建议获取单元,用于获取与所述安全性评估结果相匹配的安全性建议信息;

  输出单元,用于输出所述安全性评估结果和所述安全性建议信息。

  在上述实现过程中,在得到渗透测试结果之后,评估单元能够根据渗透测试结果确定出安全性评估结果,建议获取单元能够根据安全性评估结果确定出安全性建议信息,最后输出单元能够对安全性评估结果和安全性建议信息进行输出,便于用户进行查看,便捷度高,检测结果全面,参考性强。

  本申请实施例第三方面提供了一种基于车内CAN总线的渗透测试系统,所述基于车内CAN总线的渗透测试系统包括渗透测试装置、与所述渗透测试装置通信连接的至少一个CAN通信设备以及与每个所述CAN通信设备通信连接的待测试车辆,其中,

  所述渗透测试装置,用于接收针对所述待测试车辆的渗透测试指令,并根据所述渗透测试指令确定测试方案;以及根据所述测试方案通过每个所述CAN通信设备发送渗透测试数据至与该CAN通信连接的待测试车辆;

  至少一个所述CAN通信设备,用于将所述渗透测试数据转发至通信连接的所述待测试车辆;

  所述待测试车辆,用于接收所述渗透测试数据,并根据所述渗透测试数据生成CAN总线测试数据;

  至少一个所述CAN通信设备,用于获取所述CAN总线测试数据,并将所述CAN总线测试数据发送至所述渗透测试装置;

  所述渗透测试装置,用于根据所述渗透测试指令对所述CAN总线测试数据进行数据分析处理,得到每个所述待测试车辆的渗透测试结果。

  在上述实现过程中,渗透测试装置可以同时与多个CAN通信设备进行通信连接,并同时接收并处理多个CAN通信设备发送的CAN总线测试数据,进而实现同时对多个待测试车辆的渗透测试,测试方法简单,进一步提升了渗透测试效率。

  本申请实施例第四方面提供了一种电子设备,包括存储器以及处理器,所述存储器用于存储计算机程序,所述处理器运行所述计算机程序以使所述电子设备执行本申请实施例第一方面中任一项所述的基于车内CAN总线的渗透测试方法。

  本申请实施例第五方面提供了一种计算机可读存储介质,其存储有计算机程序指令,所述计算机程序指令被一处理器读取并运行时,执行本申请实施例第一方面中任一项所述的基于车内CAN总线的渗透测试方法。

  附图说明

  为了更清楚地说明本申请实施例的技术方案,下面将对本申请实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。

  图1为本申请实施例一提供的一种基于车内CAN总线的渗透测试方法的流程示意图;

  图2为本申请实施例二提供的一种基于车内CAN总线的渗透测试方法的流程示意图;

  图3为本申请实施例三提供的一种基于车内CAN总线的渗透测试装置的结构示意图;

  图4为本申请实施例三提供的另一种基于车内CAN总线的渗透测试装置的结构示意图;

  图5为本申请实施例四提供的一种基于车内CAN总线的渗透测试系统的系统构架示意图;

  图6是本是实施例提供的一种暴力破解式UDS安全检测方案的流程示意图;

  图7是本是实施例提供的一种已知部分SEED-KEY对信息的UDS安全检测方案的流程示意图;

  图8是本是实施例提供的一种已知算法和秘钥信息的UDS安全检测方案的流程示意图;

  图9是本申请实施例提供的一种基于重放攻击的逆向方案的流程示意图;

  图10是本申请实施例提供的一种基于变化报文分析的逆向方案的流程示意图。

  图标:410-渗透测试装置,420-CAN通信设备,430-待测试车辆。

  具体实施方式

  下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行描述。

  应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。同时,在本申请的描述中,术语“第一”、“第二”等仅用于区分描述,而不能理解为指示或暗示相对重要性。

  实施例1

  请参看图1,图1为本申请实施例提供了一种基于车内CAN总线的渗透测试方法的流程示意图。其中,该基于车内CAN总线的渗透测试方法包括:

  S101、接收针对待测试车辆的渗透测试指令,并根据渗透测试指令确定测试方案。

  本申请实施例中,该方法的执行主体可以为计算机、服务器等计算装置,对此本实施例中不作任何限定。

  本申请实施例中,该方法的执行主体还可以为智能手机、平板电脑等智能设备,对此本实施例中不作任何限定。

  本申请实施例中,当该方法的执行主体为平板电脑时,用户可以通过平板电脑输入渗透测试指令,该渗透测试指令能够触发执行UDS扫描、UDS安全检测、报文分析、模糊测试、泛洪攻击、报文逆向检测、报文收发检测等功能,满足现阶段车联网车内渗透测试的全部需求。

  本申请实施例中,CAN Controller Area Network,控制器局域网络)是一种有效支持分布式控制或实时控制的串行通信网络。

  本申请实施例中,UDS(Unified Diagnostic Services,统一诊断服务)是诊断服务的规范化标准,比如读取故障码应该向ecu发什么指令,读数据流又是发什么指令。UDS可用于有效地调试ECU(Electronic Control Unit,电子控制单元)。因为它是最常用的诊断标准,而且其他大多数诊断协议也都基于它实现。UDS包含一系列强大的命令,例如它允许读取或修改ECU的内存,这可能是攻击者感兴趣的目标。因此,测试人员需要测试哪些诊断功能可能会被滥用或是否采取了应对对策。

  本申请实施例中,UDS扫描功能,即利用UDS协议对待测试车辆的ECU进行扫描,包括ECU支持的ID、服务和子服务进行扫描。

  本申请实施例中,UDS安全检测即基于UDS扫描之后,对扫描出的节点进行不同的测试,包括服务安全性测试、写内存测试、写DID(数据ID)测试、刷新固件测试、seed随机性检测、响应超时限制检测、seed/key尝试次数限制测试等,对此本申请实施例不作限定。

  本申请实施例中,报文分析即对实时收取的CAN报文数据进行分析,包括报文周期分析、报文中计数器分析、报文中校验和分析、报文加密强度分析等,对此本申请实施例不作限定。

  本申请实施例中,模糊测试即对CAN总线随机发送不同报文对待测试车辆进行模糊测试,根据待测试车辆发生的异常现象分析模糊测试引起的报文。

  本申请实施例中,泛洪攻击即采用高优先级的消息ID(0x00)对待测试车辆进行泛洪攻击,根据待测试车辆发生的异常分析锁定泛洪攻击引起的报文。

  本申请实施例中,报文逆向检测,即首先收集对待测试车辆进行各种操作产生的报文数据,然后对这些报文数据进行分析、逆向,最终找到目标消息。

  本申请实施例中,报文收发检测,即对待测试车辆车内CAN总线报文进行可定制化生成,得到定制化CAN报文,然后将定制化CAN报文发送至待测试车辆,包括单条报文发送、多条报文列表发送、定时发送、导入本地CAN报文数据等,报文接收可以对接收到的报文数据进行过滤、计数、报文导出等,对此本申请实施例不作限定。

  在步骤S101之后,还可以包括以下步骤:

  S102、根据测试方案通过预设的CAN通信设备对待测试车辆进行渗透测试,得到CAN总线测试数据。

  本申请实施例中,CAN通信设备与待测试车辆通信连接。具体的,CAN通信设备与待测试车辆430之间通过OBD接口进行通信连接。

  本申请实施例中,渗透测试装置与CAN通信设备进行通信连接,具体可以通过蓝牙、无线局域网、移动通信网络等方式进行通信连接,对此本申请实施例不作限定。

  本申请实施例中,针对待测试车辆的渗透测试指令包括UDS扫描指令、UDS安全检测指令、报文分析指令、模糊测试指令、泛洪攻击检测指令、报文逆向检测指令、报文收发检测指令中的一种或者多种,因此,在接收到渗透测试指令之后,需要根据渗透测试指令确定相应的测试方案。

  举例来说,设接收到的渗透测试指令包括UDS扫描指令和UDS安全检测指令,则根据渗透测试指令确定相应的测试方案包括UDS扫描方案和UDS安全检测方案,相应的,CAN总线测试数据包括UDS扫描数据和UDS安全检测数据。

  具体的,UDS扫描方案包括通过预设的CAN通信设备对待测试车辆进行UDS扫描的处理步骤,根据UDS扫描方案通过预设的CAN通信设备对待测试车辆进行UDS扫描处理之后,得到UDS扫描数据;UDS安全检测方案包括通过预设的CAN通信设备对待测试车辆进行UDS安全检测的处理步骤,根据UDS安全检测方案通过预设的CAN通信设备对待测试车辆进行UDS安全检测处理之后,得到UDS安全检测数据。

  本申请实施例中,CAN通信设备与待测试车辆之间通过OBD(On BoardDiagnostics,车载诊断系统)接口进行通信连接。当该方法的执行主体为平板电脑时,平板电脑与CAN通信设备通信连接,具体可以通过蓝牙、无线局域网、移动通信网络等方式进行通信连接,对此本申请实施例不作限定。

  在步骤S102之后,还可以包括以下步骤:

  S103、根据测试方案对CAN总线测试数据进行数据分析处理,得到渗透测试结果。

  本申请实施例中,不同的渗透测试功能,其相应的数据分析方法不同,因此,在根据测试方案对CAN总线测试数据进行数据分析处理时,先根据渗透测试指令确定相应的数据分析方法,然后采用相应的数据分析方法对CAN总线测试数据进行数据分析处理,得到渗透测试结果。依上述举例来说,在得到UDS扫描数据和UDS安全检测数据之后,则根据渗透测试指令可确定出相应的UDS扫描数据分析方法和UDS安全检测数据分析方法,则采用UDS扫描数据分析方法对UDS扫描数据进行分析处理,得到UDS扫描结果,同时采用UDS安全检测数据分析方法对UDS安全检测数据进行分析处理,得到UDS安全检测结果。

  可见,实施图1所描述的基于车内CAN总线的渗透测试方法,只需要工作人员发送渗透测试指令,就能够简单快速地对车内CAN总线进行渗透测试,不需要人工参与测试操作,也不需要借助其他渗透测试设备,测试步骤简单、测试效率高、准确性高。

  实施例2

  请参看图2,图2为本申请实施例提供的一种基于车内CAN总线的渗透测试方法的流程示意图。如图2所示,其中,该基于车内CAN总线的渗透测试方法包括:

  S201、接收针对待测试车辆的渗透测试指令。

  本申请实施例中,渗透测试指令包括UDS扫描指令、UDS安全检测指令、报文分析指令、模糊测试指令、泛洪攻击检测指令、报文逆向检测指令、报文收发检测指令中的一种或者多种,对此本申请实施例不作限定。

  S202、根据渗透测试指令确定测试方案。

  本申请实施例中,以UDS安全检测指令为例,该UDS安全检测指令对应的测试方案可以为暴力破解式UDS安全检测方案、已知部分SEED-KEY对信息的UDS安全检测方案、已知算法和秘钥信息的UDS安全检测方案等,可以根据实际的待测试车辆的情况进行方案选择,对此本申请实施例不作限定。

  请一并参阅图6、图7和图8,图6是本是实施例提供的一种暴力破解式UDS安全检测方案的流程示意图;图7是本是实施例提供的一种已知部分SEED-KEY对信息的UDS安全检测方案的流程示意图;图8是本是实施例提供的一种已知算法和秘钥信息的UDS安全检测方案的流程示意图。通过图6、图7和图8所示的任一种UDS安全检测方案对待测试车辆进行安全检测,如图6所示,当判断出访问认证通过时,则说明待测试车辆的UDS安全等级较高;如图7所示,发送解锁指令之后,如果解锁成功,则说明待测试车辆的UDS安全等级较高;如图8所示,发送解锁指令之后,如果解锁成功,则说明待测试车辆的UDS安全等级较高。

  本申请实施例中,以报文逆向检测指令为例,该报文逆向检测指令对应的测试方案可以为基于重放攻击的逆向方案、基于变化报文分析的逆向方案等,可以根据待测试车辆的实际情况进行方案选择确定,对此本申请实施例不作限定。

  请一并参阅图9和图10,图9是本申请实施例提供的一种基于重放攻击的逆向方案的流程示意图,图10是本申请实施例提供的一种基于变化报文分析的逆向方案的流程示意图。

  本申请实施例中,通过报文逆向检测指令,能够检测待测试车辆的静止状态和行驶状态,其中静止状态包括车门状态、车灯状态、车窗状态、后备箱状态、天窗状态、转速状态、方向盘状态、速度表状态、油量表状态、雨刷状态等,行驶状态包括车速情况、转速情况、方向盘状态、制动器状态、油量表状态、天窗状态、雨刷状态等,对此本申请实施例不作限定。

  作为一种可选的实施方式,根据渗透测试指令确定测试方案,可以包括以下步骤:

  确定渗透测试指令对应的测试项目信息;

  根据测试项目信息获取针对待测试车辆的测试方案。

  在上述实施方式中,测试项目信息包括与渗透测试指令对应的测试功能信息以及测试功能信息的配置信息。其中,测试功能信息包括针对某一渗透测试指令对应的类型选择信息,配置信息包括针对测试功能信息的预设参数。举例来说,当渗透测试指令包括UDS扫描指令和UDS安全检测指令时,则测试项目信息包括UDS扫描指令的配置信息、UDS扫描指令对应的测试功能信息、UDS安全检测指令的配置信息、UDS安全检测指令对应的测试功能信息。

  在上述实施方式中,用户在输入渗透测试指令时,可以一并选择所需要的测试功能信息。

  在上述实施方式中,UDS扫描指令对应的测试功能信息包括ECU标识扫描功能、ECU服务扫描功能、ECU子服务扫描功能等,对此本申请实施例不做限定。

  在上述实施方式中,UDS安全检测指令对应的测试功能信息包括服务安全性测试功能、写内存测试功能、写DID测试功能、刷新固件测试功能、seed随机性检测功能、响应超时限制检测功能、seed/key尝试次数限制测试功能等,对此本申请实施例不做限定。

  在上述实施方式中,报文分析指令对应的测试功能信息包括报文周期分析功能、报文中计数器分析功能、报文中校验和分析功能、报文加密强度分析功能等,对此本申请实施例不做限定。

  在上述实施方式中,模糊测试指令对应的测试功能信息包括基于变异的模糊测试功能、基于生成的模糊测试功能等,对此本申请实施例不做限定。其中,基于变异的模糊测试通过对已有的数据样本进行变异来创建测试用例;基于生成的模糊测试利用待测试车辆使用的协议或者文件加按摩,基于模型生输入并据此创建测试用例。

  在上述实施方式中,泛洪攻击检测指令对应的测试功能信息包括泛洪攻击功能等,对此本申请实施例不做限定。

  在上述实施方式中,报文逆向检测指令对应的测试功能信息包括报文逆向检测功能等,对此本申请实施例不做限定。

  在上述实施方式中,报文收发检测指令对应的测试功能信息包括单条报文发送功能、多条报文列表发送功能、定时发送功能、导入本地CAN报文数据功能等,该测试功能信息的配置信息包括目标报文信息、定时信息等,对此本申请实施例不做限定。

  在上述实施方式中,配置信息为预先设置并存储,对此本申请实施例不作限定。

  在步骤S202之后,还包括以下步骤:

  S203、根据测试方案通过预设的CAN通信设备对待测试车辆进行渗透测试,得到CAN总线测试数据。

  本申请实施例中,CAN通信设备与待测试车辆通信连接。具体的,CAN通信设备与待测试车辆430之间通过OBD接口进行通信连接。

  本申请实施例中,渗透测试装置与CAN通信设备进行通信连接,具体可以通过蓝牙、无线局域网、移动通信网络等方式进行通信连接,对此本申请实施例不作限定。

  S204、根据测试方案对CAN总线测试数据进行数据分析处理,得到渗透测试结果。

  本申请实施例中,待测试车辆可以根据渗透测试指令包括的各种指令进行不同类别的渗透检测操作,最终得到不同指令对应的测试结果,将不同指令对应的测试结果进行汇总,得到渗透测试结果。

  S205、根据渗透测试结果对待测试车辆的车内CAN总线安全性情况进行评估,得到安全性评估结果。

  本申请实施例中,可以根据预设的评估规则对渗透测试结果进行分析,得到针对待测试车辆的车内CAN总线安全性情况的安全性评估结果。其中,预设的评估规则为预先配置,对此本申请实施例不作限定。

  S206、获取与安全性评估结果相匹配的安全性建议信息。

  本申请实施例中,可以根据预设安全建议数据库获取与安全性评估结果相匹配的安全性建议信息。预设安全建议数据库包括关键词信息以及与关键词信息对应的建议信息。具体地,先从安全性建议信息中确定目标关键词,然后将目标关键词与预设安全建议数据库中的关键词信息进行匹配比较,确定出与目标关键词相匹配的建议信息,进而汇总所有目标关键词相匹配的建议信息,得到安全性建议信息。

  S207、输出安全性评估结果和安全性建议信息。

  可见,实施图2所描述的基于车内CAN总线的渗透测试方法,只需要工作人员发送渗透测试指令,就能够简单快速地对车内CAN总线进行渗透测试,不需要人工参与测试操作,也不需要借助其他渗透测试设备,测试步骤简单、测试效率高、准确性高。

  实施例3

  请参看图3,图3为本申请实施例提供的一种基于车内CAN总线的渗透测试装置的结构示意图。如图3所示,该基于车内CAN总线的渗透测试装置包括:

  接收单元310,用于接收针对待测试车辆的渗透测试指令。

  确定单元320,用于根据渗透测试指令确定测试方案。

  渗透测试单元330,用于根据测试方案通过预设的CAN通信设备对待测试车辆进行渗透测试,得到CAN总线测试数据;其中,CAN通信设备与待测试车辆通信连接。

  分析单元340,用于根据测试方案对CAN总线测试数据进行数据分析处理,得到渗透测试结果。

  请一并参阅图4,图4是本申请实施例提供的另一种基于车内CAN总线的渗透测试装置的结构示意图。其中,图4所示的基于车内CAN总线的渗透测试装置是由图3所示的基于车内CAN总线的渗透测试装置进行优化得到的。如图4所示基于车内CAN总线的渗透测试装置还包括:

  评估单元350,用于在根据测试方案对CAN总线测试数据进行渗透测试处理,得到渗透测试结果之后,根据渗透测试结果对待测试车辆的车内CAN总线安全性情况进行评估,得到安全性评估结果;

  建议获取单元360,用于获取与安全性评估结果相匹配的安全性建议信息;

  输出单元370,用于输出安全性评估结果和安全性建议信息。

  本申请实施例中,渗透测试指令包括UDS扫描指令、UDS安全检测指令、报文分析指令、模糊测试指令、泛洪攻击检测指令、报文逆向检测指令、报文收发检测指令中的一种或者多种。

  作为一种可选的实施方式,确定单元320包括:

  确定子单元321,用于确定渗透测试指令对应的测试项目信息。

  获取子单元322,用于根据测试项目信息获取针对待测试车辆的测试方案。

  在上述实施方式中,测试项目信息包括与渗透测试指令对应的测试功能信息以及测试功能信息的配置信息。

  本申请实施例中,基于车内CAN总线的渗透测试装置具体可以为计算机、智能手机、平板电脑、服务器等,对此本申请实施例不作限定。

  本实施例中,对于基于车内CAN总线的渗透测试装置的解释说明可以参照实施例1或实施例2中的描述,对此本实施例中不再多加赘述。

  可见,实施本实施例所描述的基于车内CAN总线的渗透测试装置,只需要工作人员发送渗透测试指令,就能够简单快速地对车内CAN总线进行渗透测试,不需要人工参与测试操作,也不需要借助其他渗透测试设备,测试步骤简单、测试效率高、准确性高。

  实施例4

  请参看图5,图5为本申请实施例提供的一种基于车内CAN总线的渗透测试系统的系统构架示意图。如图5所示,该基于车内CAN总线的渗透测试系统包括渗透测试装置410、与渗透测试装置410通信连接的至少一个CAN通信设备420以及与每个CAN通信设备420通信连接的待测试车辆430,其中,渗透测试装置410,用于接收针对待测试车辆430的渗透测试指令,并根据渗透测试指令确定测试方案;以及根据测试方案通过每个CAN通信设备420发送渗透测试数据至与该CAN通信连接的待测试车辆430。

  本申请实施例中,渗透测试装置410具体可以为计算机、智能手机、平板电脑、服务器等,对此本申请实施例不作限定。

  本申请实施例中,CAN通信设备420与待测试车辆430之间通过OBD接口进行通信连接。一台待测试车辆430与一台CAN通信设备420进行通信连接。

  本申请实施例中,CAN通信设备420可称为总线硬件盒子,通过OBD接口插在待测试车辆430上,待测试车辆430的OBD接口上包含电源,可直接给总线硬件盒子进行供电。

  本申请实施例中,总线硬件盒子包括主控处理器、外壳、OBD接口、通信模块组成,总线硬件盒子通过OBD接口的OBD公头插在待测试车辆430的OBD母头接口上进行连接。

  本申请实施例中,渗透测试装置410可以同时与多个CAN通信设备420进行通信连接,具体可以通过蓝牙、无线局域网、移动通信网络等方式进行通信连接,对此本申请实施例不作限定。用户可以通过输入通信连接控制指令至渗透测试装置410,以实现渗透测试装置410与总线硬件盒子之间的通信方式选择。

  本申请实施例中,当选择蓝牙连接方式时,由于蓝牙协议的性质(中近程距离速度较小),在中近程距离内对待测试车辆430进行渗透测试。则通过蓝牙实现渗透测试装置410与CAN通信设备420的通信连接,测试人员在通过渗透测试装置410进行近程距离渗透测试时可随时观察待测试车辆430、对待测试车辆430进行机械操作,也可在待测试车辆430近距离行驶过程中通过渗透测试装置410进行渗透测试并实时观察待测试车辆430的测试情况。

  本申请实施例中,当选择无线局域网(wifi)连接方式时,由于wifi协议的性质(近距离流量大速度快),即可实现一台渗透测试装置410与多个CAN通信设备420进行通信连接,进而实现对多台待测试车辆430的渗透测试,测试人员在近距离渗透测试过程中可随时观察车辆、对车辆进行机械操作,测试人员在通过渗透测试装置410进行渗透测试时,还可以在待测试车辆430附近观察待测试车辆430的测试情况。

  本申请实施例中,当选择移动通信网络连接方式时,例如采用4G实现渗透测试装置410与CAN通信设备420的通信连接,由于4G网络协议的性质(远距离流量大速度快),能够实现在远距离的情况下对待测试车辆430的渗透测试。驾驶人员在驾驶车辆的过程中,测试人员通过渗透测试装置410远程对车辆进行渗透测试。

  本申请实施例中,每个待测试车辆430对应一个渗透测试指令,不同的待测试车辆430对应的渗透测试指令可以相同,也可以不同,对此本申请实施例不作限定。

  至少一个CAN通信设备420,用于将渗透测试数据转发至通信连接的待测试车辆430。

  待测试车辆430,用于接收渗透测试数据,并根据渗透测试数据生成CAN总线测试数据。

  至少一个CAN通信设备420,用于获取CAN总线测试数据,并将CAN总线测试数据发送至渗透测试装置410。

  本申请实施例中,为实现一台渗透测试装置410对多台待测试车辆430的渗透测试的效果,接收到的渗透测试指令还包括待测试车辆430的车辆标识,根据渗透测试指令确定的测试方案也包括相应的车辆标识,同时CAN通信设备420获取到的CAN总线测试数据也包括相对应的车辆标识,以实现不同待测试车辆430的渗透测试独立运行,互不干扰,有利于减少人力成本和时间成本,操作便捷,满足特定条件下渗透测试,避免坐在车内进行渗透时发生危险。

  渗透测试装置410,用于根据测试方案对CAN总线测试数据进行数据分析处理,得到每个待测试车辆430的渗透测试结果。

  本申请实施例中,渗透测试装置410可以同时与多个CAN通信设备420进行通信连接,并同时接收并处理多个CAN通信设备420发送的CAN总线测试数据,进而实现同时对多个待测试车辆430的渗透测试,测试方法简单,进一步提升了渗透测试效率。

  本申请实施例中,用户可以通过渗透测试装置410输入相应的渗透测试指令,然后渗透测试装置410输根据渗透测试指令通过CAN通信设备420对待测试车辆430进行渗透测试,得到渗透测试结果,并进行可视化输出。

  本申请实施例中,待测试车辆430可以根据渗透测试指令包括的各种指令进行不同类别的渗透检测操作,最终得到不同指令对应的测试结果,将不同指令对应的测试结果进行汇总,得到渗透测试结果。

  在实际使用中,举例来说,用户在通过渗透测试装置410对待测试车辆430进行渗透测试时,当需要进行UDS扫描时,输入UBS扫描指令(包括打开UDS扫描页面,选择扫描选项,其中扫描选项包括地址扫描、服务扫描等),再点击开始按钮进行扫描(即根据UBS扫描指令确定UBS扫描方案,以及根据UBS扫描方案通过CAN通信设备420发送渗透测试数据至待测试车辆430,并接收CAN总线测试数据,并根据测试方案对CAN总线测试数据进行数据分析处理得到渗透测试结果),然后渗透测试装置410可以对渗透测试结果进行可视化输出,以供用户查看。

  同理,当需要进行UDS安全检测时,输入UBS安全检测指令(包括打开UDS安全检测页面,选择UDS扫描出的地址节点),再点击开始按钮进行检测(即根据UBS安全检测指令确定UBS安全检测方案,以及根据UBS安全检测方案通过CAN通信设备420发送渗透测试数据至待测试车辆430,并接收CAN总线测试数据,并根据测试方案对CAN总线测试数据进行数据分析处理得到渗透测试结果),然后渗透测试装置410可以对渗透测试结果进行可视化输出,以供用户查看。

  同理,当需要进行报文分析时,输入报文分析指令(包括打开报文分析页面,选择分析项,其中分析项包括报文周期分析、报文中计数器分析、报文中校验和分析、报文加密强度分析等),再点击开始按钮进行测试(即根据报文分析指令确定报文分析方案,以及根据报文分析方案通过CAN通信设备420发送渗透测试数据至待测试车辆430,并接收CAN总线测试数据,并根据测试方案对CAN总线测试数据进行数据分析处理得到渗透测试结果),然后渗透测试装置410可以对渗透测试结果进行可视化输出,以供用户查看。

  同理,当需要进行模糊测试时,输入模糊测试指令(即打开模糊测试页面并选择配置项,其中配置项包括ID区间、报文区间、随机配置项等),然后点击开始按钮进行测试,最后渗透测试装置410可以对渗透测试结果进行可视化输出,以供用户查看。

  同理,当需要进行泛洪攻击检测时,输入泛洪攻击检测指令(打开泛洪攻击界面进行选择),然后点击开始按钮进行测试,最后渗透测试装置410可以对渗透测试结果进行可视化输出,以供用户查看。

  同理,当需要进行报文逆向检测时,输入报文逆向检测指令(打开报文逆向检测页面进行选择),然后点击开始按钮进行测试,此时可以根据渗透测试装置410输出的提示信息进行信息输入操作(包括对车辆进行机械操作和对指定工具操作等),最后渗透测试装置410可以对渗透测试结果进行可视化输出,以供用户查看。

  同理,当需要进行报文收发检测时,输入报文收发检测指令(打开报文收发检测页面进行选择,并对测试用报文信息、报文收发信息进行配置),然后点击开始按钮进行测试,最后渗透测试装置410可以对渗透测试结果进行可视化输出,以供用户查看。

  本申请实施例中,通过渗透测试装置410能够实现多种测试功能,功能强大且独立互不干扰,测试人员只需要根据需求通过渗透测试装置410输入相应的渗透检测指令,进而能够对待测试车辆430进行相应的渗透测试,进而得到可视化渗透测试结果。不但能够满足专业的渗透测试人员和安全研究人员的安全研究,而且也能够满足车厂产线安全生产人员和质量检测人员的工作需求。

  本申请实施例中,渗透测试装置410不但能够对车辆功能进行测试,也保障了渗透测试人员的人身安全。

  本实施例中,对于基于车内CAN总线的渗透测试系统的解释说明可以参照实施例1或实施例2中的描述,对此本实施例中不再多加赘述。

  可见,实施图本实施例所描述的基于车内CAN总线的渗透测试系统,只需要工作人员发送渗透测试指令,就能够简单快速地对车内CAN总线进行渗透测试,不需要人工参与测试操作,也不需要借助其他渗透测试设备,测试步骤简单、测试效率高、准确性高。

  本申请实施例提供了一种电子设备,包括存储器以及处理器,所述存储器用于存储计算机程序,所述处理器运行所述计算机程序以使所述电子设备执行本申请实施例1或实施例2中任一项基于车内CAN总线的渗透测试方法。

  本申请实施例提供了一种计算机可读存储介质,其存储有计算机程序指令,所述计算机程序指令被一处理器读取并运行时,执行本申请实施例1或实施例2中任一项基于车内CAN总线的渗透测试方法。

  在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,也可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,附图中的流程图和框图显示了根据本申请的多个实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。

  另外,在本申请各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。

  所述功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。

  以上所述仅为本申请的实施例而已,并不用于限制本申请的保护范围,对于本领域的技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。

  以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应所述以权利要求的保护范围为准。

  需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

《一种基于车内CAN总线的渗透测试方法、装置及系统.doc》
将本文的Word文档下载到电脑,方便收藏和打印
推荐度:
点击下载文档

文档为doc格式(或pdf格式)