CN109271789A - 恶意进程检测方法、装置、电子设备及存储介质 - Google Patents
恶意进程检测方法、装置、电子设备及存储介质 Download PDFInfo
- Publication number
- CN109271789A CN109271789A CN201811135316.6A CN201811135316A CN109271789A CN 109271789 A CN109271789 A CN 109271789A CN 201811135316 A CN201811135316 A CN 201811135316A CN 109271789 A CN109271789 A CN 109271789A
- Authority
- CN
- China
- Prior art keywords
- thread
- target
- shellcode
- address space
- execution
- 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.)
- Granted
Links
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/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
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)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Virology (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明实施例提供一种恶意进程检测方法、装置、电子设备及存储介质,用于解决难以识别驱动进程被恶意软件控制的技术问题,其中方法包括:获取目标进程对应的进程标识;根据所述进程标识确定所述目标进程对应的多个线程和多个执行模块;获取所述多个线程中每一线程对应的执行地址空间,以得到多个执行地址空间;根据所述多个执行地址空间和所述多个执行模块确定所述目标进程是否被恶意修改。实施本发明实施例,可提高电子设备的安全性。
Description
技术领域
本发明涉及电子设备技术领域,具体涉及一种恶意进程检测方法、装置、电子设备及存储介质。
背景技术
恶意软件指在计算机***上执行恶意任务的病毒、蠕虫和特洛伊木马的程序,通过破坏软件进程来实施控制。且随着电子设备技术的发展,恶意软件的发展和传播速度也越来越快。
驱动程序一般指的是设备驱动程序(Device Driver),是一种可以使电子设备和设备通信的特殊程序。相当于硬件的接口,操作***只有通过这个接口,才能控制硬件设备的工作。若恶意软件植入驱动程序,则必然影响电子设备的安全性。
发明内容
本发明实施例提供一种恶意进程检测方法、装置、电子设备及存储介质,用于解决难以识别驱动进程被恶意软件控制的技术问题,可提高电子设备的安全性。
本发明实施例第一方面提供一种恶意进程检测方法,包括:
获取目标进程对应的进程标识;
根据所述进程标识确定所述目标进程对应的多个线程和多个执行模块;
获取所述多个线程中每一线程对应的执行地址空间,以得到多个执行地址空间;
根据所述多个执行地址空间和所述多个执行模块确定所述目标进程是否被恶意修改。
结合本发明实施例第一方面,在本发明实施例第一方面的第一种可能的实现方式中,所述根据所述多个执行地址空间和所述多个执行模块确定所述目标进程是否被恶意修改,包括:
将所述多个执行地址空间中每一执行地址空间与所述多个执行模块中每一执行模块进行匹配;
若所述多个执行地址空间中的目标执行地址空间与所述多个执行模块中每一执行模块均匹配失败,则将所述目标执行地址空间对应的目标线程的线程信息标记为Shellcode线程信息;
根据所述Shellcode线程信息确定所述目标进程是否被恶意修改。
结合本发明实施例第一方面的第一种可能的实现方式,在本发明实施例第一方面的第二种可能的实现方式中,所述根据所述Shellcode线程信息确定所述目标进程是否被恶意修改,包括:
根据所述Shellcode线程信息获取Shellcode线程对应的起始地址;
根据所述起始地址获取所述Shellcode线程对应的Shellcode模块;
获取所述Shellcode模块对应的调试文件信息;
若所述调试文件信息满足预设拦截规则,则确定所述目标进程被恶意修改。
结合本发明实施例第一方面的第二种可能的实现方式,在本发明实施例第一方面的第三种可能的实现方式中,所述方法还包括:
获取预先确定的多个危险进程中每一危险进程对应的可移植可执行PE文件信息,以得到多个PE文件信息;
分析所述多个PE文件信息,以得到多个目标维度;
获取所述多个PE文件信息中每一PE文件信息中与所述多个目标维度中每一目标维度对应的特征信息,以得到多个特征信息集;
根据所述多个特征信息集生成所述预设拦截规则。
结合本发明实施例第一方面的第三种可能的实现方式,在本发明实施例第一方面的第四种可能的实现方式中,所述分析所述多个PE文件信息,以得到多个目标维度,包括:
获取所述多个PE文件信息中每一PE文件信息对应的属性类型,得到多个属性类型;
获取所述多个属性类型中每一属性类型对应的恶意修改概率,以得到多个恶意修改概率;
将所述多个恶意修改概率中小于目标阈值的恶意修改概率对应的属性类型作为所述目标维度。
本发明实施例第二方面提供一种恶意进程检测装置,包括:
获取单元,用于获取目标进程对应的进程标识;
确定单元,用于根据所述进程标识确定所述目标进程对应的多个线程和多个执行模块;
所述获取单元,还用于获取所述多个线程中每一线程对应的执行地址空间,以得到多个执行地址空间;
所述确定单元,还用于根据所述多个执行地址空间和所述多个执行模块确定所述目标进程是否被恶意修改。
结合本发明实施例第二方面,在本发明实施例第二方面的第一种可能的实现方式中,在所述根据所述多个执行地址空间和所述多个执行模块确定所述目标进程是否被恶意修改方面,所述确定单元具体用于将所述多个执行地址空间中每一执行地址空间与所述多个执行模块中每一执行模块进行匹配;若所述多个执行地址空间中的目标执行地址空间与所述多个执行模块中每一执行模块均匹配失败,则将所述目标执行地址空间对应的目标线程的线程信息标记为Shellcode线程信息;根据所述Shellcode线程信息确定所述目标进程是否被恶意修改。
结合本发明实施例第二方面的第一种可能的实现方式,在本发明实施例第二方面的第二种可能的实现方式中,在所述根据所述Shellcode线程信息确定所述目标进程是否被恶意修改方面,所述获取单元还用于根据所述Shellcode线程信息获取Shellcode线程对应的起始地址;根据所述起始地址获取所述Shellcode线程对应的Shellcode模块;获取所述Shellcode模块对应的调试文件信息;所述确定单元具体用于若所述调试文件信息满足预设拦截规则,则确定所述目标进程被恶意修改。
结合本发明实施例第二方面的第二种可能的实现方式,在本发明实施例第二方面的第三种可能的实现方式中,所述获取单元还用于获取预先确定的多个危险进程中每一危险进程对应的可移植可执行PE文件信息,以得到多个PE文件信息;分析所述多个PE文件信息,以得到多个目标维度;获取所述多个PE文件信息中每一PE文件信息中与所述多个目标维度中每一目标维度对应的特征信息,以得到多个特征信息集;根据所述多个特征信息集生成所述预设拦截规则。
结合本发明实施例第二方面的第三种可能的实现方式,在本发明实施例第二方面的第四种可能的实现方式中,在所述分析所述多个PE文件信息,以得到多个目标维度方面,所述获取单元具体用于获取所述多个PE文件信息中每一PE文件信息对应的属性类型,得到多个属性类型;获取所述多个属性类型中每一属性类型对应的恶意修改概率,以得到多个恶意修改概率;将所述多个恶意修改概率中小于目标阈值的恶意修改概率对应的属性类型作为所述目标维度。
本发明实施例第三方面提供一种电子设备,包括:壳体、处理器、存储器、电路板和电源电路,其中,电路板安置在壳体围成的空间内部,处理器和存储器设置在电路板上;电源电路,用于为电子设备的各个电路或器件供电;存储器用于存储可执行程序代码;处理器通过读取存储器中存储的可执行程序代码来运行与可执行程序代码对应的程序,以用于执行本发明实施例第一方面提供的恶意进程检测方法。
本发明实施例第四方面提供了一种非临时性计算机可读存储介质,其中,该存储介质用于存储计算机程序,所述计算机程序被处理器执行时实现本发明实施例第一方面提供的恶意进程检测方法。
本发明实施例第五方面提供了一种应用程序,其中,该应用程序用于在运行时执行本发明实施例第一方面提供的一种恶意进程检测方法。
本发明实施例中,获取目标进程对应的进程标识,根据所述进程标识确定所述目标进程对应的多个线程和多个执行模块,获取所述多个线程中每一线程对应的执行地址空间以得到多个执行地址空间,根据所述多个执行地址空间和所述多个执行模块确定所述目标进程是否被恶意修改。如此,根据线程执行的具***置和进程对应的执行模板的位置进行识别,检测该目标进程是否被恶意修改,提高了检测恶意软件的准确性和高效性。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的一种恶意进程检测方法的流程图;
图2是本发明实施例提供的另一种恶意进程检测方法的流程图;
图3是本发明实施例提供的一种恶意进程检测装置的结构图;
图4是本发明实施例提供的一种电子设备的结构图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明的说明书和权利要求书及所述附图中的术语“第一”、“第二”和“第三”等是用于区别不同对象,而不是用于描述特定顺序。此外,术语“包括”和“具有”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、***、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其它步骤或单元。
在本文中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本发明的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域技术人员显式地和隐式地理解的是,本文所描述的实施例可以与其它实施例相结合。
本发明实施例所描述的电子设备可以包括智能手机(如Android手机)、平板电脑、掌上电脑、笔记本电脑、移动互联网设备(Mobile Internet Devices,MID)或穿戴式设备等,上述设备仅是举例,而非穷举,包含但不限于上述电子设备。
为了方便理解,首先对本发明实施例中设计的词语进行解释说明:
进程(Process),是计算机中的程序关于某数据集合上的一次运行活动,是***进行资源分配和调度的基本单位,是操作***结构的基础。在早期面向进程设计的计算机结构中,进程是程序的基本执行实体;在当代面向线程设计的计算机结构中,进程是线程的容器。程序是指令、数据及其组织形式的描述,进程是程序的实体。
线程,有时被称为轻量进程(Lightweight Process,LWP),是程序执行流的最小单元。一个标准的线程由线程ID,当前指令指针(PC),寄存器集合和堆栈组成。另外,线程是进程中的一个实体,是被***独立调度和分派的基本单位,线程自己不拥有***资源,只拥有一点儿在运行中必不可少的资源,但它可与同属一个进程的其它线程共享进程所拥有的全部资源。一个线程可以创建和撤消另一个线程,同一进程中的多个线程之间可以并发执行。每一个程序都至少有一个线程,若程序只有一个线程,那就是程序本身。
可移植可执行(Portable Executable,PE)文件:微软Windows操作***上的程序文件(可能是间接被执行,如动态链接库(Dynamic Link Library,DLL)文件)。
DLL文件:在***中,许多应用程序并不是一个完整的可执行文件,它们被分割成一些相对独立的动态链接库,即DLL文件。当执行某一个程序时,相应的DLL文件就会被调用,每个DLL实现不同的软件功能。测试人员可以编写新的DLL文件并让目标程序加载执行。
程序数据库(program database,PDB)文件:是使用微软提供的集成开发环境软件(Microsoft Visual studio,VS)生成的用于调试的符号文件,保存着调试信息。PE文件存储通常以程序数据库(Program Database,PDB)文件形式存在。PDB文件保存着应用程序二进制文件的调试和项目状态信息,记录了所有的变量、主信息表的相对位置及大小,这些表可保存资源、导入、导出、重定位、调试、线程本地存储及组件对象模型(Component ObjectModel,COM)运行时的有关信息。调试信息会帮助调试者分析被调试程序的内部布局,当程序重新编译时,调试信息可以正确的反映出变量和函数的修改,使用这些信息可以对程序的调试配置进行增量链接。
而恶意软件对应的应用程序的运行过程中同样产生调试信息,即也存在PDB文件,且该PDB文件难以修改,因此对该PDB文件进行分析,有助于对恶意样本的进一步分析提供线索。
Shellcode,是一段代码(也可以是填充数据),是用来发送到服务器利用特定漏洞的代码,一般可以获取权限。另外,Shellcode一般是作为数据发送给受攻击服务器的。
本发明实施例提供一种恶意进程检测方法、装置、电子设备及存储介质,用于解决难以识别驱动进程被恶意软件控制的技术问题,可提高电子设备的安全性。以下分别进行详细说明。
请参阅图1,图1是本发明实施例提供的一种恶意进程检测方法的流程示意图。其中,该恶意进程检测方法适用于手机、平板电脑等电子设备。如图1所示,该恶意进程检测方法可以包括以下步骤。
S101、获取目标进程对应的进程标识。
在本申请中,目标进程可以是电子设备的操作***对应的进程,也可以是电子设备中安装应用对应的进程等,进一步的,该目标进程为驱动进程。
本申请对于获取目标进程对应的进程标识的方法不做限定,可检测到一个启动指令,该启动指令包括该目标进程的标识信息,如此,可获取进程标识;也可根据目标进程对应的文件路径获取目标程序的标识或进程标识等。
本申请对于获取目标进程对应的进程标识的执行条件,也不做限定,可通过病毒检测软件(例如:金山毒霸)定期对目标进程进行获取,也可在目标进程启动时进行获取等,也就是说,定期或启动时检测目标进程是否被恶意程序修改。
S102、根据所述进程标识确定所述目标进程对应的多个线程和多个执行模块。
在本申请中,线程包含执行进程的标识,执行模板也包含执行进程对应标识,如此,可根据目标进程的进程标识确定执行该目标进程的多个线程和执行该目标进程对应的多个执行模块。
S103、获取所述多个线程中每一线程对应的执行地址空间,以得到多个执行地址空间。
S104、根据所述多个执行地址空间和所述多个执行模块确定所述目标进程是否被恶意修改。
在本申请中,线程不是硬件,执行地址空间为线程执行的位置,也就是说根据线程执行的具***置和进程对应的执行模板的位置进行识别,以确定目标进程是否被恶意修改。
在图1所描述的恶意进程检测方法中,获取目标进程对应的进程标识,根据所述进程标识确定所述目标进程对应的多个线程和多个执行模块,获取所述多个线程中每一线程对应的执行地址空间以得到多个执行地址空间,根据所述多个执行地址空间和所述多个执行模块确定所述目标进程是否被恶意修改。如此,根据线程执行的具***置和进程对应的执行模板的位置进行识别,检测该目标进程是否被恶意修改,提高了检测恶意软件的准确性和高效性。
与图1的实施例一致,请参阅图2,图2是本发明实施例提供的另一种恶意进程检测方法的流程图。其中,该恶意进程方法适用于手机、平板电脑等电子设备。如图2所示,该恶意进程检测方法可以包括以下步骤。
S201、获取目标进程对应的进程标识。
S202、根据所述进程标识确定所述目标进程对应的多个线程和多个执行模块。
S203、获取所述多个线程中每一线程对应的执行地址空间,以得到多个执行地址空间。
其中,步骤S201~S203可参照步骤S101~S103的描述,在此不再赘述。
S204、将所述多个执行地址空间中每一执行地址空间与所述多个执行模块中每一执行模块进行匹配。
S205、若所述多个执行地址空间中的目标执行地址空间均与所述多个执行模块中每一执行模块匹配失败,则将所述目标执行地址空间对应的目标线程的线程信息标记为Shellcode线程信息。
可以理解,由于Shellcode为一段代码,若该目标进程中包含Shellcode,则线程对应的执行地址必然与执行模块对应的地址不同,则将所述多个执行地址空间中每一执行地址空间与所述多个执行模块中每一执行模块进行匹配,当目标执行地址空间与每一执行模块均匹配失败,则表示目标执行地址为一段特定的代码,因此,可将该目标执行地址空间作为Shellcode线程信息,如此,依据该Shellcode线程信息进行识别,以确定目标进程是否被恶意修改。
S206、根据所述Shellcode线程信息确定所述目标进程是否被恶意修改。
由于该Shellcode线程信息对应的线程与执行模块均不匹配,则进一步根据该Shellcode线程信息进行识别,以确定该目标进程是否被恶意修改。本申请对于如何根据Shellcode线程信息确定目标进程是否被恶意修改不做限定,在一种可能的实施例中,所述根据所述Shellcode线程信息确定所述目标进程是否被恶意修改,包括:根据所述Shellcode线程信息获取Shellcode线程对应的起始地址;根据所述起始地址获取所述Shellcode线程对应的Shellcode模块;获取所述Shellcode模块对应的调试文件信息;若所述调试文件信息满足预设拦截规则,则确定所述目标进程被恶意修改。
其中,起始地址为Shellcode线程对应的执行地址。可以理解,根据所述Shellcode线程信息获取Shellcode线程对应的起始地址,再根据该起始地址确定执行该Shellcode线程对应的Shellcode模块,再获取Shellcode模块对应的调试文件信息,若该调试文件信息满足预设拦截规则,则确定目标进程被恶意修改,且修改内容为Shellcode线程信息对应的程序。
本申请对于预设拦截规则不做限定,可以是文件、或变量名的命名规则,也可以是存储路径的安全性,还可以是文件标识与目标进程之间的关联性等。
在一种可能的实施例中,所述方法还包括:获取预先确定的多个危险进程中每一危险进程对应的可移植可执行PE文件信息,以得到多个PE文件信息;分析所述多个PE文件信息,以得到多个目标维度;获取所述多个PE文件信息中每一PE文件信息中与所述多个目标维度中每一目标维度对应的特征信息,以得到多个特征信息集;根据所述多个特征信息集生成所述预设拦截规则。
其中,危险进程为电子设备中进行安全验证而确定的具有危险性的进程或已对电子设备产生危险的进程,对于安全验证的方法不做限定,可通过安全软件进行定期扫描,也可每次软件启动时或安装软件之后进行安全扫描等。
多个PE文件信息为多个危险进程中每一危险进程对应的PE文件的文件信息,其中各个PE文件信息中均包括PDB文件,即该进程的调试信息。
可以理解,先获取多个危险进程中每一危险进程对应的PE文件信息以得到多个PE文件信息,然后,对多个PE文件信息进行分析得到多个目标维度,从而根据多个目标维度确定与多个PE文件信息对应的多个特征信息集,再根据多个特征信息集生成所述预设拦截规则,如此,依据目标维度生成预设拦截规则,便于提高了检测的准确性。
本申请对于确定目标维度的方法不做限定,在一种可能的实施例中,所述分析所述多个PE文件信息,以得到多个目标维度,包括:获取所述多个PE文件信息中每一PE文件信息对应的属性类型,得到多个属性类型;获取所述多个属性类型中每一属性类型对应的恶意修改概率,以得到多个恶意修改概率;将所述多个恶意修改概率中小于目标阈值的恶意修改概率对应的属性类型作为所述目标维度。
其中,属性类型包括文件路径、文件头信息、查看所有记录,并显示各个记录的偏移地址、长度、属性、标识等各个类型;恶意修改概率为各个属性类型被恶意程序修改的概率值,其恶意修改概率越大,则易被修改。
可以理解,先确定各个文件信息对应的属性类型得到多个属性类型,再确定各个属性类型的恶意修改概率得到多个恶意修改概率,如此,从多个属性类型中选取恶意修改概率小于目标阈值的属性类型得到多个目标维度,即选取的目标维度对应的特征信息难以被修改,从而提高了检测目标程序的准确性。
本申请对于目标阈值不做限定,在一种可能的实施例中,所述方法还包括:采用消息摘要算法对所述目标进程进行编译,得到散列值;根据所述散列值确定所述目标阈值。
其中,消息摘要算法(MD4 Message-Digest Algorithm)是一种被广泛使用的密码散列函数,可以产生出一个128位(16字节)的散列值(hash value),用于确保信息传输完整一致。
可以理解,采用消息摘要算法对目标程序进行编译得到散列值,再根据散列值对应的恶意修改概率确定目标阈值,如此,可便于确定目标阈值的准确性。
在图2所描述的恶意进程检测方法中,获取目标进程对应的进程标识,根据所述进程标识确定所述目标进程对应的多个线程和多个执行模块,获取所述多个线程中每一线程对应的执行地址空间以得到多个执行地址空间,然后,将所述多个执行地址空间中每一执行地址空间与所述多个执行模块中每一执行模块进行匹配,若所述多个执行地址空间中的目标执行地址空间与所述多个执行模块中每一执行模块均匹配失败,则将所述目标执行地址空间对应的目标线程的线程信息标记为Shellcode线程信息,根据所述Shellcode线程信息确定所述目标进程是否被恶意修改。如此,依据Shellcode一般不会是存在于正常模块地址空间的代码,检测该目标进程是否被恶意修改,提高了检测恶意软件的准确性和高效性。
与图1和图2的实施例一致,请参阅图3,图3是本发明实施例提供的一种恶意进程检测装置的结构图。其中,该恶意进程检测装置可以设置在手机、平板电脑等电子设备中,如图4所示,该恶意进程检测装置300包括:
获取单元301用于获取目标进程对应的进程标识;
确定单元302用于根据所述进程标识确定所述目标进程对应的多个线程和多个执行模块;
所述获取单元301还用于获取所述多个线程中每一线程对应的执行地址空间,以得到多个执行地址空间;
所述确定单元302还用于根据所述多个执行地址空间和所述多个执行模块确定所述目标进程是否被恶意修改。
在一种可能的实施例中,在所述根据所述多个执行地址空间和所述多个执行模块确定所述目标进程是否被恶意修改方面,所述确定单元302具体用于将所述多个执行地址空间中每一执行地址空间与所述多个执行模块中每一执行模块进行匹配;若所述多个执行地址空间中的目标执行地址空间与所述多个执行模块中每一执行模块均匹配失败,则将所述目标执行地址空间对应的目标线程的线程信息标记为Shellcode线程信息;根据所述Shellcode线程信息确定所述目标进程是否被恶意修改。
在一种可能的实施例中,在所述根据所述Shellcode线程信息确定所述目标进程是否被恶意修改方面,所述获取单元301还用于根据所述Shellcode线程信息获取Shellcode线程对应的起始地址;根据所述起始地址获取所述Shellcode线程对应的Shellcode模块;获取所述Shellcode模块对应的调试文件信息;所述确定单元302具体用于若所述调试文件信息满足预设拦截规则,则确定所述目标进程被恶意修改。
在一种可能的实施例中,所述获取单元301还用于获取预先确定的多个危险进程中每一危险进程对应的可移植可执行PE文件信息,以得到多个PE文件信息;分析所述多个PE文件信息,以得到多个目标维度;获取所述多个PE文件信息中每一PE文件信息中与所述多个目标维度中每一目标维度对应的特征信息,以得到多个特征信息集;根据所述多个特征信息集生成所述预设拦截规则。
在一种可能的实施例中,在所述分析所述多个PE文件信息,以得到多个目标维度方面,所述获取单元301具体用于获取所述多个PE文件信息中每一PE文件信息对应的属性类型,得到多个属性类型;获取所述多个属性类型中每一属性类型对应的恶意修改概率,以得到多个恶意修改概率;将所述多个恶意修改概率中小于目标阈值的恶意修改概率对应的属性类型作为所述目标维度。
在图3所描述的恶意进程检测装置中,获取目标进程对应的进程标识,根据所述进程标识确定所述目标进程对应的多个线程和多个执行模块,获取所述多个线程中每一线程对应的执行地址空间以得到多个执行地址空间,根据所述多个执行地址空间和所述多个执行模块确定所述目标进程是否被恶意修改。如此,根据线程执行的具***置和进程对应的执行模板的位置进行识别,检测该目标进程是否被恶意修改,提高了检测恶意软件的准确性和高效性。
与图1和图2的实施例一致,请参阅图4,图4是本发明实施例公开的一种电子设备。其中,电子设备可以为手机、平板电脑等。如图4所示,该电子设备可以包括壳体401、处理器402、存储器403、电路板404和电源电路405,其中,电路板404安置在壳体围成的空间内部,处理器402和存储器403设置在电路板404上;电源电路405,用于为电子设备的各个电路或器件供电;存储器403用于存储可执行程序代码;处理器402通过读取存储器403中存储的可执行程序代码来运行与可执行程序代码对应的程序,以用于执行以下步骤:
获取目标进程对应的进程标识;
根据所述进程标识确定所述目标进程对应的多个线程和多个执行模块;
获取所述多个线程中每一线程对应的执行地址空间,以得到多个执行地址空间;
根据所述多个执行地址空间和所述多个执行模块确定所述目标进程是否被恶意修改。
作为一种可能的实施方式,在所述根据所述多个执行地址空间和所述多个执行模块确定所述目标进程是否被恶意修改方面,所述处理器402具体用于执行以下操作:
将所述多个执行地址空间中每一执行地址空间与所述多个执行模块中每一执行模块进行匹配;
若所述多个执行地址空间中的目标执行地址空间与所述多个执行模块中每一执行模块均匹配失败,则将所述目标执行地址空间对应的目标线程的线程信息标记为Shellcode线程信息;
根据所述Shellcode线程信息确定所述目标进程是否被恶意修改。
作为一种可能的实施方式,在所述根据所述Shellcode线程信息确定所述目标进程是否被恶意修改方面,所述处理器402具体用于执行以下操作:
根据所述Shellcode线程信息获取Shellcode线程对应的起始地址;
根据所述起始地址获取所述Shellcode线程对应的Shellcode模块;
获取所述Shellcode模块对应的调试文件信息;
若所述调试文件信息满足预设拦截规则,则确定所述目标进程被恶意修改。
作为一种可能的实施方式,所述处理器402还用于执行以下操作:
获取预先确定的多个危险进程中每一危险进程对应的可移植可执行PE文件信息,以得到多个PE文件信息;
分析所述多个PE文件信息,以得到多个目标维度;
获取所述多个PE文件信息中每一PE文件信息中与所述多个目标维度中每一目标维度对应的特征信息,以得到多个特征信息集;
根据所述多个特征信息集生成所述预设拦截规则。
作为一种可能的实施方式,在所述分析所述多个PE文件信息,以得到多个目标维度方面,所述处理器402具体用于执行以下操作:
获取所述多个PE文件信息中每一PE文件信息对应的属性类型,得到多个属性类型;
获取所述多个属性类型中每一属性类型对应的恶意修改概率,以得到多个恶意修改概率;
将所述多个恶意修改概率中小于目标阈值的恶意修改概率对应的属性类型作为所述目标维度。
在图4所描述的电子设备中,获取目标进程对应的进程标识,根据所述进程标识确定所述目标进程对应的多个线程和多个执行模块,获取所述多个线程中每一线程对应的执行地址空间以得到多个执行地址空间,根据所述多个执行地址空间和所述多个执行模块确定所述目标进程是否被恶意修改。如此,根据线程执行的具***置和进程对应的执行模板的位置进行识别,检测该目标进程是否被恶意修改,提高了检测恶意软件的准确性和高效性。
在一个实施例中提供了一种非临时性计算机可读存储介质,其上存储有计算机程序,其中,该计算机程序被处理器执行时实现如图1或图2实施例所示的恶意进程检测方法。
在一个实施例中提供了一种应用程序,该应用程序用于在运行时执行如图1或图2实施例所示的恶意进程检测方法。
本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:闪存盘、只读存储器(Read-Only Memory,ROM)、随机存取器(Random AccessMemory,RAM)、磁盘或光盘等。
以上对本发明实施例所提供的恶意进程检测方法、装置及电子设备进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
Claims (10)
1.一种恶意进程检测方法,其特征在于,包括:
获取目标进程对应的进程标识;
根据所述进程标识确定所述目标进程对应的多个线程和多个执行模块;
获取所述多个线程中每一线程对应的执行地址空间,以得到多个执行地址空间;
根据所述多个执行地址空间和所述多个执行模块确定所述目标进程是否被恶意修改。
2.根据权利要求1所述的方法,其特征在于,所述根据所述多个执行地址空间和所述多个执行模块确定所述目标进程是否被恶意修改,包括:
将所述多个执行地址空间中每一执行地址空间与所述多个执行模块中每一执行模块进行匹配;
若所述多个执行地址空间中的目标执行地址空间与所述多个执行模块中每一执行模块均匹配失败,则将所述目标执行地址空间对应的目标线程的线程信息标记为Shellcode线程信息;
根据所述Shellcode线程信息确定所述目标进程是否被恶意修改。
3.根据权利要求2所述的方法,其特征在于,所述根据所述Shellcode线程信息确定所述目标进程是否被恶意修改,包括:
根据所述Shellcode线程信息获取Shellcode线程对应的起始地址;
根据所述起始地址获取所述Shellcode线程对应的Shellcode模块;
获取所述Shellcode模块对应的调试文件信息;
若所述调试文件信息满足预设拦截规则,则确定所述目标进程被恶意修改。
4.根据权利要求3所述的方法,其特征在于,所述方法还包括:
获取预先确定的多个危险进程中每一危险进程对应的可移植可执行PE文件信息,以得到多个PE文件信息;
分析所述多个PE文件信息,以得到多个目标维度;
获取所述多个PE文件信息中每一PE文件信息中与所述多个目标维度中每一目标维度对应的特征信息,以得到多个特征信息集;
根据所述多个特征信息集生成所述预设拦截规则。
5.根据权利要求4所述的方法,其特征在于,所述分析所述多个PE文件信息,以得到多个目标维度,包括:
获取所述多个PE文件信息中每一PE文件信息对应的属性类型,得到多个属性类型;
获取所述多个属性类型中每一属性类型对应的恶意修改概率,以得到多个恶意修改概率;
将所述多个恶意修改概率中小于目标阈值的恶意修改概率对应的属性类型作为所述目标维度。
6.一种恶意进程检测装置,其特征在于,包括:
获取单元,用于获取目标进程对应的进程标识;
确定单元,用于根据所述进程标识确定所述目标进程对应的多个线程和多个执行模块;
所述获取单元,还用于获取所述多个线程中每一线程对应的执行地址空间,以得到多个执行地址空间;
所述确定单元,还用于根据所述多个执行地址空间和所述多个执行模块确定所述目标进程是否被恶意修改。
7.根据权利要求6所述的装置,其特征在于,在所述根据所述多个执行地址空间和所述多个执行模块确定所述目标进程是否被恶意修改方面,所述确定单元具体用于将所述多个执行地址空间中每一执行地址空间与所述多个执行模块中每一执行模块进行匹配;若所述多个执行地址空间中的目标执行地址空间与所述多个执行模块中每一执行模块均匹配失败,则将所述目标执行地址空间对应的目标线程的线程信息标记为Shellcode线程信息;根据所述Shellcode线程信息确定所述目标进程是否被恶意修改。
8.根据权利要求7所述的装置,其特征在于,在所述根据所述Shellcode线程信息确定所述目标进程是否被恶意修改方面,所述获取单元还用于根据所述Shellcode线程信息获取Shellcode线程对应的起始地址;根据所述起始地址获取所述Shellcode线程对应的Shellcode模块;获取所述Shellcode模块对应的调试文件信息;所述确定单元具体用于若所述调试文件信息满足预设拦截规则,则确定所述目标进程被恶意修改。
9.一种电子设备,其特征在于,包括:壳体、处理器、存储器、电路板和电源电路,其中,电路板安置在壳体围成的空间内部,处理器和存储器设置在电路板上;电源电路,用于为电子设备的各个电路或器件供电;存储器用于存储可执行程序代码;处理器通过读取存储器中存储的可执行程序代码来运行与可执行程序代码对应的程序,以用于执行如权利要求1-5任一项所述的方法。
10.一种非临时性计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1-5中任一所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811135316.6A CN109271789B (zh) | 2018-09-27 | 2018-09-27 | 恶意进程检测方法、装置、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811135316.6A CN109271789B (zh) | 2018-09-27 | 2018-09-27 | 恶意进程检测方法、装置、电子设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109271789A true CN109271789A (zh) | 2019-01-25 |
CN109271789B CN109271789B (zh) | 2021-09-28 |
Family
ID=65197976
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811135316.6A Active CN109271789B (zh) | 2018-09-27 | 2018-09-27 | 恶意进程检测方法、装置、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109271789B (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110889116A (zh) * | 2019-11-15 | 2020-03-17 | 珠海豹趣科技有限公司 | 一种广告拦截方法、装置及电子设备 |
CN111639339A (zh) * | 2020-05-26 | 2020-09-08 | 珠海豹趣科技有限公司 | 进程监控方法、装置、电子设备及存储介质 |
CN111651763A (zh) * | 2020-05-26 | 2020-09-11 | 珠海豹趣科技有限公司 | 进程监控方法、装置、电子设备及存储介质 |
CN114285617A (zh) * | 2021-12-20 | 2022-04-05 | 北京安天网络安全技术有限公司 | 一种网络威胁监测方法、装置、电子设备及可读存储介质 |
CN114792008A (zh) * | 2022-06-24 | 2022-07-26 | 珠海市魅族科技有限公司 | 提权漏洞数据上报方法、装置、设备及存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103839007A (zh) * | 2014-03-03 | 2014-06-04 | 珠海市君天电子科技有限公司 | 一种检测异常线程的方法及*** |
CN105095763A (zh) * | 2015-08-10 | 2015-11-25 | 北京金山安全软件有限公司 | 漏洞防御方法及装置、电子设备 |
CN105488405A (zh) * | 2014-12-25 | 2016-04-13 | 哈尔滨安天科技股份有限公司 | 一种基于pdb调试信息的恶意代码分析方法及*** |
US9411953B1 (en) * | 2013-05-24 | 2016-08-09 | Symantec Corporation | Tracking injected threads to remediate malware |
CN106228066A (zh) * | 2016-07-13 | 2016-12-14 | 北京金山安全软件有限公司 | 进程地址空间防止恶意修改方法、装置以及终端 |
-
2018
- 2018-09-27 CN CN201811135316.6A patent/CN109271789B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9411953B1 (en) * | 2013-05-24 | 2016-08-09 | Symantec Corporation | Tracking injected threads to remediate malware |
CN103839007A (zh) * | 2014-03-03 | 2014-06-04 | 珠海市君天电子科技有限公司 | 一种检测异常线程的方法及*** |
CN105488405A (zh) * | 2014-12-25 | 2016-04-13 | 哈尔滨安天科技股份有限公司 | 一种基于pdb调试信息的恶意代码分析方法及*** |
CN105095763A (zh) * | 2015-08-10 | 2015-11-25 | 北京金山安全软件有限公司 | 漏洞防御方法及装置、电子设备 |
CN106228066A (zh) * | 2016-07-13 | 2016-12-14 | 北京金山安全软件有限公司 | 进程地址空间防止恶意修改方法、装置以及终端 |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110889116A (zh) * | 2019-11-15 | 2020-03-17 | 珠海豹趣科技有限公司 | 一种广告拦截方法、装置及电子设备 |
CN110889116B (zh) * | 2019-11-15 | 2024-02-27 | 珠海豹趣科技有限公司 | 一种广告拦截方法、装置及电子设备 |
CN111639339A (zh) * | 2020-05-26 | 2020-09-08 | 珠海豹趣科技有限公司 | 进程监控方法、装置、电子设备及存储介质 |
CN111651763A (zh) * | 2020-05-26 | 2020-09-11 | 珠海豹趣科技有限公司 | 进程监控方法、装置、电子设备及存储介质 |
CN111639339B (zh) * | 2020-05-26 | 2023-06-23 | 珠海豹趣科技有限公司 | 进程监控方法、装置、电子设备及存储介质 |
CN111651763B (zh) * | 2020-05-26 | 2023-08-22 | 珠海豹趣科技有限公司 | 进程监控方法、装置、电子设备及存储介质 |
CN114285617A (zh) * | 2021-12-20 | 2022-04-05 | 北京安天网络安全技术有限公司 | 一种网络威胁监测方法、装置、电子设备及可读存储介质 |
CN114792008A (zh) * | 2022-06-24 | 2022-07-26 | 珠海市魅族科技有限公司 | 提权漏洞数据上报方法、装置、设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN109271789B (zh) | 2021-09-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109271789A (zh) | 恶意进程检测方法、装置、电子设备及存储介质 | |
US10223528B2 (en) | Technologies for deterministic code flow integrity protection | |
US9582418B2 (en) | Confirming the sensitivity of a data object in a managed object heap | |
CN109388946A (zh) | 恶意进程检测方法、装置、电子设备及存储介质 | |
CN101853200B (zh) | 一种高效动态软件漏洞挖掘方法 | |
CN110866258B (zh) | 快速定位漏洞方法、电子装置及存储介质 | |
CN109471697A (zh) | 一种监控虚拟机中***调用的方法、装置及存储介质 | |
CN105701410A (zh) | 一种获得源代码中信息的方法、装置及*** | |
CN113569246A (zh) | 漏洞检测方法、装置、计算机设备和存储介质 | |
CN111191243A (zh) | 一种漏洞检测方法、装置和存储介质 | |
WO2020053278A1 (en) | Binary risk evaluation | |
CN112671609A (zh) | 一种资产普查与安全检测方法、装置及终端设备 | |
US10275595B2 (en) | System and method for characterizing malware | |
CN110245074B (zh) | 一种日志记录的生成方法、装置、存储介质和服务器 | |
US20160092313A1 (en) | Application Copy Counting Using Snapshot Backups For Licensing | |
US8769498B2 (en) | Warning of register and storage area assignment errors | |
EP3692456B1 (en) | Binary image stack cookie protection | |
US10133881B2 (en) | Method and circuit arrangement for protecting against scanning of an address space | |
US8484753B2 (en) | Hooking nonexported functions by the offset of the function | |
Arnatovich et al. | Empirical Comparison of Intermediate Representations for Android Applications. | |
Jurn et al. | A survey of automated root cause analysis of software vulnerability | |
CN108073411A (zh) | 一种补丁的内核加载方法及装置 | |
CN108874462A (zh) | 一种浏览器行为获取方法、装置、存储介质及电子设备 | |
CN111045891B (zh) | 基于java多线程的监控方法、装置、设备以及存储介质 | |
CN111143851B (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 | ||
TA01 | Transfer of patent application right | ||
TA01 | Transfer of patent application right |
Effective date of registration: 20191125 Address after: Room 105-53811, No. 6 Baohua Road, Hengqin New District, Zhuhai City, Guangdong Province Applicant after: Zhuhai Seal Interest Technology Co., Ltd. Address before: 519070, No. 10, main building, No. six, science Road, Harbour Road, Tang Wan Town, Guangdong, Zhuhai, 601F Applicant before: Zhuhai Juntian Electronic Technology Co.,Ltd. |
|
GR01 | Patent grant | ||
GR01 | Patent grant |