CN117093999A - 远程代码执行漏洞检测方法、装置、设备、介质及产品 - Google Patents
远程代码执行漏洞检测方法、装置、设备、介质及产品 Download PDFInfo
- Publication number
- CN117093999A CN117093999A CN202210515181.6A CN202210515181A CN117093999A CN 117093999 A CN117093999 A CN 117093999A CN 202210515181 A CN202210515181 A CN 202210515181A CN 117093999 A CN117093999 A CN 117093999A
- Authority
- CN
- China
- Prior art keywords
- instruction
- suspicious
- call chain
- chain information
- executed
- 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.)
- Pending
Links
- 238000001514 detection method Methods 0.000 title claims abstract description 49
- 238000000034 method Methods 0.000 claims abstract description 342
- 238000004590 computer program Methods 0.000 claims description 15
- 238000004891 communication Methods 0.000 description 5
- 230000006399 behavior Effects 0.000 description 4
- 238000010586 diagram Methods 0.000 description 4
- 230000006870 function Effects 0.000 description 4
- 238000012544 monitoring process Methods 0.000 description 4
- 238000012360 testing method Methods 0.000 description 4
- 230000003287 optical effect Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 1
- 238000004880 explosion Methods 0.000 description 1
- 238000005065 mining Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000013515 script Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/57—Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
- G06F21/577—Assessing vulnerabilities and evaluating computer system security
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/70—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
- G06F21/71—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
Landscapes
- Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明提供一种远程代码执行漏洞检测方法、装置、设备、介质及产品,包括:基于预定义的危险指令特征库,判断进程调用链信息中执行的指令是否为危险指令;在不为危险指令的情况下,基于预定义的可疑指令特征库,判断进程调用链信息中执行的指令是否为可疑指令;在进程调用链信息中执行的指令为可疑指令的情况下,将进程调用链信息中执行的指令作为可疑指令,并判断在预定时间内,可疑指令的数量是否超过预定的攻击数量阈值;在可疑指令的数量超过预定的攻击数量阈值的情况下,确定进程调用链信息中执行的指令为攻击指令,存在远程代码执行漏洞。本发明既能及时发现明确的RCE漏洞,又能实时监测疑似RCE漏洞,提升RCE漏洞检测的准确性。
Description
技术领域
本发明涉及网络安全技术领域,尤其涉及一种远程代码执行漏洞检测方法、装置、设备、介质及产品。
背景技术
远程代码执行漏洞,也称远程命令执行漏洞,简称RCE漏洞,是一种直接向后台服务器远程注入操作系统命令或者代码,从而使得攻击者能够控制后台系统的漏洞。网络业务中程序员为了灵活性与扩展性,会在代码中使用可执行指令的函数、可序列化与反序列化之类的函数,从而导致RCE漏洞频繁爆出。且由于误允许用户通过浏览器提交想要执行的命令,从而出现反弹Shell进行提权或者是远程下载并执行后门、挖矿等危险。另外,也有一些本来就有需要定时执行用户输入的一组脚本的自动化流程工具,最终被WebServer在服务器本地执行了来自流量提交的指令,从而出现网络安全问题。
现有的RCE漏洞检测分为黑盒测试与白盒测试两种,其中,黑盒测试为某些网站中特定的功能,比如Ping、数据库备份等等;白盒测试则是通过查看命令执行函数是否做过滤来发现RCE漏洞。上述两种检测方法均只能检测得到已知的RCE漏洞,但是无法检测潜在RCE漏洞,对被执行的内容的检测不够全面,无法保证业务的安全性。
发明内容
本发明提供一种远程代码执行漏洞检测方法、装置、设备、介质及产品,用以解决上述问题。
本发明提供一种远程代码执行漏洞检测方法,包括:
获取待检测进程的进程信息,并根据所述待检测进程的进程信息获取进程调用链信息;
基于预定义的危险指令特征库,判断所述进程调用链信息中执行的指令是否为危险指令;
在所述进程调用链信息中执行的指令不为危险指令的情况下,基于预定义的可疑指令特征库,判断所述进程调用链信息中执行的指令是否为可疑指令;
在所述进程调用链信息中执行的指令为可疑指令的情况下,将所述进程调用链信息中执行的指令作为可疑指令,并判断在预定时间内,所述可疑指令的数量是否超过预定的攻击数量阈值;
在所述可疑指令的数量超过预定的攻击数量阈值的情况下,确定所述进程调用链信息中执行的指令为攻击指令,所述待检测进程中存在远程代码执行漏洞。
根据本发明提供的一种远程代码执行漏洞检测方法,在所述基于预定义的危险指令特征库,判断所述进程调用链信息中执行的指令是否为危险指令之后,方法还包括:
在所述进程调用链信息中执行的指令为危险指令的情况下,确定所述待检测进程中存在远程代码执行漏洞。
根据本发明提供的一种远程代码执行漏洞检测方法,在基于预定义的可疑指令特征库,所述判断所述进程调用链信息中执行的指令是否为可疑指令之前,方法还包括:
判断所述进程调用链信息中是否存在对外提供服务的进程;
在所述进程调用链信息中存在对外提供服务的进程的情况下,基于预定义的可疑指令特征库,判断所述对外提供服务的进程所执行的指令是否为可疑指令。
根据本发明提供的一种远程代码执行漏洞检测方法,所述预定义的危险指令特征库由危险指令特征构成,所述危险指令特征从存在远程代码执行漏洞的进程所执行的指令中提取得到;
所述预定义的可疑指令特征库由可疑指令特征构成,所述可疑指令特征从预设的可疑指令中提取得到。
根据本发明提供的一种远程代码执行漏洞检测方法,在确定所述进程调用链信息中执行的指令为攻击指令,所述待检测进程中存在远程代码执行漏洞之后,方法还包括:
根据存在远程代码执行漏洞的待检测进程,产生报警信息。
根据本发明提供的一种远程代码执行漏洞检测方法,所述待检测进程的进程信息为待检测进程的进程识别号;
相应地,所述获取待检测进程的进程信息,并根据所述待检测进程的进程信息获取进程调用链信息,包括:
获取待检测进程的进程识别号;
根据所述待检测进程的进程识别号确定与待检测进程存在调用关系的进程,并获取所述待检测进程以及与新建进程存在调用关系的进程所对应的进程路径、启动参数、所属用户以及业务类型信息;
将所述进程路径、启动参数、所属用户以及业务类型信息作为进程调用链信息。
本发明还提供一种远程代码执行漏洞检测装置,包括:
进行信息获取模块,用于获取待检测进程的进程信息,并根据所述待检测进程的进程信息获取进程调用链信息;
危险指令判断模块,用于基于预定义的危险指令特征库,判断所述进程调用链信息中执行的指令是否为危险指令;
可疑指令判断模块,用于在所述进程调用链信息中执行的指令不为危险指令的情况下,基于预定义的可疑指令特征库,判断所述进程调用链信息中执行的指令是否为可疑指令;
漏洞判断模块,用于在所述进程调用链信息中执行的指令为可疑指令的情况下,将所述进程调用链信息中执行的指令作为可疑指令,并判断在预定时间内,所述可疑指令的数量是否超过预定的攻击数量阈值;
在所述可疑指令的数量超过预定的攻击数量阈值的情况下,确定所述进程调用链信息中执行的指令为攻击指令,所述待检测进程中存在远程代码执行漏洞。
本发明还提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行程序时实现如上述任一种远程代码执行漏洞检测方法。
本发明还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现如上述任一种远程代码执行漏洞检测方法。
本发明还提供一种计算机程序产品,包括计算机程序,计算机程序被处理器执行时实现如上述任一种远程代码执行漏洞检测方法。
本发明提供的远程代码执行漏洞检测方法、装置、设备、介质及产品,通过对进程对应的进程调用链进行全面的远程代码执行漏洞检测,并且从危险指令与可疑指令两个维度入手,既能及时发现确切的 RCE漏洞,又能实时监测疑似出现RCE漏洞的进程,并在可疑指令到达预定数量,则将疑似RCE漏洞确认为确切RCE漏洞,提升RCE 漏洞检测的准确性,实时保证业务执行过程中的安全性。
附图说明
为了更清楚地说明本发明或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的远程代码执行漏洞检测方法的流程示意图一;
图2是本发明实施例提供的远程代码执行漏洞检测方法的流程示意图二;
图3为本发明实施例提供的远程代码执行漏洞检测装置结构示意图;
图4为本发明实施例提供的一种电子设备的实体结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合本发明中的附图,对本发明中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
图1是本发明实施例提供的远程代码执行漏洞检测方法的流程示意图一;如图1所示,一种远程代码执行漏洞检测方法,包括如下步骤:
S101,获取待检测进程的进程信息,并根据所述待检测进程的进程信息获取进程调用链信息。
在本步骤中,待检测进程为操作系统里新创建的一个进程,在新进程创建过程中,通过驱动监控系统对所有正在执行任务的进程的进行TCP端口监听,从而能够获得新进程创建时的启动参数、所属用途、业务类型等进程信息以及与新进程相关的成一串进程调用进程的调用链。整个调用链被记录为full_tree_path,该full_tree_path记录着所涉及到的所有进程对应的进程路径、启动参数、用户、服务类型等信息。
S102,基于预定义的危险指令特征库,判断所述进程调用链信息中执行的指令是否为危险指令。
在本步骤中,预定义的危险指令特征库是基于现有的存在明确的 RCE漏洞所对应的进程所执行的指令中提取得到。当某个业务执行了某些特定的危险指令,则存在攻击行为,也即存在RCE漏洞,比如WebSphere服务执行网络连接命令,或是spark服务远程下载文件并执行,在此情境下存在RCE漏洞。
通过判断所述进程调用链信息中执行的指令是否在预定义的危险指令特征库中匹配得到相应的危险指令,来确定进程调用链信息中执行的指令是否为危险指令。
若进程调用链信息中执行的指令为危险指令,则新建进程存在 RCE漏洞,需要进行报警,便于处理;若进程调用链信息中执行的指令不为危险指令,则需要进一步地进行可疑指令检测。
S103,在所述进程调用链信息中执行的指令不为危险指令的情况下,基于预定义的可疑指令特征库,判断所述进程调用链信息中执行的指令是否为可疑指令。
在本步骤中,预定义的可疑指令特征库是基于疑似存在RCE漏洞的进程所执行的指令中提取得到。
通过判断所述进程调用链信息中执行的指令是否能在预定义的可疑指令特征库匹配得到对应的可疑指令,来确定进程调用链信息中执行的指令是否为可疑指令。
若进程调用链信息中执行的指令为可疑指令,则需要对可疑指令进行进一步地判断,从而确定是否从疑似RCE漏洞确定为确切RCE 漏洞;若程调用链信息中执行的指令不为可疑指令,则不进行报警等处理,使得进程继续。
S104,在所述进程调用链信息中执行的指令为可疑指令的情况下,将所述进程调用链信息中执行的指令作为可疑指令,并判断在预定时间内,所述可疑指令的数量是否超过预定的攻击数量阈值。
在所述可疑指令的数量超过预定的攻击数量阈值的情况下,确定所述进程调用链信息中执行的指令为攻击指令,所述待检测进程中存在远程代码执行漏洞。
在本步骤中,统计预定时间内可疑指令,并判断可疑指令的总数是否超过预定的攻击数量阈值,若可疑指令的总数超过预定的攻击数量阈值,则认定新建进程存在RCE漏洞;若可疑指令的总数未超过预定的攻击数量阈值,则认为新建进程为正常进行,不需要报警。
具体地,某些业务在规定时间内联系执行N个疑似指令之后,则可以判定存在明确的RCE漏洞,比如IIS的一个业务在规定时间内分别执行了whoami、ipconfig、ver指令后被视为攻击行为,也即存在RCE漏洞。
本发明实施例提供的一种远程代码执行漏洞检测方法,通过对进程对应的进程调用链进行全面的远程代码执行漏洞检测,并且从危险指令与可疑指令两个维度入手,既能及时发现确切的RCE漏洞,又能实时监测疑似出现RCE漏洞的进程,并在可疑指令到达预定数量,则将疑似RCE漏洞确认为确切RCE漏洞,提升RCE漏洞检测的准确性,实时保证业务执行过程中的安全性。
进一步地,在所述基于预定义的危险指令特征库,判断所述进程调用链信息中执行的指令是否为危险指令之后,方法还包括:在所述进程调用链信息中执行的指令为危险指令的情况下,确定所述待检测进程中存在远程代码执行漏洞。
具体地,预定义的危险指令特征库中记录了存在确切RCE漏洞的各个业务的进程名、启动参数以及业务类型,还记录了被执行的指令。通过进程调用链信息full_tree_path中所记录的信息在预定义的危险指令特征库中进行匹配,确定是否存在攻击行为。
本发明实施例提供的一种远程代码执行漏洞检测方法,既能及时发现确切的RCE漏洞,又能实时监测疑似出现RCE漏洞的进程,并在可疑指令到达预定数量,则将疑似RCE漏洞确认为确切RCE漏洞,提升RCE漏洞检测的准确性,实时保证业务执行过程中的安全性。
进一步地,在基于预定义的可疑指令特征库,所述判断所述进程调用链信息中执行的指令是否为可疑指令之前,方法还包括:判断所述进程调用链信息中是否存在对外提供服务的进程;在所述进程调用链信息中存在对外提供服务的进程的情况下,基于预定义的可疑指令特征库,判断所述对外提供服务的进程所执行的指令是否为可疑指令。
具体地,在驱动监控系统对所有正在执行任务的进程的进行TCP 端口监听的过程中,将对外提供服务的进程标记为易受攻击的进程,对应的进程识别号为ServerID。从获取的进程调用链信息中找出易受攻击的进程以及其对应的ServerID,在确定易受攻击的进程之后再判断该易受攻击的进程所执行的指令是否为可疑指令。
本发明实施例提供的一种远程代码执行漏洞检测方法,通过预先从进程调用链信息中确定对外提供服务的进程,在确定对外提供服务的进程之后,再进行可疑指令的判断,从而缩小判断范围,提升可疑指令确定的速率。
进一步地,所述预定义的危险指令特征库由危险指令特征构成,所述危险指令特征从存在远程代码执行漏洞的进程所执行的指令中提取得到;所述预定义的可疑指令特征库由可疑指令特征构成,所述可疑指令特征从预设的可疑指令中提取得到。
本实施例中,存在远程代码执行漏洞的进程所执行的指令是指因 RCE漏洞而出现的真实攻击行为所对应的指令;预设的可疑指令是指易受攻击的进程所执行的危害性不大但执行多了会报警的指令。在本发明的其他实施例中,预设的可疑指令可以根据需求自行设定,本发明对此不做限定。
进一步地,在确定所述进程调用链信息中执行的指令为攻击指令,所述待检测进程中存在远程代码执行漏洞之后,方法还包括:根据存在远程代码执行漏洞的待检测进程,产生报警信息。
本实施例中,在确定待检测进程存在RCE漏洞之后,会根据进行信息进行产生报警信息,便于管理员及时处理。
进一步地,所述待检测进程的进程信息为待检测进程的进程识别号PID。
相应地,所述获取待检测进程的进程信息,并根据所述待检测进程的进程信息获取进程调用链信息,包括:获取待检测进程的进程识别号PID;根据所述待检测进程的进程识别号PID确定与待检测进程存在调用关系的进程,并获取所述待检测进程以及与新建进程存在调用关系的进程所对应的进程路径、启动参数、所属用户以及业务类型信息;将所述进程路径、启动参数、所属用户以及业务类型信息作为进程调用链信息。
图2是本发明实施例提供的远程代码执行漏洞检测方法的流程示意图二;如图2所示,一种远程代码执行漏洞检测方法,包括如下步骤:
S201,创建新进程,将该新进程作为待检测进程,获取该待检测进程的进程PID;然后进入步骤S202。
S202,根据进程PID获取进程调用链信息full_tree_path,然后进入步骤S203。
S203,基于预定义的危险指令特征库,对进程调用链信息 full_tree_path中所执行的指令进行精准匹配,若匹配中,则确定为存在RCE漏洞,进入S206;若未匹配中,则进入S204。
S204,判断进程调用链信息full_tree_path中是否有对外提供服务的进程,若存在对外提供服务的进程,则获取对外提供服务的进程的识别号ServerID,然后进入S205;若不存在对外提供服务的进程,则进入结束状态。
S205,基于预定义的可疑指令特征库,对对外提供服务的进程所执行的指令进行可疑指令匹配,若在预定的时间内匹配得到的可疑指令数量超过攻击数量阈值,则存在RCE漏洞,进入S206;若未超过攻击数量阈值,则进入结束状态。
S206,对RCE漏洞进行上报。
下面对本发明提供的远程代码执行漏洞检测装置进行描述,下文描述的远程代码执行漏洞检测装置与上文描述的远程代码执行漏洞检测方法可相互对应参照。
图3为本发明实施例提供的远程代码执行漏洞检测装置结构示意图,如图3所示,一种远程代码执行漏洞检测装置,包括:
进行信息获取模块301,用于获取待检测进程的进程信息,并根据所述待检测进程的进程信息获取进程调用链信息。
在本模块中,待检测进程为操作系统里新创建的一个进程,在新进程创建过程中,通过驱动监控系统对所有正在执行任务的进程的进行TCP端口监听,从而能够获得新进程创建时的启动参数、所属用途、业务类型等进程信息以及与新进程相关的成一串进程调用进程的调用链。整个调用链被记录为full_tree_path,该full_tree_path记录着所涉及到的所有进程对应的进程路径、启动参数、用户、服务类型等信息。
危险指令判断模块302,用于基于预定义的危险指令特征库,判断所述进程调用链信息中执行的指令是否为危险指令。
在本模块中,预定义的危险指令特征库是基于现有的存在明确的 RCE漏洞所对应的进程所执行的指令中提取得到。当某个业务执行了某些特定的危险指令,则存在攻击行为,也即存在RCE漏洞,比如WebSphere服务执行网络连接命令,或是spark服务远程下载文件并执行,在此情境下存在RCE漏洞。
通过判断所述进程调用链信息中执行的指令是否在预定义的危险指令特征库中匹配得到相应的危险指令,来确定进程调用链信息中执行的指令是否为危险指令。
若进程调用链信息中执行的指令为危险指令,则新建进程存在 RCE漏洞,需要进行报警,便于处理;若进程调用链信息中执行的指令不为危险指令,则需要进一步地进行可疑指令检测。
可疑指令判断模块303,用于在所述进程调用链信息中执行的指令不为危险指令的情况下,基于预定义的可疑指令特征库,判断所述进程调用链信息中执行的指令是否为可疑指令。
在本模块中,预定义的可疑指令特征库是基于疑似存在RCE漏洞的进程所执行的指令中提取得到。
通过判断所述进程调用链信息中执行的指令是否能在预定义的可疑指令特征库匹配得到对应的可疑指令,来确定进程调用链信息中执行的指令是否为可疑指令。
若进程调用链信息中执行的指令为可疑指令,则需要对可疑指令进行进一步地判断,从而确定是否从疑似RCE漏洞确定为确切RCE 漏洞;若程调用链信息中执行的指令不为可疑指令,则不进行报警等处理,使得进程继续。
漏洞判断模块304,用于在所述进程调用链信息中执行的指令为可疑指令的情况下,将所述进程调用链信息中执行的指令作为可疑指令,并判断在预定时间内,所述可疑指令的数量是否超过预定的攻击数量阈值;在所述可疑指令的数量超过预定的攻击数量阈值的情况下,确定所述进程调用链信息中执行的指令为攻击指令,所述待检测进程中存在远程代码执行漏洞。
在本模块中,统计预定时间内可疑指令,并判断可疑指令的总数是否超过预定的攻击数量阈值,若可疑指令的总数超过预定的攻击数量阈值,则认定新建进程存在RCE漏洞;若可疑指令的总数未超过预定的攻击数量阈值,则认为新建进程为正常进行,不需要报警。
具体地,某些业务在规定时间内联系执行N个疑似指令之后,则可以判定存在明确的RCE漏洞,比如IIS的一个业务在规定时间内分别执行了whoami、ipconfig、ver指令后被视为攻击行为,也即存在RCE漏洞。
本发明实施例提供的远程代码执行漏洞检测装置,通过对进程对应的进程调用链进行全面的远程代码执行漏洞检测,并且从危险指令与可疑指令两个维度入手,既能及时发现确切的RCE漏洞,又能实时监测疑似出现RCE漏洞的进程,并在可疑指令到达预定数量,则将疑似RCE漏洞确认为确切RCE漏洞,提升RCE漏洞检测的准确性,实时保证业务执行过程中的安全性。
图4为本发明实施例提供的一种电子设备的实体结构示意图,如图4所示,该电子设备可以包括:处理器(processor)410、通信接口 (Communications Interface)420、存储器(memory)430和通信总线440,其中,处理器410,通信接口420,存储器430通过通信总线440完成相互间的通信。处理器410可以调用存储器430中的逻辑指令,以执行远程代码执行漏洞检测方法,所述远程代码执行漏洞检测方法,包括:获取待检测进程的进程信息,并根据所述待检测进程的进程信息获取进程调用链信息;基于预定义的危险指令特征库,判断所述进程调用链信息中执行的指令是否为危险指令;在所述进程调用链信息中执行的指令不为危险指令的情况下,基于预定义的可疑指令特征库,判断所述进程调用链信息中执行的指令是否为可疑指令;
在所述进程调用链信息中执行的指令为可疑指令的情况下,将所述进程调用链信息中执行的指令作为可疑指令,并判断在预定时间内,所述可疑指令的数量是否超过预定的攻击数量阈值;在所述可疑指令的数量超过预定的攻击数量阈值的情况下,确定所述进程调用链信息中执行的指令为攻击指令,所述待检测进程中存在远程代码执行漏洞。
此外,上述的存储器430中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
另一方面,本发明还提供一种计算机程序产品,计算机程序产品包括计算机程序,计算机程序可存储在非暂态计算机可读存储介质上,计算机程序被处理器执行时,计算机能够执行上述各方法所提供的一种远程代码执行漏洞检测方法,所述远程代码执行漏洞检测方法,包括:获取待检测进程的进程信息,并根据所述待检测进程的进程信息获取进程调用链信息;基于预定义的危险指令特征库,判断所述进程调用链信息中执行的指令是否为危险指令;在所述进程调用链信息中执行的指令不为危险指令的情况下,基于预定义的可疑指令特征库,判断所述进程调用链信息中执行的指令是否为可疑指令;在所述进程调用链信息中执行的指令为可疑指令的情况下,将所述进程调用链信息中执行的指令作为可疑指令,并判断在预定时间内,所述可疑指令的数量是否超过预定的攻击数量阈值;在所述可疑指令的数量超过预定的攻击数量阈值的情况下,确定所述进程调用链信息中执行的指令为攻击指令,所述待检测进程中存在远程代码执行漏洞。
又一方面,本发明还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现以执行上述方法所提供的远程代码执行漏洞检测方法,所述远程代码执行漏洞检测方法,包括:获取待检测进程的进程信息,并根据所述待检测进程的进程信息获取进程调用链信息;基于预定义的危险指令特征库,判断所述进程调用链信息中执行的指令是否为危险指令;在所述进程调用链信息中执行的指令不为危险指令的情况下,基于预定义的可疑指令特征库,判断所述进程调用链信息中执行的指令是否为可疑指令;在所述进程调用链信息中执行的指令为可疑指令的情况下,将所述进程调用链信息中执行的指令作为可疑指令,并判断在预定时间内,所述可疑指令的数量是否超过预定的攻击数量阈值;在所述可疑指令的数量超过预定的攻击数量阈值的情况下,确定所述进程调用链信息中执行的指令为攻击指令,所述待检测进程中存在远程代码执行漏洞。
以上所描述的装置实施例仅仅是示意性的,其中作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分的方法。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (10)
1.一种远程代码执行漏洞检测方法,其特征在于,包括:
获取待检测进程的进程信息,并根据所述待检测进程的进程信息获取进程调用链信息;
基于预定义的危险指令特征库,判断所述进程调用链信息中执行的指令是否为危险指令;
在所述进程调用链信息中执行的指令不为危险指令的情况下,基于预定义的可疑指令特征库,判断所述进程调用链信息中执行的指令是否为可疑指令;
在所述进程调用链信息中执行的指令为可疑指令的情况下,将所述进程调用链信息中执行的指令作为可疑指令,并判断在预定时间内,所述可疑指令的数量是否超过预定的攻击数量阈值;
在所述可疑指令的数量超过预定的攻击数量阈值的情况下,确定所述进程调用链信息中执行的指令为攻击指令,所述待检测进程中存在远程代码执行漏洞。
2.根据权利要求1所述的远程代码执行漏洞检测方法,其特征在于,在所述基于预定义的危险指令特征库,判断所述进程调用链信息中执行的指令是否为危险指令之后,方法还包括:
在所述进程调用链信息中执行的指令为危险指令的情况下,确定所述待检测进程中存在远程代码执行漏洞。
3.根据权利要求1所述的远程代码执行漏洞检测方法,其特征在于,在基于预定义的可疑指令特征库,所述判断所述进程调用链信息中执行的指令是否为可疑指令之前,方法还包括:
判断所述进程调用链信息中是否存在对外提供服务的进程;
在所述进程调用链信息中存在对外提供服务的进程的情况下,基于预定义的可疑指令特征库,判断所述对外提供服务的进程所执行的指令是否为可疑指令。
4.根据权利要求1所述的远程代码执行漏洞检测方法,其特征在于,所述预定义的危险指令特征库由危险指令特征构成,所述危险指令特征从存在远程代码执行漏洞的进程所执行的指令中提取得到;
所述预定义的可疑指令特征库由可疑指令特征构成,所述可疑指令特征从预设的可疑指令中提取得到。
5.根据权利要求1至4任一所述的远程代码执行漏洞检测方法,其特征在于,在确定所述进程调用链信息中执行的指令为攻击指令,所述待检测进程中存在远程代码执行漏洞之后,方法还包括:
根据存在远程代码执行漏洞的待检测进程,产生报警信息。
6.根据权利要求1至4任一所述的远程代码执行漏洞检测方法,其特征在于,所述待检测进程的进程信息为待检测进程的进程识别号;
相应地,所述获取待检测进程的进程信息,并根据所述待检测进程的进程信息获取进程调用链信息,包括:
获取待检测进程的进程识别号;
根据所述待检测进程的进程识别号确定与待检测进程存在调用关系的进程,并获取所述待检测进程以及与新建进程存在调用关系的进程所对应的进程路径、启动参数、所属用户以及业务类型信息;
将所述进程路径、启动参数、所属用户以及业务类型信息作为进程调用链信息。
7.一种远程代码执行漏洞检测装置,其特征在于,包括:
进行信息获取模块,用于获取待检测进程的进程信息,并根据所述待检测进程的进程信息获取进程调用链信息;
危险指令判断模块,用于基于预定义的危险指令特征库,判断所述进程调用链信息中执行的指令是否为危险指令;
可疑指令判断模块,用于在所述进程调用链信息中执行的指令不为危险指令的情况下,基于预定义的可疑指令特征库,判断所述进程调用链信息中执行的指令是否为可疑指令;
漏洞判断模块,用于在所述进程调用链信息中执行的指令为可疑指令的情况下,将所述进程调用链信息中执行的指令作为可疑指令,并判断在预定时间内,所述可疑指令的数量是否超过预定的攻击数量阈值;
在所述可疑指令的数量超过预定的攻击数量阈值的情况下,确定所述进程调用链信息中执行的指令为攻击指令,所述待检测进程中存在远程代码执行漏洞。
8.一种电子设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1至6任一项所述远程代码执行漏洞检测方法。
9.一种非暂态计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至6任一项所述远程代码执行漏洞检测方法。
10.一种计算机程序产品,包括计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至6任一项所述远程代码执行漏洞检测方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210515181.6A CN117093999A (zh) | 2022-05-11 | 2022-05-11 | 远程代码执行漏洞检测方法、装置、设备、介质及产品 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210515181.6A CN117093999A (zh) | 2022-05-11 | 2022-05-11 | 远程代码执行漏洞检测方法、装置、设备、介质及产品 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117093999A true CN117093999A (zh) | 2023-11-21 |
Family
ID=88770325
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210515181.6A Pending CN117093999A (zh) | 2022-05-11 | 2022-05-11 | 远程代码执行漏洞检测方法、装置、设备、介质及产品 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117093999A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117579381A (zh) * | 2024-01-12 | 2024-02-20 | 远江盛邦(北京)网络安全科技股份有限公司 | 远程命令执行rce漏洞检测方法和设备 |
-
2022
- 2022-05-11 CN CN202210515181.6A patent/CN117093999A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117579381A (zh) * | 2024-01-12 | 2024-02-20 | 远江盛邦(北京)网络安全科技股份有限公司 | 远程命令执行rce漏洞检测方法和设备 |
CN117579381B (zh) * | 2024-01-12 | 2024-04-26 | 远江盛邦(北京)网络安全科技股份有限公司 | 远程命令执行rce漏洞检测方法和设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109922075B (zh) | 网络安全知识图谱构建方法和装置、计算机设备 | |
CN110830470B (zh) | 一种失陷主机检测方法、装置、设备及可读存储介质 | |
CN109726560A (zh) | 终端设备系统防护方法及装置 | |
CN104506495A (zh) | 一种智能化网络apt攻击威胁分析方法 | |
CN109167781B (zh) | 一种基于动态关联分析的网络攻击链识别方法和装置 | |
KR101972825B1 (ko) | 하이브리드 분석 기술을 이용한 임베디드 기기 취약점 자동 분석 방법, 장치 및 그 방법을 실행하는 컴퓨터 프로그램 | |
CN113259392B (zh) | 一种网络安全攻防方法、装置及存储介质 | |
CN112632531A (zh) | 恶意代码的识别方法、装置、计算机设备及介质 | |
CN112653654A (zh) | 安全监控方法、装置、计算机设备及存储介质 | |
CN110879889A (zh) | Windows平台的恶意软件的检测方法及系统 | |
CN112749097B (zh) | 一种模糊测试工具性能测评方法、装置 | |
CN108595953A (zh) | 对手机应用进行风险评估的方法 | |
CN112632560A (zh) | 一种web漏洞确认方法以及装置 | |
CN112787985B (zh) | 一种漏洞的处理方法、管理设备以及网关设备 | |
CN113709126A (zh) | 网络协议安全模糊测试方法、装置、设备以及存储介质 | |
CN111447167A (zh) | 车载系统安全防护方法及装置 | |
CN117093999A (zh) | 远程代码执行漏洞检测方法、装置、设备、介质及产品 | |
CN113886814A (zh) | 一种攻击检测方法及相关装置 | |
CN115333805A (zh) | 一种代码热修复方法、装置、设备及计算机可读存储介质 | |
CN112347484A (zh) | 软件漏洞检测方法、装置、设备及计算机可读存储介质 | |
CN116010963A (zh) | 一种内核漏洞检测方法、装置、设备及可读存储介质 | |
CN114861168A (zh) | 一种防逃逸的攻击行为欺骗蜜罐构建方法 | |
CN109271787A (zh) | 一种操作系统安全主动防御方法及操作系统 | |
CN114253847A (zh) | 一种程序安全测试方法、装置、设备及存储介质 | |
CN112398784B (zh) | 防御漏洞攻击的方法及装置、存储介质、计算机设备 |
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 |