CN111191248A - 针对Android车载终端系统的漏洞检测系统及方法 - Google Patents

针对Android车载终端系统的漏洞检测系统及方法 Download PDF

Info

Publication number
CN111191248A
CN111191248A CN201911417913.2A CN201911417913A CN111191248A CN 111191248 A CN111191248 A CN 111191248A CN 201911417913 A CN201911417913 A CN 201911417913A CN 111191248 A CN111191248 A CN 111191248A
Authority
CN
China
Prior art keywords
vulnerability
triggering
information
module
mounted terminal
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.)
Granted
Application number
CN201911417913.2A
Other languages
English (en)
Other versions
CN111191248B (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.)
Beijing Tsinghua Yaxun Electronic Information Research Institute
Original Assignee
Beijing Tsinghua Yaxun Electronic Information Research Institute
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 Beijing Tsinghua Yaxun Electronic Information Research Institute filed Critical Beijing Tsinghua Yaxun Electronic Information Research Institute
Priority to CN201911417913.2A priority Critical patent/CN111191248B/zh
Publication of CN111191248A publication Critical patent/CN111191248A/zh
Application granted granted Critical
Publication of CN111191248B publication Critical patent/CN111191248B/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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/30Services specially adapted for particular environments, situations or purposes
    • H04W4/40Services specially adapted for particular environments, situations or purposes for vehicles, e.g. vehicle-to-pedestrians [V2P]
    • H04W4/48Services specially adapted for particular environments, situations or purposes for vehicles, e.g. vehicle-to-pedestrians [V2P] for in-vehicle communication

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computing Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本发明实施例提供一种针对Android车载终端系统的漏洞检测系统及方法,本发明实施例由于基于漏洞触发过程进行指令序列、系统调用信息和设备日志的取证,因此能够获得较为全面的漏洞分析结果。此外,由于车载终端系统有着针对性强、运作方式简单的特点,所以其性能往往不是很强,而漏洞触发过程取证模块在漏洞触发过程中获取到的信息量通常是非常大的,针对该问题,本发明实施例将漏洞触发过程取证模块获得的取证信息交由独立于车载终端系统的外部检测设备上的漏洞触发过程分析模块进行漏洞详细分析,从而能够同时提高待测Android车载终端系统的性能和漏洞分析的性能,从而很好地解决了无法平衡取证粒度与系统开销之间矛盾的问题。

Description

