CN109784054B - 行为堆栈信息获取方法及装置 - Google Patents

行为堆栈信息获取方法及装置 Download PDF

Info

Publication number
CN109784054B
CN109784054B CN201811646153.8A CN201811646153A CN109784054B CN 109784054 B CN109784054 B CN 109784054B CN 201811646153 A CN201811646153 A CN 201811646153A CN 109784054 B CN109784054 B CN 109784054B
Authority
CN
China
Prior art keywords
behavior
stack information
running process
event
behavior event
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
Application number
CN201811646153.8A
Other languages
English (en)
Other versions
CN109784054A (zh
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.)
Qianxin Technology Group Co Ltd
Qianxin Safety Technology Zhuhai Co Ltd
Original Assignee
360 Enterprise Security Technology Zhuhai Co ltd
Beijing Qianxin Technology 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 360 Enterprise Security Technology Zhuhai Co ltd, Beijing Qianxin Technology Co Ltd filed Critical 360 Enterprise Security Technology Zhuhai Co ltd
Priority to CN201811646153.8A priority Critical patent/CN109784054B/zh
Publication of CN109784054A publication Critical patent/CN109784054A/zh
Application granted granted Critical
Publication of CN109784054B publication Critical patent/CN109784054B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Debugging And Monitoring (AREA)
  • Alarm Systems (AREA)

Abstract

本发明公开了一种行为堆栈信息获取方法及装置,涉及安全技术领域,主要目的在于能够获取终端设备上所有进程的行为堆栈信息,无需重复在进程中注入捕获模块,能够简化行为堆栈信息的获取步骤,从而能够提升行为堆栈信息的获取效率。此外,能够避免干扰终端设备的正常运行进程,保证用户正常使用终端设备。所述方法包括:在终端设备的内核层监控所述终端设备中运行进程的行为事件;当监控到所述行为事件发生时,在所述行为事件对应的当前进程线程空间对所述运行进程的系统调用进行堆栈信息回溯,得到所述运行进程的行为堆栈信息。本发明适用于行为堆栈信息的获取。

Description

行为堆栈信息获取方法及装置
技术领域
本发明涉及安全技术领域,特别是涉及一种行为堆栈信息获取方法及装置。
背景技术
随着互联网技术的高速发展,为了方便用户的生活和工作,越来越多的应用程序出现并被广泛应用到终端设备上。因此,为了避免终端设备数据泄露,造成用户财产损失,终端设备数据安全变防护变得越来越重要。在实际应用中,通常获取终端设备中进程的行为堆栈信息,根据行为堆栈信息构建行为堆栈特征数据库,然后将所述行为堆栈特征数据库作为判定进程的正常操作行为和异常操作行为的依据,从而为病毒木马查杀添加新手段,为终端安全保驾护航。
目前,通常利用在进程中注入捕获模块的方式获取进程的行为堆栈信息。然而,通过每个捕获模块仅能获取到对应被注入进程的行为堆栈信息,在终端设备通常可以创建多个进程,若通过上述方式获取行为堆栈信息,需要重复注入捕获模块的步骤,造成行为堆栈信息获取的步骤较复杂,从而导致行为堆栈信息获取效率较低。此外,当进程被创建时,说明终端设备正在运行进程,此时在进程中注入捕获模块会干扰终端设备的正常运行进程,从而干扰用户正常使用终端设备。
发明内容
有鉴于此,本发明提供一种行为堆栈信息获取方法及装置,主要目的在于能够获取终端设备上所有进程的行为堆栈信息,无需重复在进程中注入捕获模块,能够简化行为堆栈信息的获取步骤,从而能够提升行为堆栈信息的获取效率。此外,能够避免干扰终端设备的正常运行进程,保证用户正常使用终端设备。
依据本发明第一方面,提供了一种行为堆栈信息获取方法,包括:
在终端设备的内核层监控所述终端设备中运行进程的行为事件;
当监控到所述行为事件发生时,在所述行为事件对应的当前进程线程空间对所述运行进程的系统调用进行堆栈信息回溯,得到所述运行进程的行为堆栈信息。
可选地,所述当监控到所述行为事件发生时,在所述行为事件对应的当前进程线程空间对所述运行进程的系统调用进行堆栈信息回溯,得到所述运行进程的行为堆栈信息包括:
当监控到所述行为事件发生时,在所述行为事件对应的当前进程线程空间利用所述行为事件对应的回溯函数,对所述目标进程的系统调用进行堆栈信息回溯,得到所述目标进程的行为堆栈信息。
可选地,所述当监控到所述行为事件发生时,在所述行为事件对应的当前进程线程空间利用所述行为事件对应的回溯函数,得到所述运行进程的行为堆栈信息,包括:
当监控到所述行为事件发生时,在所述行为事件对应的当前进程线程空间确定在预定义的内核通知链上注册所述回溯函数的内核模式驱动;
通知所述内核模式驱动调用所述回溯函数对所述运行进程的系统调用进行堆栈信息回溯,得到所述运行进程的行为堆栈信息。
可选地,所述内核模式驱动为系统过滤框架的过滤管理器,所述当监控到所述行为事件发生时,通知所述内核模式驱动调用所述回溯函数对所述运行进程的系统调用进行堆栈信息回溯,得到所述运行进程的行为堆栈信息,包括:
当监控到所述行为事件发生时,通知所述过滤管理器调用所述回溯函数对所述运行进程的系统调用进行堆栈信息回溯,得到所述运行进程的行为堆栈信息。
可选地,所述在终端设备的内核层监控所述终端设备中运行进程的行为事件,包括:
利用在所述终端设备的内核层设置的行为监控模块,监控所述终端设备中运行进程的行为事件。
进一步地,所述当监控到所述行为事件发生时,在所述行为事件对应的当前进程线程空间对所述运行进程的系统调用进行堆栈信息回溯,得到所述运行进程的行为堆栈信息之前,所述方法还包括:
在所述终端设备的内核层监控所述运行进程是否调用所述终端设备的系统功能函数;
若是,则确定监控到所述行为事件发生。
进一步地,所述当监控到所述行为事件发生时,在所述行为事件对应的当前进程线程空间中对所述运行进程的系统调用进行堆栈信息回溯,得到所述运行进程的行为堆栈信息之后,所述方法还包括:
将所述行为堆栈信息通过内核层网络通道发送给分布式服务器进行保存。
可选地,所述将所述行为堆栈信息通过内核层网络通道发送给分布式服务器进行保存,包括:
将所述行为堆栈信息通过内核层网络通道发送给中转服务器,所述中转服务器用于将所述行为堆栈信息转发给所述分布式服务器进行保存。
依据本发明第二方面,提供了一种行为堆栈信息获取装置,包括:
监控单元,用于在终端设备的内核层监控所述终端设备中运行进程的行为事件;
获取单元,用于当监控到所述行为事件发生时,在所述行为事件对应的当前进程线程空间对所述运行进程的系统调用进行堆栈信息回溯,得到所述运行进程的行为堆栈信息。
可选地,所述获取单元,具体用于当监控到所述行为事件发生时,在所述运行进程对应的当前进程线程空间利用所述行为事件对应的回溯函数,对所述运行进程的系统调用进行堆栈信息回溯,得到所述运行进程的行为堆栈信息。
可选地,所述获取单元包括:
确定模块,用于当监控到所述行为事件发生,在所述行为事件对应的当前进程线程空间确定在预定义的内核通知链上注册所述回溯函数的内核模式驱动;
获取模块,用于当监控到所述行为事件发生时,通知所述内核模式驱动调用所述回溯函数对所述运行进程的系统调用进行堆栈信息回溯,得到所述运行进程的行为堆栈信息。
可选地,所述获取模块,具体用于当所述内核模式驱动为系统过滤框架的过滤管理器时,通知所述过滤管理器调用所述回溯函数对所述运行进程的系统调用进行堆栈信息回溯,得到所述运行进程的行为堆栈信息。
可选地,所述监控单元,具体用于利用在所述终端设备的内核层设置的行为监控模块,监控所述终端设备中运行进程的行为事件。
进一步地,所述装置还包括:确定单元,
所述监控单元,还用于在所述终端设备的内核层监控所述运行进程是否调用所述终端设备的系统功能函数;
所述确定单元,用于若在所述终端设备的内核层监控所述运行进程调用所述终端设备的系统功能函数,则确定监控到所述行为事件发生。
进一步地,所述装置还包括:
发送单元,用于将所述行为堆栈信息通过内核层网络通道发送给分布式服务器进行保存。
可选地,所述发送单元,具体用于将所述行为堆栈信息通过内核层网络通道发送给中转服务器,所述中转服务器用于将所述行为堆栈信息转发给所述分布式服务器进行保存。
依据本发明第三方面,提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现以下步骤:
在终端设备的内核层监控所述终端设备中运行进程的行为事件;
当监控到所述行为事件发生时,在所述行为事件对应的当前进程线程空间对所述运行进程的系统调用进行堆栈信息回溯,得到所述运行进程的行为堆栈信息。
依据本发明第四方面,提供了一种计算机设备,包括处理器、存储器、通信接口和通信总线所述处理器、所述存储器和所述通信接口通过所述通信总线完成相互间的通信,所述存储器用于存放至少一可执行指令,所述可执行指令使所述处理器执行以下步骤:
在终端设备的内核层监控所述终端设备中运行进程的行为事件;
当监控到所述行为事件发生时,在所述行为事件对应的当前进程线程空间对所述运行进程的系统调用进行堆栈信息回溯,得到所述运行进程的行为堆栈信息。
本发明提供一种行为堆栈信息获取方法及装置,与目前利用在进程中注入捕获模块的方式获取进程的行为堆栈信息相比,本发明能够在终端设备的内核层监控所述终端设备中运行进程的行为事件;并能够在监控到所述行为事件发生时,利用所述行为事件对应的回溯函数对所述运行进程的系统调用进行堆栈信息回溯,得到所述运行进程的行为堆栈信息,从而能够实现在内核层获取终端设备上所有进程的行为堆栈信息,无需重复在进程中注入捕获模块,能够简化行为堆栈信息的获取步骤,进而能够提升行为堆栈信息的获取效率。此外,能够避免干扰终端设备的正常运行进程,保证用户正常使用终端设备。
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
附图说明
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
图1示出了本发明实施例提供的一种行为堆栈信息获取方法的流程示意图;
图2示出了本发明实施例提供的另一种行为堆栈信息获取方法的流程示意图;
图3示出了本发明实施例提供的又一种行为堆栈信息获取方法的示意图;
图4示出了本发明实施例提供的一种行为堆栈信息获取系统的主体框架;
图5示出了本发明实施例提供的一种行为堆栈信息获取系统的处理流程示意图;
图6示出了本发明实施例提供的一种行为堆栈信息获取装置的结构示意图;
图7示出了本发明实施例提供的另一种行为堆栈信息获取装置的结构示意图;
图8示出了本发明实施例提供的一种计算机设备的实体结构示意图。
具体实施方式
下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
如背景技术所述,目前,通常利用在进程中注入捕获模块的方式获取进程的行为堆栈信息。然而,通过每个捕获模块仅能获取到对应被注入进程的行为堆栈信息,在终端设备通常可以创建多个进程,若通过上述方式获取行为堆栈信息,需要重复注入捕获模块的步骤,造成行为堆栈信息获取的步骤较复杂,从而导致行为堆栈信息获取效率较低。此外,当进程被创建时,说明终端设备正在运行进程,此时在进程中注入捕获模块会干扰终端设备的正常运行进程,从而干扰用户正常使用终端设备。
为了解决上述技术问题,本发明实施例提供了一种行为堆栈信息获取方法,如图1所示,所述方法包括:
101、在终端设备的内核层监控所述终端设备中运行进程的行为事件。
其中,所述终端设备可以为笔记本电脑、台式电脑、手机等,所述运行进程可以为系统进程或者应用程序进程,所述行为事件可以为不同行为类型的行为事件,所述行为类型可以包括但不限于:文件行为类型、进程行为类型、网络行为类型、驱动行为类型、注册表行为类型。所述行为事件具体可以为文件读行为事件、文件写行为事件、文件重命名行为事件、启动进程行为事件、停止进程行为事件、关闭进程行为事件,调起进程行为事件,注入进程行为事件、访问域名行为事件、访问目标行为事件、访问协议行为事件、建立连接行为事件、卸载驱动行为事件、安装驱动行为事件、注册表读行为事件、注册表写行为事件、注册表重命名行为事件等,通过内核层可以直接监控这些行为事件,无需在运行进程中注入捕获模块,监控这些行为事件。
需要说明的是,本发明实施例的执行主体可以为内核层堆栈信息获取代理,所述内核层堆栈信息获取代理可以部署在终端设备的操作系统上,驻留在所述终端设备的内核层,所述内核层堆栈信息获取代理的权限可以与终端设备的操作系统的权限平级,可以监控或者捕获上层应用程序或系统应用程序所有行为。
102、当监控到所述行为事件发生时,在所述行为事件对应的当前进程线程空间对所述运行进程的系统调用进行堆栈信息回溯,得到所述运行进程的行为堆栈信息。
其中,所述行为堆栈信息可以为应用程序或者系统应用程序执行相应行为时调用的系统功能函数接口序列,具体可以为函数间的调用关系序列,属于动态内存数据。具体地,在所述行为事件对应的当前进程线程空间可以可以利用所述行为事件对应的回溯函数对所述运行进程的系统调用进行堆栈信息回溯,所述回溯函数可以为根据递归回溯算法编写的,具体地,可以将函数间的调用关系序列用转化为有向图中两点间是否存在达到路径的问题,当函数之间存在调用关系时,有向图之间存在路径,当函数之间不存在调用关系时,有向图之间不存在路径,利用递归回溯算法处理有向图中的调用关系路径得出调用关系,由于内核函数的执行为从系统调用函数开始的,因此回溯寻找内核函数的调用关系序列时,回溯到系统调用函数时停止,所述系统调用函数可以为main系统调用函数。
对于本发明实施例,为了实现行为堆栈信息的收集,具体可以利用内核通知链机制和所述回溯函数,回溯得到所述运行进程的行为堆栈信息。在所述回溯函数可以为预先注册在所述内核通知链上的,即当监控到所述行为事件发生时,所述内核层堆栈信息获取代理通知所述回溯函数的注册主体,执行所述回溯函数对所述运行进程的行为堆栈信息进行回溯。所述内核层堆栈信息获取代理可以通过通知消息的方式向所述注册主体发送通知。
本发明实施例提供的一种行为堆栈信息获取方法,与目前利用在进程中注入捕获模块的方式获取进程的行为堆栈信息相比,本发明实施例能够在终端设备的内核层监控所述终端设备中运行进程的行为事件;并能够在监控到所述行为事件发生时,利用所述行为事件对应的回溯函数对所述运行进程的系统调用进行堆栈信息回溯,得到所述运行进程的行为堆栈信息,从而能够实现在内核层获取终端设备上所有进程的行为堆栈信息,无需重复在进程中注入捕获模块,能够简化行为堆栈信息的获取步骤,进而能够提升行为堆栈信息的获取效率。此外,能够避免干扰终端设备的正常运行进程,保证用户正常使用终端设备。
进一步的,为了更好的说明上述行为堆栈信息获取的过程,作为对上述实施例的细化和扩展,本发明实施例提供了另一种行为堆栈信息获取方法,如图2所示,但不限于此,具体如下所示:
201、利用在所述终端设备的内核层设置的行为监控模块,监控所述终端设备中运行进程的行为事件。
需要说明的是,所述运行进程的行为事件可以发生在应用层,当所述行为事件发生时,运行进程执行相应的行为会调用系统功能函数接口,如图3所示,当所述系统功能函数接口被调用时,说明所述行为事件发生,因此,所述确定监控到所述行为事件发生的步骤可以包括:在所述终端设备的内核层监控所述运行进程是否调用所述终端设备的系统功能函数;若监控到所述运行进程调用所述终端设备的系统功能函数,则确定监控到所述行为事件发生。在确定监控到所述行为事件发生后,可以在内核层进行系统回调、过滤框架、系统功能函数接口监控等方式,回溯得到所述行为事件的行为堆栈信息。具体的实现步骤可以参考步骤202。
202、当监控到所述行为事件发生时,在所述行为事件对应的当前进程线程空间利用所述行为事件对应的回溯函数,对所述目标进程的系统调用进行堆栈信息回溯,得到所述目标进程的行为堆栈信息。
对于本发明实施例,所述步骤202具体可以包括:当监控到所述行为事件发生时,在所述行为事件对应的当前进程线程空间确定在预定义的内核通知链上注册所述回溯函数的内核模式驱动;通知所述内核模式驱动调用所述回溯函数对所述运行进程的系统调用进行堆栈信息回溯,得到所述运行进程的行为堆栈信息。
其中,所述内核通知链可以为根据实际需求进行定义的,所述内核模式驱动可以为所述终端设备的系统过滤框架的过滤管理器,所述过滤管理器为可以暴露系统过滤驱动需要的很多公用的系统功能函数。所述确定在预定义的内核通知链上注册所述回溯函数的内核模式驱动的步骤具体可以包括:确定在预定义的内核通知链上注册所述行为事件对应的回溯函数的过滤管理器,具体地,所述回溯函数可以为预先向所述过滤管理器申请注册。其中,当所述内核模式驱动为所述过滤管理器时,对应的所述通知所述内核模式驱动调用所述回溯函数对所述运行进程的系统调用进行堆栈信息回溯具体可以包括:通知所述过滤管理器调用所述回溯函数对所述运行进程的系统调用进行堆栈信息回溯,得到所述运行进程的行为堆栈信息。
203、将所述行为堆栈信息通过内核层网络通道发送给分布式服务器进行保存。
对于本发明实施例,通过内核层网络通道发送给分布式服务器进行保存的过程可以为在内核层直接调用网络接口将所述行为堆栈信息发送给分布式服务器进行保存,通过在内核层捕获行为堆栈信息以及通过内核层网络通道发送所述行为堆栈信息,能够将所述行为堆栈信息获取的整个过程对用户完全透明,不干扰用户正常使用终端设备。当终端设备部署在复杂的网络环境中时,为了提升行为堆栈信息的发送效率,所述步骤203具体可以包括:将所述行为堆栈信息通过内核层网络通道发送给中转服务器,所述中转服务器用于将所述行为堆栈信息转发给所述分布式服务器(Elasticsearch,ES)进行保存。所述分布式服务器可以对从获取的行为堆栈信息进进行统一分析,得到行为堆栈特征库,对终端设备的操作进行进行安全检测,从而对终端设备进行防护,提高终端设备的安全性。
需要说明的是,通过本发明实施例,可以收集或者获取应用程序或系统应用正常操作终端设备时所产生的行为堆栈信息和恶意代码利用漏洞攻击或后台盗取、破坏文件时所产生的异常行为堆栈信息,然后根据正常行为堆栈信息和异常行为堆栈信息构建行为堆栈特征数据库。在行为事件发生时可以凭借堆栈特征数据库区别用户的正常行为还是病毒木马的异常行为,从而对终端设备进行防护,提高终端设备的安全性。
为了更好的理解本发明实施例,可以提供如下应用场景,包括但不限定于此:如图4所示,提供了行为堆栈信息获取系统的主体框架,包括:三部分:内核层行为堆栈信息获取代理、中转服务器、ES服务器,所述内核层行为堆栈信息获取代理为所述系统的核心功能模块,可以部署在不同的操作系统上,可以为行为信息收集的直接来源,所述中转服务器可以用于转发行为堆栈信息,与ES服务器适配,可以部署在复杂网络环境,所述ES服务器用于存放收集的所有数据,便于数据的统计与分析,构建行为特征数据库。如图5所示,整个流程可以包括:在各用户的终端设备上安装内核层行为堆栈获取代理;并启动运行;捕获运行进程的行为事件获取行为堆栈信息,具体地,当某行为事件发生时,某行为事件会被设置在内核层的行为监控模块监控到,如果某行为事件为运行进程的行为事件,则在目标进线程空间通过堆栈回溯获取和处理行为堆栈。对捕获到的行为堆栈信息直接通过内核层网络通道发送发送中转服务器;中转服务器接收行为堆栈信息,并将从各个终端设备上接收到的行为堆栈信息统一发送给ES服务器进行保存。
本发明实施例提供的另一种行为堆栈信息获取方法,与目前利用在进程中注入捕获模块的方式获取进程的行为堆栈信息相比,本发明实施例能够在终端设备的内核层监控所述终端设备中运行进程的行为事件;并能够在监控到所述行为事件发生时,利用所述行为事件对应的回溯函数对所述运行进程的系统调用进行堆栈信息回溯,得到所述运行进程的行为堆栈信息,从而能够实现在内核层获取终端设备上所有进程的行为堆栈信息,无需重复在进程中注入捕获模块,能够简化行为堆栈信息的获取步骤,进而能够提升行为堆栈信息的获取效率。此外,能够避免干扰终端设备的正常运行进程,保证用户正常使用终端设备。
进一步地,作为图1的具体实现,本发明实施例提供了一种行为堆栈信息获取装置,如图6所示,所述装置包括:监控单元31和获取单元32。
所述监控单元31,可以用于在终端设备的内核层监控所述终端设备中运行进程的行为事件;所述监控单元31是本装置中在终端设备的内核层监控所述终端设备中运行进程的行为事件的主要功能模块。
所述获取单元32,可以用于当监控到所述行为事件发生时,在所述行为事件对应的当前进程线程空间对所述运行进程的系统调用进行堆栈信息回溯,得到所述运行进程的行为堆栈信息。所述获取单元32是本装置中当监控到所述行为事件发生时,在所述行为事件对应的当前进程线程空间对所述运行进程的系统调用进行堆栈信息回溯,得到所述运行进程的行为堆栈信息的主要功能模块,也是核心模块。
所述获取单元32,具体可以用于当监控到所述行为事件发生时,在所述运行进程对应的当前进程线程空间利用所述行为事件对应的回溯函数,对所述运行进程的系统调用进行堆栈信息回溯,得到所述运行进程的行为堆栈信息。
在具体应用场景中,所述获取单元32包括:确定模块321和获取模块322,如图7所示。
所述确定模块321,可以用于当监控到所述行为事件发生时,在所述行为事件对应的当前进程线程空间确定在预定义的内核通知链上注册所述回溯函数的内核模式驱动。
所述获取模块322,可以用于通知所述内核模式驱动调用所述回溯函数对所述运行进程的系统调用进行堆栈信息回溯,得到所述运行进程的行为堆栈信息。
需要说明的是,所述获取模块321,具体可以用于当所述内核模式驱动为系统过滤框架的过滤管理器时,通知所述过滤管理器调用所述回溯函数对所述运行进程的系统调用进行堆栈信息回溯,得到所述运行进程的行为堆栈信息。
对于本发明实施例,为了实现在所述终端设备的内核层监控所述终端设备中运行进程的行为事件,所述监控单元31,具体可以用于利用在所述终端设备的内核层设置的行为监控模块,监控所述终端设备中运行进程的行为事件。
对于本发明实施例,为了确定监控到所述行为事件发生,所述装置还可以包括:确定单元33。
所述监控单元31,还可以用于在所述终端设备的内核层监控所述运行进程是否调用所述终端设备的系统功能函数。
所述确定单元33,可以用于若在所述终端设备的内核层监控所述运行进程调用所述终端设备的系统功能函数,则确定监控到所述行为事件发生。
此外,为了方便对行为堆栈信息进行分析和统计,所述装置还包括:发送单元34。
所述发送单元34,可以用于将所述行为堆栈信息通过内核层网络通道发送给分布式服务器进行保存。
在具体应用场景中,当终端设备部署在复杂的网络环境中时,为了提升行为堆栈信息的发送效率,所述发送单元34,具体可以用于将所述行为堆栈信息通过内核层网络通道发送给中转服务器,所述中转服务器用于将所述行为堆栈信息转发给所述分布式服务器进行保存。
需要说明的是,本发明实施例提供的一种行为堆栈信息获取装置所涉及各功能模块的其他相应描述,可以参考图1所示方法的对应描述,在此不再赘述。
基于上述如图1所示方法,相应的,本发明实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现以下步骤:在终端设备的内核层监控所述终端设备中运行进程的行为事件;当监控到所述行为事件发生时,在所述行为事件对应的当前进程线程空间对所述运行进程的系统调用进行堆栈信息回溯,得到所述运行进程的行为堆栈信息。
基于上述如图1所示方法和如图6所示装置的实施例,本发明实施例还提供了一种计算机设备,如图8所示,处理器(processor)41、通信接口(Communications Interface)42、存储器(memory)43、以及通信总线44。其中:处理器41、通信接口42、以及存储器43通过通信总线44完成相互间的通信。通信接口44,用于与其它设备比如客户端或其它服务器等的网元通信。处理器41,用于执行程序,具体可以执行上述行为堆栈信息获取方法实施例中的相关步骤。具体地,程序可以包括程序代码,该程序代码包括计算机操作指令。处理器41可能是中央处理器CPU,或者是特定集成电路ASIC(Application Specific IntegratedCircuit),或者是被配置成实施本发明实施例的一个或多个集成电路。
终端包括的一个或多个处理器,可以是同一类型的处理器,如一个或多个CPU;也可以是不同类型的处理器,如一个或多个CPU以及一个或多个ASIC。存储器43,用于存放程序。存储器43可能包含高速RAM存储器,也可能还包括非易失性存储器(non-volatilememory),例如至少一个磁盘存储器。程序具体可以用于使得处理器41执行以下操作:在终端设备的内核层监控所述终端设备中运行进程的行为事件;当监控到所述行为事件发生时,在所述行为事件对应的当前进程线程空间对所述运行进程的系统调用进行堆栈信息回溯,得到所述运行进程的行为堆栈信息。
通过本发明的技术方案,能够在终端设备的内核层监控所述终端设备中运行进程的行为事件;并能够在监控到所述行为事件发生时,利用所述行为事件对应的回溯函数对所述运行进程的系统调用进行堆栈信息回溯,得到所述运行进程的行为堆栈信息,从而能够实现在内核层获取终端设备上所有进程的行为堆栈信息,无需重复在进程中注入捕获模块,能够简化行为堆栈信息的获取步骤,进而能够提升行为堆栈信息的获取效率。此外,能够避免干扰终端设备的正常运行进程,保证用户正常使用终端设备。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
可以理解的是,上述方法及装置中的相关特征可以相互参考。另外,上述实施例中的“第一”、“第二”等是用于区分各实施例,而并不代表各实施例的优劣。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在此提供的算法和显示不与任何特定计算机、虚拟系统或者其它设备固有相关。各种通用系统也可以与基于在此的示教一起使用。根据上面的描述,构造这类系统所要求的结构是显而易见的。此外,本发明也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本发明的内容,并且上面对特定语言所做的描述是为了披露本发明的最佳实施方式。
在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
类似地,应当理解,为了精简本公开并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。
本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在下面的权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。
本发明的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(DSP)来实现根据本发明实施例的行为堆栈信息获取装置中的一些或者全部部件的一些或者全部功能。本发明还可以实现为用于执行这里所描述的方法的一部分或者全部的设备或者装置程序(例如,计算机程序和计算机程序产品)。这样的实现本发明的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。
应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。

