基于静态和动态结合的漏洞验证方法、设备和介质技术

技术编号:37788628 阅读:13 留言:0更新日期:2023-06-09 09:18
本发明专利技术涉及数据处理技术领域,公开了一种基于静态和动态结合的漏洞验证方法、设备和介质,该方法通过对车机零部件的固件包进行扫描,得到各第一预测漏洞数据,进而判断固件包中是否存在漏洞函数,若是,则生成漏洞函数记录表,实现了对固件包的静态漏洞验证,进而通过在记录的各漏洞函数的代码末尾位置添加程序断点,运行各漏洞测试脚本,得到在各程序断点处的第一运行结果以及脚本的第二运行结果,进而确定漏洞测试关联表,实现了对固件包的动态漏洞验证,最后针对其它零部件的漏洞验证请求,可以根据漏洞测试关联表判断是否存在漏洞,提高了验证效率,解决了现有技术中漏洞测试不准确、成本高、周期长以及无法准确定位漏洞点的问题。洞点的问题。洞点的问题。

【技术实现步骤摘要】
基于静态和动态结合的漏洞验证方法、设备和介质


[0001]本专利技术涉及数据处理
,尤其涉及一种基于静态和动态结合的漏洞验证方法、设备和介质。

技术介绍

[0002]随着汽车系统越来越智能化,车机智能系统的安全性成为了目前面临的重要问题。如何保障车机智能系统、车机零部件智能系统的安全性,需要针对车机智能系统进行测试。
[0003]然而,在目前的测试方法中,比如,采用代码分析的方法,虽然能够定位到可能的漏洞点,但该方法费时费力,并且该漏洞点在不经过执行验证时无法确定其是否一定为漏洞,导致存在漏洞测试不准确的问题;又比如,采用构建车机模拟系统进行动态测试,虽然准确率较高,直接能够判断该车机智能化系统是否存在漏洞,但采用该方法成本高,周期长,并且不容易定位到具体的代码中的漏洞点,对于漏洞的查找不够精准。
[0004]有鉴于此,特提出本专利技术。

技术实现思路