针对Android车载终端系统的漏洞检测系统及方法
技术领域
本发明涉及软件安全技术领域,尤其涉及一种针对Android车载终端系统的漏洞检测系统及方法。
背景技术
现有的Android系统攻击取证工具主要包括Rain工具和DroidForensics工具。其中,Rain实现了可按需进程间信息流跟踪的可修复攻击取证。该工具有选择地提供指令级详细日志,同时最小化运行时开销。用系统调用级别的记录和重放技术以及按需动态信息流跟踪(DIFT)来满足这些相互冲突的目标。Rain会持续监视和记录系统调用事件和其他数据,以便在构建逻辑起源图时进行后续重放。当它在图中检测到任何异常事件时,它会从事件中执行基于重放的DIFT,以删除任何不需要的依赖项。Rain是一个基于内核的系统。它能够记录,重放和分析用户级进程的活动,但无法监视内核活动,因为它信任内核。如果内核遭到破坏,Rain将无法再创建可靠的起源数据。同时,由于Rain记录了各种系统调用以支持可重放执行,因此额外的存储开销过大。
DroidForensics是一款通过多层取证记录准确重建Android攻击的工具,基于多层取证日志技术,从三个层面捕获重要的Android事件,分别是在Android API层面捕获应用程序高级语义、Binder层面捕获应用程序之间的交互、系统调用层面记录系统调用等低级事件。但是内核级攻击可能会使DroidForensics失效,并且如果恶意软件使用了与DroidForensics相同的系统调用会引入虚假因果关系。
现有的Android系统攻击取证技术主要在两个方面进行信息记录,一方面是记录系统调用信息,另一方面是记录指令序列信息。为了确保记录准确的系统攻击信息,指令级日志理想地记录所有程序的所有CPU指令的执行,然而这样的系统也会产生巨大的运行时开销,因此在实际计算环境中是不切实际的。由于许多攻击最终需要使用系统调用访问敏感资源和设备,所以实际系统中主要关注系统调用信息,其运行时开销较低,然而它们的依赖性模糊,很难仅用系统调用信息准确获得攻击因果关系。
由此可见,现有的Android系统攻击取证工具只关注了系统调用信息和指令序列信息,且无法平衡取证粒度与系统开销之间的矛盾,对内核级攻击也难以取证。如Rain为了满足低运行时间开销和细粒度因果关系信息的需求,只监控感兴趣的系统调用信息,如:记录打开,读取,写入文件操作和连接,recv,发送网络操作相关的系统调用,并进行按需重放攻击,但是这种方式可能存在完整性的问题,因为无法保证系统攻击过程中的所有系统事件都被记录。
发明内容
针对现有技术中的问题,本发明实施例提供一种针对Android车载终端系统的漏洞检测系统及方法。
具体地,本发明实施例提供了以下技术方案:
第一方面,本发明实施例提供了一种针对Android车载终端系统的漏洞检测系统,包括:漏洞库模块、漏洞触发自动化测试模块、漏洞触发过程取证模块和漏洞触发过程分析模块;
其中,所述漏洞库模块、所述漏洞触发自动化测试模块和所述漏洞触发过程取证模块设置在待测Android车载终端系统上,所述漏洞触发过程分析模块设置在独立于所述待测Android车载终端系统的外部检测设备上;
所述漏洞库模块,用于存储漏洞信息库和漏洞验证脚本库,所述漏洞信息库中存储有与车载终端系统相关的已知漏洞信息,所述漏洞验证脚本库中存储有与所述漏洞信息库中的漏洞信息相对应的漏洞验证程序;
所述漏洞触发自动化测试模块,用于从所述漏洞信息库和所述漏洞验证脚本库中获取漏洞信息和相对应的漏洞验证程序后,通过adb命令将相应漏洞验证程序传输到待测Android车载终端系统ROM中,以在待测Android车载终端系统ROM中通过执行漏洞验证程序来执行漏洞触发自动化测试;
所述漏洞触发过程取证模块,用于在所述漏洞触发自动化测试模块进行漏洞触发自动化测试时,对每一个漏洞验证程序的执行过程进行监控并获取漏洞触发过程中的监控数据;其中,所述监控数据包括设备日志、执行过程指令序列和系统调用信息;
所述漏洞触发过程分析模块,用于接收所述漏洞触发过程取证模块发送的监控数据,并对监控数据中包含的设备日志、执行过程指令序列和系统调用信息进行分析,获取待测Android车载终端系统中被触发的漏洞的细节信息。
进一步地,所述漏洞触发过程分析模块,具体用于:
对设备日志进行分析获取系统日志和内核日志,并根据系统日志和内核日志获取漏洞触发特征和漏洞利用特征;
对执行过程指令序列进行分析获取漏洞触发约束条件和漏洞触发因果图;
对系统调用信息进行分析获取用户级API调用信息和内核级API调用信息,并根据用户级API调用信息和内核级API调用信息确定漏洞特征和漏洞所在模块。
进一步地,所述漏洞触发过程分析模块在根据系统日志和内核日志获取漏洞触发特征和漏洞利用特征时,具体用于:
对系统日志进行进程爆炸、高频率文件读写和Socket通信扫描以捕捉漏洞触发特征;
扫描内核日志中的活动信息和内核状态获取内核崩溃信息,并根据内核崩溃信息确定漏洞利用特征。
进一步地,所述漏洞触发过程分析模块在对执行过程指令序列进行分析获取漏洞触发约束条件和漏洞触发因果图时,具体用于:
对执行过程指令序列进行分析,为不同类型的漏洞验证程序制定不同的IIbug和IIexploit谓词,基于符号执行的形式化验证方法,分析漏洞触发约束条件,生成漏洞触发因果图。
进一步地,所述漏洞触发过程分析模块在根据用户级API调用信息和内核级API调用信息确定漏洞特征和漏洞所在模块时,具体用于:
根据用户级API调用信息,构建API调用链,计算加权的漏洞特征值,通过分析调用栈建立API调用森林;
根据内核级API调用信息,通过过滤和溯源确定漏洞所在模块,并通过调用栈分析确定系统脆弱点。
进一步地,所述漏洞验证脚本库中还存储第一映射表,所述第一映射表中存储有漏洞验证程序返回值与漏洞触发结果的对应关系;所述漏洞触发结果包括漏洞触发成功或漏洞触发失败;
相应地,所述漏洞触发自动化测试模块还用于在漏洞触发自动化测试结束后收集漏洞验证程序运行结果,根据所述漏洞验证程序运行结果查询所述第一映射表,确定相应漏洞是否触发成功。
进一步地,所述漏洞信息库中存储有从标准漏洞库中收集的漏洞以及从已有的车载终端系统挖掘的漏洞,并存储有与相应漏洞对应的漏洞编号、漏洞评分和漏洞描述信息。
进一步地,所述漏洞验证脚本库中存储有从互联网收集的或自主编写的与漏洞信息库中漏洞对应的漏洞验证程序。
进一步地,所述针对Android车载终端系统的漏洞检测系统,还包括:
车载终端系统漏洞检测结果展示模块,用于向用户展示漏洞检测报告,所述漏洞检测报告中包括漏洞触发结果、漏洞触发因果图和API调用森林。
第二方面,本发明实施例还提供了一种基于如第一方面所述的针对Android车载终端系统的漏洞检测系统的漏洞检测方法,包括:
启动漏洞触发自动化测试模块,使得漏洞触发自动化测试模块从漏洞信息库和漏洞验证脚本库中获取漏洞信息和相对应的漏洞验证程序后,通过adb命令将相应漏洞验证程序传输到待测Android车载终端系统ROM中,以在待测Android车载终端系统ROM中通过执行漏洞验证程序来执行漏洞触发自动化测试;
启动漏洞触发过程取证模块,使得漏洞触发过程取证模块在所述漏洞触发自动化测试模块进行漏洞触发自动化测试时,对每一个漏洞验证程序的执行过程进行监控并获取漏洞触发过程中的监控数据,同时使得漏洞触发过程取证模块将获取的监控数据发送给漏洞触发过程分析模块;
启动漏洞触发过程分析模块,使得漏洞触发过程分析模块在接收到所述漏洞触发过程取证模块发送的监控数据后,对监控数据中包含的设备日志、执行过程指令序列和系统调用信息进行分析,获取待测Android车载终端系统中被触发的漏洞的细节信息。
由上面技术方案可知,本发明实施例提供的针对Android车载终端系统的漏洞检测系统及方法,由于基于漏洞触发过程进行指令序列、系统调用信息和设备日志的取证,因此能够获得较为全面的漏洞分析结果,例如通过对内核日志进行分析,能够获取与内核崩溃相关的漏洞特征信息。此外,由于车载终端系统是定制化的Android系统,有着针对性强、运作方式简单的特点,所以其性能往往不是很强,而漏洞触发过程取证模块在漏洞触发过程中获取到的信息量通常是非常大的,针对该问题,本发明实施例将漏洞触发过程取证模块获得的取证信息交由独立于车载终端系统的外部检测设备上的漏洞触发过程分析模块进行漏洞详细分析,从而能够同时提高待测Android车载终端系统的性能和漏洞分析的性能,从而很好地解决了现有技术中无法平衡取证粒度与系统开销之间矛盾的问题。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明一实施例提供的针对Android车载终端系统的漏洞检测系统的结构示意图;
图2为本发明一实施例提供的针对Android车载终端系统的漏洞检测系统的系统架构图;
图3时本发明一实施例提供的针对Android车载终端系统漏洞触发取证检测流程示意图;
图4为本发明一实施例提供的针对Android车载终端系统的漏洞检测方法的流程图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例主要研究Android车载终端系统漏洞触发过程的取证方法以及分析方法,有利于帮助系统漏洞以提高车载终端操作系统的安全性。下面将通过具体实施例对本实施例提供的针对Android车载终端系统的漏洞检测系统及方法进行详细说明。
图1示出了本发明实施例提供的针对Android车载终端系统的漏洞检测系统的结构示意图。如图1所示,本发明实施例提供的针对Android车载终端系统的漏洞检测系统,包括:漏洞库模块11、漏洞触发自动化测试模块12、漏洞触发过程取证模块13和漏洞触发过程分析模块14;
其中,所述漏洞库模块11、所述漏洞触发自动化测试模块12和所述漏洞触发过程取证模块13设置在待测Android车载终端系统上,所述漏洞触发过程分析模块14设置在独立于所述待测Android车载终端系统的外部检测设备上;
所述漏洞库模块11,用于存储漏洞信息库和漏洞验证脚本库,所述漏洞信息库中存储有与车载终端系统相关的已知漏洞信息,所述漏洞验证脚本库中存储有与所述漏洞信息库中的漏洞信息相对应的漏洞验证程序;
所述漏洞触发自动化测试模块12,用于从所述漏洞信息库和所述漏洞验证脚本库中获取漏洞信息和相对应的漏洞验证程序后,通过adb命令将相应漏洞验证程序传输到待测Android车载终端系统ROM中,以在待测Android车载终端系统ROM中通过执行漏洞验证程序来执行漏洞触发自动化测试;
所述漏洞触发过程取证模块13,用于在所述漏洞触发自动化测试模块进行漏洞触发自动化测试时,对每一个漏洞验证程序的执行过程进行监控并获取漏洞触发过程中的监控数据;其中,所述监控数据包括设备日志、执行过程指令序列和系统调用信息;所述漏洞触发过程取证模块13还用于将所述监控数据发送给独立于所述待测Android车载终端系统的外部检测设备上漏洞触发过程分析模块14,由所述漏洞触发过程分析模块14对监控数据进行详细分析;
所述漏洞触发过程分析模块14,用于接收所述漏洞触发过程取证模块13发送的监控数据,并对监控数据中包含的设备日志、执行过程指令序列和系统调用信息进行分析,获取待测Android车载终端系统中被触发的漏洞的细节信息。
在本实施例中,由于车载终端系统一般是定制化的Android系统,有着针对性强、运作方式简单的特点,所以其性能往往不是很强,而漏洞触发过程取证模块在漏洞触发过程中获取到的信息量通常是非常大的,针对该问题,本发明实施例将漏洞库模块11、漏洞触发自动化测试模块12和漏洞触发过程取证模块13设置在待测车载终端系统上,而将漏洞触发过程分析模块14设置在独立于所述待测车载终端系统的外部检测设备上,从而使得漏洞库模块11、漏洞触发自动化测试模块12和漏洞触发过程取证模块13在待测Android车载终端系统上执行漏洞触发自动化测试和漏洞触发过程取证,并使得漏洞触发过程取证模块13将获得的取证信息交由独立于车载终端系统的外部检测设备上的漏洞触发过程分析模块14进行漏洞详细分析,从而能够同时提高待测Android车载终端系统的性能和漏洞分析的性能。
在本实施例中,需要说明的是,漏洞触发自动化测试模块12通过调用漏洞库模块11中的漏洞信息和漏洞验证程序在待测车载终端系统上执行漏洞验证程序,以触发待测车载终端系统中的漏洞,同时,漏洞触发过程取证模块13在漏洞触发自动化测试模块12执行漏洞触发自动化测试过程中进行相关信息的取证,并将获得的取证信息交由独立于车载终端系统的外部检测设备上的漏洞触发过程分析模块14进行漏洞详细分析。
在本实施例中,需要说明的是,漏洞信息库中的漏洞信息是从CVE、CNNVD、CAVD等标准漏洞库收集的或从已有车载终端系统中挖掘的相关漏洞,此外,漏洞信息库中记录有漏洞编号、漏洞评分、漏洞描述等信息。其中,漏洞触发自动化测试模块12在进行测试时先遍历该漏洞信息库,获取所有要检测的漏洞相关信息。
在本实施例中,需要说明的是,漏洞验证脚本库中的漏洞验证程序poc是从互联网收集或自主编写的与漏洞信息库中的漏洞相对应的漏洞验证程序。其中,漏洞触发自动化测试模块12在进行测试时先遍历该漏洞信息库,获取所有要检测的漏洞相关信息,然后再从漏洞验证脚本库中检索出与漏洞信息对应的漏洞验证程序poc,然后通过自动测试的方式注入系统中进行测试。
在本实施例中,需要说明的是,可以通过人工阅读和修改代码将poc程序返回值与漏洞触发结果关联并标准化,然后将编译好的poc可执行文件和其执行结果信息录入漏洞验证脚本库。
在本实施例中,需要说明的是,漏洞触发自动化测试模块12在从漏洞信息库和漏洞验证脚本库中获取漏洞信息和poc文件后,通过adb(Android Debug Bridge)命令将poc文件传输到待测车载终端系统ROM中,然后执行,执行结束后收集poc程序运行结果,通过于漏洞验证脚本库中的执行结果进行比对,确定漏洞是否触发成功。
在本实施例中,需要说明的是,漏洞触发过程取证模块13在进行车载终端系统漏洞自动化测试时,对每一个poc的执行过程(即漏洞触发过程)进行监控,在漏洞触发时监控、收集相关数据,包括设备日志、执行过程指令序列、系统调用信息。
在本实施例中,需要说明的是,漏洞触发过程分析模块14分别对漏洞触发过程中的指令序列、系统调用信息和设备日志进行分析,从而可以获得较为详细的漏洞信息。
例如,对于设备日志来说,由于设备日志记录了系统操作和消息事件,因此通过分析设备日志可以理解、整理操作系统的活动以及诊断相应问题。在本实施例中,设备日志可以包括系统日志和内核日志两种日志。对于系统日志来说,由于溢出攻击和竞争态攻击是漏洞利用中最常见的两个类型,这两种攻击常常通过大量的进程操作进行文件读写、Socket操作,在频繁的操作中让使系统出现破绽,从而进行进一步的漏洞利用操作。这种攻击过程在系统日志中可以体现,例如,漏洞触发过程分析模块14通过对系统日志进行进程爆炸、高频率文件读写和Socket通信扫描可以捕捉到漏洞触发的特征。对于内核日志来说,一般情况下,除了信息泄露和权限提升,拒绝服务也是常见的漏洞利用目的之一。当漏洞攻击通过内核崩溃法达到拒绝服务的目的时,难以从系统日志中获得足够的有效信息,这时就要取证内核日志。扫描内核日志中的活动信息和内核状态可以精确发现内核崩溃的信息,从而发现该漏洞利用的特征。由此可知,通过对设备日志中的系统日志和内核日志进行分析,可以获取漏洞触发特征以及漏洞利用特征。
又如,对于指令序列来说,指令序列存在于系统内存中,分析漏洞进程内存,获取内存执行过程中的指令序列,为不同类型的poc制定不同的IIbug和IIexploit谓词,基于符号执行的形式化验证方法,分析漏洞触发约束条件,生成漏洞触发因果图。
又如,对于系统调用信息来说,系统调用信息即为API调用信息,漏洞利用程序与普通程序一样,都是通过函数调用实现各种功能。由于网络上许多漏洞描述不详细,系统中漏洞所处位置信息模糊,系统调用信息的取证可以帮助定位漏洞触发位置,获取漏洞详细信息。本实施例在系统调用信息方面关注以下两种:
A、用户级API调用
在漏洞验证程序poc运行时,例如,按漏洞类型hook特定API,其中包括AndroidAPI、native API,并根据调用时间先后构建API调用链,计算加权的漏洞特征值,再通过分析调用栈建立API调用森林,可以提供直观的漏洞利用API调用图。
B、内核级API调用
由于许多漏洞都出现在系统内核中的各种驱动程序中,而用户、漏洞利用者无权直接调用内核中的API,但可以通过各种方式触发漏洞,进而通过hook内核API,并过滤和溯源可发现漏洞所在模块,再通过调用栈分析可发现系统脆弱点。
由上面技术方案可知,本发明实施例提供的针对Android车载终端系统的漏洞检测系统,由于基于漏洞触发过程进行指令序列、系统调用信息和设备日志的取证,因此能够获得较为全面的漏洞分析结果,例如通过对内核日志进行分析,能够获取与内核崩溃相关的漏洞特征信息。此外,由于车载终端系统是定制化的Android系统,有着针对性强、运作方式简单的特点,所以其性能往往不是很强,而漏洞触发过程取证模块在漏洞触发过程中获取到的信息量通常是非常大的,针对该问题,本发明实施例将漏洞触发过程取证模块获得的取证信息交由独立于车载终端系统的外部检测设备上的漏洞触发过程分析模块进行漏洞详细分析,从而能够同时提高待测Android车载终端系统的性能和漏洞分析的性能,从而很好地解决了现有技术中无法平衡取证粒度与系统开销之间矛盾的问题。
进一步地,基于上述实施例的内容,在本实施例中,所述漏洞触发过程分析模块14,具体用于:
对设备日志进行分析获取系统日志和内核日志,并根据系统日志和内核日志获取漏洞触发特征和漏洞利用特征;
对执行过程指令序列进行分析获取漏洞触发约束条件和漏洞触发因果图;
对系统调用信息进行分析获取用户级API调用信息和内核级API调用信息,并根据用户级API调用信息和内核级API调用信息确定漏洞特征和漏洞所在模块。
在本实施例中,正如上面所述,漏洞触发过程分析模块14分别对漏洞触发过程中的指令序列、系统调用信息和设备日志进行分析,从而可以获得较为详细的漏洞信息。
在本实施例中,对于设备日志来说,本实施例对设备日志进行分析获取系统日志和内核日志,并根据系统日志和内核日志获取漏洞触发特征和漏洞利用特征。具体来说,由于设备日志记录了系统操作和消息事件,因此通过分析设备日志可以理解、整理操作系统的活动以及诊断相应问题。在本实施例中,设备日志可以包括系统日志和内核日志两种日志。对于系统日志来说,由于溢出攻击和竞争态攻击是漏洞利用中最常见的两个类型,这两种攻击常常通过大量的进程操作进行文件读写、Socket操作,在频繁的操作中让使系统出现破绽,从而进行进一步的漏洞利用操作。这种攻击过程在系统日志中可以体现,例如,漏洞触发过程分析模块14通过对系统日志进行进程爆炸、高频率文件读写和Socket通信扫描可以捕捉到漏洞触发的特征。对于内核日志来说,一般情况下,除了信息泄露和权限提升,拒绝服务也是常见的漏洞利用目的之一。当漏洞攻击通过内核崩溃法达到拒绝服务的目的时,难以从系统日志中获得足够的有效信息,这时就要取证内核日志。扫描内核日志中的活动信息和内核状态可以精确发现内核崩溃的信息,从而发现该漏洞利用的特征。由此可知,通过对设备日志中的系统日志和内核日志进行分析,可以获取漏洞触发特征以及漏洞利用特征。
在本实施例中,对于指令序列来说,本实施例对执行过程指令序列进行分析获取漏洞触发约束条件和漏洞触发因果图。具体来说,由于指令序列存在于系统内存中,因此,分析漏洞进程内存,获取内存执行过程中的指令序列,为不同类型的poc制定不同的IIbug和IIexploit谓词,基于符号执行的形式化验证方法,分析漏洞触发约束条件,生成漏洞触发因果图。
在本实施例中,对于系统调用信息来说,本实施例对系统调用信息进行分析获取用户级API调用信息和内核级API调用信息,并根据用户级API调用信息和内核级API调用信息确定漏洞特征和漏洞所在模块。具体来说,系统调用信息即为API调用信息,漏洞利用程序与普通程序一样,都是通过函数调用实现各种功能。由于网络上许多漏洞描述不详细,系统中漏洞所处位置信息模糊,系统调用信息的取证可以帮助定位漏洞触发位置,获取漏洞详细信息。本实施例在系统调用信息方面关注以下两种:
A、用户级API调用
在漏洞验证程序poc运行时,例如,按漏洞类型hook特定API,其中包括AndroidAPI、native API,并根据调用时间先后构建API调用链,计算加权的漏洞特征值,再通过分析调用栈建立API调用森林,可以提供直观的漏洞利用API调用图。
B、内核级API调用
由于许多漏洞都出现在系统内核中的各种驱动程序中,而用户、漏洞利用者无权直接调用内核中的API,但可以通过各种方式触发漏洞,进而通过hook内核API,并过滤和溯源可发现漏洞所在模块,再通过调用栈分析可发现系统脆弱点。
由此可见,本实施例通过基于漏洞触发取证的方法实现车载终端系统的漏洞检测,不同于常见的漏洞检测方案,本实施例提出自动化的漏洞触发方式和取证分析方法,通过自动化测试,可以批量地检测系统中是否存在0Day、1Day和其他漏洞;通过取证分析,可以发现、描绘漏洞触发的特征、计算特定漏洞的API带权特征、定位漏洞所处模块、溯源漏洞存在位置;通过分析漏洞触发过程中的API调用,建立漏洞触发API森林,给用户提供多维、直观的漏洞检测报告。
进一步地,基于上述实施例的内容,在本实施例中,所述漏洞触发过程分析模块14在根据系统日志和内核日志获取漏洞触发特征和漏洞利用特征时,具体用于:
对系统日志进行进程爆炸、高频率文件读写和Socket通信扫描以捕捉漏洞触发特征;
扫描内核日志中的活动信息和内核状态获取内核崩溃信息,并根据内核崩溃信息确定漏洞利用特征。
本实施例提供的漏洞触发过程分析模块14对系统日志进行进程爆炸、高频率文件读写和Socket通信扫描以捕捉漏洞触发特征;此外,本实施例提供的漏洞触发过程分析模块14扫描内核日志中的活动信息和内核状态获取内核崩溃信息,并根据内核崩溃信息确定漏洞利用特征。需要说明的是,对于系统日志来说,由于溢出攻击和竞争态攻击是漏洞利用中最常见的两个类型,这两种攻击常常通过大量的进程操作进行文件读写、Socket操作,在频繁的操作中让使系统出现破绽,从而进行进一步的漏洞利用操作。这种攻击过程在系统日志中可以体现,漏洞触发过程分析模块14通过对系统日志进行进程爆炸、高频率文件读写和Socket通信扫描可以捕捉到漏洞触发的特征。对于内核日志来说,一般情况下,除了信息泄露和权限提升,拒绝服务也是常见的漏洞利用目的之一。当漏洞攻击通过内核崩溃法达到拒绝服务的目的时,难以从系统日志中获得足够的有效信息,这时就要取证内核日志。扫描内核日志中的活动信息和内核状态可以精确发现内核崩溃的信息,从而发现该漏洞利用的特征。由此可知,通过对设备日志中的系统日志和内核日志进行分析,可以获取漏洞触发特征以及漏洞利用特征。
进一步地,基于上述实施例的内容,在本实施例中,所述漏洞触发过程分析模块14在对执行过程指令序列进行分析获取漏洞触发约束条件和漏洞触发因果图时,具体用于:
对执行过程指令序列进行分析,为不同类型的漏洞验证程序制定不同的IIbug和IIexploit谓词,基于符号执行的形式化验证方法,分析漏洞触发约束条件,生成漏洞触发因果图。
在本实施例中,由于指令序列存在于系统内存中,因此,分析漏洞进程内存,获取内存执行过程中的指令序列,为不同类型的poc制定不同的IIbug和IIexploit谓词,基于符号执行的形式化验证方法,分析漏洞触发约束条件,生成漏洞触发因果图。
进一步地,基于上述实施例的内容,在本实施例中,所述漏洞触发过程分析模块14在根据用户级API调用信息和内核级API调用信息确定漏洞特征和漏洞所在模块时,具体用于:
根据用户级API调用信息,构建API调用链,计算加权的漏洞特征值,通过分析调用栈建立API调用森林;
根据内核级API调用信息,通过过滤和溯源确定漏洞所在模块,并通过调用栈分析确定系统脆弱点。
在本实施例中,系统调用信息即为API调用信息,漏洞利用程序与普通程序一样,都是通过函数调用实现各种功能。由于网络上许多漏洞描述不详细,系统中漏洞所处位置信息模糊,系统调用信息的取证可以帮助定位漏洞触发位置,获取漏洞详细信息。本实施例在系统调用信息方面关注用户级API调用和内核级API调用两方面API调用情况:
A、用户级API调用
在漏洞验证程序poc运行时,例如,按漏洞类型hook特定API,其中包括AndroidAPI、native API,并根据调用时间先后构建API调用链,计算加权的漏洞特征值,再通过分析调用栈建立API调用森林,可以提供直观的漏洞利用API调用图。
B、内核级API调用
由于许多漏洞都出现在系统内核中的各种驱动程序中,而用户、漏洞利用者无权直接调用内核中的API,但可以通过各种方式触发漏洞,进而通过hook内核API,并过滤和溯源可发现漏洞所在模块,再通过调用栈分析可发现系统脆弱点。
进一步地,基于上述实施例的内容,在本实施例中,所述漏洞验证脚本库中还存储第一映射表,所述第一映射表中存储有漏洞验证程序返回值与漏洞触发结果的对应关系;所述漏洞触发结果包括漏洞触发成功或漏洞触发失败;
相应地,所述漏洞触发自动化测试模块还用于在漏洞触发自动化测试结束后收集漏洞验证程序运行结果,根据所述漏洞验证程序运行结果查询所述第一映射表,确定相应漏洞是否触发成功。
在本实施例中,由于漏洞验证脚本库中存储有第一映射表,且第一映射表中存储有漏洞验证程序返回值与漏洞触发结果的对应关系;因此,漏洞触发自动化测试模块能够在漏洞触发自动化测试结束后,根据所述漏洞验证程序运行结果查询所述第一映射表,进而可以确定在本次漏洞检测过程中哪些漏洞被触发成功。
进一步地,基于上述实施例的内容,在本实施例中,针对Android车载终端系统的漏洞检测系统,还包括:
车载终端系统漏洞检测结果展示模块,用于向用户展示漏洞检测报告,所述漏洞检测报告中包括漏洞触发结果、漏洞触发因果图和API调用森林。
在本实施例中,车载终端系统漏洞检测结果展示模块,可以以用户友好的视图向用户展示漏洞检测报告,报告中可以包括漏洞触发结果、漏洞触发因果图、系统API调用森林和其他相关信息。
下面结合图2和图3所示的系统架构图和漏洞触发取证检测流程示意图对本实施例提供的针对Android车载终端系统的漏洞检测系统的工作过程给予详细说明。
如图2所示,本实施例的主要目的是开发一个基于漏洞触发过程取证的Android车载终端系统漏洞检测工具,该工具可以检测已连接的Android车载终端系统中存在的漏洞,并通过自动化的漏洞触发取证将检测结果报告给用户。总体工作流程如下:首先,从车载终端系统漏洞库中获取漏洞信息与poc脚本,再通过漏洞触发自动化测试模块进行poc自动化测试,在测试过程中进行漏洞触发取证,最后通过漏洞触发过程分析模块分析取证信息,最后生成报告,并向用户展示。以上流程由图2中所示的5个模块构成,分别是漏洞库模块、漏洞触发自动化测试模块、漏洞触发过程取证模块、漏洞触发过程分析模块和漏洞检测结果展示模块。
其中,对于漏洞库模块,其中包含漏洞信息库和漏洞验证脚本库:
对于漏洞信息库,可以从CVE、CNNVD、CAVD等标准漏洞库收集或自主挖掘车载终端系统相关漏洞,记录漏洞编号、漏洞评分、漏洞描述等信息建立漏洞信息库。在进行漏洞触发检测时先遍历该库,获取所有要检测的漏洞相关信息。
对于漏洞验证脚本库,从互联网收集或自主编写漏洞信息库中漏洞对应的poc(漏洞验证程序),通过人工阅读、修改代码将poc程序返回值与漏洞触发结果关联并标准化。将编译好的poc可执行文件和其执行结果信息录入漏洞验证脚本库,在进行漏洞触发检测时遍历漏洞信息库,获取漏洞信息,再从漏洞验证脚本库中检索出相应的漏洞poc,通过自动测试的方式注入系统中进行测试。
其中,对于漏洞自动化测试模块,执行如下过程:
在漏洞信息库和漏洞验证脚本库中获取漏洞信息和poc文件后,通过adb(AndroidDebug Bridge)命令将poc文件传输到车载终端系统rom中,然后执行。执行结束后收集poc程序运行结果,通过于漏洞验证脚本库中的执行结果进行比对,确定漏洞是否触发成功。
其中,对于漏洞触发过程取证模块,执行如下过程:
在进行车载终端系统漏洞自动化测试时,对每一个poc的执行过程(即漏洞触发过程)进行监控,在漏洞触发时监控、收集相关数据,包括设备日志、执行过程指令序列、系统调用信息。
其中,对于漏洞触发过程分析模块,执行如下过程:
由于车载终端系统是定制化的Android系统,有着针对性强、运作方式简单的特点,所以其性能往往不是很强,同时,在自动化检测过程中,通过漏洞触发过程取证模块获取到的信息量通常较大,所以,取证模块获得的信息交由车载终端系统漏洞触发过程分析模块进行详细分析。在本模块,分别对指令序列、系统调用信息、和设备日志进行分析。
其中,对于漏洞检测结果展示模块,执行如下过程:
以用户友好的视图向用户展示漏洞检测报告。报告中包括漏洞触发结果、漏洞触发因果图、系统API调用森林和其他相关信息。
如图3所示,基于漏洞触发过程取证的Android车载终端系统漏洞检测主要处理步骤如下:
用户将待测Android车载终端系统连接到检测设备,通常是一台pc设备。检测设备将取证工具安装至待测Android车载终端系统上,用户通过检测设备发布任务,漏洞触发自动化测试模块运行,遍历漏洞库模块,依次将漏洞对应的poc通过adb通道push到车载终端rom中,然后执行,poc执行过程中,漏洞触发过程取证模块通过取证工具监控执行过程指令序列、系统日志和系统调用信息。poc执行结束后,取证模块将获取的信息和poc执行结果一起传递给检测设备,交由检测设备上的漏洞触发过程分析模块进行分析。
其中,漏洞触发过程分析模块解析取证工具获得的信息,其中包括设备日志、指令序列和系统调用信息。具体分析流程如下:
I、设备日志:设备日志记录了系统操作和消息事件,通过分析设备日志可以理解、整理操作系统的活动、诊断问题。取证中需要获取两种设备日志,分别是系统日志和内核日志。
①系统日志:溢出攻击和竞争态攻击是漏洞利用中最常见的两个类型,这两种攻击常常通过大量的进程操作进行文件读写、Socket操作,在频繁的操作中让使系统出现破绽,从而做进一步漏洞利用操作。这种攻击过程在系统日志中可以体现,分析模块对系统日志进行进程爆炸、高频率文件读写和Socket通信扫描可以捕捉到漏洞触发的特征。
②内核日志:除了信息泄露和权限提升,拒绝服务也是常见的漏洞利用目的之一。当漏洞攻击通过内核崩溃法达到拒绝服务的目的时,难以从系统日志中获得足够的有效信息,这时就要取证内核日志。扫描内核日志中的活动信息和内核状态可以精确发现内核崩溃的信息,从而发现该漏洞利用的特征。
II、指令序列:
指令序列存在于系统内存中,分析漏洞进程内存,获取内存执行过程中的指令序列,为不同类型的poc制定不同的IIbug和IIexploit谓词,基于符号执行的形式化验证方法,分析漏洞触发约束条件,生成漏洞触发因果图。
III、系统调用信息:
系统调用信息即API调用信息,漏洞利用程序与普通程序一样,都是通过函数调用实现各种功能。由于网络上许多漏洞描述不详细,系统中漏洞所处位置信息模糊,系统调用信息的取证可以帮助我们定位漏洞触发位置,获取漏洞详细信息。本实施例在系统调用信息方面关注以下两种:
①用户级API调用
在poc运行时,按漏洞类型hook特定API,其中包括Android API、native API,并根据调用时间先后构建API调用链,计算加权的漏洞特征值。再通过分析调用栈建立API调用森林,提供直观的漏洞利用API调用图。
②内核级API调用
许多漏洞都出现在系统内核中的各种驱动程序中,用户或漏洞利用者无权直接调用内核中的API,但可以通过各种方式触发漏洞。例如,通过hook内核API,并过滤和溯源可发现漏洞所在模块,再通过调用栈分析可发现系统脆弱点。
由于漏洞触发过程分析从大量信息中获得了有效内容,因此交由漏洞检测结果展示模块生成报告,可以便于用户查阅和理解。
由此可见,本实施例通过基于漏洞触发取证的方法实现车载终端系统的漏洞检测。不同于常见的漏洞检测方案,本实施例提出自动化的漏洞触发方式和取证分析方法,通过自动化测试,可以批量地检测系统中是否存在0Day、1Day和其他漏洞;通过取证分析,可以发现、描绘漏洞触发的特征、计算特定漏洞的API带权特征、定位漏洞所处模块、溯源漏洞存在位置;通过分析漏洞触发过程中的API调用,建立漏洞触发API森林,给用户提供多维、直观的漏洞检测报告。由此可知,本实施例具有两个独特优势,一个是多维漏洞触发过程取证方案,另一个是全面、开销低的漏洞取证分析方案。根据漏洞触发取证模块可知,本实施例监控了漏洞触发过程中的设备日志、系统调用信息、指令序列,多维地获取漏洞触发过程中的系统活动信息。根据漏洞触发过程分析模块可知,本实施例通过分析漏洞触发过程中获取的多维信息,在检测设备上静态地扫描日志中的进程爆炸、高频文件读写与Socket通信,针对不同类型漏洞定制化的约束条件分析、生成漏洞触发因果图,计算带权的漏洞特征值,剥离内核API与用户API并构建API调用链与API调用森林。分析方向与维度全面,静态分析保证车载终端系统开销小。
需要说明的是,本实施例提供的针对Android车载终端系统的漏洞检测系统,适用于车载终端漏洞检测和研究工作,安全研究部门、车载终端系统研发部门、个人研究者均可以使用本实施例提供的针对Android车载终端系统的漏洞检测系统检测车载终端系统安全性。例如,安全监管部门、车企和个人可以使用本实施例提供的针对Android车载终端系统的漏洞检测系统,对车载终端进行自动化漏洞检测,从中查找出存在的风险。
图4示出了本发明实施例提供的针对Android车载终端系统的漏洞检测方法流程图。如图4所示,本发明实施例提供的针对Android车载终端系统的漏洞检测方法包括:
步骤101:启动漏洞触发自动化测试模块,使得漏洞触发自动化测试模块从漏洞信息库和漏洞验证脚本库中获取漏洞信息和相对应的漏洞验证程序后,通过adb命令将相应漏洞验证程序传输到待测Android车载终端系统ROM中,以在待测Android车载终端系统ROM中通过执行漏洞验证程序来执行漏洞触发自动化测试;
步骤102:启动漏洞触发过程取证模块,使得漏洞触发过程取证模块在所述漏洞触发自动化测试模块进行漏洞触发自动化测试时,对每一个漏洞验证程序的执行过程进行监控并获取漏洞触发过程中的监控数据,同时使得漏洞触发过程取证模块将获取的监控数据发送给漏洞触发过程分析模块;
步骤103:启动漏洞触发过程分析模块,使得漏洞触发过程分析模块在接收到所述漏洞触发过程取证模块发送的监控数据后,对监控数据中包含的设备日志、执行过程指令序列和系统调用信息进行分析,获取待测Android车载终端系统中被触发的漏洞的细节信息。
由于本实施例提供的针对Android车载终端系统的漏洞检测方法,可以采用上述实施例所述的针对Android车载终端系统的漏洞检测系统实现,其工作原理和有益效果类似,具体内容可参见上述实施例的介绍,此处不再详述。
此外,上述的存储器中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本发明实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的入侵防御处理方法。
此外,在本发明中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
此外,在本发明中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

