CN110348218B - 一种基于车载终端系统的漏洞测试方法及装置 - Google Patents

一种基于车载终端系统的漏洞测试方法及装置 Download PDF

Info

Publication number
CN110348218B
CN110348218B CN201910491614.7A CN201910491614A CN110348218B CN 110348218 B CN110348218 B CN 110348218B CN 201910491614 A CN201910491614 A CN 201910491614A CN 110348218 B CN110348218 B CN 110348218B
Authority
CN
China
Prior art keywords
vulnerability
verification script
vehicle
mounted terminal
information
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201910491614.7A
Other languages
English (en)
Other versions
CN110348218A (zh
Inventor
李政
吴志敏
李承泽
吴昊
范乐君
肖佃艳
王智勇
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
National Computer Network and Information Security Management Center
Original Assignee
National Computer Network and Information Security Management Center
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by National Computer Network and Information Security Management Center filed Critical National Computer Network and Information Security Management Center
Priority to CN201910491614.7A priority Critical patent/CN110348218B/zh
Publication of CN110348218A publication Critical patent/CN110348218A/zh
Application granted granted Critical
Publication of CN110348218B publication Critical patent/CN110348218B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/57Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
    • G06F21/577Assessing vulnerabilities and evaluating computer system security
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/03Indexing scheme relating to G06F21/50, monitoring users, programs or devices to maintain the integrity of platforms
    • G06F2221/034Test or assess a computer or a system

Abstract

本发明提供了一种基于车载终端系统的漏洞测试方法及装置,具体包括:A、获取待测车载终端系统的系统架构;B、获取漏洞验证脚本库的漏洞验证脚本编号及对应的漏洞验证脚本执行环境信息;还获取包含各种漏洞验证脚本执行结果的漏洞验证脚本执行结果信息;C、根据漏洞验证脚本执行环境信息进行测试环境准备;所述漏洞验证脚本执行环境信息包括是否需要获取root权限、脚本执行终端目录、是否需要赋予执行权限;D、根据漏洞验证脚本编号加载相应系统架构下的漏洞验证脚本文件;E、执行所述漏洞验证脚本文件得到相应漏洞验证脚本执行结果,并与漏洞验证脚本执行结果信息作对比获取漏洞检测结果,将所述漏洞检测结果保存到漏洞检测结果信息库。采用本发明能够准确触发漏洞,对漏洞进行检测。

Description

一种基于车载终端系统的漏洞测试方法及装置
技术领域
本发明涉及互联网信息技术领域,特别涉及一种基于车载终端系统的漏洞测试方法及装置。
背景技术
车联网时代,汽车通过车载终端系统可以与智能终端、互联网等进行连接,实现娱乐、导航、交通信息等服务。汽车终端系统常采用嵌入式Linux、QNX、Android等作为操作系统,目前主流的汽车终端系统主要是厂商基于Android操作系统进行定制化开发的。所以针对汽车终端安全检测方法可以参考针对Android系统漏洞检测的方法。
国内目前比较常见的系统漏洞自动化测试工具有:VTS、X-Ray。
Android VTS
2015年末,NowSecure发布了一个Android漏洞测试套件Android VTS,AndroidVTS根据漏洞缺陷清单,扫描用户的设备,进行漏洞检测。通过Android VTS,用户可以检测手机中是否存在漏洞或缺陷,以及手机生产商和运营商是否有最新的补丁发布。
X-Ray
X-Ray可以检测Android设备中未修复的漏洞,X-Ray详细了解了一类被称为“特权升级”的漏洞。恶意应用程序可利用此类漏洞获取设备上的root权限,并执行通常受Android操作系统限制的操作。经调研X-Ray工具的检测原理是组织了一些漏洞PoC,遍历执行PoC脚本,然后回收漏洞触发结果。
国外漏洞检测产品比国内丰富许多,比较主流的有Nessus和Belarc SecurityAdvisor。
Nessus
Nessus能够对大多数主流操作系统进行漏洞扫描。Nessus检测Android系统漏洞时不需要安装到手机,从另一个角度讲Nessus进行Android系统漏洞扫描时需要借助PC。
Belarc Security Advisor
Belarc Security Advisor是专门针对Android系统设计的漏洞扫描工具,BelarcSecurity Advisor可以检测多个系统和预装应用层面的漏洞,并快速返回扫描结果。
根据以上说明可以看出,现有技术存在以下问题:
目前国内主流的Android系统漏洞自动化测试工具均存在在较高的操作系统版本上兼容性差以及运行过程不稳定的问题;这两个工具中涵盖的漏洞数量十分少,并且不利于扩展,检测信息十分有限。国外的漏洞检测工具虽然可以达到漏洞检测的目的,但是Android系统的碎片化问题非常严重,导致检测结果存在很大的误差。
除此之外这些工具由于只是针对Android系统进行的漏洞检测,并没有考虑到车载终端系统的特殊性,所以并不完全适用于车载终端系统的漏洞检测。
发明内容
本发明的目的在于提供了一种基于车载终端系统的漏洞测试方法及装置,能够准确触发漏洞,对漏洞进行检测。
本发明实施例提供了一种基于车载终端系统的漏洞测试方法,该方法包括:
A、获取待测车载终端系统的系统架构;
B、获取漏洞验证脚本库的漏洞验证脚本编号及对应的漏洞验证脚本执行环境信息;还获取包含各种漏洞验证脚本执行结果的漏洞验证脚本执行结果信息;
C、根据漏洞验证脚本执行环境信息进行测试环境准备;所述漏洞验证脚本执行环境信息包括是否需要获取根权限、脚本执行终端目录、是否需要赋予执行权限;
D、根据漏洞验证脚本编号加载相应系统架构下的漏洞验证脚本文件;
E、执行所述漏洞验证脚本文件得到相应漏洞验证脚本执行结果,并与漏洞验证脚本执行结果信息作对比获取漏洞检测结果,将所述漏洞检测结果保存到漏洞检测结果信息库。
本发明实施例还提供了一种基于车载终端系统的漏洞测试装置,该装置包括:
设备管理模块,获取待测车载终端系统的系统架构;
测试模块,获取漏洞验证脚本库的漏洞验证脚本编号及对应的漏洞验证脚本执行环境信息;还获取包含各种漏洞验证脚本执行结果的漏洞验证脚本执行结果信息;根据漏洞验证脚本执行环境信息进行测试环境准备;所述漏洞验证脚本执行环境信息包括是否需要获取根权限、脚本执行终端目录、是否需要赋予执行权限;根据漏洞验证脚本编号加载相应系统架构下的漏洞验证脚本文件;执行所述漏洞验证脚本文件得到相应漏洞验证脚本执行结果,并与漏洞验证脚本执行结果信息作对比获取漏洞检测结果,将所述漏洞检测结果保存到漏洞检测结果信息库。
本发明提供的基于车载终端系统的漏洞测试方法及装置,针对每一个漏洞设计的脚本以及脚本执行环境,所以可以准确触发漏洞,对漏洞进行检测。
附图说明
图1为本发明实施例一种基于车载终端系统的漏洞测试方法流程示意图。
图2为本发明实施例一种基于车载终端系统的漏洞测试装置结构示意图。
具体实施方式
为使本发明的目的、技术方案及优点更加清楚明白,以下参照附图并举实施例,对本发明所述方案作进一步地详细说明。
现有技术中都是针对操作系统进行的漏洞检测,并没有考虑到车载终端系统的特殊性。因此,本发明提供了一种基于车载终端系统的漏洞测试方法及装置,针对车载终端系统的每一个漏洞设计的脚本以及脚本执行环境,所以可以准确触发漏洞,对漏洞进行检测。
在一个实施例中,
本发明实施例提供的一种基于车载终端系统的漏洞测试方法流程示意图如图1所示,
首先介绍一下本发明的漏洞库是如何构建的:预先收集各车载终端系统与所采用操作系统通用的漏洞信息,以及各车载终端系统特有的漏洞信息;根据收集的漏洞信息建立漏洞库,所述漏洞库包括漏洞基本信息库、系统版本漏洞库、漏洞验证脚本库;
所述漏洞基本信息库包括:漏洞编号、漏洞描述、漏洞风险等级、漏洞类型、漏洞位置;
所述系统版本漏洞库包括:漏洞编号、漏洞名称、漏洞描述、操作系统版本;
所述漏洞验证脚本库包括:漏洞验证脚本编号、漏洞编号、漏洞验证脚本执行环境信息、漏洞验证脚本执行结果信息。
根据上述描述,该漏洞库中除了与操作系统通用的漏洞信息之外还有自主挖掘的针对车载终端系统特性的专有漏洞信息,不但可以检测出常见的通用漏洞,还可以检测出车载终端系统特有的漏洞。所以该车载终端系统漏洞自动化测试方法可以帮助用户或者厂商及时发现车载终端系统中存在的漏洞。另一方面,针对车载终端系统的每一个漏洞设计的脚本以及脚本执行环境,因此该漏洞库具有良好的扩展性以及非常方便管理。
该方法包括:
步骤11、获取待测车载终端系统的系统架构。
每一个操作系统平台有很多系统架构,不同的系统架构支持不同的指令集。车载终端系统的系统架构根据所采用的操作系统的系统架构而确定。同一漏洞验证脚本编号在不同架构下对应不同的漏洞验证脚本文件。
步骤12、获取漏洞验证脚本库的漏洞验证脚本编号及对应的漏洞验证脚本执行环境信息;还获取包含各种漏洞验证脚本执行结果的漏洞验证脚本执行结果信息。
本发明针对每一漏洞设计相应的漏洞验证脚本和漏洞验证脚本执行环境。不同的漏洞对应的漏洞验证脚本和漏洞验证脚本执行环境不同。漏洞验证脚本执行结果信息包含各种漏洞验证脚本执行结果。
步骤13、根据漏洞验证脚本执行环境信息进行测试环境准备;所述漏洞验证脚本执行环境信息包括是否需要获取根(root)权限、脚本执行终端目录、是否需要赋予执行权限。
root权限,系统权限的一种,也叫根权限,与SYSTEM权限可以理解成一个概念,但高于Administrator权限,root是Linux和unix系统中的超级管理员用户帐户,该帐户拥有整个系统至高无上的权力,所有对象他都可以操作。获得root权限之后就意味着已经获得了系统的最高权限,这时候你可以对系统中的任何文件(包括系统文件)执行所有增、删、改、查的操作。
步骤14、根据漏洞验证脚本编号加载相应系统架构下的漏洞验证脚本文件。
正是由于在步骤11中获取了待测车载终端系统的系统架构,所以才可以准确找到相应系统架构下的漏洞验证脚本文件。
步骤15、执行所述漏洞验证脚本文件得到相应漏洞验证脚本执行结果,并与漏洞验证脚本执行结果信息作对比获取漏洞检测结果,将所述漏洞检测结果保存到漏洞检测结果信息库。
这里,漏洞检测结果信息库也是漏洞库的一部分,该漏洞检测结果信息库的内容是在漏洞测试完成后保存进去的。对漏洞触发过程进行监控的监控结果也是后续保存进去的。
至此完成了本发明实施例的漏洞测试方法。本发明基于待测车载终端系统的设备信息例如系统架构,进行漏洞验证脚本的加载,并且根据各漏洞验证脚本执行环境信息进行测试环境准备,从而保证了漏洞测试的兼容性及准确性。
优选地,在加载漏洞验证脚本文件之后,执行所述漏洞验证脚本文件之前,该方法进一步包括:对漏洞触发过程进行监控,监控漏洞触发过程的关键应用程序接口(API)调用,以获取漏洞触发路径信息;并将监控结果存入漏洞检测结果信息库。通过该方案使得检测结果十分详细全面。
优选地,在测试过程中,对待测车载终端系统进行状态监控,确保漏洞测试的稳定性:
当监控到待测车载终端系统接入时,获取的待测车载终端系统信息包括系统架构和系统版本号;
当监控到待测车载终端系统断开连接或者待测车载终端系统状态改变时进行设备恢复,如果在进行设备恢复后设备仍然未恢复到连接可用状态,则确认待测车载终端系统恢复失败并中断漏洞测试过程。
优选地,在执行所述漏洞验证脚本文件结束后,该方法进一步包括:根据待测车载终端系统状态进行设备恢复,在设备恢复后,重复执行步骤12至15进行下一个漏洞测试过程。进一步保证了漏洞测试的稳定性。
优选地,本发明在获取待测车载终端系统的系统架构时,还获取待测车载终端系统的系统版本号,该方法进一步包括:根据待测车载终端系统的系统版本号进行系统版本漏洞测试,获取系统版本漏洞库中相应的漏洞信息。据此方案,可以直接读取系统版本漏洞库中相应的漏洞列表,用于后续与本发明真实的漏洞测试结果进行对比。
优选地,将漏洞检测结果信息库中保存的各漏洞检测结果与进行系统版本漏洞测试获取的各漏洞信息,基于同一漏洞进行对比保存,并结合漏洞基本信息库中相应漏洞信息生成检测报告。所述检测报告用于提供给用户进行查阅。
在另一个实施例中,
基于相同的发明构思,本发明实施例还提供了一种基于车载终端系统的漏洞测试装置,结构示意图如图2所示,该装置包括:
设备管理模块201,获取待测车载终端系统的系统架构;
测试模块202,获取漏洞验证脚本库的漏洞验证脚本编号及对应的漏洞验证脚本执行环境信息;还获取包含各种漏洞验证脚本执行结果的漏洞验证脚本执行结果信息;根据漏洞验证脚本执行环境信息进行测试环境准备;所述漏洞验证脚本执行环境信息包括是否需要获取root权限、脚本执行终端目录、是否需要赋予执行权限;根据漏洞验证脚本编号加载相应系统架构下的漏洞验证脚本文件;执行所述漏洞验证脚本文件得到相应漏洞验证脚本执行结果,并与漏洞验证脚本执行结果信息作对比获取漏洞检测结果,将所述漏洞检测结果保存到漏洞检测结果信息库。
该装置还包括漏洞库构建模块200,预先收集各车载终端系统与所采用操作系统通用的漏洞信息,以及各车载终端系统特有的漏洞信息;根据收集的漏洞信息建立漏洞库,所述漏洞库包括漏洞基本信息库、系统版本漏洞库、漏洞验证脚本库;
所述漏洞基本信息库包括:漏洞编号、漏洞描述、漏洞风险等级、漏洞类型、漏洞位置;
所述系统版本漏洞库包括:漏洞编号、漏洞名称、漏洞描述、操作系统版本;
所述漏洞验证脚本库包括:漏洞验证脚本编号、漏洞编号、漏洞验证脚本执行环境信息、漏洞验证脚本执行结果信息。
设备管理模块201获取待测车载终端系统的系统架构时,还获取待测车载终端系统的系统版本号;
测试模块202,还用于根据待测车载终端系统的系统版本号进行系统版本漏洞测试,获取系统版本漏洞库中相应的漏洞信息。
该装置还包括漏洞触发过程监控模块203,用于在加载漏洞验证脚本文件之后,执行所述漏洞验证脚本文件之前,对漏洞触发过程进行监控,监控漏洞触发过程的关键API调用,以获取漏洞触发路径信息;并将监控结果存入漏洞检测结果信息库。
设备管理模块201还用于:在测试过程中,对待测车载终端系统进行状态监控;
当监控到待测车载终端系统接入时,获取的待测车载终端系统信息包括系统架构和系统版本号;
当监控到待测车载终端系统断开连接或者待测车载终端系统状态改变时进行设备恢复,如果在进行设备恢复后设备仍然未恢复到连接可用状态,则确认待测车载终端系统恢复失败并中断漏洞测试过程。
设备管理模块201还用于:在执行所述漏洞验证脚本文件结束后,根据待测车载终端系统状态进行设备恢复,在设备恢复后,进行下一个漏洞测试过程。
该装置还包括漏洞检测报告生成模块204,用于将漏洞检测结果信息库中保存的各漏洞检测结果与进行系统版本漏洞测试获取的各漏洞信息,基于同一漏洞进行对比保存,并结合漏洞基本信息库中相应漏洞信息生成检测报告。
在另一个实施例中,下面进行具体场景全面说明。本实施例中车载终端系统采用的操作系统为Android系统。
1、漏洞库构建模块主要用于漏洞的收集以及漏洞库的构建。
1)车载终端系统漏洞收集
针对车载终端系统与Android系统中通用的漏洞进行收集整理。通过两种方式进行收集:一方面从Android系统标准漏洞库进行收集,主要包括:CVE漏洞库、国家信息安全漏洞库;另一方面是从互联网搜集一些漏洞信息,包括Google每月安全公告、车载终端系统安全报告、Android系统漏洞发布论坛等。
针对车载终端系统特性的漏洞收集,车载终端系统与Android系统的区别主要是厂商在系统底层提供了一些特殊的驱动或者服务,扩展其原本的功能,使其可以实现与车机交互。本发明主要通过提取车机操作系统的固件,对其进行逆向或者采用Fuzz、渗透测试等技术进行自主挖掘漏洞,并对挖掘出来的漏洞的原因、漏洞类型等信息进行深入探索,最后构造可以触发漏洞的验证代码,进而进行漏洞检测。
通过上述收集的漏洞信息用于后续通过整理构建漏洞基本信息库。另外,还可以收集不同操作系统版本的漏洞构建系统版本漏洞库。
2)车载终端系统漏洞库的构建
本发明实施例车载终端系统漏洞库中主要包含:漏洞基本信息库、漏洞验证脚本库、系统版本漏洞库、漏洞检测结果信息库。其中,漏洞基本信息库、漏洞验证脚本库、系统版本漏洞库是预先建立的,漏洞检测结果信息库是根据结果存入的。
(1)漏洞基本信息库中的主要内容是:漏洞编号、漏洞描述、漏洞风险等级、漏洞类型、漏洞位置。
漏洞编号:漏洞编号主要根据漏洞的cve编号来设置,若不是标准漏洞库中的漏洞,则将该漏洞以bug开头进行编号。
漏洞描述:描述一个漏洞的详细信息。
漏洞风险等级:描述一个漏洞所造成的风险,分为“高、中、低”三个等级。
漏洞类型:将漏洞分为五类,分别为:远程代码执行(RCE)、提权(EoP)、信息披露(ID)、拒绝服务(DoS)、没有分类(N/A)。
漏洞位置:记录漏洞所在车载终端系统中的位置,例如:XX服务、XX组件、XX驱动等。
(2)系统版本漏洞库主要是记录目前已发布的Android系统版本中存在的漏洞,用于与漏洞自动化测试结果做对比。主要内容:漏洞编号、漏洞名称、漏洞描述、Android系统版本。
漏洞编号:即漏洞CVE编号。
漏洞名称:漏洞的名称。
漏洞描述:描述漏洞内容的一段信息。
Android系统版本:记录该条漏洞属于哪个系统版本。
(3)漏洞验证脚本库的主要内容是:漏洞验证脚本编号、漏洞编号、漏洞验证脚本执行环境信息、漏洞触发脚本执行结果信息。
漏洞验证脚本编号:漏洞收集阶段中的漏洞PoC经过(NDK,Native DevelopmentKit)可以编译为可以在Android平台上执行的漏洞验证脚本文件,该脚本文件以漏洞验证脚本编号命名,按照不同的系统架构分别存储于项目相应系统架构脚本文件目录下。漏洞库中需要记录验证脚本编号,以便在测试中加载相应的脚本文件。其中,NDK提供了一系列的工具,帮助开发者快速开发C(或C++)的动态库,并能自动将so和java应用一起打包成apk。
漏洞编号:此表的漏洞编号与漏洞基本信息库的漏洞编号一一对应,使得两个漏洞库相关联。
漏洞验证脚本执行环境信息:每个漏洞验证脚本都有相应的执行环境要求,主要包括:是否需要设备root、脚本执行终端目录、是否需要赋予执行权限。
漏洞验证脚本执行结果信息:描述漏洞验证脚本执行后的返回值信息,以及各种返回值所代表的意义。例如以如下方式组织:1:Vulnerable;0:Not Vulnerable;-1:Error(返回值为1代表存在该漏洞,返回值为0代表不存在该漏洞,返回值为-1代表执行出现错误)。
(4)漏洞检测结果信息库的主要内容是:漏洞编号、设备号、检测结果、漏洞触发过程监控信息。
漏洞编号:此表的漏洞编号与漏洞基本信息库的漏洞编号一一对应,使得两个漏洞库相关联。
设备号:代表该条漏洞的检测结果对应的设备,可以唯一标识一个设备,一般以设备序列号作为设备号。
检测结果:保存该条漏洞的检测结果,即是否存在漏洞。
漏洞触发过程监控信息:漏洞触发过程中记录的系统调用信息,可以显示漏洞触发路径信息。
通过利用mysql建立车载终端系统漏洞库,实现对漏洞更加方便地管理。除此之外将漏洞测试过程中的共性抽象出来,存放在漏洞库中,可以在进行漏洞扩充的同时不需要修改系统检测流程,进而使系统扩展性更好。
2、车载终端系统漏洞测试
1)设备管理模块
设备管理模块包括设备基本信息管理、设备状态监控、设备恢复措施管理。
设备基本信息管理:由于自动化测试过程需要根据不同的系统版本识别该系统版本中可能存在的漏洞,根据系统架构选择相应的漏洞验证脚本进行漏洞验证,所以需要对设备的基本信息进行识别并管理。设备的基本信息包括:内核版本、设备架构、SDK版本、设备厂商、系统版本。本发明中的设备指的是是车载终端系统。
设备状态监控:利用ddmlib实现对设备的监控,通过实现ddmlib中的设备状态监控接口,进而可以实现对设备的接入、设备状态改变、设备断开连接三种状态的监控。通过ddmlib工具可以与设备进行各种通信。
设备恢复措施管理:根据设备的不同状态进行相应的恢复措施。通过对设备状态监控以及设备恢复措施的执行保证了自动化测试过程中的稳定性以及不间断性。主要恢复措施分为三个步骤:
a)等待一段时间,由于设备有可能进入了重启状态,所以等待一段时间使设备自行恢复。
如果设备在预定时间后没有自行恢复,则判断设备通过哪种命令进行重启:
b)判断设备是否可以直接通过adb命令重启,如果可以则执行重启命令。
如果设备不可以直接通过adb命令重启,则,
c)判断是否进入fastboot模式,设备如果进入fastboot模式,无法通过adb识别,所以此时需要通过fastboot命令识别,并进行重启。
如果经过以上步骤设备还未恢复到连接可用状态则中断检测过程,提示用户设备已断线,状态恢复失败。
2)测试模块主要用于完成系统版本漏洞测试任务和漏洞验证脚本测试任务。
其中,系统版本漏洞测试任务是根据待测车载终端系统版本号直接读取系统版本漏洞库中相应的漏洞列表,直接将该系统版本可能存在的漏洞信息保存。
其中,漏洞验证脚本测试任务主要是利用漏洞验证脚本库中的漏洞验证脚本对待测车载终端系统进行漏洞触发。
a)由于漏洞验证脚本执行需要执行环境准备,所以漏洞触发之前需要根据漏洞验证脚本执行环境信息进行环境准备,一般包括使设备root、加载与设备系统架构一致的漏洞验证脚本文件、将脚本文件放置在设备/data目录下、赋予可执行权限等。
b)漏洞验证脚本执行后,将漏洞验证脚本执行结果与漏洞验证脚本执行结果信息进行对比即可判断漏洞点存在与否,得到漏洞触发结果。
c)将漏洞触发结果录入漏洞检测结果信息库,以便生成检测报告。
3)漏洞触发过程监控模块
在漏洞触发过程中同时会进行待测车载终端系统调用信息监控。由于监控整个待测车载终端系统的API调用,最终的监控信息是巨大的,针对其进行分析是不切实际的,所以首先研究不同种类的漏洞触发过程,整理触发过程中关键API特点,只关注特定关键API的调用,从而可以实现漏洞触发过程记录。将漏洞触发过程中监控的特定API调用序列存入漏洞检测结果信息库。
通过对漏洞触发过程进行监控,构造漏洞触发路径信息,使得检测结果更加丰富全面。
3、漏洞检测报告生成模块
根据漏洞检测结果信息库和系统版本漏洞测试任务结果,再结合漏洞基本信息库,生成Json格式的检测报告。
在另一个实施例中,对本发明漏洞测试装置具体操作过程进行详细说明。
1)用户将待测Android车载终端系统连接到本发明漏洞测试装置后,此漏洞测试装置开始工作。
2)启动漏洞测试装置的设备管理模块,获取设备信息包括系统架构,并且对待测车载终端系统进行状态监控。
3)与漏洞库建立连接。
4)通过测试模块进行漏洞验证脚本测试任务
a)读取漏洞验证脚本库信息,获得漏洞验证脚本信息;
b)根据漏洞验证脚本执行环境信息进行测试环境准备;
c)根据漏洞验证脚本编号以及系统架构加载漏洞验证脚本文件;
d)启动漏洞触发过程监控模块;
e)执行漏洞验证脚本文件获取执行结果,然后关闭触发过程监控模块;
f)将执行结果以及监控信息存入漏洞检测结果信息库;
g)每个漏洞验证脚本执行结束后均需重新判断设备状态,并根据设备状态执行相应的恢复措施,开始下一个漏洞测试过程。
5)遍历每一个漏洞,漏洞测试全部完成后,漏洞检测报告生成模块,从漏洞库中的漏洞基本信息库读取漏洞基本信息,并结合漏洞测试结果信息进行整理输出检测报告,提供给用户查阅。
综上,本发明实施例的有益效果是,
一、车载终端系统漏洞库
通过收集车载终端系统与操作系统中通用的漏洞、车载终端系统特性的漏洞以及不同操作系统版本的漏洞建立车载终端系统漏洞库,该漏洞库信息全面并且维护方便、可扩展性强。
二、车载终端设备管理方法
利用ddmlib实现车载终端设备管理,一方面可以很方便地获取设备信息,一方面可以不断监控连入测试系统中的设备状态,另一方面可以根据设备状态执行设备恢复策略,保证测试过程不间断并且平稳地进行。
三、车载终端系统漏洞触发过程监控方法
通过研究不同种类的漏洞触发过程,整理触发过程中关键系统调用特点;然后在系统漏洞触发过程中只监控特定关键API的调用,降低监控过程中的系统开销;最后将监控到的关键API调用根据前后关系整理入库。由此可以提供更加全面详细的漏洞测试信息。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。

Claims (12)

1.一种基于车载终端系统的漏洞测试方法,其特征在于,该方法包括:
A、获取待测车载终端系统的系统架构;
B、获取漏洞验证脚本库的漏洞验证脚本编号及对应的漏洞验证脚本执行环境信息;还获取包含各种漏洞验证脚本执行结果的漏洞验证脚本执行结果信息;
C、根据漏洞验证脚本执行环境信息进行测试环境准备;所述漏洞验证脚本执行环境信息包括是否需要获取根权限、脚本执行终端目录、是否需要赋予执行权限;
D、根据漏洞验证脚本编号加载相应系统架构下的漏洞验证脚本文件;
E、执行所述漏洞验证脚本文件得到相应漏洞验证脚本执行结果,并与漏洞验证脚本执行结果信息作对比获取漏洞检测结果,将所述漏洞检测结果保存到漏洞检测结果信息库;
在加载漏洞验证脚本文件之后,执行所述漏洞验证脚本文件之前,该方法进一步包括:对漏洞触发过程进行监控,监控漏洞触发过程的关键应用程序接口API调用,以获取漏洞触发路径信息;并将监控结果存入漏洞检测结果信息库。
2.如权利要求1所述的方法,其特征在于,在步骤A之前,该方法进一步包括:预先收集各车载终端系统与所采用操作系统通用的漏洞信息,以及各车载终端系统特有的漏洞信息;根据收集的漏洞信息建立漏洞库,所述漏洞库包括漏洞基本信息库、系统版本漏洞库、漏洞验证脚本库;
所述漏洞基本信息库包括:漏洞编号、漏洞描述、漏洞风险等级、漏洞类型、漏洞位置;
所述系统版本漏洞库包括:漏洞编号、漏洞名称、漏洞描述、操作系统版本;
所述漏洞验证脚本库包括:漏洞验证脚本编号、漏洞编号、漏洞验证脚本执行环境信息、漏洞验证脚本执行结果信息。
3.如权利要求1所述的方法,其特征在于,获取待测车载终端系统的系统架构时,还获取待测车载终端系统的系统版本号,该方法进一步包括:
根据待测车载终端系统的系统版本号进行系统版本漏洞测试,获取系统版本漏洞库中相应的漏洞信息。
4.如权利要求1所述的方法,其特征在于,该方法进一步包括:在测试过程中,对待测车载终端系统进行状态监控;
当监控到待测车载终端系统接入时,获取的待测车载终端系统信息包括系统架构和系统版本号;
当监控到待测车载终端系统断开连接或者待测车载终端系统状态改变时进行设备恢复,如果在进行设备恢复后设备仍然未恢复到连接可用状态,则确认待测车载终端系统恢复失败并中断漏洞测试过程。
5.如权利要求1所述的方法,其特征在于,执行所述漏洞验证脚本文件结束后,该方法进一步包括:根据待测车载终端系统状态进行设备恢复,在设备恢复后,重复执行步骤B至E进行下一个漏洞测试过程。
6.如权利要求3所述的方法,其特征在于,将漏洞检测结果信息库中保存的各漏洞检测结果与进行系统版本漏洞测试获取的各漏洞信息,基于同一漏洞进行对比保存,并结合漏洞基本信息库中相应漏洞信息生成检测报告。
7.一种基于车载终端系统的漏洞测试装置,其特征在于,该装置包括:
设备管理模块,获取待测车载终端系统的系统架构;
测试模块,获取漏洞验证脚本库的漏洞验证脚本编号及对应的漏洞验证脚本执行环境信息;还获取包含各种漏洞验证脚本执行结果的漏洞验证脚本执行结果信息;根据漏洞验证脚本执行环境信息进行测试环境准备;所述漏洞验证脚本执行环境信息包括是否需要获取根权限、脚本执行终端目录、是否需要赋予执行权限;根据漏洞验证脚本编号加载相应系统架构下的漏洞验证脚本文件;执行所述漏洞验证脚本文件得到相应漏洞验证脚本执行结果,并与漏洞验证脚本执行结果信息作对比获取漏洞检测结果,将所述漏洞检测结果保存到漏洞检测结果信息库;
该装置还包括漏洞触发过程监控模块,用于在加载漏洞验证脚本文件之后,执行所述漏洞验证脚本文件之前,对漏洞触发过程进行监控,监控漏洞触发过程的关键应用程序接口API调用,以获取漏洞触发路径信息;并将监控结果存入漏洞检测结果信息库。
8.如权利要求7所述的装置,其特征在于,该装置还包括漏洞库构建模块,预先收集各车载终端系统与所采用操作系统通用的漏洞信息,以及各车载终端系统特有的漏洞信息;根据收集的漏洞信息建立漏洞库,所述漏洞库包括漏洞基本信息库、系统版本漏洞库、漏洞验证脚本库;
所述漏洞基本信息库包括:漏洞编号、漏洞描述、漏洞风险等级、漏洞类型、漏洞位置;
所述系统版本漏洞库包括:漏洞编号、漏洞名称、漏洞描述、操作系统版本;
所述漏洞验证脚本库包括:漏洞验证脚本编号、漏洞编号、漏洞验证脚本执行环境信息、漏洞验证脚本执行结果信息。
9.如权利要求7所述的装置,其特征在于,设备管理模块获取待测车载终端系统的系统架构时,还获取待测车载终端系统的系统版本号;
测试模块,还用于根据待测车载终端系统的系统版本号进行系统版本漏洞测试,获取系统版本漏洞库中相应的漏洞信息。
10.如权利要求7所述的装置,其特征在于,设备管理模块还用于:在测试过程中,对待测车载终端系统进行状态监控;
当监控到待测车载终端系统接入时,获取的待测车载终端系统信息包括系统架构和系统版本号;
当监控到待测车载终端系统断开连接或者待测车载终端系统状态改变时进行设备恢复,如果在进行设备恢复后设备仍然未恢复到连接可用状态,则确认待测车载终端系统恢复失败并中断漏洞测试过程。
11.如权利要求7所述的装置,其特征在于,设备管理模块还用于:在执行所述漏洞验证脚本文件结束后,根据待测车载终端系统状态进行设备恢复,在设备恢复后,进行下一个漏洞测试过程。
12.如权利要求9所述的装置,其特征在于,该装置还包括漏洞检测报告生成模块,用于将漏洞检测结果信息库中保存的各漏洞检测结果与进行系统版本漏洞测试获取的各漏洞信息,基于同一漏洞进行对比保存,并结合漏洞基本信息库中相应漏洞信息生成检测报告。
CN201910491614.7A 2019-06-06 2019-06-06 一种基于车载终端系统的漏洞测试方法及装置 Active CN110348218B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910491614.7A CN110348218B (zh) 2019-06-06 2019-06-06 一种基于车载终端系统的漏洞测试方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910491614.7A CN110348218B (zh) 2019-06-06 2019-06-06 一种基于车载终端系统的漏洞测试方法及装置