Claims (14)

1.一种行为堆栈信息获取方法,其特征在于,包括:
在终端设备的内核层监控所述终端设备中运行进程的行为事件;
当监控到所述行为事件发生时,在所述行为事件对应的当前进程线程空间对所述运行进程的系统调用进行堆栈信息回溯,得到所述运行进程的行为堆栈信息;
所述当监控到所述行为事件发生时,在所述行为事件对应的当前进程线程空间对所述运行进程的系统调用进行堆栈信息回溯,得到所述运行进程的行为堆栈信息包括:
当监控到所述行为事件发生时,在所述行为事件对应的当前进程线程空间确定在预定义的内核通知链上注册所述行为事件对应的回溯函数的内核模式驱动;
通知所述内核模式驱动调用所述回溯函数对所述运行进程的系统调用进行堆栈信息回溯,得到所述运行进程的行为堆栈信息。
2.根据权利要求1所述的方法,其特征在于,所述内核模式驱动为系统过滤框架的过滤管理器,所述当监控到所述行为事件发生时,通知所述内核模式驱动调用所述回溯函数对所述运行进程的系统调用进行堆栈信息回溯,得到所述运行进程的行为堆栈信息,包括:
当监控到所述行为事件发生时,通知所述过滤管理器调用所述回溯函数对所述运行进程的系统调用进行堆栈信息回溯,得到所述运行进程的行为堆栈信息。
3.根据权利要求1所述的方法,其特征在于,所述在终端设备的内核层监控所述终端设备中运行进程的行为事件,包括:
利用在所述终端设备的内核层设置的行为监控模块,监控所述终端设备中运行进程的行为事件。
4.根据权利要求1所述的方法,其特征在于,所述当监控到所述行为事件发生时,在所述行为事件对应的当前进程线程空间对所述运行进程的系统调用进行堆栈信息回溯,得到所述运行进程的行为堆栈信息之前,所述方法还包括:
在所述终端设备的内核层监控所述运行进程是否调用所述终端设备的系统功能函数;
若是,则确定监控到所述行为事件发生。
5.根据权利要求1所述的方法,其特征在于,所述当监控到所述行为事件发生时,在所述行为事件对应的当前进程线程空间中对所述运行进程的系统调用进行堆栈信息回溯,得到所述运行进程的行为堆栈信息之后,所述方法还包括:
将所述行为堆栈信息通过内核层网络通道发送给分布式服务器进行保存。
6.根据权利要求5所述的方法,其特征在于,所述将所述行为堆栈信息通过内核层网络通道发送给分布式服务器进行保存,包括:
将所述行为堆栈信息通过内核层网络通道发送给中转服务器,所述中转服务器用于将所述行为堆栈信息转发给所述分布式服务器进行保存。
7.一种行为堆栈信息获取装置,其特征在于,包括:
监控单元,用于在终端设备的内核层监控所述终端设备中运行进程的行为事件;
获取单元,用于当监控到所述行为事件发生时,在所述行为事件对应的当前进程线程空间对所述运行进程的系统调用进行堆栈信息回溯,得到所述运行进程的行为堆栈信息;所述获取单元包括:
确定模块,用于当监控到所述行为事件发生,在所述行为事件对应的当前进程线程空间确定在预定义的内核通知链上注册所述行为事件对应的回溯函数的内核模式驱动;
获取模块,用于当监控到所述行为事件发生时,通知所述内核模式驱动调用所述回溯函数对所述运行进程的系统调用进行堆栈信息回溯,得到所述运行进程的行为堆栈信息。
8.根据权利要求7所述的装置,其特征在于,
所述获取模块,具体用于当所述内核模式驱动为系统过滤框架的过滤管理器时,通知所述过滤管理器调用所述回溯函数对所述运行进程的系统调用进行堆栈信息回溯,得到所述运行进程的行为堆栈信息。
9.根据权利要求8所述的装置,其特征在于,
所述监控单元,具体用于利用在所述终端设备的内核层设置的行为监控模块,监控所述终端设备中运行进程的行为事件。
10.根据权利要求8所述的装置,其特征在于,所述装置还包括:确定单元,
所述监控单元,还用于在所述终端设备的内核层监控所述运行进程是否调用所述终端设备的系统功能函数;
所述确定单元,用于若在所述终端设备的内核层监控所述运行进程调用所述终端设备的系统功能函数,则确定监控到所述行为事件发生。
11.根据权利要求7所述的装置,其特征在于,所述装置还包括:
发送单元,用于将所述行为堆栈信息通过内核层网络通道发送给分布式服务器进行保存。
12.根据权利要求11所述的装置,其特征在于,
所述发送单元,具体用于将所述行为堆栈信息通过内核层网络通道发送给中转服务器,所述中转服务器用于将所述行为堆栈信息转发给所述分布式服务器进行保存。
13.一种计算机可读存储介质,所述存储介质中存储有至少一可执行指令,所述执行指令使处理器执行如权利要求1-6中任一项所述的行为堆栈信息获取方法对应的操作。
14.一种计算机设备,包括处理器、存储器、通信接口和通信总线所述处理器、所述存储器和所述通信接口通过所述通信总线完成相互间的通信,所述存储器用于存放至少一可执行指令,所述可执行指令使所述处理器执行如权利要求1-6中任一项所述的行为堆栈信息获取方法对应的操作。
CN201811646153.8A 2018-12-29 2018-12-29 行为堆栈信息获取方法及装置 Active CN109784054B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811646153.8A CN109784054B (zh) 2018-12-29 2018-12-29 行为堆栈信息获取方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811646153.8A CN109784054B (zh) 2018-12-29 2018-12-29 行为堆栈信息获取方法及装置

Publications (2)

Publication Number Publication Date
CN109784054A CN109784054A (zh) 2019-05-21
CN109784054B true CN109784054B (zh) 2021-01-15

Family

ID=66499691

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811646153.8A Active CN109784054B (zh) 2018-12-29 2018-12-29 行为堆栈信息获取方法及装置

Country Status (1)

Country Link
CN (1) CN109784054B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111782426B (zh) * 2020-07-10 2023-09-22 上海淇毓信息科技有限公司 一种处理客户端任务的方法、装置和电子设备
CN112800416A (zh) * 2020-12-31 2021-05-14 航天信息股份有限公司 一种用于调用链的安全防护系统及方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102693298A (zh) * 2012-05-17 2012-09-26 西安交大捷普网络科技有限公司 数据库内容深度还原方法
CN103761175A (zh) * 2013-11-25 2014-04-30 中国科学院计算技术研究所 一种Linux系统下程序执行路径监测系统及其方法
CN105184166A (zh) * 2015-10-21 2015-12-23 南京大学 基于内核的安卓程序实时行为分析方法及系统
CN107908537A (zh) * 2017-11-27 2018-04-13 郑州云海信息技术有限公司 一种基于内核模块异常信息处理的系统及方法

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9426177B2 (en) * 2013-07-15 2016-08-23 Tencent Technology (Shenzhen) Company Limited Method and apparatus for detecting security vulnerability for animation source file
CN104657676B (zh) * 2015-03-05 2017-11-07 北京安普诺信息技术有限公司 一种基于微过滤驱动的文件强制访问控制方法及其系统

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102693298A (zh) * 2012-05-17 2012-09-26 西安交大捷普网络科技有限公司 数据库内容深度还原方法
CN103761175A (zh) * 2013-11-25 2014-04-30 中国科学院计算技术研究所 一种Linux系统下程序执行路径监测系统及其方法
CN105184166A (zh) * 2015-10-21 2015-12-23 南京大学 基于内核的安卓程序实时行为分析方法及系统
CN107908537A (zh) * 2017-11-27 2018-04-13 郑州云海信息技术有限公司 一种基于内核模块异常信息处理的系统及方法

