CN116257848A - 一种内存马检测方法 - Google Patents
一种内存马检测方法 Download PDFInfo
- Publication number
- CN116257848A CN116257848A CN202211698659.XA CN202211698659A CN116257848A CN 116257848 A CN116257848 A CN 116257848A CN 202211698659 A CN202211698659 A CN 202211698659A CN 116257848 A CN116257848 A CN 116257848A
- Authority
- CN
- China
- Prior art keywords
- memory
- execution
- behavior
- horse
- determining
- 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
Images
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/55—Detecting local intrusion or implementing counter-measures
- G06F21/56—Computer malware detection or handling, e.g. anti-virus arrangements
- G06F21/566—Dynamic detection, i.e. detection performed at run-time, e.g. emulation, suspicious activities
-
- 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
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/03—Indexing scheme relating to G06F21/50, monitoring users, programs or devices to maintain the integrity of platforms
- G06F2221/034—Test or assess a computer or a system
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- Virology (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Computing Systems (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明涉及一种内存马检测方法,包括:确定待检测系统,并获取所述待检测系统的系统进程;对所述系统进程进行调试,判断是否存在包含目标函数的系统进程,若是则将相应系统进程确定为可疑进程;所述目标函数为后注入的可执行函数;对每一可疑进程中包含的每一线程的执行过程进行监测,判断是否存在符合内存马行为特征的目标执行行为,若是则判定待检测系统存在内存马攻击风险。本发明可对内存马进行动态检测,弥补了现有检测工具仅可确定静态内存马的缺陷,填补了内存马检测技术的空缺。
Description
技术领域
本发明涉及网络安全技术领域,尤其涉及一种内存马检测方法。
背景技术
近年来,随着网络安全技术的发展,对webshell文件的检测技术有一定的提升,但已有的检测技术却很难对内存马进行有效检测。现有EDR分析软件仅可捕获一些危险敏感函数及动作,当遇到内存马攻击时,由于其行为特征及行为的隐蔽性,导致对其进行检测存在一定困难,已有的内存马检测工具仅可确定静态的内存马,无法对动态内存马进行有效检测,缺少行之有效地内存马定位和获取其行为信息的手段,给网络安全人员和运维人员的检测和取证工作带来了诸多挑战。
发明内容
有鉴于此,本发明提供一种内存马检测方法,对待检测系统的系统进程进行调试,确定系统进程中是否被注入了目标函数,若是则进一步对相应每一线程的执行过程进行监测,判断是否存在符合内存马行为特征的目标执行行为,若是则确定待检测系统存在内存马攻击风险。本发明能够对内存马进行动态监测并有效检出,至少部分解决现有技术中存在的问题。
具体发明内容为:
一种内存马检测方法,包括:
确定待检测系统,并获取所述待检测系统的系统进程。
对所述系统进程进行调试,判断是否存在包含目标函数的系统进程,若是则将相应系统进程确定为可疑进程;所述目标函数为后注入的可执行函数。
对每一可疑进程中包含的每一线程的执行过程进行监测,判断是否存在符合内存马行为特征的目标执行行为,若是则判定待检测系统存在内存马攻击风险。
进一步地,在所述获取所述系统的系统进程之前,所述方法还包括:
获取所述待检测系统的系统管理员权限。
进一步地,所述判断是否存在包含目标函数的系统进程,包括:
利用钩子函数对所述系统进程进行过滤,确定被注入所述目标函数的系统进程。
进一步地,所述对每一可疑进程中包含的每一线程的执行过程进行监测,包括:
通过堆栈回溯对每一可疑进程中包含的每一线程进行遍历,对遍历过程进行监测。
进一步地,所述判断是否存在符合内存马行为特征的目标执行行为,包括:
当监测到在各线程执行的内存空间之外申请内存空间的执行行为,且申请的内存空间带有MZ标识时,将相应执行行为确定为所述目标执行行为。
进一步地,所述判断是否存在符合内存马行为特征的目标执行行为,包括:
对各线程执行过程中执行的代码签名证书进行监测,当监测到目标代码签名证书时,将执行所述目标代码签名证书的执行行为确定为所述目标执行行为;所述目标代码签名证书包括过期代码签名证书、无效代码签名证书。
进一步地,所述判断是否存在符合内存马行为特征的目标执行行为,包括:
对各线程执行过程中执行的函数进行监测,确定包含数字签名的函数。
判断每一所述包含数字签名的函数其数字签名是否过期,若已过期,则将执行相应函数的执行行为确定为所述目标执行行为。
进一步地,在所述判断每一所述包含数字签名的函数其数字签名是否过期之后,所述方法还包括:
若未过期,则获取相应各函数的每一程序模块信息,判断程序模块中是否包含与其对应的函数包含的数字签名相同的数字签名,若未包含,则将执行相应程序模块的执行行为确定为所述目标执行行为。
进一步地,在所述将相应执行行为确定为所述目标执行行为之后,所述方法还包括:
对内存中每一带有MZ标识的内存空间进行监测,当监测到有可执行文件输入时,根据所述可执行文件的输入路径确定所述可执行文件的来源,并对所述可执行文件的执行过程进行监测,以对内存马安全风险进行定位并确定内存马的攻击行为。
进一步地,在确定所述目标执行行为之后,所述方法还包括:
确定所述目标执行行为对应的线程,用以对内存马安全风险进行定位。
一种内存马检测装置,包括:
进程获取模块,用于确定待检测系统,并获取所述待检测系统的系统进程。
进程调试模块,用于对所述系统进程进行调试,判断是否存在包含目标函数的系统进程,若是则将相应系统进程确定为可疑进程;所述目标函数为后注入的可执行函数。
内存马风险判定模块,用于对每一可疑进程中包含的每一线程的执行过程进行监测,判断是否存在符合内存马行为特征的目标执行行为,若是则判定待检测系统存在内存马攻击风险。
一种计算机设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现前述内存马检测方法。
一种计算机可读存储介质,所述计算机可读存储介质存储有一个或者多个程序,所述一个或者多个程序可被一个或者多个处理器执行,以实现前述内存马检测方法。
本发明的有益效果体现在:
本发明可对内存马进行动态检测,弥补了现有检测工具仅可确定静态内存马的缺陷,填补了内存马检测技术的空缺。本发明对系统进程和线程进行调试和监测,以对内存马进行检出,是一种从技术底层和根源进行检测的方式,能够对每一系统执行行为进行过滤,确定可疑进程和执行行为,以实现对内存马进行有效检出。本发明可联动EDR分析软件等检测工具,以对网络攻击行为进行更全面、更精准的检测,进一步维护网络安全。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
图1为本发明实施例一种内存马检测方法流程图;
图2为本发明实施例另一种内存马检测方法流程图;
图3为本发明实施例一种内存马检测装置结构图。
具体实施方式
下面结合附图对本发明实施例进行详细描述。
需说明的是,在不冲突的情况下,以下实施例及实施例中的特征可以相互组合;并且,基于本公开中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本公开保护的范围。
需要说明的是,下文描述在所附权利要求书的范围内的实施例的各种方面。应显而易见,本文中所描述的方面可体现于广泛多种形式中,且本文中所描述的任何特定结构及/或功能仅为说明性的。基于本公开,所属领域的技术人员应了解,本文中所描述的一个方面可与任何其它方面独立地实施,且可以各种方式组合这些方面中的两者或两者以上。举例来说,可使用本文中所阐述的任何数目个方面来实施设备及/或实践方法。另外,可使用除了本文中所阐述的方面中的一或多者之外的其它结构及/或功能性实施此设备及/或实践此方法。
本发明提供一种内存马检测方法实施例,如图1所示,包括:
S11:确定待检测系统,并获取所述待检测系统的系统进程。
S12:对所述系统进程进行调试,判断是否存在包含目标函数的系统进程,若是则将相应系统进程确定为可疑进程;所述目标函数为后注入的可执行函数。内存马攻击为了达到攻击目的,需要在系统进程中注入可执行函数,借助系统进程的执行来实施具体攻击,因此需要对系统进程进行调试,确定出被注入可执行函数的系统进程,这样的系统进程有被攻击者利用的嫌疑,因此将其确定为可疑进程。
S13:对每一可疑进程中包含的每一线程的执行过程进行监测,判断是否存在符合内存马行为特征的目标执行行为,若是则判定待检测系统存在内存马攻击风险。所述内存马行为特征包括额外申请内存空间、执行已过期或无效的代码签名证书、使用过期的数字签名等,具备这些行为特征的执行行为均有逃避性,可轻而易举的躲避检测,因此成为内存马所利用的用以实施攻击行为的过程性执行手段。
图1所述实施例首先对待检测系统的系统进程进行调试,确定系统进程中是否被注入了目标函数,若是则进一步对相应系统进程的每一线程的执行过程进行监测,判断是否存在符合内存马行为特征的目标执行行为,若是则确定待检测系统存在内存马攻击风险。图1所述实施例可对内存马进行动态检测,弥补了现有检测工具仅可确定静态内存马的缺陷,填补了内存马检测技术的空缺。图1所述实施例对系统进程和线程进行调试和监测,以对内存马进行检出,是一种从技术底层和根源进行检测的方式,能够对每一系统执行行为进行过滤,确定可疑进程和执行行为,以实现对内存马进行有效检出。图1所述实施例可联动EDR分析软件等检测工具,以对网络攻击行为进行更全面、更精准的检测,进一步维护网络安全。
优选地,在所述获取所述系统的系统进程之前,所述方法还包括:
获取所述待检测系统的系统管理员权限。部分权限级别较高的系统进程需管理员权限才能获取和调试,因此,获取系统管理员权限能够获取到待检测系统中的全部系统进程,以对待检测系统进行全面检测,以免出现漏检造成的安全风险。
优选地,所述判断是否存在包含目标函数的系统进程,包括:
利用钩子函数对所述系统进程进行过滤,确定被注入所述目标函数的系统进程。钩子函数是系统消息处理机制的一部分,通过设置钩子函数可以在系统级对所有消息、事件进行过滤,访问在正常情况下无法访问的消息,同时可对系统进程中是否被注入函数进行检出。
优选地,所述对每一可疑进程中包含的每一线程的执行过程进行监测,包括:
通过堆栈回溯对每一可疑进程中包含的每一线程进行遍历,对遍历过程进行监测。每一线程均包含有执行函数,每一线程执行过程中涉及多级函数的调用,在调用过程中,处理器会将函数调用指令的下一条地址压入堆栈,通过分析当前堆栈找到上层函数在堆栈中的栈帧地址,再分析上层函数的栈帧找到再上层函数的栈帧地址,该过程即为堆栈回溯,通过如此回溯直至最顶层函数,形成一条函数执行的路径轨迹,通过该路径轨迹能够得到各线程的调用顺序。通过堆栈回溯对每一可疑进程中包含的每一线程的执行过程进行监测,能够清晰的梳理出各线程的调用和执行逻辑,明确各线程的执行行为,有利于对目标执行行为进行检出和定位,为网络安全工作人员和运维人员的检测和取证工作提供支持。
优选地,所述判断是否存在符合内存马行为特征的目标执行行为,包括:
当监测到在各线程执行的内存空间之外申请内存空间的执行行为,且申请的内存空间带有MZ标识时,将相应执行行为确定为所述目标执行行为。以windows系统为例,各系统进程和线程一般在内存的.text区段内执行,不会额外另行申请内存空间执行,但内存马作为无文件落地木马,会利用VirtualAlloc函数在内存中另行申请内存空间。根据对已知内存马的分析,其另行申请的内存空间带有MZ标识,另行申请内存空间的目的是用以执行攻击代码,所述攻击代码一般以标准可执行文件的形式输入到带有MZ标识的内存空间中,且对应的可执行文件具有很大的隐蔽性,例如极具隐蔽性难以被检出的rootkit、利用软件漏洞执行的shellcode等。内存马另行申请的内存空间一般不会马上使用,会保持无影像的空内存的状态,内存马借助其他线程隐蔽的执行到以标准可执行文件的形式包装的攻击代码的位置时,才会将相应的可执行文件发送至另行申请的内存空间中进行执行,以实施目标攻击。可见,另行申请内存空间是内存马实施攻击的关键一步,因此对在各线程执行的内存空间之外申请内存空间的执行行为进行监测是对内存马进行检测的关键一步。
优选地,所述判断是否存在符合内存马行为特征的目标执行行为,包括:
对各线程执行过程中执行的代码签名证书进行监测,当监测到目标代码签名证书时,将执行所述目标代码签名证书的执行行为确定为所述目标执行行为;所述目标代码签名证书包括过期代码签名证书、无效代码签名证书。
优选地,所述判断是否存在符合内存马行为特征的目标执行行为,包括:
对各线程执行过程中执行的函数进行监测,确定包含数字签名的函数。
判断每一所述包含数字签名的函数其数字签名是否过期,若已过期,则将执行相应函数的执行行为确定为所述目标执行行为。
优选地,在所述判断每一所述包含数字签名的函数其数字签名是否过期之后,所述方法还包括:
若未过期,则获取相应各函数的每一程序模块信息,判断程序模块中是否包含与其对应的函数包含的数字签名相同的数字签名,若未包含,则将执行相应程序模块的执行行为确定为所述目标执行行为。程序模块中未包含与其对应的函数包含的数字签名相同的数字签名,有两种情况,一种是程序模块中未包含数字签名,另一种是其包含的数字签名与其对应的函数包含的数字签名不同。
前述实施例中,执行过期或无效的代码签名证书、使用已过期的数字签名等,都属于内存马实施攻击的过程性执行行为,通过这些隐蔽的执行行为调用系统函数,或夹带攻击代码或指令等,以达到最终的攻击目的。因此,对这些目标执行行为进行监测,能够更全面地对内存马进行检测,避免漏检。
优选地,在所述将相应执行行为确定为所述目标执行行为之后,所述方法还包括:
对内存中每一带有MZ标识的内存空间进行监测,当监测到有可执行文件输入时,根据所述可执行文件的输入路径确定所述可执行文件的来源,并对所述可执行文件的执行过程进行监测,以对内存马安全风险进行定位并确定内存马的攻击行为。
优选地,在确定所述目标执行行为之后,所述方法还包括:
确定所述目标执行行为对应的线程,用以对内存马安全风险进行定位。
前述优选方案能够对系统中存在内存马安全风险的具体位置进行定位,并确定内存马实施的具体攻击行为,为网络安全工作人员和运维人员开展检测和取证等工作提供支持,同时有利于对攻击行为进行溯源,分析其攻击路径,进一步地帮助网络安全工作人员对安全防护策略进行优化,更好地维护用户网络安全。
为对本发明所述方法进行进一步地说明,结合前述优选方案给出另一种内存马检测方法实施例,如图2所示,包括:
S21:确定待检测系统,获取所述待检测系统的系统管理员权限。
S22:获取所述待检测系统的系统进程。
S23:对所述系统进程进行调试,利用钩子函数对所述系统进程进行过滤,确定被注入目标函数的系统进程。所述目标函数为后注入的可执行函数。
S24:通过堆栈回溯对每一可疑进程中包含的每一线程进行遍历。
S25:对遍历过程进行监测,并分别进入S251、S252、S253。
S251:判断是否存在在各线程执行的内存空间之外申请内存空间的执行行为,且申请的内存空间带有MZ标识,若是则将相应执行行为确定为所述目标执行行为,并进入S26,否则返回S25。
S252:对各线程执行过程中执行的代码签名证书进行监测,判断是否存在目标代码签名证书,若是则将执行所述目标代码签名证书的执行行为确定为所述目标执行行为,并进入S27,否则返回S25;所述目标代码签名证书包括过期代码签名证书、无效代码签名证书。
S253:对各线程执行过程中执行的函数进行监测,确定包含数字签名的函数,判断每一所述包含数字签名的函数其数字签名是否过期,若已过期,则将执行相应函数的执行行为确定为所述目标执行行为,并进入S27;若未过期,则获取相应各函数的每一程序模块信息,判断程序模块中是否包含与其对应的函数包含的数字签名相同的数字签名,若未包含则将执行相应程序模块的执行行为确定为所述目标执行行为,并进入S27,若包含则返回S25。
S26:对内存中每一带有MZ标识的内存空间进行监测,当监测到有可执行文件输入时,根据所述可执行文件的输入路径确定所述可执行文件的来源,并对所述可执行文件的执行过程进行监测,以对内存马安全风险进行定位并确定内存马的攻击行为。
S27:确定所述目标执行行为对应的线程,用以对内存马安全风险进行定位。
图2所述实施例可对内存马进行动态检测,弥补了现有检测工具仅可确定静态内存马的缺陷,填补了内存马检测技术的空缺。图2所述实施例对系统进程和线程进行调试和监测,以对内存马进行检出,是一种从技术底层和根源进行检测的方式,能够对每一系统执行行为进行过滤,确定可疑进程和执行行为,以实现对内存马进行有效检出。图2所述实施例可联动EDR分析软件等检测工具,以对网络攻击行为进行更全面、更精准的检测,进一步维护网络安全。图2所述实施例通过堆栈回溯对每一可疑进程中包含的每一线程的执行过程进行监测,能够清晰的梳理出各线程的调用和执行逻辑,明确各线程的执行行为,有利于对目标执行行为进行检出和定位,为网络安全工作人员和运维人员的检测和取证工作提供支持。图2所述实施例能够对系统中存在内存马安全风险的具体位置进行定位,并确定内存马实施的具体攻击行为,为网络安全工作人员和运维人员开展检测和取证等工作提供支持,同时有利于对攻击行为进行溯源,分析其攻击路径,进一步地帮助网络安全工作人员对安全防护策略进行优化,更好地维护用户网络安全。
图2所述实施例是基于图1所述实施例的优选方案得到的,因此,对图2所述实施例的描述较为简单,相关之处请参照图1所述实施例。
本发明提供一种内存马检测装置实施例,如图3所示,包括:
进程获取模块31,用于确定待检测系统,并获取所述待检测系统的系统进程。
进程调试模块32,用于对所述系统进程进行调试,判断是否存在包含目标函数的系统进程,若是则将相应系统进程确定为可疑进程;所述目标函数为后注入的可执行函数。
内存马风险判定模块33,用于对每一可疑进程中包含的每一线程的执行过程进行监测,判断是否存在符合内存马行为特征的目标执行行为,若是则判定待检测系统存在内存马攻击风险。
图3所述实施例首先对待检测系统的系统进程进行调试,确定系统进程中是否被注入了目标函数,若是则进一步对相应系统进程的每一线程的执行过程进行监测,判断是否存在符合内存马行为特征的目标执行行为,若是则确定待检测系统存在内存马攻击风险。图3所述实施例可对内存马进行动态检测,弥补了现有检测工具仅可确定静态内存马的缺陷,填补了内存马检测技术的空缺。图3所述实施例对系统进程和线程进行调试和监测,以对内存马进行检出,是一种从技术底层和根源进行检测的方式,能够对每一系统执行行为进行过滤,确定可疑进程和执行行为,以实现对内存马进行有效检出。图3所述实施例可联动EDR分析软件等检测工具,以对网络攻击行为进行更全面、更精准的检测,进一步维护网络安全。
优选地,在所述获取所述系统的系统进程之前,所述进程获取模块31还用于:
获取所述待检测系统的系统管理员权限。
优选地,所述判断是否存在包含目标函数的系统进程,包括:
利用钩子函数对所述系统进程进行过滤,确定被注入所述目标函数的系统进程。
优选地,所述对每一可疑进程中包含的每一线程的执行过程进行监测,包括:
通过堆栈回溯对每一可疑进程中包含的每一线程进行遍历,对遍历过程进行监测。
优选地,所述判断是否存在符合内存马行为特征的目标执行行为,包括:
当监测到在各线程执行的内存空间之外申请内存空间的执行行为,且申请的内存空间带有MZ标识时,将相应执行行为确定为所述目标执行行为。
优选地,所述判断是否存在符合内存马行为特征的目标执行行为,包括:
对各线程执行过程中执行的代码签名证书进行监测,当监测到目标代码签名证书时,将执行所述目标代码签名证书的执行行为确定为所述目标执行行为;所述目标代码签名证书包括过期代码签名证书、无效代码签名证书。
优选地,所述判断是否存在符合内存马行为特征的目标执行行为,包括:
对各线程执行过程中执行的函数进行监测,确定包含数字签名的函数;
判断每一所述包含数字签名的函数其数字签名是否过期,若已过期,则将执行相应函数的执行行为确定为所述目标执行行为。
优选地,在所述判断每一所述包含数字签名的函数其数字签名是否过期之后,所述内存马风险判定模块33还用于:
若未过期,则获取相应各函数的每一程序模块信息,判断程序模块中是否包含与其对应的函数包含的数字签名相同的数字签名,若未包含,则将执行相应程序模块的执行行为确定为所述目标执行行为。
优选地,在所述将相应执行行为确定为所述目标执行行为之后,所述内存马风险判定模块33还用于:
对内存中每一带有MZ标识的内存空间进行监测,当监测到有可执行文件输入时,根据所述可执行文件的输入路径确定所述可执行文件的来源,并对所述可执行文件的执行过程进行监测,以对内存马安全风险进行定位并确定内存马的攻击行为。
优选地,在确定所述目标执行行为之后,所述内存马风险判定模块33还用于:
确定所述目标执行行为对应的线程,用以对内存马安全风险进行定位。
图3所述实施例为图1、图2所述方法实施例对应的装置实施例,部分实现过程与技术效果与图1、图2所述实施例相近,因此,对图3所述实施例的描述较为简单,相关之处请参照图1、图2所述实施例。
本发明还提供了一种计算机设备实施例,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现前述实施例所述的方法,所述方法可参见图1、图2所述实施例的描述,在此不再赘述。
本发明实施例还提供一种计算机可读存储介质,所述计算机可读存储介质存储有一个或者多个程序,所述一个或者多个程序可被一个或者多个处理器执行,以实现前述实施例所述的方法。
本发明可对内存马进行动态检测,弥补了现有检测工具仅可确定静态内存马的缺陷,填补了内存马检测技术的空缺。本发明对系统进程和线程进行调试和监测,以对内存马进行检出,是一种从技术底层和根源进行检测的方式,能够对每一系统执行行为进行过滤,确定可疑进程和执行行为,以实现对内存马进行有效检出。本发明可联动EDR分析软件等检测工具,以对网络攻击行为进行更全面、更精准的检测,进一步维护网络安全。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。
Claims (10)
1.一种内存马检测方法,其特征在于,包括:
确定待检测系统,并获取所述待检测系统的系统进程;
对所述系统进程进行调试,判断是否存在包含目标函数的系统进程,若是则将相应系统进程确定为可疑进程;所述目标函数为后注入的可执行函数;
对每一可疑进程中包含的每一线程的执行过程进行监测,判断是否存在符合内存马行为特征的目标执行行为,若是则判定待检测系统存在内存马攻击风险。
2.根据权利要求1所示的方法,其特征在于,在所述获取所述系统的系统进程之前,所述方法还包括:
获取所述待检测系统的系统管理员权限。
3.根据权利要求1所述的方法,其特征在于,所述判断是否存在包含目标函数的系统进程,包括:
利用钩子函数对所述系统进程进行过滤,确定被注入所述目标函数的系统进程。
4.根据权利要求1所述的方法,其特征在于,所述对每一可疑进程中包含的每一线程的执行过程进行监测,包括:
通过堆栈回溯对每一可疑进程中包含的每一线程进行遍历,对遍历过程进行监测。
5.根据权利要求1所述的方法,其特征在于,所述判断是否存在符合内存马行为特征的目标执行行为,包括:
当监测到在各线程执行的内存空间之外申请内存空间的执行行为,且申请的内存空间带有MZ标识时,将相应执行行为确定为所述目标执行行为。
6.根据权利要求1所述的方法,其特征在于,所述判断是否存在符合内存马行为特征的目标执行行为,包括:
对各线程执行过程中执行的代码签名证书进行监测,当监测到目标代码签名证书时,将执行所述目标代码签名证书的执行行为确定为所述目标执行行为;所述目标代码签名证书包括过期代码签名证书、无效代码签名证书。
7.根据权利要求1所述的方法,其特征在于,所述判断是否存在符合内存马行为特征的目标执行行为,包括:
对各线程执行过程中执行的函数进行监测,确定包含数字签名的函数;
判断每一所述包含数字签名的函数其数字签名是否过期,若已过期,则将执行相应函数的执行行为确定为所述目标执行行为。
8.根据权利要求7所述的方法,其特征在于,在所述判断每一所述包含数字签名的函数其数字签名是否过期之后,所述方法还包括:
若未过期,则获取相应各函数的每一程序模块信息,判断程序模块中是否包含与其对应的函数包含的数字签名相同的数字签名,若未包含,则将执行相应程序模块的执行行为确定为所述目标执行行为。
9.根据权利要求5所述的方法,其特征在于,在所述将相应执行行为确定为所述目标执行行为之后,所述方法还包括:
对内存中每一带有MZ标识的内存空间进行监测,当监测到有可执行文件输入时,根据所述可执行文件的输入路径确定所述可执行文件的来源,并对所述可执行文件的执行过程进行监测,以对内存马安全风险进行定位并确定内存马的攻击行为。
10.根据权利要求6-8任一所述的方法,其特征在于,在确定所述目标执行行为之后,所述方法还包括:
确定所述目标执行行为对应的线程,用以对内存马安全风险进行定位。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211698659.XA CN116257848A (zh) | 2022-12-28 | 2022-12-28 | 一种内存马检测方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211698659.XA CN116257848A (zh) | 2022-12-28 | 2022-12-28 | 一种内存马检测方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116257848A true CN116257848A (zh) | 2023-06-13 |
Family
ID=86683521
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211698659.XA Pending CN116257848A (zh) | 2022-12-28 | 2022-12-28 | 一种内存马检测方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116257848A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116595527A (zh) * | 2023-07-18 | 2023-08-15 | 中孚安全技术有限公司 | 一种内存木马的检测方法、系统、装置及可读存储介质 |
CN117792805A (zh) * | 2024-02-28 | 2024-03-29 | 北京长亭科技有限公司 | 一种基于内存马模拟仿真的网络安全检测方法以及装置 |
-
2022
- 2022-12-28 CN CN202211698659.XA patent/CN116257848A/zh active Pending
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116595527A (zh) * | 2023-07-18 | 2023-08-15 | 中孚安全技术有限公司 | 一种内存木马的检测方法、系统、装置及可读存储介质 |
CN116595527B (zh) * | 2023-07-18 | 2023-10-20 | 中孚安全技术有限公司 | 一种内存木马的检测方法、系统、装置及可读存储介质 |
CN117792805A (zh) * | 2024-02-28 | 2024-03-29 | 北京长亭科技有限公司 | 一种基于内存马模拟仿真的网络安全检测方法以及装置 |
CN117792805B (zh) * | 2024-02-28 | 2024-05-24 | 北京长亭科技有限公司 | 一种基于内存马模拟仿真的网络安全检测方法以及装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN116257848A (zh) | 一种内存马检测方法 | |
US9043924B2 (en) | Method and system of runtime analysis | |
CN111695119A (zh) | 一种基于细粒度静态污点分析与符号执行的web漏洞检测方法 | |
CN109255240B (zh) | 一种漏洞处理方法和装置 | |
CN111191248B (zh) | 针对Android车载终端系统的漏洞检测系统及方法 | |
CN113158197B (zh) | 一种基于主动iast的sql注入漏洞检测方法、系统 | |
CN116451228B (zh) | 动态污点追踪方法、装置及相关在线污点传播分析系统 | |
CN116842531B (zh) | 基于代码疫苗的漏洞实时验证方法、装置、设备及介质 | |
CN113946825B (zh) | 一种内存马处理方法及系统 | |
CN113761519A (zh) | 一种Web应用程序的检测方法、装置及存储介质 | |
Gauthier et al. | Fast detection of access control vulnerabilities in php applications | |
CN113886814A (zh) | 一种攻击检测方法及相关装置 | |
CN109409089A (zh) | 一种基于虚拟机自省的Windows加密型勒索软件检测方法 | |
Pandey et al. | A framework for producing effective and efficient secure code through malware analysis | |
CN112632547A (zh) | 一种数据处理方法和相关装置 | |
Aloraini et al. | Evaluating state-of-the-art free and open source static analysis tools against buffer errors in android apps | |
RU2662391C1 (ru) | Система и способ проверки веб-ресурсов на наличие вредоносных вставок | |
CN112527691B (zh) | 程序安全检测防护方法、中间件系统及安全中间件系统 | |
KR101421630B1 (ko) | 코드 인젝션된 악성코드 탐지 시스템 및 방법 | |
Khan et al. | A hybrid monitoring of software design-level security specifications | |
CN116467712B (zh) | 动态污点追踪方法、装置及相关污点传播分析系统 | |
CN115599503B (zh) | 容器安全风险检测方法、装置、电子设备及存储介质 | |
CN118051920B (zh) | 一种漏洞验证请求包生成方法、装置、设备及存储介质 | |
CN111274585B (zh) | 一种Web应用越权漏洞检测方法、装置、设备和介质 | |
Mohammed | Automatic Static Vulnerability Detection Approaches and Tools: State of the Art |
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 |