Publications (2)

Publication Number Publication Date
CN110348218A CN110348218A (zh) 2019-10-18
CN110348218B true CN110348218B (zh) 2021-10-01

Family

ID=68181585

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910491614.7A Active CN110348218B (zh) 2019-06-06 2019-06-06 一种基于车载终端系统的漏洞测试方法及装置

Country Status (1)

Country Link
CN (1) CN110348218B (zh)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112035154B (zh) * 2020-08-13 2023-12-01 上海帆一尚行科技有限公司 一种修复车载终端内核的方法、装置和电子设备
CN112286826B (zh) * 2020-11-25 2024-04-09 惠州Tcl移动通信有限公司 一种vts测试方法、装置、存储介质及计算机设备
CN113051168A (zh) * 2021-03-31 2021-06-29 中汽研汽车检验中心(天津)有限公司 一种车载信息交互系统数据存储信息安全测试系统及方法
CN113438225B (zh) * 2021-06-23 2023-04-07 江苏智能网联汽车创新中心有限公司 一种车载终端漏洞检测方法、系统、设备及存储介质
CN113486358B (zh) * 2021-07-09 2023-06-02 建信金融科技有限责任公司 一种漏洞检测方法及装置
CN115243058A (zh) * 2022-05-23 2022-10-25 广州播丫科技有限公司 一种可实现远程直播的直播机及其工作方法
CN115967547A (zh) * 2022-12-02 2023-04-14 广东为辰信息科技有限公司 基于本地连接车载信息交互系统的漏洞扫描方法及系统
CN117574392A (zh) * 2024-01-16 2024-02-20 北京云驰未来科技有限公司 一种车载系统的安全监测方法、系统、设备及存储介质

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104077531A (zh) * 2014-06-05 2014-10-01 中标软件有限公司 基于开放漏洞评估语言的系统漏洞评估方法、装置和系统
CN104363236A (zh) * 2014-11-21 2015-02-18 西安邮电大学 一种自动化漏洞验证的方法
CN106828362A (zh) * 2017-02-20 2017-06-13 北京奇虎科技有限公司 汽车信息的安全测试方法及装置
CN107273748A (zh) * 2017-05-23 2017-10-20 成都联宇云安科技有限公司 一种基于漏洞poc实现安卓系统漏洞检测的方法
CN109145579A (zh) * 2018-08-18 2019-01-04 北京航空航天大学 智能网联汽车信息安全认证测试方法和系统
CN109325351A (zh) * 2018-08-23 2019-02-12 中通服咨询设计研究院有限公司 一种基于众测平台的安全漏洞自动化验证系统
CN109766697A (zh) * 2018-12-29 2019-05-17 武汉烽火技术服务有限公司 应用于Linux系统的漏洞扫描方法、存储介质、设备及系统

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103023710B (zh) * 2011-09-21 2016-06-08 阿里巴巴集团控股有限公司 一种安全测试系统和方法
US11074360B2 (en) * 2017-01-05 2021-07-27 Revivermax, Inc. User controlled access to vehicle relevant information

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104077531A (zh) * 2014-06-05 2014-10-01 中标软件有限公司 基于开放漏洞评估语言的系统漏洞评估方法、装置和系统
CN104363236A (zh) * 2014-11-21 2015-02-18 西安邮电大学 一种自动化漏洞验证的方法
CN106828362A (zh) * 2017-02-20 2017-06-13 北京奇虎科技有限公司 汽车信息的安全测试方法及装置
CN107273748A (zh) * 2017-05-23 2017-10-20 成都联宇云安科技有限公司 一种基于漏洞poc实现安卓系统漏洞检测的方法
CN109145579A (zh) * 2018-08-18 2019-01-04 北京航空航天大学 智能网联汽车信息安全认证测试方法和系统
CN109325351A (zh) * 2018-08-23 2019-02-12 中通服咨询设计研究院有限公司 一种基于众测平台的安全漏洞自动化验证系统
CN109766697A (zh) * 2018-12-29 2019-05-17 武汉烽火技术服务有限公司 应用于Linux系统的漏洞扫描方法、存储介质、设备及系统