Also Published As

Publication number Publication date
CN109784054A (zh) 2019-05-21

Similar Documents

Publication Publication Date Title
US20220201534A1 (en) Method and device for determining terminal behavior analysis
US20200210424A1 (en) Query engine for remote endpoint information retrieval
AU2018229557A1 (en) Methods and apparatus for identifying and removing malicious applications
CN103577757B (zh) 病毒防御方法和装置
JP6726706B2 (ja) コンボリューションのポピュラリティに基づいて異常なイベントを検出するシステムおよび方法
US20190147163A1 (en) Inferential exploit attempt detection
US9612886B2 (en) Method and device for monitoring API function scheduling in mobile terminal
CN107566401B (zh) 虚拟化环境的防护方法及装置
CN109784054B (zh) 行为堆栈信息获取方法及装置
CN101599113A (zh) 驱动型恶意软件防御方法和装置
CN110704131B (zh) 一种html5应用调用原生应用的方法和装置
CN106682493B (zh) 一种防止进程被恶意结束的方法、装置及电子设备
CN111488576B (zh) 一种首页篡改的保护方法、系统、电子设备及存储介质
CA2961695A1 (en) Correlation-based detection of exploit activity
CN116956272A (zh) 权限调用监控方法、装置及电子设备
CN115758353A (zh) 应用程序保护方法、装置、设备及存储介质
US20140237598A1 (en) Reducing the Spread of Viruses and Errors in Social Networks and Affinity Groups
CN115828256A (zh) 一种越权与未授权逻辑漏洞检测方法
CN105653948B (zh) 一种阻止恶意操作的方法及装置
CN111414270B (zh) 一种异常处理方法及装置
CN112632534A (zh) 一种恶意行为检测方法及装置
CN115189926B (zh) 网络流量的检测方法、网络流量的检测系统和电子设备
JP5825595B2 (ja) Api実行制御装置およびプログラム
CN115048643A (zh) 数据处理方法、装置、电子设备和存储介质
CN114969727A (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
GR01 Patent grant
GR01 Patent grant
CP01 Change in the name or title of a patent holder
CP01 Change in the name or title of a patent holder

Address after: 519085 No. 501, 601, building 14, kechuangyuan, Gangwan No. 1, Jintang Road, Tangjiawan Town, high tech Zone, Zhuhai City, Guangdong Province

Patentee after: Qianxin Safety Technology (Zhuhai) Co.,Ltd.

Patentee after: Qianxin Technology Group Co., Ltd

Address before: 519085 No. 501, 601, building 14, kechuangyuan, Gangwan No. 1, Jintang Road, Tangjiawan Town, high tech Zone, Zhuhai City, Guangdong Province

Patentee before: 360 ENTERPRISE SECURITY TECHNOLOGY (ZHUHAI) Co.,Ltd.

Patentee before: Beijing Qianxin Technology Co., Ltd