[0005]为了解决上述技术问题,本专利技术提供了一种基于静态和动态结合的漏洞验证方法、设备和介质,以解决现有技术中漏洞测试不准确、成本高、周期长以及无法准确定位漏洞点的问题。
[0006]本专利技术实施例提供了一种基于静态和动态结合的漏洞验证方法,该方法包括:S1.获取车机零部件中的固件包,对所述固件包进行扫描,得到所述固件包中的各第一预测漏洞数据;S2. 根据各所述第一预测漏洞数据对应的补丁文件、对应的组件全部代码以及对应的代码片段,判断所述固件包中是否存在漏洞函数,若是,则生成漏洞函数记录表;S3. 在所述固件包中查找所述漏洞函数记录表中记录的各漏洞函数,得到各代码末尾位置,在各所述代码末尾位置处添加程序断点;S4. 运行针对所述车机零部件的各漏洞测试脚本,得到每一个所述漏洞测试脚本在各所述程序断点处的第一运行结果,以及各所述漏洞测试脚本的第二运行结果;S5. 基于各所述漏洞测试脚本在各所述程序断点处的第一运行结果和各所述漏洞测试脚本的第二运行结果,确定漏洞测试关联表;S6. 响应于其它零部件的漏洞验证请求,在确定出所述其它零部件的待测固件包中存在当前漏洞函数时,判断所述漏洞测试关联表中是否存在所述当前漏洞函数对应的漏洞测试脚本,若是,则确定所述当前漏洞函数存在漏洞。
[0007]本专利技术实施例提供了一种电子设备,所述电子设备包括:处理器和存储器;所述处理器通过调用所述存储器存储的程序或指令,用于执行任一实施例所述的
基于静态和动态结合的漏洞验证方法的步骤。
[0008]本专利技术实施例提供了一种计算机可读存储介质,所述计算机可读存储介质存储程序或指令,所述程序或指令使计算机执行任一实施例所述的基于静态和动态结合的漏洞验证方法的步骤。
[0009]本专利技术实施例具有以下技术效果:通过对获取的车机零部件的固件包进行扫描,得到各第一预测漏洞数据,进而根据对应的补丁文件、组件全部代码以及代码片段,判断固件包中是否存在漏洞函数,若是,则生成漏洞函数记录表,实现了对固件包的静态漏洞验证,以初步精准定位漏洞位置,进而通过在记录的各漏洞函数的代码末尾位置添加程序断点,运行针对车机零部件的各漏洞测试脚本,得到在各程序断点处的第一运行结果以及脚本的第二运行结果,通过各第一运行结果和第二运行结果确定漏洞测试关联表,实现了对固件包的动态漏洞验证,以对静态验证的结果进行确认,进一步提高了漏洞验证的准确性,最后针对其它零部件的漏洞验证请求,在待测固件包中存在当前漏洞函数时,可以根据漏洞测试关联表判断当前漏洞函数是否存在漏洞,以在后续的每次漏洞验证中,无需进行完整测试,提高了验证效率,解决了现有技术中漏洞测试不准确、成本高、周期长以及无法准确定位漏洞点的问题。
附图说明
[0010]为了更清楚地说明本专利技术具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本专利技术的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0011]图1是本专利技术实施例提供的一种基于静态和动态结合的漏洞验证方法的流程图;图2是本专利技术实施例提供的一种电子设备的结构示意图。
具体实施方式
[0012]为使本专利技术的目的、技术方案和优点更加清楚,下面将对本专利技术的技术方案进行清楚、完整的描述。显然,所描述的实施例仅是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所得到的所有其它实施例,都属于本专利技术所保护的范围。
[0013]本专利技术实施例提供的基于静态和动态结合的漏洞验证方法,主要适用于验证车机零部件的固件包是否存在漏洞的情况,可以由平台、服务器、终端或云端等电子设备执行,例如,可以将该方法集成在漏洞检测系统中,通过漏洞检测系统执行。
[0014]图1是本专利技术实施例提供的一种基于静态和动态结合的漏洞验证方法的流程图。参见图1,该基于静态和动态结合的漏洞验证方法具体包括:S1.获取车机零部件中的固件包,对固件包进行扫描,得到固件包中的各第一预测漏洞数据。
[0015]其中,漏洞检测系统可以调用漏洞扫描平台,通过漏洞扫描平台与车机零部件建立接口,从车机零部件中读取固件包。或者,漏洞检测系统可以获取用户上传的车机零部件的固件包,将其发送至漏洞扫描平台。
[0016]进一步的,漏洞检测系统可以通过调用漏洞扫描平台,对固件包进行扫描,得到该固件包中的各第一预测漏洞数据。其中,第一预测漏洞数据可以用于描述固件包中可能涉及的漏洞点;第一预测漏洞数据可以包括漏洞标识、漏洞文件路径、车机零部件名称以及固件包名称。漏洞标识可以是CVE(Common Vulnerabilities and Exposures,通用漏洞披露)ID,即可能涉及的漏洞点所对应的标识字段,该标识字段为行业漏洞的统一标识字段。
[0017]S2. 根据各第一预测漏洞数据对应的补丁文件、对应的组件全部代码以及对应的代码片段,判断固件包中是否存在漏洞函数,若是,则生成漏洞函数记录表。
[0018]其中,针对每一个第一预测漏洞数据,可以根据第一预测漏洞数据中的漏洞标识,从漏洞数据库中获取与该漏洞标识对应的补丁文件、版本信息、组件名称以及漏洞描述信息,进一步的,可以获取补丁文件的版本信息,并获取与该版本信息对应的组件的组件全部代码,以及,补丁文件对应的补丁代码段。
[0019]具体的,针对每一个第一预测漏洞数据,可以根据组件全部代码、补丁代码段以及第一预测漏洞数据对应的代码片段,判断是否存在漏洞函数,基于存在的漏洞函数生成漏洞函数记录表,以对固件包中存在的漏洞函数进行记录。
[0020]在一种具体的实施方式中,步骤S2包括如下步骤:步骤S21. 针对每一个第一预测漏洞数据,根据第一预测漏洞数据中的漏洞标识,获取第一预测漏洞数据对应的补丁文件、版本信息、组件名称以及漏洞描述信息;步骤S22. 基于补丁文件的版本信息获取组件全部代码,并获取补丁文件对应的补丁代码段;步骤本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于静态和动态结合的漏洞验证方法,其特征在于,包括如下步骤:S1.获取车机零部件中的固件包,对所述固件包进行扫描,得到所述固件包中的各第一预测漏洞数据;S2.根据各所述第一预测漏洞数据对应的补丁文件、对应的组件全部代码以及对应的代码片段,判断所述固件包中是否存在漏洞函数,若是,则生成漏洞函数记录表;S3. 在所述固件包中查找所述漏洞函数记录表中记录的各漏洞函数,得到各代码末尾位置,在各所述代码末尾位置处添加程序断点;S4. 运行针对所述车机零部件的各漏洞测试脚本,得到每一个所述漏洞测试脚本在各所述程序断点处的第一运行结果,以及各所述漏洞测试脚本的第二运行结果;S5. 基于各所述漏洞测试脚本在各所述程序断点处的第一运行结果和各所述漏洞测试脚本的第二运行结果,确定漏洞测试关联表;S6. 响应于其它零部件的漏洞验证请求,在确定出所述其它零部件的待测固件包中存在当前漏洞函数时,判断所述漏洞测试关联表中是否存在所述当前漏洞函数对应的漏洞测试脚本,若是,则确定所述当前漏洞函数存在漏洞。2.根据权利要求1所述的方法,其特征在于,步骤S2包括如下步骤:步骤S21. 针对每一个所述第一预测漏洞数据,根据所述第一预测漏洞数据中的漏洞标识,获取所述第一预测漏洞数据对应的补丁文件、版本信息、组件名称以及漏洞描述信息;步骤S22. 基于所述补丁文件的版本信息获取组件全部代码,并获取所述补丁文件对应的补丁代码段;步骤S23. 在所述组件全部代码中查找与所述补丁代码段相对应的参考代码段;步骤S24. 于预设系统界面展示所述参考代码段,并获取用户于所述预设系统界面录入的漏洞函数以及最新版本标识;步骤S25. 获取所述第一预测漏洞数据对应的代码片段,在所述代码片段的版本标识与所述最新版本标识不一致的情况下,判断所述代码片段中是否存在所述漏洞函数,若是,则将所述漏洞函数记录至漏洞函数记录表。3.根据权利要求1所述的方法,其特征在于,步骤S3包括如下步骤:S31. 在车机模拟平台中查找是否存在所述车机零部件的当前固件包,若存在,则判断所述当前固件包是否与所述固件包一致,在不一致的情况下,将所述当前固件包替换为所述固件包;S32. 针对所述漏洞函数记录表中记录的每一个漏洞函数,在所述固件包中查询所述漏洞函数对应的代码末尾位置,在所述代码末尾位置处添加程序断点。4.根据权利要求1所述的方法,其特征在于,所述第一运行结果为漏洞函数未运行或漏洞函数运行,所述第二运行结果为运行异常或运行正常。5.根据权利要求4所述的方法,其特征在于,步骤S5包括如下步骤:S51. 对于每一个所述漏洞测试脚本,将第一运行结果为漏洞函数运行的各漏洞函数记录至脚本函数关联表中;S52. 针对每一个所述漏洞测试脚本,在所述漏洞测试脚本的第二运行结果为运行正常的...

【专利技术属性】
技术研发人员:张亚楠宁玉桥马超郭振刘畑灵张巧边臣雅
申请(专利权)人:中汽智联技术有限公司
类型:发明
国别省市:

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

1