Also Published As

Publication number Publication date
CN110348218A (zh) 2019-10-18

Similar Documents

Publication Publication Date Title
CN110348218B (zh) 一种基于车载终端系统的漏洞测试方法及装置
CN110162977B (zh) 一种Android车载终端系统漏洞检测系统及方法
CN102736978B (zh) 一种检测应用程序的安装状态的方法及装置
KR101410099B1 (ko) 단위 테스트 케이스 재사용 기반의 함수 테스트 장치 및 그 함수 테스트 방법
CN110554965B (zh) 自动化模糊测试方法及相关设备、计算机可读存储介质
CN109977670B (zh) 基于插件加载的安卓应用安全监测方法、存储介质
CN107577597B (zh) 安装包自动化测试方法、装置、设备和存储介质
CN108197476B (zh) 一种智能终端设备的漏洞检测方法及装置
CN109543417B (zh) 一种基于Qemu平台的漏洞挖掘方法和装置
CN110674506A (zh) 快速验证应用程序漏洞状态的方法及系统
CN110928777B (zh) 测试用例的处理方法、装置、设备及存储介质
CN104699617A (zh) 一种游戏用自动化测试方法
CN108009085B (zh) 渠道包测试方法
CN107621963B (zh) 一种软件部署方法、软件部署系统及电子设备
CN105205398A (zh) 一种基于apk加壳软件动态行为的查壳方法
US8533544B2 (en) System for tree sequence testing of a device and method for tree sequence testing of a device in a test framework architecture
CN114115168A (zh) 故障注入测试系统
CN107220174B (zh) 一种自动化测试的方法及装置
CN116541847A (zh) 一种应用程序的安全检测方法及装置
CN115373929A (zh) 测试方法、装置、设备、可读存储介质及程序产品
CN107844703B (zh) 一种基于Android平台Unity3D游戏的客户端安全检测方法及装置
CN115840707A (zh) 一种刷写测试方法、装置及介质
CN116010254A (zh) 一种系统研发阶段的性能检测方法和系统
CN106940647B (zh) 代码管理方法和装置
CN115495363A (zh) 一种软件测试方法、电子设备及可读存储介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant