CN113946825B - 一种内存马处理方法及系统 - Google Patents
一种内存马处理方法及系统 Download PDFInfo
- Publication number
- CN113946825B CN113946825B CN202111576038.XA CN202111576038A CN113946825B CN 113946825 B CN113946825 B CN 113946825B CN 202111576038 A CN202111576038 A CN 202111576038A CN 113946825 B CN113946825 B CN 113946825B
- Authority
- CN
- China
- Prior art keywords
- detection
- memory
- control agent
- horse
- class
- 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.)
- Active
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/562—Static detection
- G06F21/563—Static detection by source code analysis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformation of program code
- G06F8/53—Decompilation; Disassembly
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5011—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
- G06F9/5016—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals the resource being the memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
Abstract
一种内存马处理方法及系统,涉及网络安全技术领域,该内存马处理方法包括:检测装置扫描待检测设备的进程列表;然后检测装置以标识信息为参数依次将预先配置的控制代理程序注入每个进程;控制代理程序再对每个进程中所有已加载的类进行可疑类检测,得到可疑类检测结果;进一步地,检测装置根据可疑类检测结果进行内存马检测,得到检测结果;并将检测结果反馈给控制代理程序;最后控制代理程序根据检测结果确定被注入内存马的目标进程,并通过字节码增强技术对目标进程中的恶意类进行清除处理,能够减少对目标进程的侵入性,且能够自动检测内存马并自动对检测到的内存马进行处理,处理效率高,进而有利于维护设备安全。
Description
技术领域
本申请涉及网络安全技术领域,具体而言,涉及一种内存马处理方法及系统。
背景技术
随着网络的不断发展,Java Web内存马(以下简称内存马)也开始逐渐进入人们的视野中。这是一种无文件落地的webshell技术,是由于 webshell 特征识别、防篡改、目录监控等等针对 web 应用目录或服务器文件防御手段的介入,导致的有文件落地的webshell 难以写入和持久而衍生出的一种木马。现有的内存马处理方法,通常对目标进程进行注入检测代码并且确定敏感类的字节码,再将字节码转换为伪代码,由人工进行判断其中是否存在内存马。然而,在实践中发现,现有方法对目标进程侵入性较强,存在可能影响目标进程正常功能的情况,同时人工判断的方法效率低,且在判断出存在内存马时无法及时进行内存马处理。
发明内容
本申请实施例的目的在于提供一种内存马处理方法及系统,能够减少对目标进程的侵入性,且能够自动检测内存马并自动对检测到的内存马进行处理,处理效率高,进而有利于维护设备安全。
本申请实施例第一方面提供了一种内存马处理方法,应用于内存马处理系统,所述内存马处理系统包括检测装置和控制代理装置,所述方法包括:
所述检测装置扫描待检测设备的进程列表,其中,所述进程列表包括所述待检测设备运行的至少一个进程以及每个所述进程对应的标识信息;
所述检测装置以所述标识信息为参数依次将预先配置的控制代理程序注入每个所述进程;
所述控制代理程序对每个所述进程中所有已加载的类进行可疑类检测,得到可疑类检测结果;
所述检测装置根据所述可疑类检测结果进行内存马检测,得到检测结果;并将所述检测结果反馈给所述控制代理程序;
所述控制代理程序根据所述检测结果确定被注入内存马的目标进程,并通过字节码增强技术对所述目标进程中的恶意类进行清除处理。
在上述实现过程中,检测装置扫描待检测设备的进程列表,其中,进程列表包括待检测设备运行的至少一个进程以及每个进程对应的标识信息;然后检测装置以标识信息为参数依次将预先配置的控制代理程序注入每个进程;控制代理程序再对每个进程中所有已加载的类进行可疑类检测,得到可疑类检测结果;进一步地,检测装置根据可疑类检测结果进行内存马检测,得到检测结果;并将检测结果反馈给控制代理程序;最后控制代理程序根据检测结果确定被注入内存马的目标进程,并通过字节码增强技术对目标进程中的恶意类进行清除处理。可见,实施该方法能够减少对目标进程的侵入性,且能够自动检测内存马并自动对检测到的内存马进行处理,处理效率高,进而有利于维护设备安全。
进一步地,所述控制代理程序对每个所述进程中所有已加载的类进行可疑类检测,得到可疑类检测结果,包括:
所述控制代理程序根据预先设定的风险计算公式计算每个所述进程中每个类的安全风险等级;
所述控制代理程序根据所述安全风险等级从每个所述进程的所有类中筛选出安全风险等级大于预设等级阈值的类,作为可疑类;
所述控制代理程序获取所述可疑类对应的字节码数据,并根据所述字节码数据生成可疑类检测结果。
进一步地,所述检测装置根据所述可疑类检测结果进行内存马检测,得到检测结果,包括:
所述检测装置对所述字节码数据进行基于反编译的伪代码分析,得到分析结果;
所述检测装置根据所述分析结果确定进行内存马检测,得到检测结果。
进一步地,所述控制代理程序通过字节码增强技术对所述目标进程中的恶意类进行清除处理,包括:
所述控制代理程确定所述目标进程中的恶意类;
所述控制代理程序通过字节码增强技术加载新字节码;
所述控制代理程序在所述新字节码通过校验时,根据所述新字节码对所述恶意类进行替换,以完成对所述恶意类的清除处理。
在上述实现过程中,在发现内存马时,检测装置会立马将检测结果反馈给目标进程中的控制代理程序,控制代理程序会通过字节码增强技术对恶意类进行清除,不需要目标进程重启。
进一步地,在所述控制代理程序通过字节码增强技术对所述目标进程中的恶意类进行清除处理之后,所述方法还包括:
所述检测装置通过预设的类转换器对每个所述进程中的所述控制代理程序进行自卸载处理。
进一步地,所述检测装置扫描待检测设备的进程列表,包括:
所述检测装置扫描待检测设备的运行的至少一个进程以及每个所述进程对应的标识信息,得到初始进程列表;
所述检测装置确定所述初始进程列表中重点检查进程和免检查进程;
所述检测装置对所述初始进程列表中的所述重点检查进程进行重点检测标记处理,得到第一处理进程列表;并对所述第一处理进程列表中的所述免检查进程进行去除处理,得到最终的进程列表。
进一步地,所述检测装置确定所述初始进程列表中重点检查进程和免检查进程,包括:
所述检测装置获取历史内存马检测记录;
所述检测装置根据所述历史内存马检测记录确定所述初始进程列表中满足预设重点检查条件的重点检查进程;其中,所述预设重点检查条件包括进程中存在被篡改的类;
所述检测装置根据所述历史内存马检测记录确定所述初始进程列表中满足预设免检查条件的免检查进程;其中,所述预设免检查条件包括进程历史检测次数超过预设次数阈值,且该进程的所有类没有被检测为恶意类。
在上述实现过程中,在确定进程列表时,还会对免检查进程进行识别,检测装置会记录哪些类已经被检测过,当一个进程进行多次检测时,如果该类没有被修改过就不会再次进行转存和检测以此来减少开销。对于重点检查进程,控制代理程序在检查可疑类时,则可以优先检查该重点检查进程,以快速定位可疑类。
本申请实施例第二方面提供了一种内存马处理系统,所述内存马处理系统包括检测装置和控制代理装置,其中,
所述检测装置,用于扫描待检测设备的进程列表,其中,所述进程列表包括所述待检测设备运行的至少一个进程以及每个所述进程对应的标识信息;以及以所述标识信息为参数依次将预先配置的控制代理程序注入每个所述进程;
所述控制代理程序,用于对每个所述进程中所有已加载的类进行可疑类检测,得到可疑类检测结果;
所述检测装置,用于根据所述可疑类检测结果进行内存马检测,得到检测结果;并将所述检测结果反馈给所述控制代理程序;
所述控制代理程序,用于根据所述检测结果确定被注入内存马的目标进程,并通过字节码增强技术对所述目标进程中的恶意类进行清除处理。
在上述实现过程中,检测装置扫描待检测设备的进程列表,其中,进程列表包括待检测设备运行的至少一个进程以及每个进程对应的标识信息;以及以标识信息为参数依次将预先配置的控制代理程序注入每个进程;然后控制代理程序对每个进程中所有已加载的类进行可疑类检测,得到可疑类检测结果;进一步地,检测装置根据可疑类检测结果进行内存马检测,得到检测结果;并将检测结果反馈给控制代理程序;最后控制代理程序根据检测结果确定被注入内存马的目标进程,并通过字节码增强技术对目标进程中的恶意类进行清除处理。可见,实施该系统能够减少对目标进程的侵入性,且能够自动检测内存马并自动对检测到的内存马进行处理,处理效率高,进而有利于维护设备安全。
本申请实施例第三方面提供了一种电子设备,包括存储器以及处理器,所述存储器用于存储计算机程序,所述处理器运行所述计算机程序以使所述电子设备执行本申请实施例第一方面中任一项所述的内存马处理方法。
本申请实施例第四方面提供了一种计算机可读存储介质,其存储有计算机程序指令,所述计算机程序指令被一处理器读取并运行时,执行本申请实施例第一方面中任一项所述的内存马处理方法。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对本申请实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1为本申请实施例提供的一种内存马处理方法的流程示意图;
图2为本申请实施例提供的一种内存马处理系统的信息交互流程示意图;
图3是本申请实施例提供的一种可疑类检测过程示意图。
图标:210-检测装置;220-控制代理装置。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行描述。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。同时,在本申请的描述中,术语“第一”、“第二”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
实施例1
请参看图1,图1为本申请实施例提供了一种内存马处理方法的流程示意图。其中,该内存马处理方法应用于内存马处理系统,内存马处理系统包括检测装置和控制代理装置,方法包括:
S101、检测装置扫描待检测设备的进程列表,其中,进程列表包括待检测设备运行的至少一个进程以及每个进程对应的标识信息。
本申请实施例中,该检测装置具体可以为检测装置、检测脚本、检测设备等,对此本申请实施例不作限定。
本申请实施例中,该控制代理装置具体可以为Agent等,对此本申请实施例不作限定。
本申请实施例中,Agent即在分布式系统中持续自主发挥作用的,且具有自主性、交互性、反应性和主动性的计算实体。Agent具有属于其自身的计算资源和局部于自身的行为控制机制,能够在没有外界直接操纵的情况下,根据其内部状态和感知到的环境信息,决定和控制自身的行为。同时,Agent能够与其他Agent,用Agent通信语言实施灵活多样的交互,能够有效地与其他Agent协同工作。另外,Agent能够感知所处的环境(可能是物理世界、操纵图形界面的用户、其他Agent等),并对相关事件作出适时反应。另一方面,Agent还能够遵循承诺采取主动行动,表现出面向目标的行为。具体地,该计算实体可以是类Unix进程(或线程)、计算机系统、仿真器、机器人等,对此本申请实施例不作限定。
优选的,该Agent具体可以为具有自主性、交互性、反应性和主动性的类Unix进程。
本申请实施例中,待检测设备运行的至少一个进程具体为JAVA进程。其中,Java(计算机编程语言)是一门面向对象编程语言。
作为一种可选的实施方式,检测装置扫描待检测设备的进程列表,包括:
检测装置扫描待检测设备的运行的至少一个进程以及每个进程对应的标识信息,得到初始进程列表;
检测装置确定初始进程列表中重点检查进程和免检查进程;
检测装置对初始进程列表中的重点检查进程进行重点检测标记处理,得到第一处理进程列表;并对第一处理进程列表中的免检查进程进行去除处理,得到最终的进程列表。
在上述实施方式中,首先检测装置会对待检测设备系统中运行的Java进程进行扫描,得到至少一个Java进程与其对应的pid(即进程标识)。
作为进一步可选的实施方式,检测装置确定初始进程列表中重点检查进程和免检查进程,包括:
检测装置获取历史内存马检测记录;
检测装置根据历史内存马检测记录确定初始进程列表中满足预设重点检查条件的重点检查进程;其中,预设重点检查条件包括进程中存在被篡改的类;
检测装置根据历史内存马检测记录确定初始进程列表中满足预设免检查条件的免检查进程;其中,预设免检查条件包括进程历史检测次数超过预设次数阈值,且该进程的所有类没有被检测为恶意类。
在上述实施方式中,在确定进程列表时,还会对检测过的进程(即免检查进程)进行识别,检测装置会记录哪些类已经被检测过,当一个进程进行多次检测时,如果该类没有被修改过就不会再次进行转存和检测以此来减少开销。
在上述实施方式中,在确定进程列表时,还会检测进存在类被篡改过的进程(即重点检查进程),则该进程需要重点关注,对该重点检查进程进行标记处理,从而减少转存字节码文件的开销并且快速定位可疑类。
在上述实施方式中,对于重点检查进程,控制代理程序在检查可疑类时,则可以优先检查该重点检查进程,以快速定位可疑类。
在步骤S101之后,还包括以下步骤:
S102、检测装置以标识信息为参数依次将预先配置的控制代理程序注入每个进程。
本申请实施例中,当控制代理程序为Agent时,可以采用Java Instrumention的算法来生成Agent,然后以pid(即标识信息)为参数依次将Agent注入所有的Java进程,Agent注入后会和检测装置进行通信,回传目标进程的一些基本信息如内存使用情况等。
作为一种可选的实施方式,在检测装置以标识信息为参数依次将预先配置的控制代理程序注入每个进程之后,还包括:
控制代理程序获取对应进程的基本信息,并将该基本信息发送至检测装置;
检测装置根据该基本信息确定目标检测逻辑;
控制代理程序利用自定义的类加载器从检测装置处加载目标检测逻辑;并依据目标检测逻辑执行步骤S103~步骤S105,对每个进程中所有已加载的类进行可疑类检测,得到可疑类检测结果。
在上述实施方式中,Agent会利用自定义的类加载器从检测装置处加载检测逻辑,检测逻辑会根据回传的基本信息有所不同。举例来说,如果目标进程的内存使用情况已经接近满负荷或者超过预设内存使用阈值,则Agent从检测装置加载的会是内存占用较小的一套检测逻辑。
本申请实施例中,Agent也是主要检测逻辑的载体。
S103、控制代理程序根据预先设定的风险计算公式计算每个进程中每个类的安全风险等级。
本申请实施例中,Agent会对进程中所有已加载的类进行检测,通过预先设定好的风险计算公式对该类进行基于风险因子的安全风险等级的评估。
本申请实施例中,风险因子包括该类是否包含一些规则库中的高风险注解、高风险包名、高风险类名或者实现/继承了高风险类等等,对此本申请实施例不作限定。
S104、控制代理程序根据安全风险等级从每个进程的所有类中筛选出安全风险等级大于预设等级阈值的类,作为可疑类。
本申请实施例中,当安全风险等级从大到小依次可以为低、中、危险、高危、严重时,则预设等级阈值具体可以为高危等,对此本申请实施例不作限定。
本申请实施例中,安全风险等级还可以采用0~A的数值进行表示,其中,最危险的等级可以为A,也可以为0,A具体可以为5、10、100等,对此本申请实施例不作限定。
S105、控制代理程序获取可疑类对应的字节码数据,并根据字节码数据生成可疑类检测结果。
本申请实施例中,将安全风险等级超过预设等级阈值的类筛选出来作为可疑类,并导出其对应的字节码(***.class)给检测装置。
本申请实施例中,实施上述步骤S103~步骤S105,控制代理程序能够对每个进程中所有已加载的类进行可疑类检测,得到可疑类检测结果。
在步骤S105之后,还包括以下步骤:
S106、检测装置对字节码数据进行基于反编译的伪代码分析,得到分析结果。
S107、检测装置根据分析结果确定进行内存马检测,得到检测结果。
本申请实施例中,检测装置会对字节码数据反编译进行伪代码分析,通过排查其代码逻辑、是否存在恶意函数、接收非法外来数据、以及是否有其对应的Java文件等特征确定是否该进程被注入内存马。
本申请实施例中,实施上述步骤S106~步骤S107,检测装置能够根据可疑类检测结果进行内存马检测,得到检测结果。能够对控制代理程序检测出来的敏感类程序会进行源码检测,并且直接判断其是否为内存马,无需二次人工审查。
S108、检测装置将检测结果反馈给控制代理程序。
S109、控制代理程序根据检测结果确定被注入内存马的目标进程。
S110、控制代理程确定目标进程中的恶意类。
S111、控制代理程序通过字节码增强技术加载新字节码。
S112、控制代理程序在新字节码通过校验时,根据新字节码对恶意类进行替换,以完成对恶意类的清除处理。
本申请实施例中,如果在对字节码数据进行检测时发现内存马,则检测装置会立马将检测结果反馈给目标进程中的控制代理程序,控制代理程序会通过字节码增强技术,加载新的字节码,并且对新的字节码进行校验工作,然后对恶意类进行替换,达到清除恶意类的作用,不需要目标进程重启。
本申请实施例中,实施上述步骤S110~步骤S112,控制代理程序能够通过字节码增强技术对目标进程中的恶意类进行清除处理。在发现内存马时,检测装置会立马将检测结果反馈给目标进程中的控制代理程序,控制代理程序会通过字节码增强技术对恶意类进行清除,不需要目标进程重启。
本申请实施例中,实施上述步骤S110~步骤S112,能够在发现内存马后,通过字节码加强技术第一时间进行查杀且无需进程重启。
在步骤S112之后,还包括以下步骤:
S113、检测装置通过预设的类转换器对每个进程中的控制代理程序进行自卸载处理。
本申请实施例中,在扫描执行结束并对恶意类进行清除处理之后,通过添加一个类转换器,对每个进程中的控制代理程序进行自卸载处理,在保证检测准确度的同时,最大程度上减少检测装置的侵入性,实现了注入控制代理程序的“自清除”,减少了侵入性。
本申请实施例中,该方法能够在最大程度上减少对目标进程的侵入性,并且能够第一时间对敏感类进行扫描确定内存马的位置,并反馈给控制代理程序最终查杀内存马。
可见,实施本实施例所描述的内存马处理方法,能够减少对目标进程的侵入性,且能够自动检测内存马并自动对检测到的内存马进行处理,处理效率高,进而有利于维护设备安全。
实施例2
请参看图2,图2为本申请实施例提供的一种内存马处理系统的信息交互流程示意图。如图2所示,该内存马处理系统包括检测装置210和控制代理装置220,其中,
S301、检测装置210扫描待检测设备的进程列表,以及以标识信息为参数依次将预先配置的控制代理程序注入每个进程。
本申请实施例中,进程列表包括待检测设备运行的至少一个进程以及每个进程对应的标识信息;
S302、控制代理程序220对每个进程中所有已加载的类进行可疑类检测,得到可疑类检测结果。
S303、控制代理程序220将可疑类检测结果反馈给检测装置210。
S304、检测装置210根据可疑类检测结果进行内存马检测,得到检测结果。
S305、检测装置210将检测结果反馈给控制代理程序220。
S306、控制代理程序220根据检测结果确定被注入内存马的目标进程,并通过字节码增强技术对目标进程中的恶意类进行清除处理。
作为一种可选的实施方式,控制代理程序220,具体用于根据预先设定的风险计算公式计算每个进程中每个类的安全风险等级;以及根据安全风险等级从每个进程的所有类中筛选出安全风险等级大于预设等级阈值的类,作为可疑类;以及获取可疑类对应的字节码数据,并根据字节码数据生成可疑类检测结果。
请一并参阅图3,图3是本申请实施例提供的一种可疑类检测过程示意图。如图3所示,由检测装置210将控制代理装置220注入待检测进程,由控制代理装置220对待检测进程进行可疑类检测,得到可疑类检测结果,并能够将可疑类检测结果返回给检测装置210。
作为一种可选的实施方式,检测装置210,具体用于对字节码数据进行基于反编译的伪代码分析,得到分析结果;以及根据分析结果确定进行内存马检测,得到检测结果。
作为一种可选的实施方式,控制代理程序220,具体用于确定目标进程中的恶意类;以及通过字节码增强技术加载新字节码;以及在新字节码通过校验时,根据新字节码对恶意类进行替换,以完成对恶意类的清除处理。
作为一种可选的实施方式,检测装置210,还用于在控制代理程序220通过字节码增强技术对目标进程中的恶意类进行清除处理之后,通过预设的类转换器对每个进程中的控制代理程序220进行自卸载处理。
作为一种可选的实施方式,检测装置210,具体用于扫描待检测设备的运行的至少一个进程以及每个进程对应的标识信息,得到初始进程列表;以及确定初始进程列表中重点检查进程和免检查进程;以及对初始进程列表中的重点检查进程进行重点检测标记处理,得到第一处理进程列表;并对第一处理进程列表中的免检查进程进行去除处理,得到最终的进程列表。
作为一种可选的实施方式,检测装置确210,具体用于获取历史内存马检测记录;以及根据历史内存马检测记录确定初始进程列表中满足预设重点检查条件的重点检查进程;其中,预设重点检查条件包括进程中存在被篡改的类;以及根据历史内存马检测记录确定初始进程列表中满足预设免检查条件的免检查进程;其中,预设免检查条件包括进程历史检测次数超过预设次数阈值,且该进程的所有类没有被检测为恶意类。
本申请实施例中,该系统能够在保证较高内存马的检出率的同时减少检测侵入性和开销,相比于传统查杀内存马的方式,待检测设备中被检测的目标进程无需重启,最大程度上保证了被检测进程的正常运行。
本申请实施例中,对于内存马处理系统的解释说明可以参照实施例1中的描述,对此本实施例中不再多加赘述。
可见,实施本实施例所描述的内存马处理系统,能够减少对目标进程的侵入性,且能够自动检测内存马并自动对检测到的内存马进行处理,处理效率高,进而有利于维护设备安全。
本申请实施例提供了一种电子设备,包括存储器以及处理器,存储器用于存储计算机程序,处理器运行计算机程序以使电子设备执行本申请实施例1中的内存马处理方法。
本申请实施例提供了一种计算机可读存储介质,其存储有计算机程序指令,所述计算机程序指令被一处理器读取并运行时,执行本申请实施例1中的内存马处理方法。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,也可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,附图中的流程图和框图显示了根据本申请的多个实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
另外,在本申请各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。
所述功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述仅为本申请的实施例而已,并不用于限制本申请的保护范围,对于本领域的技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应所述以权利要求的保护范围为准。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
Claims (9)
1.一种内存马处理方法,其特征在于,应用于内存马处理系统,所述内存马处理系统包括检测装置和控制代理程序,所述方法包括:
所述检测装置扫描待检测设备的进程列表,其中,所述进程列表包括所述待检测设备运行的至少一个进程以及每个所述进程对应的标识信息;
所述检测装置以所述标识信息为参数依次将预先配置的控制代理程序注入每个所述进程;
所述控制代理程序获取对应进程的基本信息,并将所述基本信息发送至所述检测装置;
所述检测装置根据所述基本信息确定目标检测逻辑;
所述控制代理程序利用自定义的类加载器从检测装置处加载目标检测逻辑;
所述控制代理程序依据目标检测逻辑对每个所述进程中所有已加载的类进行可疑类检测,得到可疑类检测结果;
所述检测装置根据所述可疑类检测结果进行内存马检测,得到检测结果;并将所述检测结果反馈给所述控制代理程序;
所述控制代理程序根据所述检测结果确定被注入内存马的目标进程,并通过字节码增强技术对所述目标进程中的恶意类进行清除处理;
所述控制代理程序依据目标检测逻辑对每个所述进程中所有已加载的类进行可疑类检测,得到可疑类检测结果的步骤包括:
依据目标检测逻辑和预先设定的风险计算公式计算每个所述进程中每个类的安全风险等级;
所述控制代理程序根据所述安全风险等级从每个所述进程的所有类中筛选出安全风险等级大于预设等级阈值的类,作为可疑类;
所述控制代理程序获取所述可疑类对应的字节码数据,并根据所述字节码数据生成可疑类检测结果。
2.根据权利要求1所述的内存马处理方法,其特征在于,所述检测装置根据所述可疑类检测结果进行内存马检测,得到检测结果,包括:
所述检测装置对所述字节码数据进行基于反编译的伪代码分析,得到分析结果;
所述检测装置根据所述分析结果确定进行内存马检测,得到检测结果。
3.根据权利要求1所述的内存马处理方法,其特征在于,所述控制代理程序通过字节码增强技术对所述目标进程中的恶意类进行清除处理,包括:
所述控制代理程确定所述目标进程中的恶意类;
所述控制代理程序通过字节码增强技术加载新字节码;
所述控制代理程序在所述新字节码通过校验时,根据所述新字节码对所述恶意类进行替换,以完成对所述恶意类的清除处理。
4.根据权利要求1所述的内存马处理方法,其特征在于,在所述控制代理程序通过字节码增强技术对所述目标进程中的恶意类进行清除处理之后,所述方法还包括:
所述检测装置通过预设的类转换器对每个所述进程中的所述控制代理程序进行自卸载处理。
5.根据权利要求1所述的内存马处理方法,其特征在于,所述检测装置扫描待检测设备的进程列表,包括:
所述检测装置扫描待检测设备的运行的至少一个进程以及每个所述进程对应的标识信息,得到初始进程列表;
所述检测装置确定所述初始进程列表中重点检查进程和免检查进程;
所述检测装置对所述初始进程列表中的所述重点检查进程进行重点检测标记处理,得到第一处理进程列表;并对所述第一处理进程列表中的所述免检查进程进行去除处理,得到最终的进程列表。
6.根据权利要求5所述的内存马处理方法,其特征在于,所述检测装置确定所述初始进程列表中重点检查进程和免检查进程,包括:
所述检测装置获取历史内存马检测记录;
所述检测装置根据所述历史内存马检测记录确定所述初始进程列表中满足预设重点检查条件的重点检查进程;其中,所述预设重点检查条件包括进程中存在被篡改的类;
所述检测装置根据所述历史内存马检测记录确定所述初始进程列表中满足预设免检查条件的免检查进程;其中,所述预设免检查条件包括进程历史检测次数超过预设次数阈值,且该进程的所有类没有被检测为恶意类。
7.一种内存马处理系统,其特征在于,所述内存马处理系统包括检测装置和控制代理程序,其中,
所述检测装置,用于扫描待检测设备的进程列表,其中,所述进程列表包括所述待检测设备运行的至少一个进程以及每个所述进程对应的标识信息;以及以所述标识信息为参数依次将预先配置的控制代理程序注入每个所述进程;
所述控制代理程序,还用于获取对应进程的基本信息,并将所述基本信息发送至所述检测装置;
所述检测装置,还用于根据所述基本信息确定目标检测逻辑;
所述控制代理程序,还用于利用自定义的类加载器从检测装置处加载目标检测逻辑;
所述控制代理程序,用于依据目标检测逻辑对每个所述进程中所有已加载的类进行可疑类检测,得到可疑类检测结果;
所述检测装置,用于根据所述可疑类检测结果进行内存马检测,得到检测结果;并将所述检测结果反馈给所述控制代理程序;
所述控制代理程序,用于根据所述检测结果确定被注入内存马的目标进程,并通过字节码增强技术对所述目标进程中的恶意类进行清除处理;
控制代理程序,具体用于依据目标检测逻辑和预先设定的风险计算公式计算每个进程中每个类的安全风险等级;以及根据安全风险等级从每个进程的所有类中筛选出安全风险等级大于预设等级阈值的类,作为可疑类;以及获取可疑类对应的字节码数据,并根据字节码数据生成可疑类检测结果。
8.一种电子设备,其特征在于,所述电子设备包括存储器以及处理器,所述存储器用于存储计算机程序,所述处理器运行所述计算机程序以使所述电子设备执行权利要求1至6中任一项所述的内存马处理方法。
9.一种可读存储介质,其特征在于,所述可读存储介质中存储有计算机程序指令,所述计算机程序指令被一处理器读取并运行时,执行权利要求1至6任一项所述的内存马处理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111576038.XA CN113946825B (zh) | 2021-12-22 | 2021-12-22 | 一种内存马处理方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111576038.XA CN113946825B (zh) | 2021-12-22 | 2021-12-22 | 一种内存马处理方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113946825A CN113946825A (zh) | 2022-01-18 |
CN113946825B true CN113946825B (zh) | 2022-04-26 |
Family
ID=79339222
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111576038.XA Active CN113946825B (zh) | 2021-12-22 | 2021-12-22 | 一种内存马处理方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113946825B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115935361B (zh) * | 2023-01-09 | 2023-06-16 | 北京微步在线科技有限公司 | Java内存马检测方法及装置 |
CN115795444B (zh) * | 2023-01-31 | 2023-05-05 | 北京微步在线科技有限公司 | 一种mssql后门的检测方法及装置 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104715201A (zh) * | 2015-03-31 | 2015-06-17 | 北京奇虎科技有限公司 | 一种虚拟机恶意行为检测方法和系统 |
CN105491053A (zh) * | 2015-12-21 | 2016-04-13 | 用友网络科技股份有限公司 | 一种Web恶意代码检测方法及系统 |
CN112422581A (zh) * | 2020-11-30 | 2021-02-26 | 杭州安恒信息技术股份有限公司 | JVM中的Webshell网页检测方法、装置及设备 |
CN113312624A (zh) * | 2021-06-21 | 2021-08-27 | 厦门服云信息科技有限公司 | 一种Java Web应用内存木马检测方法、终端设备及存储介质 |
CN113792294A (zh) * | 2021-11-15 | 2021-12-14 | 北京升鑫网络科技有限公司 | 一种恶意类检测方法、系统、装置、设备及介质 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9721092B2 (en) * | 2014-03-27 | 2017-08-01 | International Busines Machines Corporation | Monitoring an application in a process virtual machine |
-
2021
- 2021-12-22 CN CN202111576038.XA patent/CN113946825B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104715201A (zh) * | 2015-03-31 | 2015-06-17 | 北京奇虎科技有限公司 | 一种虚拟机恶意行为检测方法和系统 |
CN105491053A (zh) * | 2015-12-21 | 2016-04-13 | 用友网络科技股份有限公司 | 一种Web恶意代码检测方法及系统 |
CN112422581A (zh) * | 2020-11-30 | 2021-02-26 | 杭州安恒信息技术股份有限公司 | JVM中的Webshell网页检测方法、装置及设备 |
CN113312624A (zh) * | 2021-06-21 | 2021-08-27 | 厦门服云信息科技有限公司 | 一种Java Web应用内存木马检测方法、终端设备及存储介质 |
CN113792294A (zh) * | 2021-11-15 | 2021-12-14 | 北京升鑫网络科技有限公司 | 一种恶意类检测方法、系统、装置、设备及介质 |
Also Published As
Publication number | Publication date |
---|---|
CN113946825A (zh) | 2022-01-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113946825B (zh) | 一种内存马处理方法及系统 | |
US10372444B2 (en) | Android dynamic loading file extraction method, recording medium and system for performing the method | |
EP2609506B1 (en) | Mining source code for violations of programming rules | |
US10216934B2 (en) | Inferential exploit attempt detection | |
CN108600162B (zh) | 用户认证方法及装置、计算设备及计算机存储介质 | |
US20210357501A1 (en) | Attack estimation device, attack estimation method, and attack estimation program | |
CN105426751A (zh) | 一种防止篡改系统时间的方法及装置 | |
CN111859381A (zh) | 一种文件检测方法、装置、设备及介质 | |
CN111291377A (zh) | 一种应用漏洞的检测方法及系统 | |
CN114328168A (zh) | 异常检测方法、装置、计算机设备和存储介质 | |
CN109977671B (zh) | 一种基于编译器修改的Android锁屏型勒索软件检测方法 | |
JP2005234661A (ja) | アクセスポリシ生成システム、アクセスポリシ生成方法およびアクセスポリシ生成用プログラム | |
CN107168875B (zh) | 一种基于安卓应用多入口特性的Activity构件泄露检测方法 | |
CN116226865A (zh) | 云原生应用的安全检测方法、装置、服务器、介质及产品 | |
CN113672925B (zh) | 阻止勒索软件攻击的方法、装置、存储介质及电子设备 | |
CN115630373A (zh) | 一种云服务安全分析方法、监控设备及分析系统 | |
CN115840940A (zh) | 一种无文件木马检测方法、系统、介质及设备 | |
JP4643201B2 (ja) | バッファオーバーフロー脆弱性分析方法、データ処理装置、分析情報提供装置、分析情報抽出処理用プログラムおよび分析情報提供処理用プログラム | |
CN113935022A (zh) | 一种同源样本捕获方法、装置、电子设备及存储介质 | |
CN112528331A (zh) | 隐私泄露风险的检测方法、设备及系统 | |
CN116305122B (zh) | 一种针对rootkit的检测方法及系统 | |
CN112347499B (zh) | 一种程序自我保护的方法 | |
CN112671741B (zh) | 一种网络防护的方法、装置、终端及存储介质 | |
CN116305107A (zh) | 基于分析字节码调用序列是否可信的方法及装置 | |
Kim et al. | Detection and Blocking Method against DLL Injection Attack Using PEB-LDR of ICS EWS in Smart IoT Environments |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |