CN116956290A - 一种信息检测方法、装置、设备和存储介质 - Google Patents
一种信息检测方法、装置、设备和存储介质 Download PDFInfo
- Publication number
- CN116956290A CN116956290A CN202310915252.6A CN202310915252A CN116956290A CN 116956290 A CN116956290 A CN 116956290A CN 202310915252 A CN202310915252 A CN 202310915252A CN 116956290 A CN116956290 A CN 116956290A
- Authority
- CN
- China
- Prior art keywords
- memory
- detected
- detection
- file
- target
- 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 172
- 238000000034 method Methods 0.000 claims abstract description 186
- 230000008569 process Effects 0.000 claims abstract description 160
- ZXQYGBMAQZUVMI-GCMPRSNUSA-N gamma-cyhalothrin Chemical compound CC1(C)[C@@H](\C=C(/Cl)C(F)(F)F)[C@H]1C(=O)O[C@H](C#N)C1=CC=CC(OC=2C=CC=CC=2)=C1 ZXQYGBMAQZUVMI-GCMPRSNUSA-N 0.000 claims abstract description 66
- 238000004458 analytical method Methods 0.000 claims description 57
- 238000004891 communication Methods 0.000 claims description 13
- 238000010586 diagram Methods 0.000 description 10
- 230000006870 function Effects 0.000 description 9
- 238000004590 computer program Methods 0.000 description 5
- 238000012545 processing Methods 0.000 description 5
- 238000005516 engineering process Methods 0.000 description 4
- 230000007123 defense Effects 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 230000005055 memory storage Effects 0.000 description 2
- 230000007547 defect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 239000013589 supplement Substances 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/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
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- General Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Virology (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请实施例公开了一种信息检测方法,方法包括:确定待检测进程对应的物理内存对应的内存结构;识别所述内存结构的内存属性;基于所述内存结构和所述内存属性,创建初始内存索引;识别所述待检测进程对应的运行文件的文件格式属性;基于所述初始内存索引和所述文件格式属性,创建目标内存索引;基于所述目标内存索引,对所述待检测进程进行无文件木马检测,得到检测结果。本申请实施例同时还公开了一种信息检测装置、设备和存储介质。
Description
技术领域
本申请涉及计算机安全技术领域,尤其涉及一种信息检测方法、装置、设备和存储介质。
背景技术
随着科学技术的发展和提升,对计算机相关数据的安全性的要求越来越高,为了保证数据的安全性,攻防技术也得到的不断的升级。但是,不法分子为了窃取计算机相关数据或攻击正常运行的服务,其相关攻击手段越来越高。例如为了逃避现有的安全软件的文件检测的攻防技术,全程很少或没有文件落地的无文件攻击手段即无文件木马(也称为内存马)已成为目前攻击的常见手段,即主要在内存中写入恶意代码,进行攻击和驻留,达到控制被攻击对象的目的。为了检测内存马攻击,目前常用的搜寻和识别内存马的方式主要有以下两种方式:一种是对被检测进程的全地址空间进行恶意特征串查找,另一种是将检测内存马的检测引擎注入至被检测进程程序中,实现内存马检测。
但是目前两种方法实现过程中均会占用被检测进程的内存,严重影响了被检测进程的运行性能和稳定性,并且上述两种方案容易被内存马绕过,导致检测方案效率太低。
发明内容
有鉴于此,本申请实施例期望提供一种信息检测方法、装置、设备和存储介质,解决了目前内存马的检测方法严重影响被检测进程的运行性能和稳定性的问题,提出了一种不影响被检测进程的运行性能和稳定性的检测方法,规避了检测内存马时容易被内存马绕过的可能性,提高了检测内存马的检测效率。
为达到上述目的,本申请的技术方案是这样实现的:
第一方面,一种信息检测方法,所述方法包括:
确定待检测进程对应的物理内存对应的内存结构;
识别所述内存结构的内存属性;
基于所述内存结构和所述内存属性,创建初始内存索引;
识别所述待检测进程对应的运行文件的文件格式属性;
基于所述初始内存索引和所述文件格式属性,创建目标内存索引;
基于所述目标内存索引,对所述待检测进程进行无文件木马检测,得到检测结果。
可选的,所述基于所述目标内存索引,对所述待检测进程进行无文件木马检测,得到检测结果,包括:
确定待检测文件格式类型;
基于所述目标内存索引,确定所述待检测文件格式类型对应的目标存储区域;
确定所述目标存储区域中所述待检测文件格式类型对应的目标分析内容;其中,所述目标分析内容属于所述待检测进程的运行代码;
对所述目标分析内容进行无文件木马检测,得到所述检测结果。
可选的,所述对所述目标分析内容进行无文件木马检测,得到所述检测结果,包括:
确定所述待检测文件格式类型对应的无文件木马特征信息;
对所述目标分析内容进行解析,得到解析结果;
对所述解析结果和所述无文件木马特征信息进行匹配分析,得到匹配结果;
对所述匹配结果按照无文件木马特征多级组合规则进行组合分析,得到所述检测结果。
可选的,所述确定待检测进程对应的物理内存对应的内存结构,包括:
确定所述待检测进程;
读取所述待检测进程的进程页表;
基于所述进程页表,确定所述待检测进程对应的物理内存页;
解析所述物理内存页对应的所述物理内存,得到所述内存结构。
可选的,所述内存属性包括以下信息至少之一:内存区域大小、读写执行权限、内存类型信息。
可选的,所述基于所述目标内存索引,对所述待检测进程进行无文件木马检测,得到检测结果之后,所述方法还包括:
确定所述检测结果中每一检测子结果对应的告警等级;
基于每一检测子结果对应的所述告警等级,对对应的每一所述检测子结果进行告警提示。
第二方面,一种信息检测装置,所述装置包括:第一确定单元、识别单元、创建单元和检测单元;其中:
所述第一确定单元,用于确定待检测进程对应的物理内存对应的内存结构;
所述识别单元,用于识别所述内存结构的内存属性;
所述创建单元,用于基于所述内存结构和所述内存属性,创建初始内存索引;
所述识别单元,还用于识别所述待检测进程对应的运行文件的文件格式属性;
所述创建单元,还用于基于所述初始内存索引和所述文件格式属性,创建目标内存索引;
所述检测单元,用于基于所述目标内存索引,对所述待检测进程进行无文件木马检测,得到检测结果。
可选的,所述检测单元包括:第一确定模块和检测模块;其中:
所述第一确定模块,用于确定待检测文件格式类型;
所述第一确定模块,还用于基于所述目标内存索引,确定所述待检测文件格式类型对应的目标存储区域;
所述第一确定模块,还用于确定所述目标存储区域中所述待检测文件格式类型对应的目标分析内容;其中,所述目标分析内容属于所述待检测进程的运行代码;
所述检测模块,用于对所述目标分析内容进行无文件木马检测,得到所述检测结果。
第三方面,一种信息检测设备,所述设备至少包括:存储器、处理器和通信总线;其中:
所述存储器,用于存储可执行指令;
所述通信总线,用于实现所述处理器和所述存储器之间的通信连接;
所述处理器,用于执行所述存储器中存储的信息检测程序,实现如上述任一项所述的信息检测方法的步骤。
第四方面,一种存储介质,所述存储介质上存储有信息检测程序,所述信息检测程序被处理器执行时实现如上述任一项所述的信息检测方法的步骤。
本申请的实施例所提供的信息检测方法、装置、设备和存储介质,通过确定待检测进程对应的物理内存对应的内存结构后,识别内存结构的内存属性后,基于内存结构和内存属性,创建初始内存索引,并识别待检测进程对应的运行文件的文件格式属性,基于初始内存索引和文件格式属性,创建目标内存索引,最后基于目标内存索引,对待检测进程进行无文件木马检测,得到检测结果。这样,信息检测装置对待检测进程对应的物理内存和待检测进程的运行文件进行索引分析,确定得到目标内存索引,然后根据目标内存索引来对待检测进程进行无文件木马检测,以得到检测结果,解决了内存马的检测方法严重影响被检测进程的运行性能和稳定性的问题,提出了一种不影响被检测进程的运行性能和稳定性的检测方法,规避了检测内存马时容易被内存马绕过的可能性,提高了检测内存马的检测效率。
附图说明
图1为本申请实施例提供的信息检测方法的流程示意图一;
图2为本申请实施例提供的信息检测方法的流程示意图二;
图3为本申请实施例提供的一种索引结构示意图;
图4为本申请实施例提供的一种规则组合示意图;
图5为本申请实施例提供的一种信息检测装置的结构示意图;
图6为本申请实施例提供的一种信息检测设备的结构示意图。
具体实施方式
应当理解,此处所描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
本申请的实施例提供一种信息检测方法,该方法应用于信息检测设备,参照图1所示,该方法包括以下步骤:
步骤101、确定待检测进程对应的物理内存对应的内存结构。
在本申请实施例中,信息检测设备可以是用于运行应用程序进程的设备,例如可以是客户端侧的计算机设备,也可以是服务器设备等。信息检测设备在运行进程的过程中,需要对运行的进程进行安全检测,针对无文件木马的安全检测时,首先确定待检测进程对应的物理内存,并确定物理内存对应的内存结构,由于待检测进程的运行文件存储在物理内存中,因此,对物理内存中的运行文件进行分析,并不会影响待检测进程的运行。
步骤102、识别内存结构的内存属性。
在本申请实施例中,在信息检测设备确定待检测进程对应的物理内存后,对待检测进程对应的物理内存的内存结构进行识别,并识别内存结构对应的内存属性。
步骤103、基于内存结构和内存属性,创建初始内存索引。
在本申请实施例中,信息检测设备根据内存结结构和内存属性之间的关系,建立初始内存索引,以方便后续快速查询不同内存属性下对应的内存结构的位置。
步骤104、识别待检测进程对应的运行文件的文件格式属性。
在本申请实施例中,对待检测进程运行过程中实现的运行文件即待检测进程所调用的代码进行识别,确定得到对应的文件格式属性。
步骤105、基于初始内存索引和文件格式属性,创建目标内存索引。
在本申请实施例中,对确定得到的内存结构和内存属性相关的初始内存索引的基础上,将对应的文件格式属性继续进行索引分析,得到目标内存索引,目标内存索引中包括各内存属性对应的内存存储位置之间的索引关系,和各文件格式属性对应的内存存储位置之间的索引关系。
步骤106、基于目标内存索引,对待检测进程进行无文件木马检测,得到检测结果。
在本申请实施例中,信息检测设备得到的目标内存索引后,可以根据目标内存索引快速确定待检测进程对应的内存中是否存在无文件木马检测,从而得到检测结果,以便后续根据检测结果进行相应的木马管理操作。
本申请的实施例所提供的信息检测方法,通过确定待检测进程对应的物理内存对应的内存结构后,识别内存结构的内存属性后,基于内存结构和内存属性,创建初始内存索引,并识别待检测进程对应的运行文件的文件格式属性,基于初始内存索引和文件格式属性,创建目标内存索引,最后基于目标内存索引,对待检测进程进行无文件木马检测,得到检测结果。这样,信息检测装置对待检测进程对应的物理内存和待检测进程的运行文件进行索引分析,确定得到目标内存索引,然后根据目标内存索引来对待检测进程进行无文件木马检测,以得到检测结果,解决了内存马的检测方法严重影响被检测进程的运行性能和稳定性的问题,提出了一种不影响被检测进程的运行性能和稳定性的检测方法,规避了检测内存马时容易被内存马绕过的可能性,提高了检测内存马的检测效率。
基于前述实施例,本申请的实施例提供一种信息检测方法,参照图2所示,该方法应用于信息检测设备,该方法包括以下步骤:
步骤201、确定待检测进程对应的物理内存对应的内存结构。
在本申请实施例中,待检测进程对应的内存结构例如可以是栈(Stack)、堆内存(Heap)、私有数据(Private data)、内存映射文件(Mapped File)、共享数据(Shareable)、图像(Image)等。
信息检测设备确定待检测进程运行时所占用的物理内存,并确定物理内存对应的内存结构。
步骤202、识别内存结构的内存属性。
其中,内存属性包括以下信息至少之一:内存区域大小、读写执行权限、内存类型信息。
在本申请实施例中,内存属性信息可以包括内存区域大小、读写执行权限、内存类型(Heap、Stack、Private Data、Shareable、Image等)信息。
示例性的,通过系统应用程序编程接口(Application Programming Interface,API)获取待检测进程的进程内存结构和属性信息,包括内存区域大小、读写执行权限、内存类型(Heap、Stack、Private Data、Shareable、Image等)信息。通过系统应用程序编程接口(Application Programming Interface,API)获取待检测进程的进程内存结构和属性信息时,可以是在用户态调用系统API来实现,也可以在内核态调用系统API来实现。
步骤203、基于内存结构和内存属性,创建初始内存索引。
在本申请实施例中,按照索引创建方法,对内存结构和内存属性进行索引构建,得到关于内存结构和内存属性的初始内存索引。
步骤204、识别待检测进程对应的运行文件的文件格式属性。
在本申请实施例中,文件格式属性例如可以是可移植可执行(PortableExecutable,PE)、可执行与可链接格式(Executable and Linkable Forma,ELF)、Java类(Class)、.Net程序集等类型在内存区域中的存储位置、存储大小等。信息检测设备对待检测进程运行时所采用的所有运行文件即运行代码进行分析,确定待检测进程所调用的运行文件的文件格式属性。
示例性的,在识别PE类型的运行文件的文件格式属性时,针对待检测进程的内存区域,读取其中PE格式对应的特定偏移特征的内容,根据读取的内容识别出该内存区域是否存储的内容为PE,在识别出该内存区域存储的是PE时,解析该内容对应的PE信息,包括文本(TEXT)节、数据(DATA)节等区域起始位置和大小,并解析该内容的符号表、字符串表等信息,得到PE文件格式的属性信息。
步骤205、基于初始内存索引和文件格式属性,创建目标内存索引。
在本申请实施例中,信息检测设备采用文件格式属性继续对初始内存索引进行索引内容补充丰富,得到待检测进程对应的内存相关的目标内存索引。
示例性的,最终得到的目标内存索引结构可以参照图3所示,包括待检测进程对应的进程内存空间下,各种类型结构对应的各中文件格式信息。
步骤206、确定待检测文件格式类型。
在本申请实施例中,待检测文件格式类型可以是PE、ELF、Java Class、.Net程序集等中的一个或多个,具体由实际情况来决定。
步骤207、基于目标内存索引,确定待检测文件格式类型对应的目标存储区域。
在本申请实施例中,根据目标内存索引,可以快速定位到待检测文件格式类型在内存中对应的目标存储区域。
示例性的,以待检测文件格式类型为PE为例进行说明,从目标内存索引可以直接确定得到待检测程序的PE文件格式类型对应的目标存储区域,其中目标存储区域可以存在多个。
步骤208、确定目标存储区域中待检测文件格式类型对应的目标分析内容。
其中,目标分析内容属于待检测进程的运行代码。
在本申请实施例中,从目标存储区域中获取得到待检测文件格式对应的目标分析内容。
步骤209、对目标分析内容进行无文件木马检测,得到检测结果。
在本申请实施例中,将目标分析内容与待检测文件格式类型对应的木马特征进行匹配分析,得到检测结果。
基于前述实施例,在本申请其他实施例中,步骤209可以由步骤209a~209c来实现:
步骤209a、确定待检测文件格式类型对应的无文件木马特征信息。
在本申请实施例中,无文件木马特征信息是预先针对已有的各文件格式类型的无文件木马进行分析得到的木马特征。无文件木马特征信息中包括至少一个无文件木马特征。无文件木马特征信息为无文件木马特征的最小特征单元。
步骤209b、对目标分析内容进行解析,得到解析结果。
在本申请实施例中,对目标分析内容进行解析处理,得到对应的解析结果。
步骤209c、对解析结果和无文件木马特征信息进行匹配分析,得到匹配结果。
在本申请实施例中,对目标分析内容进行解析得到的解析结果与无文件木马特征信息进行匹配分析,确定出与无文件木马特征信息匹配的内容,得到匹配结果。
示例性的,以TEXT节特征为例,在TEXT段搜索68????????8B F1 FF 15????????特征串,其中,??为通配符,假设目标分析内容如下所示:
.text:10001145 68 00 35 01 10 push offset ModuleName;"mscoree.dll"
.text:1000114A 8B F1 mov esi,ecx
.text:1000114C FF 15 00FO 00 10call ds:LoadLibraryW
对目标分析内容进行解析后,搜索特征串,根据预先确定得到的TEXT类型对应的木马字符串表和符号表,与目标分析内容进行匹配分析,确定目标分析内容中对应的匹配结果为:以mscoree.dll为参数,调用了LoadLibraryW函数。
步骤209d、对匹配结果按照无文件木马特征多级组合规则进行组合分析,得到检测结果。
在本申请实施例中,将得到的匹配结果按照预先设置的无文件木马特征多级组合规则进行组合分析,确定得到最终的检测结果,以识别出真正的木马。
示例性的,由于匹配结果为:以mscoree.dll为参数,调用了LoadLibraryW函数为已确定的木马特征,因此可以确定检测结果为存在mscoree.dll木马。其中,如图4所示为一种多级组合规则的组合形式,针对内存马的特征串1和特征串2时,其中,特征串1的具体特征有:特征串1动态加载系统网络库、特征串1动态调用函数进行网络通信和特征串1使用手段1实现权限提升,特征串2的具体特征有:特征串2使用手段2实现权限提升和特征串1内存马A独有特征,在存在特征串1动态加载系统网络库和特征串1动态调用函数进行网络通信的特征时,可以确定对应的文件存在可疑网络通信的规则1,在只存在特征串1使用手段1实现权限提升或特征串2使用手段2实现权限提升的特征时,可以确定对应的文件存在权限提升的规则2,在规则1和规则2均存在时,可以确定存在未知内存马的规则3,在确定特征串1内存马A独有特征时,可以确定对应的文件存在内存马A特征的规则4,在满足规则3和规则4时,可以确定对应的文件中存在内存马A的规则5。
这样,通过对多级组合规则的方式对匹配得到的木马特征进行组合分析,能够识别出尽可能多的木马,减少了被绕过的可能性,提高了木马准确被检测出的准确率。
基于前述实施例,在本申请其他实施例中,步骤201还可以由步骤201a~201d:
步骤201a、确定待检测进程。
在本申请实施例中,在需要进行无文件木马检测时,由于信息检测设备中可能同时运行有存在多个不同的进程,因此,可以选中需要进行无文件木马检测的待检测进程。
步骤201b、读取待检测进程的进程页表。
在本申请实施例中,对待检测进程进行分析,确定待检测进程所访问的进程页表。
步骤201c、基于进程页表,确定待检测进程对应的物理内存页。
在本申请实施例中,对进程页表进行分析,从进程页表中确定待检测进程对应的物理内存页。
步骤201d、解析物理内存页对应的物理内存,得到内存结构。
在本申请实施例中,对待检测进行对应的物理内存页对应的内存进行解析分析,确定得到待检测进程的内存结构。这样,由于内存马正常情况下其特征都实际存在于物理内存当中,通过对待检测进程的物理内存中的内容进行检测分析,对待检测进程不进行侵入,避免对待检测进程的进程内存的影响,保证了木马检测准确率的同时还保证了待检测进程的运行性能和稳定性,还减少了需要匹配的内存大小。
基于前述实施例,在本申请其他实施例中,信息检测设备执行步骤209之后,还可以选择执行步骤210~211:
步骤210、确定检测结果中每一检测子结果对应的告警等级。
在本申请实施例中,在检测结果中包括多个检测子结果时,确定每一检测子结果的告警等级。
步骤211、基于每一检测子结果对应的告警等级,对对应的每一检测子结果进行告警提示。
在本申请实施例中,告警提示可以通过声、光、文字信息、图片等中的一种或多种提示方式来实现。根据每一检测子结果对应的告警等级,生成对应的告警信息,并显示告警信息,实现对对应的每一检测子结果进行告警提示,以便用户快速确定木马,对木马内容进行处理,降低对待检测进程的影响,保证用户的数据安全。
示例性的,对待检测进程进行检测后,若得到的检测结果中确定得到规则1时,可以生成针对规则1的告警提示信息,若得到的检测结果中确定得到规则2时,可以生成针对规则2的告警提示信息,若得到的检测结果中确定得到规则3,可以生成针对规则3的告警提示信息,若得到的检测结果中确定得到规则4,可以生成针对规则4的告警提示信息,若得到的检测结果中确定得到规则5,可以生成针对规则5的告警提示信息,其中,针对规则1、规则2、规则3、规则4和规则5的告警提示信息的优先级可以不同,具体可以由实际情况来决定,例如规则4和规则5对应的告警提示信息的告警优先级最高,规则1对应的告警提示信息的告警优先级次之,规则2和规则3对应的告警提示信息的告警优先级最低。
基于前述实施例,本申请实施例提供一种信息检测方法,本方法主要用于实现对待检测进程中的.NET文件进行无木马文件检测的过程:
步骤a101、确定需要检测的类型为.NET进程的待检测进程。
其中,确定待检测进程时,可以通过遍历待检测进程的所有模块,检查是否包含运行.NET程序所必须加载的模块,若包含运行.NET程序所必须加载的模型,可以确定其为.NET进程。
步骤a102、遍历待检测进程的内存空间中的所有内存块,识别所有加载的.NET程序集,建立待检测进程的索引。
其中,识别到的待检测进程的.NET程序集包含文件加载的.NET程序集和内存加载的.NET程序集,保存内存加载的.NET程序集数据,以便后续进行特征识别使用。
进一步的,识别所有加载的.NET程序集,建立待检测进程的索引的具体步骤可以如下所示:
1、遍历待检测进程的内存空间,建立内存块读取索引表。
其中,内存块读取索引表中包括Heap、Stack、Mapped File、Private Data、Shareable等内存结构分类。
2、基于建立的内存读取索引表,遍历搜索.NET程序集的内存块。
3、基于搜索到的.NET程序集的内存块,根据.NET程序集的PE格式规范标准,对该.NET程序集的内存块进行解析,得到.NET程序集元数据。
4、基于解析得到的.NET程序集元数据进行分析,得到所有公共语言运行库(common language runtime,CLR)的类(Class)定义、成员变量(Field)、成员方法(Method),并记忆分析得到的完成Class定义、Field、Method对内存读取索引表进行Class数据结构初步关联,得到待检测进程的索引。
步骤a103、基于待检测进程的索引,识别出Class数据结构做恶意特征串匹配。
示例性的,以待检测进程的索引,确定得到的内存内容如下所示:
72 0F 00 00 70Ldstr aTasklistSvc//"tasklist/svc"
28 02 00 00 06Call instance string AVList.Run::execCMD(stringcommand)
28 11 00 00 0A Call string[mscorlib]System.String::Concat(string,string)
对上述内存内容采用特征串72??????70 28??????06来进行匹配处理,其中,??表示通配符,72??????70 28??????06能够匹配任何字节。
步骤a104、若匹配到与恶意特征串匹配的Class数据,对匹配到的Class数据进行解析,得到成员方法(Method)中指令的符号名称、字符串等信息。
步骤a105、检测解析出的符号名称和字符串进行与或非处理,确定是否存在对应的规则。
示例性的,根据待检测进程的索引,确定.NET程序集识别和解析模块中解析的元数据信息,特征串中??????70所表示的字符串(“tasklist/svc”)和??????06所表示的方法(AVList.Run::execCMD),这样,可以匹配出上述内容对应的规则为参数“tasklist/svc”调用了函数AVList.Run::execCMD。
步骤a106、输出最终匹配规则。
这样,通过读取待检测进程内存结构和属性、识别和解析内存中各类结构,例如包括但不限于Pe/Elf/Java Class/.Net程序集/填充数据(Shellcode),结合特征串识别和各类结构中包含的信息,综合判定以精确检测内存马的方法,并且结合页表信息,降低对被检测进程性能和稳定性影响的内存读取方法,且多级规则采,灵活组合,可实现抗绕过的缺陷。
需要说明的是,本实施例中与其它实施例中相同步骤或概念的解释可以参考其它实施例中的描述,此处不再赘述。
本申请的实施例提供的信息检测方法,通过确定待检测进程对应的物理内存对应的内存结构后,识别内存结构的内存属性后,基于内存结构和内存属性,创建初始内存索引,并识别待检测进程对应的运行文件的文件格式属性,基于初始内存索引和文件格式属性,创建目标内存索引,最后基于目标内存索引,对待检测进程进行无文件木马检测,得到检测结果。这样,信息检测装置对待检测进程对应的物理内存和待检测进程的运行文件进行索引分析,确定得到目标内存索引,然后根据目标内存索引来对待检测进程进行无文件木马检测,以得到检测结果,解决了内存马的检测方法严重影响被检测进程的运行性能和稳定性的问题,提出了一种不影响被检测进程的运行性能和稳定性的检测方法,规避了检测内存马时容易被内存马绕过的可能性,提高了检测内存马的检测效率。
基于前述实施例,本申请实施例提供一种信息检测装置3,该信息检测装置3可以应用于图1~2对应的实施例中,参照图5所示,该信息检测装置3包括:第一确定单元31、识别单元32、创建单元33和检测单元34;其中:
第一确定单元31,用于确定待检测进程对应的物理内存对应的内存结构;
识别单元32,用于识别待检测进程对应的内存结构和内存结构的内存属性;
创建单元33,用于基于内存结构和内存属性,创建初始内存索引;
识别单元32,还用于识别待检测进程对应的运行文件的文件格式属性;
创建单元33,还用于基于初始内存索引和文件格式属性,创建目标内存索引;
检测单元34,用于基于目标内存索引,对待检测进程进行无文件木马检测,得到检测结果。
在本申请其他实施例中,检测单元包括:第一确定模块和检测模块;其中:
第一确定模块,用于确定待检测文件格式类型;
第一确定模块,还用于基于目标内存索引,确定待检测文件格式类型对应的目标存储区域;
第一确定模块,还用于确定目标存储区域中待检测文件格式类型对应的目标分析内容;其中,目标分析内容属于待检测进程的运行代码;
检测模块,用于对目标分析内容进行无文件木马检测,得到检测结果。
在本申请其他实施例中,检测模块具体用于实现以下步骤:
确定待检测文件格式类型对应的无文件木马特征信息;
基于无文件木马特征信息,对目标分析内容进行检索,得到检索结果;
对检索结果按照无文件木马特征多级组合规则进行组合分析,得到检测结果。
在申请其他实施例中,第一确定单元包括:第二确定模块、读取模块和解析模块;其中:
第二确定模块,用于确定待检测进程;
读取模块,用于读取待检测进程的进程页表;
第二确定模块,还用于基于进程页表,确定待检测进程对应的物理内存页;
解析模块,用于解析物理内存页对应的内存,得到内存结构。
在本申请其他实施例中,内存属性包括以下信息至少之一:内存区域大小、读写执行权限、内存类型信息。
在本申请其他实施例中,信息检测装置的检测单元之后,还包括:第二确定单元和提示单元;其中:
第二确定单元,用于确定检测结果中每一检测子结果对应的告警等级;
提示单元,用于基于每一检测子结果对应的告警等级,对对应的每一检测子结果进行告警提示。
需要说明的是,本实施例中节点之间的信息交互过程可以参考前述方法实施例描述的信息交互过程,此处不再赘述。
本申请的实施例所提供的信息检测装置,通过确定待检测进程对应的物理内存对应的内存结构后,识别内存结构的内存属性后,基于内存结构和内存属性,创建初始内存索引,并识别待检测进程对应的运行文件的文件格式属性,基于初始内存索引和文件格式属性,创建目标内存索引,最后基于目标内存索引,对待检测进程进行无文件木马检测,得到检测结果。这样,信息检测装置对待检测进程对应的物理内存和待检测进程的运行文件进行索引分析,确定得到目标内存索引,然后根据目标内存索引来对待检测进程进行无文件木马检测,以得到检测结果,解决了内存马的检测方法严重影响被检测进程的运行性能和稳定性的问题,提出了一种不影响被检测进程的运行性能和稳定性的检测方法,规避了检测内存马时容易被内存马绕过的可能性,提高了检测内存马的检测效率。
基于前述实施例,本申请的实施例提供一种信息检测设备4,该信息检测设备4可以应用于图1~2对应的实施例中,参照图6所示,该信息检测设备4包括:存储器41、处理器42和通信总线43;其中:
存储器41,用于存储可执行指令;
通信总线43,用于实现处理器和存储器之间的通信连接;
处理器42,用于执行存储器中存储的信息检测程序,实现如图1~2任一项的信息检测方法的步骤。
基于前述实施例,本申请的实施例提供一种计算机可读存储介质,简称为存储介质,计算机可读存储介质存储有一个或者多个信息检测方法,一个或者多个信息检测方法可被一个或者多个处理器执行,以实现如图1~2对应的实施例提供的信息检测方法,此处不再赘述。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。
上述本申请实施例序号仅仅为了描述,不代表实施例的优劣。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端(可以是手机,计算机,……,空调器,或者网络通信链接设备等)执行本申请各个实施例所描述的方法。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
以上仅为本申请的优选实施例,并非因此限制本申请的专利范围,凡是利用本申请说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本申请的专利保护范围内。
Claims (10)
1.一种信息检测方法,其特征在于,所述方法包括:
确定待检测进程对应的物理内存对应的内存结构;
识别所述内存结构的内存属性;
基于所述内存结构和所述内存属性,创建初始内存索引;
识别所述待检测进程对应的运行文件的文件格式属性;
基于所述初始内存索引和所述文件格式属性,创建目标内存索引;
基于所述目标内存索引,对所述待检测进程进行无文件木马检测,得到检测结果。
2.根据权利要求1所述的方法,其特征在于,所述基于所述目标内存索引,对所述待检测进程进行无文件木马检测,得到检测结果,包括:
确定待检测文件格式类型;
基于所述目标内存索引,确定所述待检测文件格式类型对应的目标存储区域;
确定所述目标存储区域中所述待检测文件格式类型对应的目标分析内容;其中,所述目标分析内容属于所述待检测进程的运行代码;
对所述目标分析内容进行无文件木马检测,得到所述检测结果。
3.根据权利要求2所述的方法,其特征在于,所述对所述目标分析内容进行无文件木马检测,得到所述检测结果,包括:
确定所述待检测文件格式类型对应的无文件木马特征信息;
对所述目标分析内容进行解析,得到解析结果;
对所述解析结果和所述无文件木马特征信息进行匹配分析,得到匹配结果;
对所述匹配结果按照无文件木马特征多级组合规则进行组合分析,得到所述检测结果。
4.根据权利要求1所述的方法,其特征在于,所述确定待检测进程对应的物理内存对应的内存结构,包括:
确定所述待检测进程;
读取所述待检测进程的进程页表;
基于所述进程页表,确定所述待检测进程对应的物理内存页;
解析所述物理内存页对应的所述物理内存,得到所述内存结构。
5.根据权利要求1至4任一项所述的方法,其特征在于,所述内存属性包括以下信息至少之一:内存区域大小、读写执行权限、内存类型信息。
6.根据权利要求1至4任一项所述的方法,其特征在于,所述基于所述目标内存索引,对所述待检测进程进行无文件木马检测,得到检测结果之后,所述方法还包括:
确定所述检测结果中每一检测子结果对应的告警等级;
基于每一检测子结果对应的所述告警等级,对对应的每一所述检测子结果进行告警提示。
7.一种信息检测装置,其特征在于,所述装置包括:第一确定单元、识别单元、创建单元和检测单元;其中:
所述第一确定单元,用于确定待检测进程对应的物理内存对应的内存结构;
所述识别单元,用于识别所述内存结构的内存属性;
所述创建单元,用于基于所述内存结构和所述内存属性,创建初始内存索引;
所述识别单元,还用于识别所述待检测进程对应的运行文件的文件格式属性;
所述创建单元,还用于基于所述初始内存索引和所述文件格式属性,创建目标内存索引;
所述检测单元,用于基于所述目标内存索引,对所述待检测进程进行无文件木马检测,得到检测结果。
8.根据权利要求7所述的装置,其特征在于,所述检测单元包括:第一确定模块和检测模块;其中:
所述第一确定模块,用于确定待检测文件格式类型;
所述第一确定模块,还用于基于所述目标内存索引,确定所述待检测文件格式类型对应的目标存储区域;
所述第一确定模块,还用于确定所述目标存储区域中所述待检测文件格式类型对应的目标分析内容;其中,所述目标分析内容属于所述待检测进程的运行代码;
所述检测模块,用于对所述目标分析内容进行无文件木马检测,得到所述检测结果。
9.一种信息检测设备,其特征在于,所述设备至少包括:存储器、处理器和通信总线;其中:
所述存储器,用于存储可执行指令;
所述通信总线,用于实现所述处理器和所述存储器之间的通信连接;
所述处理器,用于执行所述存储器中存储的信息检测程序,实现如权利要求1至6中任一项所述的信息检测方法的步骤。
10.一种存储介质,其特征在于,所述存储介质上存储有信息检测程序,所述信息检测程序被处理器执行时实现如权利要求1至6中任一项所述的信息检测方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310915252.6A CN116956290A (zh) | 2023-07-24 | 2023-07-24 | 一种信息检测方法、装置、设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310915252.6A CN116956290A (zh) | 2023-07-24 | 2023-07-24 | 一种信息检测方法、装置、设备和存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116956290A true CN116956290A (zh) | 2023-10-27 |
Family
ID=88461470
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310915252.6A Pending CN116956290A (zh) | 2023-07-24 | 2023-07-24 | 一种信息检测方法、装置、设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116956290A (zh) |
-
2023
- 2023-07-24 CN CN202310915252.6A patent/CN116956290A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20040205411A1 (en) | Method of detecting malicious scripts using code insertion technique | |
CN111967017B (zh) | 生成依赖关系的方法、装置、终端设备及存储介质 | |
JP2015526824A (ja) | 悪意あるアプリケーション診断装置及び方法 | |
CN113486350B (zh) | 恶意软件的识别方法、装置、设备及存储介质 | |
CN111338622B (zh) | 供应链代码识别方法、装置、服务器及可读存储介质 | |
CN113901468A (zh) | 一种脚本处理方法、装置、设备和存储介质 | |
KR101461051B1 (ko) | 웹 기능 분석을 통한 악성 코드 탐지방법 및 그 기록매체 | |
CN111158667B (zh) | 代码注入方法和装置、电子设备及存储介质 | |
CN116541887B (zh) | 一种大数据平台数据安全保护方法 | |
CN113127868A (zh) | 脚本识别方法、装置、设备及存储介质 | |
CN116956290A (zh) | 一种信息检测方法、装置、设备和存储介质 | |
CN113138913A (zh) | Java代码注入检测方法、装置、设备及存储介质 | |
CN117113343A (zh) | 一种信息检测方法、装置、设备和存储介质 | |
CN116992442A (zh) | 一种信息检测方法、装置、设备和存储介质 | |
CN113626823B (zh) | 一种基于可达性分析的组件间交互威胁检测方法及装置 | |
CN114936368A (zh) | 一种Java内存木马检测方法、终端设备及存储介质 | |
CN110377499B (zh) | 一种对应用程序进行测试的方法及装置 | |
CN110555307B (zh) | 识别和处理伪装型系统动态库的方法、装置、设备及介质 | |
CN111752570A (zh) | 一种编译方法、装置、终端及计算机可读存储介质 | |
CN113392016A (zh) | 对程序异常情况处理的规约生成方法、装置、设备及介质 | |
CN113127867A (zh) | 文档识别方法、装置、设备及存储介质 | |
KR102465307B1 (ko) | 화이트 리스트 생성 방법 및 이를 수행하는 사용자 단말, 컴퓨터 판독 가능한 기록 매체 및 컴퓨터 프로그램 | |
CN111159111A (zh) | 一种信息处理方法、设备、系统和计算机可读存储介质 | |
US20230195886A1 (en) | Method and apparatus for securing indirect function call | |
CN115730306A (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 |