代码漏洞排查方法、装置、设备及存储介质制造方法及图纸

技术编号:20917748 阅读:17 留言:0更新日期:2019-04-20 09:56
本发明专利技术涉及安全检测,公开了一种代码漏洞排查方法、装置、设备及存储介质,该方法包括:接收漏洞排查指令,提取指令中包含的请求标识,在映射关系中查找对应的日志存储路径;根据日志存储路径获取目标日志文件并读取入参出参数据;获取该入参出参数据对应的标准出参数据,将入参出参数据中包含的目标出参数据与标准出参数据进行比对,并获取比对结果,由于是根据指令中携带的请求标识获取代码调用时的日志文件以及其中存放的入参出参数据,再通过将入参出参数据中包含的目标出参数据与标准出参数据进行比对,从而能够根据比对结果准确地判定代码调用过程中是否存在代码漏洞,实现了对代码漏洞的准确排查,提高了漏洞排查效率。

Code vulnerability detection methods, devices, devices and storage media

The invention relates to security detection, and discloses a code vulnerability detection method, device, device and storage medium. The method includes: receiving vulnerability detection instruction, extracting request identification contained in instruction, searching corresponding log storage path in mapping relationship, acquiring target log file and reading input and output parameter data according to log storage path, and acquiring input and output parameter data. Corresponding standard out parameter data, the target out parameter data contained in the input and output parameter data are compared with the standard out parameter data, and the comparison results are obtained. Because the log file and the input and output parameter data stored in the log file are obtained according to the request identification carried in the instruction, and then the target out parameter data and standard out parameter data contained in the input and output parameter data are imported. Line alignment can accurately determine whether there are code vulnerabilities in the process of code invocation according to the results of alignment. It realizes the accurate detection of code vulnerabilities and improves the efficiency of vulnerability detection.

