本发明涉及计算机,尤其涉及一种漏洞检测拦截方法、装置、设备及存储介质。
背景技术:
1、全球知名开源日志组件被曝存在严重高危险级别远程代码执行漏洞,所有类型的在线应用程序、开源软件、云平台和电子邮件服务都面临着极大的安全风险。
2、上述内容仅用于辅助理解本发明的技术方案,并不代表承认上述内容是现有技术。
技术实现思路
1、本发明的主要目的在于提供一种漏洞检测拦截方法、装置、设备及存储介质,旨在解决如何检测并拦截日志组件存在的漏洞,提高应用的安全性的技术问题。
2、为实现上述目的,本发明提供一种漏洞检测拦截方法,所述漏洞检测拦截方法包括以下步骤:
3、在检测到进程启动时,将漏洞检测引擎写入至所述进程;
4、根据所述进程确定当前线程的堆栈,根据所述漏洞检测引擎检测所述堆栈是否存在日志组件漏洞和日志组件漏洞信息获取方法;
5、在检测到所述日志组件漏洞和所述日志组件漏洞信息获取方法时,对所述进程进行拦截。
6、可选地,所述根据所述漏洞检测引擎检测所述堆栈是否存在日志组件漏洞和日志组件漏洞信息获取方法的步骤,包括:
7、根据所述漏洞检测引擎检测所述堆栈是否存在日志组件漏洞;
8、在检测到所述日志组件漏洞时,在根据所述漏洞检测引擎检测所述堆栈中是否存在日志组件漏洞信息获取方法。
9、可选地,所述在检测到进程启动时,将漏洞检测引擎写入至所述进程的步骤,包括:
10、在检测到进程启动时,将漏洞检测引擎写入至所述进程以使所述漏洞检测引擎加载消息拦截函数。
11、可选地,所述在检测到所述日志组件漏洞和所述日志组件漏洞信息获取方法时,对所述进程进行拦截的步骤,包括:
12、在检测到所述日志组件漏洞和所述日志组件漏洞信息获取方法时,根据所述消息拦截函数拦截所述进程。
13、可选地,所述根据所述进程确定当前线程的堆栈的步骤之后,还包括:
14、将相邻堆栈中重复的数据删除,并合并所述相邻堆栈;
15、将合并后相邻堆栈发送至预设模块,并根据预设模块对所述合并后相邻堆栈进行删除重复数据和合并的处理。
16、可选地,所述根据所述漏洞检测引擎检测所述堆栈是否存在日志组件漏洞和日志组件漏洞信息获取方法的步骤,包括:
17、根据所述漏洞检测引擎从所述消息拦截函数中获取检测规则;
18、根据所述检测规则对所述消息拦截函数中待检测数据进行逻辑扫描,并根据扫描结果和漏洞检测引擎检测所述堆栈中是否存在日志组件漏洞和日志组件漏洞信息获取方法。
19、可选地,所述根据扫描结果和漏洞检测引擎检测所述当前线程的堆栈中是否存在日志组件漏洞和日志组件漏洞信息获取方法的步骤,包括:
20、对所述待检测数据进行语句分析,并根据分析结果确定匹配检测模式和约束检测模式;
21、根据匹配检测模式对扫描结果的待检测数据进行匹配检测;
22、在匹配成功时,根据所述约束检测模式对所述消息拦截函数中待检测数据进程约束检测;
23、在约束检测成功时,根据所述匹配检测模式对所述消息拦截函数中待检测数据的数据特征进行绑定;
24、根据漏洞检测引擎生成漏洞检测因子,并根据所述漏洞检测因子评估绑定的数据特征中是否存在日志组件漏洞和日志组件漏洞信息获取方法。
25、可选地,所述根据所述进程确定当前线程的堆栈的步骤之后,还包括:
26、根据当前线程的堆栈获取待检测数据,将所述待检测数据与目标漏洞库进行匹配;
27、根据匹配结果将所述待检测数据分为第一异常日志数据和正常日志数据,并对所述正常日志数据进行漏洞检测。
28、可选地,所述根据当前线程的堆栈获取待检测数据,将所述待检测数据与目标漏洞库进行匹配的步骤之前,还包括:
29、确定各漏洞类型,并根据所述各漏洞类型生成漏洞向量;
30、对所述漏洞向量进行测试分析,并根据分析结果和历史漏洞数据构建目标漏洞库。
31、可选地,所述对所述正常日志数据进行漏洞检测的步骤,包括:
32、从所述正常日志数据中提取特征,并计确定所述特征的特征值;
33、根据所述特征值构建特征序列,并对所述特征序列进行聚类,获得特征集群;
34、确定所述特征集群中各点到中心点的平均距离,并根据所述平均距离从正常日志数据中筛选出第二异常数据。
35、此外,为实现上述目的,本发明还提出一种漏洞检测拦截装置,所述漏洞检测拦截装置包括:数据写入模块、漏洞检测模块及漏洞拦截模块;
36、所述数据写入模块,用于在检测到进程启动时,将漏洞检测引擎写入至所述进程;
37、所述漏洞检测模块,用于根据所述进程确定当前线程的堆栈,根据所述漏洞检测引擎检测所述堆栈是否存在日志组件漏洞和日志组件漏洞信息获取方法;
38、所述漏洞拦截模块,用于在检测到所述日志组件漏洞和所述日志组件漏洞信息获取方法时,对所述进程进行拦截。
39、进一步地,所述漏洞检测模块,还用于根据所述漏洞检测引擎检测所述堆栈是否存在日志组件漏洞;在检测到所述日志组件漏洞时,在根据所述漏洞检测引擎检测所述堆栈中是否存在日志组件漏洞信息获取方法。
40、进一步地,所述数据写入模块,还用于在检测到进程启动时,将漏洞检测引擎写入至所述进程以使所述漏洞检测引擎加载消息拦截函数。
41、进一步地,所述漏洞拦截模块,还用于在检测到所述日志组件漏洞和所述日志组件漏洞信息获取方法时,根据所述消息拦截函数拦截所述进程。
42、进一步地,所述数据写入模块,用于将相邻堆栈中重复的数据删除,并合并所述相邻堆栈;将合并后相邻堆栈发送至预设模块,并根据预设模块对所述合并后相邻堆栈进行删除重复数据和合并的处理。
43、进一步地,所述漏洞检测模块,还用于根据所述漏洞检测引擎从所述消息拦截函数中获取检测规则;根据所述检测规则对所述消息拦截函数中待检测数据进行逻辑扫描,并根据扫描结果和漏洞检测引擎检测所述堆栈中是否存在日志组件漏洞和日志组件漏洞信息获取方法。
44、进一步地,所述漏洞检测模块,还用于对所述待检测数据进行语句分析,并根据分析结果确定匹配检测模式和约束检测模式;根据匹配检测模式对扫描结果的待检测数据进行匹配检测;在匹配成功时,根据所述约束检测模式对所述消息拦截函数中待检测数据进程约束检测;在约束检测成功时,根据所述匹配检测模式对所述消息拦截函数中待检测数据的数据特征进行绑定;根据漏洞检测引擎生成漏洞检测因子,并根据所述漏洞检测因子评估绑定的数据特征中是否存在日志组件漏洞和日志组件漏洞信息获取方法。
45、进一步地,所述漏洞检测模块,还用于根据当前线程的堆栈获取待检测数据,将所述待检测数据与目标漏洞库进行匹配;根据匹配结果将所述待检测数据分为第一异常日志数据和正常日志数据,并对所述正常日志数据进行漏洞检测。
46、此外,为实现上述目的,本发明还提出一种漏洞检测拦截设备,所述漏洞检测拦截设备包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行漏洞检测拦截程序,所述漏洞检测拦截程序配置为实现如上文所述的漏洞检测拦截方法。
47、此外,为实现上述目的,本发明还提出一种存储介质,所述存储介质上存储有漏洞检测拦截程序,所述漏洞检测拦截程序被处理器执行时实现如上文所述的漏洞检测拦截方法。
48、本发明公开了一种漏洞检测拦截方法、装置、设备及存储介质,该方法包括:在检测到进程启动时,将漏洞检测引擎写入至进程;根据进程确定当前线程的堆栈,根据漏洞检测引擎检测堆栈是否存在日志组件漏洞和日志组件漏洞信息获取方法;在检测到日志组件漏洞和日志组件漏洞信息获取方法时,对进程进行拦截。本发明将漏洞检测引擎写入到进程当中,在进程中根据漏洞检测引擎检测堆栈中是否包含日志组件漏洞和日志组件漏洞信息获取方法,并在检测到日志组件漏洞和日志组件漏洞信息获取方法时,拦截进程,从而能防止远程执行时日志组件的漏洞,减少风险,提高了程序运行的安全性。