Claims (10)

1.一种针对Android车载终端系统的漏洞检测系统,其特征在于,包括:漏洞库模块、漏洞触发自动化测试模块、漏洞触发过程取证模块和漏洞触发过程分析模块;
其中,所述漏洞库模块、所述漏洞触发自动化测试模块和所述漏洞触发过程取证模块设置在待测Android车载终端系统上,所述漏洞触发过程分析模块设置在独立于所述待测Android车载终端系统的外部检测设备上;
所述漏洞库模块,用于存储漏洞信息库和漏洞验证脚本库,所述漏洞信息库中存储有与车载终端系统相关的已知漏洞信息,所述漏洞验证脚本库中存储有与所述漏洞信息库中的漏洞信息相对应的漏洞验证程序;
所述漏洞触发自动化测试模块,用于从所述漏洞信息库和所述漏洞验证脚本库中获取漏洞信息和相对应的漏洞验证程序后,通过adb命令将相应漏洞验证程序传输到待测Android车载终端系统ROM中,以在待测Android车载终端系统ROM中通过执行漏洞验证程序来执行漏洞触发自动化测试;
所述漏洞触发过程取证模块,用于在所述漏洞触发自动化测试模块进行漏洞触发自动化测试时,对每一个漏洞验证程序的执行过程进行监控并获取漏洞触发过程中的监控数据;其中,所述监控数据包括设备日志、执行过程指令序列和系统调用信息;
所述漏洞触发过程分析模块,用于接收所述漏洞触发过程取证模块发送的监控数据,并对监控数据中包含的设备日志、执行过程指令序列和系统调用信息进行分析,获取待测Android车载终端系统中被触发的漏洞的细节信息。
2.根据权利要求1所述的针对Android车载终端系统的漏洞检测系统,其特征在于,所述漏洞触发过程分析模块,具体用于:
对设备日志进行分析获取系统日志和内核日志,并根据系统日志和内核日志获取漏洞触发特征和漏洞利用特征;
对执行过程指令序列进行分析获取漏洞触发约束条件和漏洞触发因果图;
对系统调用信息进行分析获取用户级API调用信息和内核级API调用信息,并根据用户级API调用信息和内核级API调用信息确定漏洞特征和漏洞所在模块。
3.根据权利要求2所述的针对Android车载终端系统的漏洞检测系统,其特征在于,所述漏洞触发过程分析模块在根据系统日志和内核日志获取漏洞触发特征和漏洞利用特征时,具体用于:
对系统日志进行进程爆炸、高频率文件读写和Socket通信扫描以捕捉漏洞触发特征;
扫描内核日志中的活动信息和内核状态获取内核崩溃信息,并根据内核崩溃信息确定漏洞利用特征。
4.根据权利要求2所述的针对Android车载终端系统的漏洞检测系统,其特征在于,所述漏洞触发过程分析模块在对执行过程指令序列进行分析获取漏洞触发约束条件和漏洞触发因果图时,具体用于:
对执行过程指令序列进行分析,为不同类型的漏洞验证程序制定不同的IIbug和IIexploit谓词,基于符号执行的形式化验证方法,分析漏洞触发约束条件,生成漏洞触发因果图。
5.根据权利要求2所述的针对Android车载终端系统的漏洞检测系统,其特征在于,所述漏洞触发过程分析模块在根据用户级API调用信息和内核级API调用信息确定漏洞特征和漏洞所在模块时,具体用于:
根据用户级API调用信息,构建API调用链,计算加权的漏洞特征值,通过分析调用栈建立API调用森林;
根据内核级API调用信息,通过过滤和溯源确定漏洞所在模块,并通过调用栈分析确定系统脆弱点。
6.根据权利要求1所述的针对Android车载终端系统的漏洞检测系统,其特征在于,所述漏洞验证脚本库中还存储第一映射表,所述第一映射表中存储有漏洞验证程序返回值与漏洞触发结果的对应关系;所述漏洞触发结果包括漏洞触发成功或漏洞触发失败;
相应地,所述漏洞触发自动化测试模块还用于在漏洞触发自动化测试结束后收集漏洞验证程序运行结果,根据所述漏洞验证程序运行结果查询所述第一映射表,确定相应漏洞是否触发成功。
7.根据权利要求1所述的针对Android车载终端系统的漏洞检测系统,其特征在于,所述漏洞信息库中存储有从标准漏洞库中收集的漏洞以及从已有的车载终端系统挖掘的漏洞,并存储有与相应漏洞对应的漏洞编号、漏洞评分和漏洞描述信息。
8.根据权利要求1所述的针对Android车载终端系统的漏洞检测系统,其特征在于,所述漏洞验证脚本库中存储有从互联网收集的或自主编写的与漏洞信息库中漏洞对应的漏洞验证程序。
9.根据权利要求1所述的针对Android车载终端系统的漏洞检测系统,其特征在于,还包括:
车载终端系统漏洞检测结果展示模块,用于向用户展示漏洞检测报告,所述漏洞检测报告中包括漏洞触发结果、漏洞触发因果图和API调用森林。
10.一种基于如权利要求1~9任一项所述的针对Android车载终端系统的漏洞检测系统的漏洞检测方法,其特征在于,包括:
启动漏洞触发自动化测试模块,使得漏洞触发自动化测试模块从漏洞信息库和漏洞验证脚本库中获取漏洞信息和相对应的漏洞验证程序后,通过adb命令将相应漏洞验证程序传输到待测Android车载终端系统ROM中,以在待测Android车载终端系统ROM中通过执行漏洞验证程序来执行漏洞触发自动化测试;
启动漏洞触发过程取证模块,使得漏洞触发过程取证模块在所述漏洞触发自动化测试模块进行漏洞触发自动化测试时,对每一个漏洞验证程序的执行过程进行监控并获取漏洞触发过程中的监控数据,同时使得漏洞触发过程取证模块将获取的监控数据发送给漏洞触发过程分析模块;
启动漏洞触发过程分析模块,使得漏洞触发过程分析模块在接收到所述漏洞触发过程取证模块发送的监控数据后,对监控数据中包含的设备日志、执行过程指令序列和系统调用信息进行分析,获取待测Android车载终端系统中被触发的漏洞的细节信息。
CN201911417913.2A 2019-12-31 2019-12-31 针对Android车载终端系统的漏洞检测系统及方法 Active CN111191248B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201911417913.2A CN111191248B (zh) 2019-12-31 2019-12-31 针对Android车载终端系统的漏洞检测系统及方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911417913.2A CN111191248B (zh) 2019-12-31 2019-12-31 针对Android车载终端系统的漏洞检测系统及方法