【技术实现步骤摘要】
代码漏洞排查方法、装置、设备及存储介质
本专利技术涉及计算机软件
,尤其涉及一种代码漏洞排查方法、装置、设备及存储介质。
技术介绍
软件程序在实际应用中,可能会出现漏洞或缺陷(bug),对于线下程序代码而言,开发人员可根据bug对代码进行更改调试,但有些bug只在线上发生,且某些场景下线上代码是不能随意更改调试的,这就导致了bug排查时变得较为费劲且耗时较长。更重要的是,由于一些开源脚本语言框架(如PHP的laravel开发框架)对应的设计模式较多,一旦出现bug对代码进行调试和跟踪将会耗费大量的人力物力,因此,如何简单有效的对线上代码进行代码漏洞的排查,是一个亟待解决的问题。上述内容仅用于辅助理解本专利技术的技术方案,并不代表承认上述内容是现有技术。
技术实现思路
本专利技术的主要目的在于提供了一种代码漏洞排查方法、装置、设备及存储介质,旨在解决现有技术无法简单有效的对线上代码进行代码漏洞排查的技术问题。为实现上述目的,本专利技术提供了一种代码漏洞排查方法,所述方法包括以下步骤:接收漏洞排查指令,提取所述漏洞排查指令中包含的请求标识,在预先构建的映射关系中查找所述请求标识对应的日志存储路径;根据所述日志存储路径获取目标日志文件,并读取所述目标日志文件中预先存放的入参出参数据;获取所述入参出参数据对应的标准出参数据,将所述入参出参数据中包含的目标出参数据与所述标准出参数据进行比对,并获取比对结果。优选地,所述接收漏洞排查指令,提取所述漏洞排查指令中包含的请求标识的步骤之前,所述方法还包括:接收代码调用请求,检测所述代码调用请求中是否包含预设调用参数;在所述代码调用请求中包含所述预设调用参数时,调用预置钩子函数记录所述代码调用请求在请求生命周期内的函数调用信息,所述函数调用信息包括函数调用时的入参出参数据;将所述函数调用信息写入所述代码调用请求对应的日志文件,并获取所述日志文件的日志存储路径;按预设规则生成所述代码调用请求对应的请求标识,并构建所述请求标识与所述日志存储路径之间的映射关系。优选地,所述在所述代码调用请求中包含所述预设调用参数时,调用预置钩子函数记录所述代码调用请求在请求生命周期内的函数调用信息的步骤,包括:在所述代码调用请求中包含预设调用参数时,获取所述代码调用请求中携带的互联网协议地址;检测所述互联网协议地址是否属于预设互联网协议地址白名单;若属于,则调用预置钩子函数记录所述代码调用请求在请求生命周期内的函数调用信息。优选地,所述按预设规则生成所述代码调用请求对应的请求标识的步骤,包括:获取所述代码调用请求对应的请求接收时间,调用预置随机数生成插件生成目标随机数;对所述请求接收时间进行时间格式转换,获取对应的时间戳;将所述互联网协议地址、所述目标随机数以及所述时间戳进行组合,获取所述代码调用请求对应的请求标识。优选地,所述获取所述入参出参数据对应的标准出参数据的步骤,包括:获取所述入参出参数据中包含的入参数据,根据所述入参数据在测试用例数据库中查找对应的目标测试用例;获取所述目标测试用例对应的出参数据,并将获取到的出参数据作为标准出参数据。优选地,所述将所述入参出参数据中包含的目标出参数据与所述标准出参数据进行比对,并获取比对结果的步骤之后,所述方法还包括:在所述比对结果为所述目标出参数据与所述标准出参数据不相同时,判定所述代码调用请求在所述请求生命周期内存在代码执行漏洞;从所述函数调用信息中读取所述代码调用请求对应的调用堆栈,并根据所述调用堆栈确定所述代码执行漏洞对应的目标代码。优选地,所述根据所述调用堆栈确定所述代码执行漏洞对应的目标代码的步骤,包括:获取所述调用堆栈中存放的代码执行顺序,并根据所述代码执行顺序中包含的若干个代码标识确定所述代码调用请求对应的调用代码;根据所述入参数据从所述调用代码中确定所述代码执行漏洞对应的目标代码。此外,为实现上述目的,本专利技术还提出一种代码漏洞排查装置,所述装置包括:指令响应模块,用于接收漏洞排查指令,提取所述漏洞排查指令中包含的请求标识,在预先构建的映射关系中查找所述请求标识对应的日志存储路径;数据获取模块,用于根据所述日志存储路径获取目标日志文件,并读取所述目标日志文件中预先存放的入参出参数据;数据比对模块,用于获取所述入参出参数据对应的标准出参数据,将所述入参出参数据中包含的目标出参数据与所述标准出参数据进行比对,并获取比对结果。此外,为实现上述目的,本专利技术还提出一种代码漏洞排查设备,所述设备包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的代码漏洞排查程序,所述代码漏洞排查程序配置为实现如上文所述的代码漏洞排查方法的步骤。此外,为实现上述目的,本专利技术还提出一种存储介质,所述存储介质上存储有代码漏洞排查程序,所述代码漏洞排查程序被处理器执行时实现如上文所述的代码漏洞排查方法的步骤。本专利技术通过接收漏洞排查指令,提取漏洞排查指令中包含的请求标识,在预先构建的映射关系中查找请求标识对应的日志存储路径;根据日志存储路径获取目标日志文件,并读取目标日志文件中预先存放的入参出参数据;获取入参出参数据对应的标准出参数据,将入参出参数据中包含的目标出参数据与标准出参数据进行比对,并获取比对结果,由于本专利技术是根据指令中携带的请求标识获取代码调用时的日志文件以及其中存放的入参出参数据,再通过将入参出参数据中包含的目标出参数据与标准出参数据进行比对,从而能够根据比对结果准确地判定代码调用过程中是否存在代码执行漏洞,实现了对代码执行漏洞的准确排查,提高了漏洞排查效率。附图说明图1是本专利技术实施例方案涉及的硬件运行环境的代码漏洞排查设备的结构示意图;图2为本专利技术代码漏洞排查方法第一实施例的流程示意图;图3为本专利技术代码漏洞排查方法第二实施例的流程示意图;图4为本专利技术代码漏洞排查方法第三实施例的流程示意图;图5为本专利技术代码漏洞排查装置第一实施例的结构框图。本专利技术目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。具体实施方式应当理解,此处所描述的具体实施例仅用以解释本专利技术,并不用于限定本专利技术。参照图1,图1为本专利技术实施例方案涉及的硬件运行环境的代码漏洞排查设备结构示意图。如图1所示,该代码漏洞排查设备可以包括:处理器1001,例如中央处理器(CentralProcessingUnit,CPU),通信总线1002、用户接口1003,网络接口1004,存储器1005。其中,通信总线1002用于实现这些组件之间的连接通信。用户接口1003可以包括显示屏(Display)、输入单元比如键盘(Keyboard),可选用户接口1003还可以包括标准的有线接口、无线接口。网络接口1004可选的可以包括标准的有线接口、无线接口(如无线保真(WIreless-FIdelity,WI-FI)接口)。存储器1005可以是高速的随机存取存储器(RandomAccessMemory,RAM)存储器,也可以是稳定的非易失性存储器(Non-VolatileMemory,NVM),例如磁盘存储器。存储器1005可选的还可以是独立于前述处理器1001的存储装置。本领域技术人员可以理解,图1中示出的结构并不构成对代码漏洞排查设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件本文档来自技高网...

【技术保护点】
1.一种代码漏洞排查方法,其特征在于,所述方法包括:接收漏洞排查指令,提取所述漏洞排查指令中包含的请求标识,在预先构建的映射关系中查找所述请求标识对应的日志存储路径;根据所述日志存储路径获取目标日志文件,并读取所述目标日志文件中预先存放的入参出参数据;获取所述入参出参数据对应的标准出参数据,将所述入参出参数据中包含的目标出参数据与所述标准出参数据进行比对,并获取比对结果。

【技术特征摘要】
1.一种代码漏洞排查方法,其特征在于,所述方法包括:接收漏洞排查指令,提取所述漏洞排查指令中包含的请求标识,在预先构建的映射关系中查找所述请求标识对应的日志存储路径;根据所述日志存储路径获取目标日志文件,并读取所述目标日志文件中预先存放的入参出参数据;获取所述入参出参数据对应的标准出参数据,将所述入参出参数据中包含的目标出参数据与所述标准出参数据进行比对,并获取比对结果。2.如权利要求1所述的方法,其特征在于,所述接收漏洞排查指令,提取所述漏洞排查指令中包含的请求标识的步骤之前,所述方法还包括:接收代码调用请求,检测所述代码调用请求中是否包含预设调用参数;在所述代码调用请求中包含所述预设调用参数时,调用预置钩子函数记录所述代码调用请求在请求生命周期内的函数调用信息,所述函数调用信息包括函数调用时的入参出参数据;将所述函数调用信息写入所述代码调用请求对应的日志文件,并获取所述日志文件的日志存储路径;按预设规则生成所述代码调用请求对应的请求标识,并构建所述请求标识与所述日志存储路径之间的映射关系。3.如权利要求2所述的方法,其特征在于,所述在所述代码调用请求中包含所述预设调用参数时,调用预置钩子函数记录所述代码调用请求在请求生命周期内的函数调用信息的步骤,包括:在所述代码调用请求中包含预设调用参数时,获取所述代码调用请求中携带的互联网协议地址;检测所述互联网协议地址是否属于预设互联网协议地址白名单;若属于,则调用预置钩子函数记录所述代码调用请求在请求生命周期内的函数调用信息。4.如权利要求3所述的方法,其特征在于,所述按预设规则生成所述代码调用请求对应的请求标识的步骤,包括:获取所述代码调用请求对应的请求接收时间,调用预置随机数生成插件生成目标随机数;对所述请求接收时间进行时间格式转换,获取对应的时间戳;将所述互联网协议地址、所述目标随机数以及所述时间戳进行组合,获取所述代码调用请求对应的请求标识。5.如权利要求4所述的方法,其特征在于,所述获取所述入参出参数据...

【专利技术属性】
技术研发人员:杨军
申请(专利权)人:平安城市建设科技深圳有限公司
类型:发明
国别省市:广东,44

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

1