CN114692145A - 后门检测方法及系统 - Google Patents

后门检测方法及系统 Download PDF

Info

Publication number
CN114692145A
CN114692145A CN202011578496.2A CN202011578496A CN114692145A CN 114692145 A CN114692145 A CN 114692145A CN 202011578496 A CN202011578496 A CN 202011578496A CN 114692145 A CN114692145 A CN 114692145A
Authority
CN
China
Prior art keywords
key function
function
sequence
key
suspicious
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
Application number
CN202011578496.2A
Other languages
English (en)
Inventor
王明广
王丹阳
梁家浩
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Qax Technology Group Inc
Qianxin Safety Technology Zhuhai Co Ltd
Original Assignee
Qax Technology Group Inc
Qianxin Safety Technology Zhuhai Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Qax Technology Group Inc, Qianxin Safety Technology Zhuhai Co Ltd filed Critical Qax Technology Group Inc
Priority to CN202011578496.2A priority Critical patent/CN114692145A/zh
Publication of CN114692145A publication Critical patent/CN114692145A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • G06F21/56Computer malware detection or handling, e.g. anti-virus arrangements
    • G06F21/562Static detection

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

后门检测方法及系统
技术领域
本申请涉及信息安全技术领域,尤其涉及一种后门检测方法、系统、计算机设备及计算机可读存储介质。
背景技术
后门程序一般是指绕过安全性控制而获取对程序或系统访问权的程序方法。在软件的开发阶段,程序员常常会在软件内创建后门程序以便可以修改程序设计中的缺陷。但是,如果这些后门被其他人知道,或是在发布软件之前没有删除后门程序,那么这些后门就成了安全风险,容易被黑客当成漏洞进行攻击。
后门发现是信息安全界的一个重大难题,目前还没有有效的后门检测方法。
发明内容
本申请的目的是提供一种后门检测方法、系统、计算机设备及计算机可读存储介质,用于解决信息安全界中的后门检测问题。
本申请实施例的一个方面提供了一种后门检测方法,所述方法包括:监控目标事件;对所述目标事件的当前线程进行堆栈回溯,获得所述目标事件相关的关键函数及所述关键函数的调用序列;对所述关键函数及所述关键函数的调用序列进行聚类分析,输出可疑后门序列。
可选的,所述对所述目标事件的当前线程进行堆栈回溯,包括:遍历所述当前线程的函数栈,找到所述目标事件相关的关键函数及所述关键函数的调用序列;记录所述关键函数及所述关键函数的调用序列。
可选的,所述遍历所述当前线程的函数栈,找到所述目标事件相关的关键函数及所述关键函数的调用序列,包括:对所有需要监控的目标事件涉及的所有关键函数进行统一编号,并建立关键函数列表;遍历所述函数栈中的函数调用信息,与所述关键函数列表进行比对,找到所述目标事件相关的关键函数;对所述关键函数进行回溯,找到所述关键函数的调用序列。
可选的,所述关键函数的调用序列包括所述关键函数调用的至少一个函数的RVA及所属模块信息。
可选的,所述记录所述关键函数及所述关键函数的调用序列,包括:记录所述关键函数的序号、所述关键函数调用的至少一个函数的RVA及所属模块信息;通过终端将所述关键函数的序号、所述关键函数调用的至少一个函数的RVA及所属模块信息传送到服务端。
可选的,所述对所述关键函数及所述关键函数的调用序列进行聚类分析,输出可疑后门序列,包括:按所述终端的操作系统类型,对所述关键函数的调用序列进行聚类分析;按所述目标事件的行为类型,对所述关键函数的调用序列进行聚类分析。
可选的,所述对所述关键函数及所述关键函数的调用序列进行聚类分析,输出可疑后门序列,包括:若第一个时间周期内,所述关键函数从未出现过可疑调用序列,第二个时间周期内,所述关键函数出现了所述可疑调用序列,则输出所述可疑调用序列作为所述可疑后门序列;或若第一个时间周期内,所述关键函数的可疑调用序列出现的平均次数为N,第二个时间周期内,所述关键函数的可疑调用序列出现的次数远远大于N,则输出所述关键函数的可疑调用序列作为所述可疑后门序列。
本申请实施例的一个方面又提供了一种后门检测系统,其特征在于,包括:监控模块,用于监控目标事件;回溯模块,用于对所述目标事件的当前线程进行堆栈回溯,获取所述目标事件相关的关键函数及所述关键函数的调用序列;分析模块,用于对所述关键函数及所述关键函数的调用序列进行聚类分析,输出可疑后门序列。
本申请实施例的一个方面又提供了一种计算机设备,包括存储器、处理器以及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如上述后门检测方法的步骤。
本申请实施例的一个方面又提供了一种计算机可读存储介质,包括存储器、处理器以及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如上述后门检测方法的步骤。
本申请实施例提供的后门检测方法、系统、设备及计算机可读存储介质,通过堆栈回溯获得关键函数的调用序列,通过聚类分析所述关键函数的调用序列输出可疑后门序列,可以有效检测出系统后门,为信息安全界弥补后门检测这一空缺。
附图说明
图1示意性示出了根据本申请实施例的后门检测方法的应用环境图;
图2示意性示出了根据本申请实施例一的后门检测方法的流程图;
图3为图2中步骤S202的子步骤图;
图4为图3中步骤S300与S302的子步骤图;
图5为图2中步骤S204的子步骤图;
图6为图2中步骤S204的另一子步骤图;
图7示意性示出了后门检测方法中终端信息收集流程的一个具体示例图;
图8示意性示出了后门检测方法中服务端分析流程的一个具体示例图;
图9示意性示出了根据本申请实施例二的后门检测系统的框图;及
图10示意性示出了根据本申请实施例三的适于实现后门检测方法的计算机设备的硬件架构示意图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本申请,并不用于限定本申请。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
需要说明的是,在本申请实施例中涉及“第一”、“第二”等的描述仅用于描述目的,而不能理解为指示或暗示其相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。另外,各个实施例之间的技术方案可以相互结合,但是必须是以本领域普通技术人员能够实现为基础,当技术方案的结合出现相互矛盾或无法实现时应当认为这种技术方案的结合不存在,也不在本申请要求的保护范围之内。
在本申请的描述中,需要理解的是,步骤前的数字标号并不标识执行步骤的前后顺序,仅用于方便描述本申请及区别每一步骤,因此不能理解为对本申请的限制。
下面为本申请涉及的术语解释:
内存,又称为内存储器和主存储器,用于加载和运行软件、暂时存放处理器的运算数据等。
API:是应用程序接口(Application Programming Interface)的缩写,是操作系统向编程人员提供了“程序与操作系统的接口”。
RVA:是相对虚拟地址(Relative Virtual Address)的缩写,是一个相对地址,也可以说是偏移量。
目标事件:在内核层恶意代码攻击执行路径(如:必须路径)上的关键行为,比如:创建进程、打开文件、修改注册表、动态库加载、内存修改等。
关键函数:每一个目标事件都可以通过调用Windows操作系统中的API函数来实现,这些API函数可以称为关键函数。
线程:目标事件都是通过线程来执行的,以线程为单位调度CPU资源与内存资源。
关键函数的调用序列:也称为关键函数的调用路径、关键函数的内存指令序列,是指关键函数调用的函数集合,是指所述关键函数调用的至少一个函数的RVA及所属模块信息。
函数栈:是指内存中用于存储函数调用信息的区域,包括目标事件的关键函数及调用序列。
堆栈回溯,是指向上推导出函数之间的调用的层次关系。
图1示意性示出了根据本申请实施例的后门检测方法的环境应用示意图。在示例性的实施例中,如图1所示,服务端10可以通过网络12连接多个终端(电子设备)16,组成后门检测系统。
服务端10,可以由单个或多个计算机设备组成,如,机架式服务器、刀片式服务器、塔式服务器或机柜式服务器(包括独立的服务器,或者多个服务器所组成的服务器集群)等。
网络12可以包括各种网络设备,例如路由器,交换机,多路复用器,集线器,调制解调器,网桥,中继器,防火墙,代理设备和/或等等。网络12可以包括物理链路,例如同轴电缆链路,双绞线电缆链路,光纤链路,它们的组合和/或类似物。网络12可以包括无线链路,例如蜂窝链路,卫星链路,Wi-Fi链路和/或类似物。
多个终端(电子设备)16可以被配置为访问服务端10的内容和服务。多个终端(电子设备)16可以包括任何类型的计算机设备,如终端类设备:移动设备,平板设备,膝上型计算机,智能设备(例如,智能服饰,智能手表,智能扬声器,智能眼镜),虚拟现实耳机,游戏设备,机顶盒,数字流设备,机器人,车载终端,智能电视,电视盒,电子书阅读器,MP3(运动图像专家组音频层III)播放器,MP4(运动图像专家组音频层IV)播放器等。
本申请在于提供一种后门检测方案,在多个终端16,通过堆栈回溯获得关键函数的调用序列,例如:所述关键函数可以是API函数,所述关键函数的调用序列也可以称为所述API函数的调用路径;在服务端10,通过聚类分析所述关键函数的调用序列输出可疑后门序列,可以有效检测出系统后门,为信息安全界弥补后门检测这一空缺。
下文将提供多个实施例,下文提供的各个实施例可以用于实现上文描述的后门检测方案。为便于理解,下面将以终端16与服务端10组成的后门检测系统为执行主体进行示例性描述。
实施例一
图2示意性示出了根据本申请实施例一的后门检测方法的流程图。
如图2所示,后门检测系统的后门检测方法可以包括步骤S200~S204,其中:
步骤S200,监控目标事件。
作为示例,后门检测系统在内核层监控所述目标事件,所述目标事件是指在内核层恶意代码攻击执行路径(如:必须路径)上的关键行为,比如:创建进程、打开文件、修改注册表、动态库加载、内存修改等。
步骤S202,对所述目标事件的当前线程进行堆栈回溯,获得所述目标事件相关的关键函数及所述关键函数的调用序列。
作为示例,所述目标事件都是通过线程来执行的,以线程为单位调度CPU资源与内存资源。若目标事件是创建进程,当终端(比如:某个主机)上的创建进程行为(目标事件)发生时,对创建进程的当前线程进行堆栈回溯。
作为示例,如图3示,所述步骤S202可以包括步骤S300~S302。其中:步骤S300,遍历所述当前线程的函数栈,找到所述目标事件相关的关键函数及所述关键函数的调用序列;步骤S302,记录所述关键函数及所述关键函数的调用序列。
作为示例,如图4所示,所述步骤S300可以包括步骤S400~S404,所述步骤S302可以包括步骤S406~S408。其中:步骤S400,对所有需要监控的目标事件涉及的所有关键函数进行统一编号,并建立关键函数列表;步骤S402,遍历所述函数栈中的函数调用信息,与所述关键函数列表进行比对,找到所述目标事件相关的关键函数;步骤S404,对所述关键函数进行回溯,找到所述关键函数的调用序列。在示例性的实施例中,所述关键函数的调用序列包括所述关键函数调用的至少一个函数的RVA及所属模块信息。步骤S406,记录所述关键函数的序号、所述关键函数调用的至少一个函数的RVA及所属模块信息;步骤S408,通过终端16将所述关键函数的序号、所述关键函数调用的至少一个函数的RVA及所属模块信息传送到服务端10。
在本申请一示例性实施例中,每一个目标事件都可以通过调用Windows操作系统中的API函数(关键函数)来实现。例如,实现创建进程,可以调用Windows操作系统中的API函数包括:WinExec\CreateProcess\CreateProcessInternal\CreateProcessAsUser\NtCreateUserP rocess等,也就是说,可以调用这些API函数中的一个或多个来实现创建进程。对所有需要监控的目标事件涉及的所有关键函数进行统一编号,比如:1号为WinExec,2号为CreateProcess,3号为CreateProcessInternal,4号为CreateProcessAsUser,5号为NtCreateUserProcess等等。对目标事件的关键函数进行统一编号,是为了方便统一管理这些关键函数。
需要说明的是,本申请对目标事件的关键函数的编号方法可以多种多样,并不局限于以上举例,比如:可以先对第一目标事件(比如:创建进程)的关键函数进行统一编号,然后再对第二目标事件(比如:打开文件)的关键函数进行统一编号,也可以对两个目标事件的关键函数进行交错编号。
在本申请一示例性实施例中,关键函数的调用序列也称为关键函数的调用路径、关键函数的内存指令序列,是指关键函数调用的函数集合,对应的是关键函数调用的函数的内存地址,根据当前环境可以把内存地址转换为调用某模块函数的RVA数据,Windows系统模块例如kernerl32.dll、ntdll.dll等导出了很多功能API函数供用户调用。举例而言,假设关键函数C的调用序列为函数B与函数A,那么,关键函数C的调用序列是指:函数B的RVA1及所属模块信息、函数A的RVA2及所属模块信息。RVA 1与RVA 2所属模块可以是同一个模块,也可以是不同模块。
请回到图2,步骤S204,对所述关键函数及所述关键函数的调用序列进行聚类分析,输出可疑后门序列。
作为示例,如图5所示,所述步骤S204可以包括步骤S500~S502。其中:步骤S500,按所述终端的操作系统类型,对所述关键函数的调用序列进行聚类分析。步骤S502,按所述目标事件的行为类型,对所述关键函数的调用序列进行聚类分析。
在示例性实施例中,(1)先将操作系统相同的终端的关键函数的调用序列进行聚类分析,比如:将WIN7的终端的关键函数的调用序列进行聚类分析,将WIN10的终端的关键函数的调用序列进行聚类分析;(2)再将行为类型相同的关键函数的调用序列进行聚类分析,比如:将创建进程的关键函数的调用序列进行聚类分析,将打开文件的关键函数的调用序列进行聚类分析,将修改注册表的关键函数的调用序列进行聚类分析,将动态库加载的关键函数的调用序列进行聚类分析,将内存修改的关键函数的调用序列进行聚类分析。
作为示例,如图6所示,所述步骤S204还可以包括步骤S600。步骤S600,若第一个时间周期内,所述关键函数从未出现过可疑调用序列,但第二个时间周期内,所述关键函数出现了所述可疑调用序列,则输出所述可疑调用序列作为所述可疑后门序列;或若第一个时间周期内,所述关键函数的可疑调用序列出现的平均次数为N,但第二个时间周期内,所述关键函数的可疑调用序列出现的次数远远大于N,则输出所述关键函数的可疑调用序列作为所述可疑后门序列。
在本申请一示例性实施例中,当某个主机(终端)上的创建进程行为(目标事件)发生时,进行当前线程的堆栈回溯,拿到当前行为(目标事件)的内存指令的调用序列,从下往上遍历找到和当前行为分类相关的API调用(即,找目标行为相关的关键函数),如先找到NtCreateUserProcess(第一关键函数),然后找到CreateProcess(第二关键函数),再找到WinExec(第三关键函数),记录每个关键函数所在的API编号及调用这个API的上几层调用的RVA及所在模块信息,再把数据打包好后发给服务端,服务端接收到所有终端主机发过来的数据,按API编号、模块、RVA1、RVA2进行归类聚合及动态监控,找出满足条件的两类数据作为可疑后门序列:(1)某关键函数调用存在非常少的调用路径;(2)某关键函数的调用路径很少触发但突然在某个时间大量出现。作为示例,这两类数据可以通过图6步骤中S600来寻找。
具体而言,第(1)类数据可以指:若第一个时间周期内(比如:上月或上周,也可以是前几个月或前几周),所述关键函数从未出现过可疑调用序列,但第二个时间周期内(比如:本月或本周),所述关键函数出现了所述可疑调用序列,则输出所述可疑调用序列作为所述可疑后门序列。第(2)类数据可以指:若第一个时间周期内(比如:上月或上周,也可以是前几个月或前几周),所述关键函数的可疑调用序列出现的平均次数为N,但第二个时间周期内(比如:本月或本周),所述关键函数的可疑调用序列出现的次数远远大于N(比如:有可能是N的指数级别的倍数),则输出所述关键函数的可疑调用序列作为所述可疑后门序列。
在上面示例性实施例中,本案基于关键函数的调用序列检测后门,该调用序列是纵向的调用序列,并非横向的调用序列,横向的调用序列一般用于恶意行为检查,而纵向的调用序列除了可以用于恶意行为检查,还可以用于发现后门。所述纵向调用序列是指每个关键函数所在的API编号及调用这个API的上几层调用的RVA及所在模块信息。
如图7所示,为了方便理解,以下提供终端信息收集流程的一个具体示例。
步骤S700,在内核层拦截到目标事件发生。
步骤S702,对当前线程进行堆栈回溯。
步骤S704,遍历函数栈。
步骤S706,判断是否在函数栈中发现目标事件相关的关键函数(比如:API函数)。
若发现目标事件相关的关键函数,步骤S708,记录关键函数及调用序列。
若没有发现目标事件相关的关键函数,步骤S710,判断函数栈是否遍历完成。
若函数栈没有遍历完成,则回到步骤S704,继续遍历函数栈。
若函数栈遍历完成,步骤S712,终端16发送关键函数及调用序列到服务端10。
如图8所示,为了方便理解,以下提供服务端分析流程的一个具体示例。服务端接收第1终端、第2终端、第N终端的API调用序列(关键函数的调用序列),对这些API调用序列(关键函数的调用序列)进行聚类分析,输出可疑后门序列。服务端分析流程可以参见前文图5与图6的描述,故,不再赘述。
实施例二
图9示意性示出了根据本申请实施例二的后门检测系统的框图,该后门检测系统可以被分割成一个或多个程序模块,一个或者多个程序模块被存储于存储介质中,并由一个或多个处理器所执行,以完成本申请实施例。本申请实施例所称的程序模块是指能够完成特定功能的一系列计算机程序指令段,以下描述将具体介绍本实施例中各程序模块的功能。
如图9所示,该后门检测系统900可以包括监控模块902、回溯模块904及分析模块906。
监控模块902,用于监控目标事件。
作为示例,监控模块902还用于在内核层监控所述目标事件,所述目标事件是指在内核层恶意代码攻击执行路径(如:必须路径)上的关键行为,比如:创建进程、打开文件、修改注册表、动态库加载、内存修改等。
回溯模块904,用于对所述目标事件的当前线程进行堆栈回溯,获取所述目标事件相关的关键函数及所述关键函数的调用序列。
在示例性的实施例中,回溯模块904还用于遍历所述当前线程的函数栈,找到所述目标事件相关的关键函数及所述关键函数的调用序列,记录所述关键函数及所述关键函数的调用序列。
作为示例,回溯模块904还用于对所有需要监控的目标事件涉及的所有关键函数进行统一编号,并建立关键函数列表,遍历所述函数栈中的函数调用信息,与所述关键函数列表进行比对,找到所述目标事件相关的关键函数,对所述关键函数进行回溯,找到所述关键函数的调用序列。
在示例性的实施例中,所述关键函数的调用序列包括所述关键函数调用的至少一个函数的RVA及所属模块信息。回溯模块904还用于记录所述关键函数的序号、所述关键函数调用的至少一个函数的RVA及所属模块信息,通过终端将所述关键函数的序号、所述关键函数调用的至少一个函数的RVA及所属模块信息传送到服务端。
分析模块906,用于对所述关键函数及所述关键函数的调用序列进行聚类分析,输出可疑后门序列。
在示例性的实施例中,分析模块906还用于按所述终端的操作系统类型,对所述关键函数的调用序列进行聚类分析,按所述目标事件的行为类型,对所述关键函数的调用序列进行聚类分析。
作为示例,若第一个时间周期内,所述关键函数从未出现过可疑调用序列,但第二个时间周期内,所述关键函数出现了所述可疑调用序列,则分析模块906输出所述可疑调用序列作为所述可疑后门序列。若第一个时间周期内,所述关键函数的可疑调用序列出现的平均次数为N,但第二个时间周期内,所述关键函数的可疑调用序列出现的次数远远大于N,则分析模块906输出所述关键函数的可疑调用序列作为所述可疑后门序列。
实施例三
图10示意性示出了根据本申请实施例三的适于实现后门检测方法的计算机设备1000的硬件架构示意图。计算机设备1000可以为终端16与服务端10组成的后门检测系统,也可以作为后门检测系统的一部分。本实施例中,计算机设备1000是一种能够按照事先设定或者存储的指令,自动进行数值计算和/或信息处理的设备。例如,可以是智能手机、平板电脑、笔记本电脑、台式计算机、机架式服务器、刀片式服务器、塔式服务器或机柜式服务器(包括独立的服务器,或者多个服务器所组成的服务器集群)、网关等。如图10所示,计算机设备1000至少包括但不限于:可通过系统总线相互通信链接存储器1010、处理器1020、网络接口1030、震动元件1040。其中:
存储器1010至少包括一种类型的计算机可读存储介质,可读存储介质包括闪存、硬盘、多媒体卡、卡型存储器(例如,SD或DX存储器等)、随机访问存储器(RAM)、静态随机访问存储器(SRAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、可编程只读存储器(PROM)、磁性存储器、磁盘、光盘等。在一些实施例中,存储器1010可以是计算机设备1000的内部存储模块,例如该计算机设备1000的硬盘或内存。在另一些实施例中,存储器1010也可以是计算机设备1000的外部存储设备,例如该计算机设备1000上配备的插接式硬盘,智能存储卡(Smart Media Card,简称为SMC),安全数字(Secure Digital,简称为SD)卡,闪存卡(Flash Card)等。当然,存储器1010还可以既包括计算机设备1000的内部存储模块也包括其外部存储设备。本实施例中,存储器1010通常用于存储安装于计算机设备1000的操作系统和各类应用软件,例如后门检测方法的程序代码等。此外,存储器1010还可以用于暂时地存储已经输出或者将要输出的各类数据。
处理器1020在一些实施例中可以是中央处理器(Central Processing Unit,简称为CPU)、控制器、微控制器、微处理器、或其他数据处理芯片。该处理器1020通常用于控制计算机设备1000的总体操作,例如执行与计算机设备1000进行数据交互或者通信相关的控制和处理等。本实施例中,处理器1020用于运行存储器1010中存储的程序代码或者处理数据。
网络接口1030可包括无线网络接口或有线网络接口,该网络接口1030通常用于在计算机设备1000与其他计算机设备之间建立通信链接。例如,网络接口1030用于通过网络将计算机设备1000与外部终端相连,在计算机设备1000与外部终端之间的建立数据传输通道和通信链接等。网络可以是企业内部网(Intranet)、互联网(Internet)、全球移动通讯系统(Global System of Mobile communication,简称为GSM)、宽带码分多址(WidebandCode Division Multiple Access,简称为WCDMA)、4G网络、5G网络、蓝牙(Bluetooth)、Wi-Fi等无线或有线网络。
需要指出的是,图10仅示出了具有部件1010-1030的计算机设备,但是应理解的是,并不要求实施所有示出的部件,可以替代的实施更多或者更少的部件。
在本实施例中,存储于存储器1010中的后门检测方法还可以被分割为一个或者多个程序模块,并由一个或多个处理器(本实施例为处理器1020)所执行,以完成本申请实施例。
实施例四
本申请还提供一种计算机可读存储介质,计算机可读存储介质其上存储有计算机程序,计算机程序被处理器执行时实现实施例中的后门检测方法的步骤。
本实施例中,计算机可读存储介质包括闪存、硬盘、多媒体卡、卡型存储器(例如,SD或DX存储器等)、随机访问存储器(RAM)、静态随机访问存储器(SRAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、可编程只读存储器(PROM)、磁性存储器、磁盘、光盘等。在一些实施例中,计算机可读存储介质可以是计算机设备的内部存储单元,例如该计算机设备的硬盘或内存。在另一些实施例中,计算机可读存储介质也可以是计算机设备的外部存储设备,例如该计算机设备上配备的插接式硬盘,智能存储卡(Smart Media Card,简称为SMC),安全数字(Secure Digital,简称为SD)卡,闪存卡(Flash Card)等。当然,计算机可读存储介质还可以既包括计算机设备的内部存储单元也包括其外部存储设备。本实施例中,计算机可读存储介质通常用于存储安装于计算机设备的操作系统和各类应用软件,例如实施例中后门检测方法的程序代码等。此外,计算机可读存储介质还可以用于暂时地存储已经输出或者将要输出的各类数据。
显然,本领域的技术人员应该明白,上述的本申请实施例的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本申请实施例不限制于任何特定的硬件和软件结合。
以上仅为本申请的优选实施例,并非因此限制本申请的专利范围,凡是利用本申请说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本申请的专利保护范围内。

Claims (10)

1.一种后门检测方法,其特征在于,所述方法包括:
监控目标事件;
对所述目标事件的当前线程进行堆栈回溯,获得所述目标事件相关的关键函数及所述关键函数的调用序列;
对所述关键函数及所述关键函数的调用序列进行聚类分析,输出可疑后门序列。
2.根据权利要求1所述的后门检测方法,其特征在于,所述对所述目标事件的当前线程进行堆栈回溯,包括:
遍历所述当前线程的函数栈,找到所述目标事件相关的关键函数及所述关键函数的调用序列;
记录所述关键函数及所述关键函数的调用序列。
3.根据权利要求2所述的后门检测方法,其特征在于,所述遍历所述当前线程的函数栈,找到所述目标事件相关的关键函数及所述关键函数的调用序列,包括:
对所有需要监控的目标事件涉及的所有关键函数进行统一编号,并建立关键函数列表;
遍历所述函数栈中的函数调用信息,与所述关键函数列表进行比对,找到所述目标事件相关的关键函数;
对所述关键函数进行回溯,找到所述关键函数的调用序列。
4.根据权利要求3所述的后门检测方法,其特征在于,所述关键函数的调用序列包括所述关键函数调用的至少一个函数的RVA及所属模块信息。
5.根据权利要求4所述的后门检测方法,其特征在于,所述记录所述关键函数及所述关键函数的调用序列,包括:
记录所述关键函数的序号、所述关键函数调用的至少一个函数的RVA及所属模块信息;
通过终端将所述关键函数的序号、所述关键函数调用的至少一个函数的RVA及所属模块信息传送到服务端。
6.根据权利要求1-5任一项所述的后门检测方法,其特征在于,所述对所述关键函数及所述关键函数的调用序列进行聚类分析,输出可疑后门序列,包括:
按所述终端的操作系统类型,对所述关键函数的调用序列进行聚类分析;
按所述目标事件的行为类型,对所述关键函数的调用序列进行聚类分析。
7.根据权利要求6所述的后门检测方法,其特征在于,所述对所述关键函数及所述关键函数的调用序列进行聚类分析,输出可疑后门序列,包括:
若第一个时间周期内,所述关键函数从未出现过可疑调用序列,第二个时间周期内,所述关键函数出现了所述可疑调用序列,则输出所述可疑调用序列作为所述可疑后门序列;或
若第一个时间周期内,所述关键函数的可疑调用序列出现的平均次数为N,第二个时间周期内,所述关键函数的可疑调用序列出现的次数远远大于N,则输出所述关键函数的可疑调用序列作为所述可疑后门序列。
8.一种后门检测系统,其特征在于,包括:
监控模块,用于监控目标事件;
回溯模块,用于对所述目标事件的当前线程进行堆栈回溯,获取所述目标事件相关的关键函数及所述关键函数的调用序列;
分析模块,用于对所述关键函数及所述关键函数的调用序列进行聚类分析,输出可疑后门序列。
9.一种计算机设备,包括存储器、处理器以及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时用于实现权利要求1~7中任一项所述的后门检测方法的步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质内存储有计算机程序,所述计算机程序可被至少一个处理器所执行,以使所述至少一个处理器执行权利要求1~7中任一项所述的后门检测方法的步骤。
CN202011578496.2A 2020-12-28 2020-12-28 后门检测方法及系统 Pending CN114692145A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011578496.2A CN114692145A (zh) 2020-12-28 2020-12-28 后门检测方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011578496.2A CN114692145A (zh) 2020-12-28 2020-12-28 后门检测方法及系统

Publications (1)

Publication Number Publication Date
CN114692145A true CN114692145A (zh) 2022-07-01

Family

ID=82129465

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011578496.2A Pending CN114692145A (zh) 2020-12-28 2020-12-28 后门检测方法及系统

Country Status (1)

Country Link
CN (1) CN114692145A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116132175A (zh) * 2023-02-16 2023-05-16 中国人民解放军61660部队 一种基于事件驱动网络引擎的远程后门检测方法

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116132175A (zh) * 2023-02-16 2023-05-16 中国人民解放军61660部队 一种基于事件驱动网络引擎的远程后门检测方法
CN116132175B (zh) * 2023-02-16 2023-09-22 中国人民解放军61660部队 一种基于事件驱动网络引擎的远程后门检测方法

Similar Documents

Publication Publication Date Title
US10169585B1 (en) System and methods for advanced malware detection through placement of transition events
CN110651269B (zh) 隔离的容器事件监视
US10666686B1 (en) Virtualized exploit detection system
US10565373B1 (en) Behavioral analysis of scripting utility usage in an enterprise
US9690606B1 (en) Selective system call monitoring
US10552610B1 (en) Adaptive virtual machine snapshot update framework for malware behavioral analysis
US9619649B1 (en) Systems and methods for detecting potentially malicious applications
US9438613B1 (en) Dynamic content activation for automated analysis of embedded objects
US20190268357A1 (en) Alerting and tagging using a malware analysis platform for threat intelligence made actionable
JP4676744B2 (ja) セキュリティ関連プログラミング・インターフェース
US10902119B1 (en) Data extraction system for malware analysis
US9361461B2 (en) Method and apparatus for detecting malware and recording medium thereof
CN109155774B (zh) 用于检测安全威胁的系统和方法
US10402563B2 (en) Automated classification of exploits based on runtime environmental features
EP3289515B1 (en) Systems and methods for evaluating content provided to users via user interfaces
US20140165130A1 (en) Application-specific re-adjustment of computer security settings
US20080148298A1 (en) System and Methods for Providing Granular Security for Locally Running Scripted Environments and Web Applications
CA2915068C (en) Systems and methods for directing application updates
US11706251B2 (en) Simulating user interactions for malware analysis
CN111177727B (zh) 漏洞检测方法及装置
US9942268B1 (en) Systems and methods for thwarting unauthorized attempts to disable security managers within runtime environments
CN110659478B (zh) 在隔离的环境中检测阻止分析的恶意文件的方法
US10049214B2 (en) Systems and methods for detecting malicious processes on computing devices
CN111464528A (zh) 网络安全防护方法、系统、计算设备和存储介质
CN114692145A (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