本申请提供了一种应用程序监控方法,包括以下步骤:获取当前运行的应用程序的实时行为;查询应用程序规范行为库中该应用程序对应的规范行为集合中是否包含所述应用程序的实时行为,若否,则确定该应用程序出现异常。本申请还提供了一种实现前述方法的应用程序监控装置。本申请的应用程序监控方法及装置,能够解决应用程序因为出现异常而被植入恶意程序的问题。
【技术实现步骤摘要】
应用程序监控方法及装置
本申请涉及软件行为监控
,特别是涉及一种应用程序监控方法及装置。技术背景操作系统中不同的应用程序具有不同的功能,但是在某些情况下,因为应用程序自身的缺陷或者漏洞,使得这些应用程序容易被恶意攻击或利用进而给使用者带来危害。 例如,某些精心构造的攻击型文档会基于对.DOC、. XLS等文件格式漏洞的利用,进而造成预览这些文档的用户被植入恶意程序。借助MetaSploit (—种国际上流行的骇客自动化攻击辅助框架),攻击者可以轻易的给此类文档整合下载者(Downloader)功能,从行为上来说,只要使用者预览这类文档,文档便会利用诸如MS11-006漏洞远程下载可执行程序、运行木马,这就给安装这些应用程序的终端带来了危害。目前常见的做法是通过杀毒软件等对终端中的文件进行实时查杀的方法来查找恶意程序或者木马,然后删除或者隔离查找到的恶意程序或者木马的方式来保护终端的安全,但是,此种方法的前提是应用程序已经出现异常,导致终端已经被植入恶意程序或木马,而无法在恶意程序或木马被植入前就进行拦截。
技术实现思路
本申请所要解决的技术问题是提供一种应用程序监控方法及装置,能够解决应用程序因为出现异常而被植入恶意程序的问题。为了解决上述问题,本申请公开了一种应用程序监控方法,包括以下步骤获取当前运行的应用程序的实时行为;查询应用程序规范行为库中该应用程序对应的规范行为集合中是否包含所述应用程序的实时行为,若否,则确定该应用程序出现异常。进一步地,在确定该应用程序出现异常之后还包括对确定出现异常的应用程序进行处理。进一步地,所述处理包括自动阻断该应用程序的实时行为;或通过弹窗提示用户。进一步地,在确定该程序出现异常之前还包括若应用程序的实时行为不属于规范行为集合,则判断该实时行为是否属于预定的例外行为,若否,则确定该应用程序出现异常。进一步地,所述方法还包括预先搜集各应用程序的规范行为并存储在服务器或者客户端中作为应用程序规范行为库。进一步地,所述各应用程序的规范行为通过人工分析、软件二进制逆向分析、软件行为记录并基于神经网络等算法的训练和学习等方式确定。进一步地,所述获取当前运行的应用程序的实时行为包括在当前运行的应用程序有新行为产生时获取;或根据预定的时间获取。为了解决上述问题,本申请还提供了一种应用程序监控方法,包括以下步骤获取当前运行的应用程序的实时行为;确定该应用程序所属类别;查询应用程序规范行为库中该应用程序所属类别对应的规范行为集合中是否包含所述应用程序的实时行为,若否,则确定该应用程序出现异常。为了解决上述问题,本申请还提供了一种应用程序监控装置,包括应用程序实时行为获取模块,用于获取当前运行的应用程序的实时行为;查询模块,用于查询应用程序规范行为库中该应用程序对应的规范行为集合中是否包含所述应用程序的实时行为,若否,则确定该应用程序出现异常。进一步地,所述装置还包括处理模块,用于对确定出现异常的应用程序进行处理,所述处理包括自动阻断该实时行为或通过弹窗提示用户。进一步地,所述装置还包括例外行为判断模块,用于若应用程序的实时行为不属于规范行为集合,则判断该实时行为是否属于预定的例外行为,若否,则确定该应用程序出现异常。进一步地,所述装置还包括规范行为确定模块,用于预先搜集各应用程序的规范行为并存储在服务器或者客户端中作为应用程序规范行为库。进一步地,所述规范行为确定模块包括分析单元,用于通过人工分析、软件二进制逆向分析、软件行为记录并基于神经网络等算法的训练和学习等方式确定应用程序的规范行为。为了解决上述问题,本申请还提供了一种应用程序监控装置,包括应用程序实时行为获取模块,用于获取当前运行的应用程序的实时行为;应用程序类别确定模块,用于确定所述应用程序所属类别;查询模块,用于查询应用程序规范行为库中该应用程序所属类别对应的规范行为集合中是否包含所述应用程序的实时行为,若否,则确定该应用程序出现异常。与现有技术相比,本申请具有以下优点本申请通过预先对各应用程序可能出现的行为进行分析确定出应用程序的规范行为库,在实时判断时将获取的实时行为与规范行为进行比较便可以确定该实时行为是否存在潜在的危险,从而确定应用程序是否出现异常。此种方式可以及时的发现应用程序异常,避免应用程序因为自身缺陷等原因而被植入恶意程序给终端带来危害。进一步地,在分析确定应用程序的规范行为时,可以对应用程序按照实现功能进行分类,因为具有相同功能的应用程序其在运行时产生的行为会基本相同,通过分析确定的规范行为为某一类应用程序的通用规范行为,在新的应用程序出现时只需要根据其功能确定其所属的类别便可以获取到其通用规范行为,而无需重新为某一新的应用程序进行分析,简化了处理流程。附图说明图1是本申请的应用程序监控方法实施例一的流程图2是本申请的应用程序监控方法实施例二的流程图3是本申请的应用程序监控方法实施例三的流程图4是本申请的应用程序监控装置实施例一的结构示意图5是本申请的应用程序监控装置实施例二的结构示意图6是本申请的应用程序监控装置实施例三的结构示意图。具体实施方式为使本申请的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本申请作进一步详细的说明。参照图1,示出本申请的应用程序监控方法实施例一,包括以下步骤步骤101,获取当前运行的应用程序的实时行为。每一个应用程序在运行时会因为需要实现不同的功能而产生不同的行为。例如, 对于文字处理类软件,在运行时会根据操作者的不同操作而出现文件创建、读取、写入、删除、关闭等行为。通过对应用程序实时状态进行分析可以获取到应用程序的实时行为。应用程序实时行为的获取可以在有新行为出现的时候获取,也可以预定获取时间间隔,当应用程序运行后,每间隔一定的时间获取一次。应用程序的实时行为的获取可以按照操作系统模式分为在操作系统用户态挂接例程截获相关进程的调用以及在操作系统内核态挂接例程截获相关进程的调用两大类。 以Windows平台杀毒软件主动防御功能常用的内核态例程挂接(Kernel Mode Routine Hooking)为例,微软公司在内核里设计了一张系统服务派发表(SSDT,System Service Dispatch Table),系统服务派发表里的例程涵盖了 文件操作、注册表操作、进程操作、线程操作、内存操作、对象操作等功能。替换这张表里的处理例程可以简单的达到截获系统调用的目的,而上述调用过程是区分进程的,这就意味着进程的行为可以通过SSDT劫持 (SSDT Hooking)来获取。除了 SSDT劫持的方法之外,微软官方文档中还推荐使用回调fallback)的方法来实现行为监控。回调机制是微软操作系统内核集成的事件通知解决方案,在某些事件发生时(如进程创建时、线程创建时、模块加载时),系统会主动通知回调的注册者,这套机制也可以帮助我们获取进程的行为。步骤102,查询应用程序规范行为库中该应用程序对应的规范行为集合中是否包含所述应用程序的实时行为,若否,则确定该应用程序出现异常。其中,应用程序规范行为库可以预先搜集各应用程序的规范行为并存储在服务器或者客户端中。应用程序的规范行为包括应用程序正常运行时可能出现的所有行为,这些规范行为可以通过本文档来自技高网...
【技术保护点】
【技术特征摘要】
【专利技术属性】
技术研发人员:李涛,徐江涛,潘剑锋,王宇,
申请(专利权)人:奇智软件北京有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。