Publications (2)

Publication Number Publication Date
CN111191248A true CN111191248A (zh) 2020-05-22
CN111191248B CN111191248B (zh) 2022-07-29

Family

ID=70706401

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911417913.2A Active CN111191248B (zh) 2019-12-31 2019-12-31 针对Android车载终端系统的漏洞检测系统及方法

Country Status (1)

Country Link
CN (1) CN111191248B (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113742732A (zh) * 2020-05-27 2021-12-03 南京大学 一种代码漏洞扫描与定位方法
CN114095273A (zh) * 2021-12-06 2022-02-25 青岛力口互联网科技有限公司 基于深度学习的互联网漏洞挖掘方法及大数据挖掘系统
EP3971751A1 (en) * 2020-09-17 2022-03-23 Dynatrace LLC Method and system for real time detection and prioritization of computing assets affected by publicly known vulnerabilities based on topological and transactional monitoring data
CN116226871A (zh) * 2023-05-08 2023-06-06 中汽智联技术有限公司 基于静态和动态结合的漏洞验证方法、设备和介质
CN116502238A (zh) * 2023-06-26 2023-07-28 中汽智联技术有限公司 一种基于车联网产品安全漏洞专业库cavd的防护方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104715194A (zh) * 2013-12-13 2015-06-17 北京启明星辰信息安全技术有限公司 恶意软件检测方法和装置
US20190052665A1 (en) * 2016-02-10 2019-02-14 Cortex Insight Limited Security system
CN110162977A (zh) * 2019-04-24 2019-08-23 北京邮电大学 一种Android车载终端系统漏洞检测系统及方法
CN110362485A (zh) * 2019-07-03 2019-10-22 杭州安恒信息技术股份有限公司 一种挖掘Windows内核API漏洞的模糊测试方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104715194A (zh) * 2013-12-13 2015-06-17 北京启明星辰信息安全技术有限公司 恶意软件检测方法和装置
US20190052665A1 (en) * 2016-02-10 2019-02-14 Cortex Insight Limited Security system
CN110162977A (zh) * 2019-04-24 2019-08-23 北京邮电大学 一种Android车载终端系统漏洞检测系统及方法
CN110362485A (zh) * 2019-07-03 2019-10-22 杭州安恒信息技术股份有限公司 一种挖掘Windows内核API漏洞的模糊测试方法

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113742732A (zh) * 2020-05-27 2021-12-03 南京大学 一种代码漏洞扫描与定位方法
EP3971751A1 (en) * 2020-09-17 2022-03-23 Dynatrace LLC Method and system for real time detection and prioritization of computing assets affected by publicly known vulnerabilities based on topological and transactional monitoring data
CN114095273A (zh) * 2021-12-06 2022-02-25 青岛力口互联网科技有限公司 基于深度学习的互联网漏洞挖掘方法及大数据挖掘系统
CN116226871A (zh) * 2023-05-08 2023-06-06 中汽智联技术有限公司 基于静态和动态结合的漏洞验证方法、设备和介质
CN116226871B (zh) * 2023-05-08 2023-08-01 中汽智联技术有限公司 基于静态和动态结合的漏洞验证方法、设备和介质
CN116502238A (zh) * 2023-06-26 2023-07-28 中汽智联技术有限公司 一种基于车联网产品安全漏洞专业库cavd的防护方法
CN116502238B (zh) * 2023-06-26 2023-10-10 中汽智联技术有限公司 一种基于车联网产品安全漏洞专业库cavd的防护方法

Also Published As

Publication number Publication date
CN111191248B (zh) 2022-07-29

Similar Documents

Publication Publication Date Title
CN111191248B (zh) 针对Android车载终端系统的漏洞检测系统及方法
CN110162977B (zh) 一种Android车载终端系统漏洞检测系统及方法
CN107590388B (zh) 恶意代码检测方法和装置
US8555385B1 (en) Techniques for behavior based malware analysis
US9424426B2 (en) Detection of malicious code insertion in trusted environments
US10102108B2 (en) Injected instrumentation application monitoring and management
CN105956474B (zh) Android平台软件异常行为检测系统
US8181244B2 (en) Backward researching time stamped events to find an origin of pestware
KR101676366B1 (ko) 사이버 공격 대응을 위한 악성코드 침해 경로 및 행위 추적을 수행하는 침해 공격 추적 시스템 및 방법
CN105956468B (zh) 一种基于文件访问动态监控的Android恶意应用检测方法及系统
CN111181918B (zh) 基于ttp的高风险资产发现和网络攻击溯源方法
CN114328173A (zh) 软件模糊测试方法和装置、电子设备及存储介质
Li et al. Androct: ten years of app call traces in android
CN114844689A (zh) 一种基于有限状态机的网站逻辑漏洞检测方法及系统
KR101337217B1 (ko) 컴퓨터 시스템과, 파일 및 행위 기반 복합룰 작성 시스템
CN112699369A (zh) 一种通过栈回溯检测异常登录的方法及装置
CN108427882B (zh) 基于行为特征抽取的安卓软件动态分析检测法
CN112632538A (zh) 一种基于混合特征的安卓恶意软件检测方法及系统
CN114629711B (zh) 一种针对Windows平台特种木马检测的方法及系统
CN111428238B (zh) 一种基于安卓组件拒绝服务测试方法、检测终端及介质
CN111125701B (zh) 文件检测方法、设备、存储介质及装置
EP2819055B1 (en) System and method for detecting malicious software using malware trigger scenarios
Iman et al. Anomalous File System Activity Detection Through Temporal Association Rule Mining.
CN111274585B (zh) 一种Web应用越权漏洞检测方法、装置、设备和介质
Basin et al. Logging and log analysis

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