针对Android车载终端系统的漏洞检测系统及方法技术方案

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

Vulnerability detection system and method for Android vehicle terminal system

【技术实现步骤摘要】
针对Android车载终端系统的漏洞检测系统及方法
本专利技术涉及软件安全
,尤其涉及一种针对Android车载终端系统的漏洞检测系统及方法。
技术介绍
现有的Android系统攻击取证工具主要包括Rain工具和DroidForensics工具。其中,Rain实现了可按需进程间信息流跟踪的可修复攻击取证。该工具有选择地提供指令级详细日志,同时最小化运行时开销。用系统调用级别的记录和重放技术以及按需动态信息流跟踪(DIFT)来满足这些相互冲突的目标。Rain会持续监视和记录系统调用事件和其他数据,以便在构建逻辑起源图时进行后续重放。当它在图中检测到任何异常事件时,它会从事件中执行基于重放的DIFT,以删除任何不需要的依赖项。Rain是一个基于内核的系统。它能够记录,重放和分析用户级进程的活动,但无法监视内核活动,因为它信任内核。如果内核遭到破坏,Rain将无法再创建可靠的起源数据。同时,由于Rain记录了各种系统调用以支持可重放执行,因此额外的存储开销过大。DroidForensics是一款通过多层取证记录准确重建Android攻击的工具,基于多层取证日志技术,从三个层面捕获重要的Android事件,分别是在AndroidAPI层面捕获应用程序高级语义、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车载终端系统的漏洞检测系统的漏洞检测方法,包括:启动漏洞触发自动化测试模块,使得漏洞触发本文档来自技高网
...

【技术保护点】
1.一种针对Android车载终端系统的漏洞检测系统,其特征在于,包括:漏洞库模块、漏洞触发自动化测试模块、漏洞触发过程取证模块和漏洞触发过程分析模块;/n其中,所述漏洞库模块、所述漏洞触发自动化测试模块和所述漏洞触发过程取证模块设置在待测Android车载终端系统上,所述漏洞触发过程分析模块设置在独立于所述待测Android车载终端系统的外部检测设备上;/n所述漏洞库模块,用于存储漏洞信息库和漏洞验证脚本库,所述漏洞信息库中存储有与车载终端系统相关的已知漏洞信息,所述漏洞验证脚本库中存储有与所述漏洞信息库中的漏洞信息相对应的漏洞验证程序;/n所述漏洞触发自动化测试模块,用于从所述漏洞信息库和所述漏洞验证脚本库中获取漏洞信息和相对应的漏洞验证程序后,通过adb命令将相应漏洞验证程序传输到待测Android车载终端系统ROM中,以在待测Android车载终端系统ROM中通过执行漏洞验证程序来执行漏洞触发自动化测试;/n所述漏洞触发过程取证模块,用于在所述漏洞触发自动化测试模块进行漏洞触发自动化测试时,对每一个漏洞验证程序的执行过程进行监控并获取漏洞触发过程中的监控数据;其中,所述监控数据包括设备日志、执行过程指令序列和系统调用信息;/n所述漏洞触发过程分析模块,用于接收所述漏洞触发过程取证模块发送的监控数据,并对监控数据中包含的设备日志、执行过程指令序列和系统调用信息进行分析,获取待测Android车载终端系统中被触发的漏洞的细节信息。/n...

【技术特征摘要】
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谓词,基于符号执行的形式化验证方法,分析漏洞触发约束条件,生...

【专利技术属性】
技术研发人员:王智勇纪浩然王鑫吴志敏李承泽黄磊
申请(专利权)人:北京清华亚迅电子信息研究所
类型:发明
国别省市:北京;11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1