CN101187872A - 基于行为的程序种类判断方法、装置和程序控制方法、装置 - Google Patents
基于行为的程序种类判断方法、装置和程序控制方法、装置 Download PDFInfo
- Publication number
- CN101187872A CN101187872A CNA2007102023281A CN200710202328A CN101187872A CN 101187872 A CN101187872 A CN 101187872A CN A2007102023281 A CNA2007102023281 A CN A2007102023281A CN 200710202328 A CN200710202328 A CN 200710202328A CN 101187872 A CN101187872 A CN 101187872A
- Authority
- CN
- China
- Prior art keywords
- program
- behavioral data
- data sequence
- detected
- behavior
- 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
Images
Landscapes
- Stored Programmes (AREA)
Abstract
本发明提供了一种基于行为的程序种类判断方法,包括:截获待检测程序,顺序获取待检测程序中能够完成特定功能或结果的行为数据,形成行为数据序列;将所述行为数据序列与预置的程序行为模式库中存储的行为数据序列进行比较,根据比较结果确定所述待检测程序的种类。该方法具有较好的通用性和准确性,不受***平台的限制。本发明还提供了一种基于行为的程序种类判断装置,以及一种基于行为的程序控制方法和装置。
Description
技术领域
本发明涉及一种程序种类判断方法和程序控制方法。
背景技术
在计算机管理中,例如在对程序的检测过程中,有时需要知道一个待检测的程序是否属于一个已知的种类,以便对该程序进行必要的处理。由于实际中有许多程序分类的方法,对应的也有很多方法判断一个待检测的程序的种类,例如,在静态情况下,可以通过待检测程序的扩展文件名来判断。如*.doc为文本程序,*.exe为可执行程序,*.pic为图片程序等等。或者,通过分析一个程序的结构,获得静态环境下该待检测程序的种类。
然而,在动态环境下,例如对于网络环境下以数据流方式存在的待检测程序,就不可能采用静态的方式获得该程序的种类信息,如果待检测程序是一个病毒程序,该程序就会由于不能被及时处理而造成对***的危害。
为了获得各种环境下待检测程序的种类信息,通常采用结果判定的方法,该方法在截获待检测程序后,为该程序设置一个虚拟的操作环境,然后获得虚拟操作环境下的程序执行结果,最后根据结果判断待检测程序的种类。显然,这种方法需要耗费较多的时间,在动态的环境下实际并不可行。
作为一种改进,人们发明了基于行为的程序种类判断方法,然而由于对程序行为的理解不同,基于行为的程序控制方式的技术方案和效果也千差万别。一种典型的方法将基于某种***的敏感或重要的***功能调用,即***函数的调用作为程序行为,并进一步作为监控待检测程序的控制点,预先根据这些控制点确定某种程序正常行为的控制点集合,然后在截获的待检测程序中查找是否存在已经确定的正常行为的控制点集合,如果存在,即可确定待检测程序的种类,从而及时对该程序进行必要的处理。
例如,一个基于利用LSM(Linux Security Modules,Linux安全模块)截获点进行程序行为控制的方法,首先利用LSM截获点描述某种程序正常行为并建立正常行为模式库,在截获待检测程序所具有的LSM控制点信息后,生成LSM截获点序列,然后将生成的序列与正常行为模式库中已有的截获点序列比较,如果存在匹配的截获点序列,则确定该待检测程序为某种种类的程序。
该方法中,LSM框架对***需要保护的资源进行分析,确定哪些是需要保护的客体,进一步确定这些客体对应哪些数据结构,以及哪些***函数对其进行了操作,在对所述客体进行访问的最终***函数中,***钩子(hook)函数截获访问,并通过另外一些钩子函数修改客体对应的数据结构,以满足安全机制的需要。其中,所述LSM截获点涉及***函数或***内核,与***各种资源的访问有关,即,将***中涉及资源访问的***函数作为敏感或重要的***函数,将调用这些***函数的行为进一步作为程序行为控制点,即LSM控制点。因此,该方法用涉及***资源访问的函数控制点作为判断待检测的程序行为是否正常的基础。这种方法有两个明显的缺陷,一是受***的局限过大:由于不同的***可能有不同的涉及资源操作的函数,该函数的数量、功能有较大差异,如果以一个特定***的资源访问函数为基础判断待检测程序的行为会导致方法的通用性变差;二是对待检测程序的行为判断的准确性在满足通用性的前提下会有较大的下降:由于程序的不当行为可能涉及资源访问,也可能涉及其他方面,例如程序的强行捆绑,不当的写或移动操作等,单纯以资源访问等有限的函数作为程序行为控制点会产生较大的不当行为的遗漏,从而造成行为判断的准确性下降。
另一方面,如果以上述方法为基础实现对不同或特定种类程序的控制操作,也会产生相同的问题。
发明内容
本发明要解决的问题在于,提供一种通用性好、准确率高的基于行为的程序种类判断方法和装置,从而实现在多种***平台下的准确判断待检测程序是否为某种确定种类的程序。
另外,本发明还提供一种基于行为的程序控制方法和装置,实现对不同种类程序的及时操作。
本发明实施例提供的基于行为的程序种类判断方法,包括:
截获待检测程序,顺序获取待检测程序中能够完成特定功能或结果的行为数据,形成行为数据序列;
将所述行为数据序列与预置的程序行为模式库中存储的行为数据序列进行比较,根据比较结果确定所述待检测程序的种类。
本发明实施例提供的基于行为的程序种类判断装置,包括存储有程序行为数据序列的程序行为模式库,还包括:
用于截获待检测程序的程序截获单元,和,顺序获取待检测程序中能够完成特定功能或结果的行为数据,形成行为数据序列的数据序列生成单元,以及,
比较单元,用于将所述行为数据序列与预置的程序行为模式库中存储的行为数据序列进行比较;
程序确定单元,用于根据比较结果确定所述待检测程序的种类。
本发明实施例提供的基于行为的程序控制方法,包括:
截获待检测程序,顺序获取待检测程序中能够完成特定功能或结果的行为数据,形成行为数据序列;
将所述行为数据序列与预置的程序行为模式库中存储的行为数据序列进行比较,根据比较结果确定所述待检测程序的种类;以及,
用预先设置的相应种类的处理程序对待检测程序进行处理。
本发明实施例提供基于行为的程序控制装置,包括存储有程序行为数据序列的程序行为模式库,还包括:
用于截获待检测程序的程序截获单元,和,顺序获取待检测程序中能够完成特定功能或结果的行为数据,形成行为数据序列的数据序列生成单元,以及,
比较单元,用于将所述行为数据序列与预置的程序行为模式库中存储的行为数据序列进行比较;
程序确定单元,用于根据比较结果确定所述待检测程序的种类;
程序处理单元,用于使用预先设置的相应种类的处理程序对待检测程序进行处理。
按照本发明实施例提供的基于行为的程序种类判断方法和装置,由于在截获待检测程序以后,还要从中能够完成特定功能或结果的行为数据,形成行为数据序列,用该序列与预置的程序行为模式库中存储的行为数据序列进行比较从而判断程序的种类。与现有的技术相比,最大的区别在于比较的基础,是采用完成特定功能或结果的行为数据,即逻辑上连续的指令或事件序列,还是有较多指令间隔的指令或事件。由于存在这样的客观事实,即,某种程序的行为,是靠逻辑上连续的不同指令表达的,***函数的调用指令只是指令中的一种,还包括其它的指令。尤其是,对于大量存在的不采用***函数调用方式表达的行为,采用现有技术更是无能为力。因此本发明实施例提供的程序种类判断方法和装置具有较好的通用性,不受***平台的限制,同时由于本发明以指令全集为基础,采用逻辑上连续的指令或事件序列参与判断,因此也具有较高的准确性。
进一步,本发明实施例提供的基于行为的程序控制方法和装置,也能够根据程序种类的不同对其实施精确的控制。
为了检测本发明实施例的执行性能及对***效率的影响,实验首先在运行在Linux下,执行常用命令ls(输出命令),insmod(模块加载命令),ps(进程查看命令)等在运行程序行为控制-1(PLC-1)前后进行了时间耗费上的测试,得到了实验结果见下表。
常用命令执行的时间耗费比较
从表中的实验数据可知,程序行为控制***的运行对于***的执行效率影响比较小,一般不超过5%。
同时,为了测试PLC-1对攻击行为的检测,我们做了针对wu-ftpd(ftp服务器程序)的攻击性测试,测试环境为内部局域网,测试内容包括成功攻击SITE EXEC远程格式串溢出漏洞与正常运行的SITE EXEC命令。实验结果参考图6,图中横坐标是实验过程使用的程序行为控制(PLC)的行为数据序列的数量,纵坐标是当前PLC的行为数据序列的数量下的不匹配的行为数据序列的数量。
从图6中可以看出,攻击行为产生的不匹配明显高于正常行为,通过这一点可以区分出正常与异常。同时也可以看到,由于该种程序行为模式库存储的正常行为数据序列的不完备,还存在部分误报现象,需要通过学习来减少误报。同时,需要更多的攻击测试来确定异常阈值,以保证减少误报、漏报现象的产生。
可见本发明实施例采用了另外一种与***调用截获点完全不同的数据源枛基于更具普遍性的指令全集,即能够完成特定功能或结果的指令截获点,由于采用基于更具普遍性的指令全集的数据源的粒度更细,例如对于***安全则更安全相关,因此更适合作为程序行为序列模型,以及作为被审计的程序行为序列或事件。
本发明的其它优点在后续的文字中有详尽的叙述。
附图说明
图1为本发明所述基于行为的程序种类判断方法的第一实施例流程图;
图2为本发明所述基于行为的程序种类判断装置的第一实施例框图;
图3为本发明所述基于行为的程序种类判断装置的第二实施例框图;
图4为本发明所述基于行为的程序控制方法的第一实施例流程图;
图5为本发明所述基于行为的程序控制装置的第一实施例框图;
图6为本发明所述基于行为的程序种类判断方法的试验效果图。
具体实施方式
本发明的核心思想在于:预置某种程序的程序行为模式库,程序行为模式库存储有某种程序的典型行为数据序列或片断,将获取的待检测程序的行为数据构成的行为数据序列与程序行为模式库中的程序行为数据序列进行比较,根据比较的结果即可得知所述待检测程序的种类。依据本发明实施例,能够及时对某种类型的程序进行及时处理,例如及时识别一个程序是否病毒程序,因此本发明实施例能够应用在病毒检测、程序(数据)统计分类、***分析等多方面。其中,所述待检测程序的行为数据序列,其实质就是一系列能够完成特定功能或结果的代码序列块,即能够完成特定功能或结果的程序操作指令或以及程序操作指令和操作参数或具体的程序操作指令的集合或程序操作指令以及操作参数的集合。所述的序列块在静态状态下可以由反病毒技术人员人工和借助辅助程序分析得出,采用一般分析病毒程序的方式对该待检测程序进行分析即可。所述分析过程除了反病毒技术人员之外,还需要DEBUG、PROVIEW等分析用工具程序和专用的试验用计算机;在动态状态下可以采用滑动窗口技术获得。
本发明实施例提供的技术方案涉及计算机领域中基于行为短短和控制的主动检测技术。行为控制的前提是,无论是程序还是用户,其基于某一操作目的指令序列或用户的操作行为序列在***特性上都呈现出紧密的相关性,带有强一致性的行为特征。因此,程序行为控制实质上可以归结为对被检测程序中所选取的被审计的行为数据的处理,即待检测的行为数据序列的处理,被审计行为数据序列质量的好坏直接影响到行为控制的效果。典型被审计的行为数据序列主要来源于一个程序中的***函数调用,或者达到某种目的的程序指令的集合及指令间的逻辑关系,本发明实施例主要针对后者进行讨论,因为后者更具有行为特征的普遍性,大量实验证明了这样的事实:对一个有特定执行目的程序,作为程序行为基础的指令子集是相当稳定的,可以使用一组稳定的指令集合来定义程序的行为,表达某种程序的行为规律。
例如,假设一个相同的程序设计需求K,分别由不同的个人采用三种编程语言来完成程序编制,定义该三个应用程序为:EXE1、EXE2、EXE3,三个应用程序的底层指令集代码分别是:
EXE1=[a1,a2,a3,a4,a5,a6,a7……..an,a(n+1)];
EXE2=[a1,a0,a02,a3,a02,a6,a7………an,a(n+1)];
EXE3=[a1,a06,a2,a3,a08,a6,a7……..an,a(n+1)];
如果比较三个应用程序的功能和执行结果,则有:K=EXE1=EXE2=EXE3。分别考察EXE1、EXE2和EXE3,可以看出(a1)、(a2,a3)、(a6,a7)、an,a(n+1)是有效的代码序列,其余的都可以理解成为相对于本次执行结果无效的代码,也就是对于特定的K来说,其行为数据序列片段“(a1)、(a2,a3)、(a6,a7)、an,a(n+1)”是相当稳定的。
目前,公知有3种行为描述方法:(1)事件发生序列法;(2)有限自动机法;(3)高层描述法,本发明实施例采用事件发生序列法,即程序状态发生的顺序参与对程序行为的描述。一个程序的正常行为都可以由该程序正常运行时产生的指令序列构成的行为来描述,为方便进行技术方案的说明,本文中“事件”和“指令”或“行为数据”或“行为”是等同的,例如,指令序列与事件序列具有相同的含义。
图1是本发明所述基于行为的程序种类判断方法的第一实施例的流程图。图1所述的方法以预先设置的对应某种程序的程序行为模式库为基础。所述程序行为模式库中的内容,可以是表达一种或多种程序行为规律的行为数据序列,即事件序列。形成所述程序行为模式库中事件序列的过程是模型建立的过程。所述模型建立通过程序运行得到的大量数据,即被审计数据学习得到,一些组织就公开了在他们的实验环境下得到的被审计数据。有了这些被审计数据,对这些数据进行学习和处理,即可以得到程序行为数据模式,即行为数据序列或事件序列。
目前,程序行为数据序列的建立主要有以下几种方法:(1)概率方法,(2)基于规则的方法,(3)决策树方法,(4)数据挖掘方法,(5)短序列方法,(6)神经网络方法,(7)隐马尔可夫模型方法,等等。下面以短序列方法为例讨论本发明实施例采用的程序行为模式库的模型建立过程。
假设一个被截获的待检测程序所有被记录的能够完成特定功能或结果的行为数据序列为审计事件。则,该待检测程序所有审计事件的集合:E={e1,e2,e3,…,en,e(n+1)},其中e1,e2,e3,…等为具体的审计事件,n为正整数。以此为基础,在计算机***S中,产生的审计事件序列v1,v2,…,vi,就是待检测程序在***S中的踪迹,其中vi∈E,i为正整数,并且i≤n。其中,每个审计事件有两个属性:时间属性和属主属性。
假设时间属性为C(vi),表示事件发生的时间,则所有事件都是按时间排序的,即对所有的i≥1,C(vi)<C(vi+1);假设属主属性为O(vi),表示事件的发起主体,如果用进程pid或(user,pid)表示所述主体,则O(vi)∈pid或(user,pid)。
对任意一个进程pi,其事件序列v1,i1,v2,i2,…,vi,ii,vi+1,ii+1。其中,i1,……,ii+1分别对应事件v1,v2,……,vi+1的执行结果,进程pi对应的事件序列为进程踪迹。可见,pi的进程踪迹是待检测程序在***S中踪迹的子串。假设被检测程序在正常运行时产生的审计事件序列为:V=v1,v2,…,vm(m≥k),则V可以看作由被检测程序在***S中的每一个进程踪迹合并而成。其中,按事件的时间属性将每一个进程的子踪迹事件合并排列,形成被检测程序在正常运行时产生的审计事件序列V。例如,假设被检测程序运行时有两个进程,则V有两个子串V1与V2,它们的合并可以记为
设P为程序行为模式库,其中存储的典型行为序列或片断以审计事件序列V为基础,可以采用滑动窗口技术获得。假设k为滑动窗口大小,则:P={(si,si+1,…,sj)si,…,sj∈E,i≥1,j≤m,j-i+1=k,si=vi,si+1=vi+1,…,sj=vj},其中,m为审计事件序列V的长度,可见,程序行为模式库P中存储的是审计事件序列V的子集。值得注意,为了所述程序行为模式库的完备性应当尽量考虑各种不同情况,因此需要某种程序的大量正常运行产生足够的审计事件序列V作为学习的基础。采用滑动窗口技术获得典型行为数据序列或片断的方法可以参考本申请发明人的其它在先专利申请。另外,由于检索或匹配的方式不同,所述行为模式数据库中的行为数据序列的长度可以相等,也可以不相等,图1所述实施例采用相等的方式。
对应地,假设EXE1的动作全集是F(1),EXE2的动作全集是F(2),EXE3的动作全集是F(3),其中,F(1)∈F,F(2)∈F,F(3)∈F,F为包括F(1)、F(2)和F(3)的动作集。则,F(1)、F(2)、F(3)就是被检测的程序的数据源,他们分别为不同的审计事件序列V,是被检测的对象。也即,通过预先定义的程序行为模式库:VF={y1,y2,y3……yn,y(n+1)},将VF中的元素分别与数据源F(1)、F(2)、F(3)进行比较,即可实现***对于被检测程序EXE1、EXE2、EXE3的审计操作。
按照图1所述实施例,在步骤11截获进入计算机***或网络,或者已经存在于计算机***或网络(正在运行或在存储单元内)的被检测程序。所述被检测程序可以是通过网络端口进入到***内部的任意的程序。对被检测程序的截获可以采用对所述截获程序采用设置最高***优先级的方法,也可以采用设置钩子函数的方法,由于这些属于现有技术,此处不再赘述。本步骤截获的被检测程序实际上既是被计算机***审计的数据源。
然后,在步骤12顺序获取待检测程序中能够完成特定功能或结果的行为数据,获得审计事件序列V或其子集,形成行为数据序或事件序列,所述事件序列为审计事件序列V的子集。在本步骤中,可以获得全部的审计事件序列V后顺序形成事件序列,也可以获得其子集,即获得审计事件序列V的一部分后形成事件序列,后一种方式具有动态特征,具有较高的效率。
在本步骤中,可以采用滑动窗口方式或者函数计算方式顺序获取待检测程序的行为数据序列。下面以滑动窗口方式简述行为数据序列的生成。
假设k为滑动窗口的大小,被监控程序在运行时产生的审计事件序列V:v1,v2,…,vm(m≥k),用滑动窗口在审计事件序列V上滑动,滑动窗口内的k个事件序列(vi,vi+1,…,vi+k?1)即构成被审计的行为数据序列。在本发明不同的实施例中,滑动窗口的大小k,或者所述行为数据序列的长度是不同的,比较典型的k为7、8、9、10、11或12,本例中的k为10。
在步骤13,将所述行为数据序列与预置的程序行为模式库中存储的行为数据序列进行比较,然后判断比较的结果是否满足设定的条件,如果满足,在步骤14根据所述比较结果和条件确定所述待检测程序的种类;否则在步骤16判断是否被检测程序全部的审计事件序列V已经处理完毕,如果已经处理完毕,经过步骤15结束,否则返回步骤12继续处理审计事件序列V中后续尚未处理的事件。
在步骤13中,有很多比较的方式,例如可以采用精确比较的方法,设长度为k的窗口包含的审计事件序列u=vi,vi+1,…,vi+k-1,若u∈P,则定义为匹配。
在图1所述实施例中,所述程序行为模式库为一个,在本发明的其它实施例中,所述程序行为模式库有多个,每一个程序行为模式库存储相同种类的程序行为模式,而不同的程序行为模式库存储的程序行为来源于不同种类的程序,这样,就可以判断一个被检测的程序是否为更多种类程序中的一种。
在本发明的另外实施例中,使用一个程序行为模式库存储多种程序的事件序列,这样,只需要在数据库的记录中增加一个事件序列属于那种程序的程序种类标识字段即可。例如数据库存储3种程序的事件序列,分别为病毒程序的破坏行为事件序列,正常程序行为事件序列和恶意程序事件序列,则数据库的程序种类标识字段即可用于标识一个记录中所存储的事件序列属于那种程序,这个数据库即可以用于对这3种程序进行判断识别。
还需要指出,所述行为模式数据库中的行为数据序列的长度最好相等,也可以不相等,这取决于比较的方式和设置的比较结果满足的条件。这个话题在后续文字中还有说明。
在本发明的实施例中,行为描述是行为控制的核心,它提供描述程序行为的方法,描述程序行为的关键点是:使用一组稳定的指令或事件来定义程序的行为。程序的行为描述可以参考下述的例子。
定义一个程序B.EXE,该程序运行的指令步骤涉及下述函数:
1、Rs_reg(),寻找记载着操作***自动启动列表的函数,设置该返回值为return_Rs_reg。假设在操作***中关于记载着自动启动列表的名称是Autostart;
2、Rs_system(),寻找操作***的***目录的函数,设置该返回值为return_Rs_system。假设操作***的***目录是system;
3、filename(),确定某个文件的函数,设置该值为return_filename,在这里return_filename=B.EXE;
4、Copy(),复制函数;
5、Do_reg(),执行修改操作***自启动项的函数;
6、Recored(),监听键盘输入信息的函数,设置该返回值为KB_input;
7、Send(),网络数据发送函数;
8、Main(),B.EXE的主函数。
假设其中上述所列函数中除了Recored()函数和Main()函数,其余的都是操作***内部函数。假设程序B.EXE包括下述步骤:
第一步,Main()调用了操作***内部函数Rs_reg(),并且得到了值return_Rs_reg=Autostart;
第二步,Main()调用了操作***内部函数Rs_system(),并且得到了值return_Rs_system=system;
第三步,Main()调用了操作***内部函数filename(B.EXE),让该函数返回值return_filename=B.EXE;
第四步,Main()调用了操作***内部函数Copy[return_filename,return_Rs_system],将B.EXE复制到操作***目录system中;
第五步,Main调用了操作***内部函数Do_reg[return_Rs_reg=Autostart,return_Rs_system=system,return_filename=B.EXE],将system目录下的B.EXE加载到记载着操作***中关于自动启动列表Autostart中,使操作***启动后自动执行B.EXE;
第六步,Main()调用了自带的函数Recored(),记录键盘的所输入的信息,该函数的返回值是KB_input;
第七步,Main()调用了操作***内部函数Send[KB_input],将键盘输入的信息向外发送到网络中指定的目标;
则,程序B.EXE运行的上述七步的分解并按照先后顺序的描述或表达式就是行为描述。
在本发明的基于行为的程序种类判断方法的第二实施例中,与图1所述的实施例相比,在步骤12中增加了一个完成优化操作的子步骤,该子步骤优化所述获取的行为数据,用优化后的数据形成行为数据序列。本例中,所述优化,是去除获取的行为数据中的非有效行为数据。例如,假设一个应用程序EXE1具有下述指令或事件序列:[a1,a2,a3,a4,a5,a6,a7……..an,a(n+1)];其中,a3为a2的冗余,a6的执行结果或前提与序列中其它指令或事件没有任何关联,则a3和a6既是需要优化操作去除的指令或事件,可见,该优化子步骤能够提高本实施例所述方法的效率和准确性。还需要指出,所述优化操作的条件根据不同的需求而不同,实际中需要通过大量程序的指令序列积累。本实施例中,所述优化为形式上的优化,去除明显多余的指令和事件。
在上述图1所述实施例和第二实施例的步骤13中,也可以按照下述步骤将所述行为数据序列与预置的程序行为模式库中存储的行为数据序列进行比较:
1)确定所述行为数据序列的关键行为数据;
2)在程序行为模式库中存储的行为数据序列中查找是否存在所述关键行为数据,如果存在,确定比较结果。
其中,步骤1)所述关键行为数据,为行为数据序列中的有效事件,该步骤实际是行为数据序列的实质优化,去除没有实质作用的指令或事件。
例如,当所述待检测程序的行为数据序列与程序行为模式库存储的病毒程序行为数据相同或者相似,就可以得出待检测程序就是已知病毒程序类型或者已知病毒程序类型的一个变种的结论。而在相似的要求下,可以预定义一个或者多个参数,当所述待检测程序的行为数据序列和程序行为模式库匹配或者包括程度达到或者超过为所述参数设置的阈值时,可以认为相同或者相似。
具体的,在一个实施例中,待检测程序的行为数据序列为:事件1、事件2、事件3、事件4、事件5、事件6、事件7、事件8。在程序行为模式库中存储的某种病毒程序的行为数据序列为:事件2、事件3、事件4、事件5、事件6。可见,待检测程序的行为数据序列中的事件1、事件7、事件8为非有效事件,可以经过步骤1)的操作去除,只确定关键行为数据事件2、事件3、事件4、事件5、事件6,这样有利于方法的执行效率。
更进一步,在上述实施例中,如果数据库的记录中设置有等级字段,例如存储病毒程序数据序列的程序行为模式库的记录中包括危险等级字段,则不但可以确定一个被检测程序是否为希望的种类,还能够确定该被检测程序的危险等级。另外一种情况是,如果数据库的记录中没有设置等级字段,则,可以判断程序行为模式库中是否有多个行为数据序列中包括关键行为数据,如果是,根据所述多个行为数据序列确定具有程度特征的比较结果。假设,一个被检测的事件序列A为:[a1,a2,a3,a4];在程序行为模式库中有三条记录包含事件序列A,该三条记录标识的事件序列危险等级分别为1,1,和2,假设2的等级高于1的等级,就可以说得到了具有程度特征的比较结果:确定被检测程序为该种程序,且危险等级为2,相对较高。
在上述图1所述实施例和第二实施例的步骤13中,还可以按照下述步骤将所述行为数据序列与预置的程序行为模式库中存储的行为数据序列进行比较:
1)确定所述行为数据序列的熵作为待检测熵;
2)比较所述待检测熵与程序行为模式库中存储的行为数据序列的熵,如果满足设定的条件,确定比较结果。
由于采用计算结果代替具体事件的比较,使得这种比较方式具有更高的效率。其中,步骤1)中确定所述行为数据序列的熵为计算行为数据序列的熵。
给定事件序列X,对X中的任意事件x,x∈Cx,Cx为任意的所有可发生的事件序列全集,包括程序行为模式库的所有事件序列和程序行为模式库之外的所有事件序列。
定义熵为
其中,P(x)为一个概率函数,是根据任意事件x在Cx事件序列全集中发生的事件概率值
例如:在linux操作***下,某一个病毒程序(以下称为virus1)利用wu-ftpd开启了SITE EXEC功能,从而让远端的病毒控制者远程获得root(最高管理员权限)。
首先,virus1最先要探测并且确定wu-ftpd是否开启了SITE EXEC功能。其次,如果确定wu-ftpd已经开启了SITE EXEC功能并存在着SITE EXEC远程格式串溢出漏洞,则开始进行攻击。virus1可以构造一个特殊的格式字符串,例如<retloc>%.f%.f%.f%.<ret>d%n来覆盖堆栈中的某些重要数据,返回地址或者保存的uid等等,病毒控制者可以远程执行***命令。
假定,正常合法的运行wu-ftpd,将事件序列分别定义为:X1,X2,X3,X4,X5,X6,X7…
假定,如果运行virus1,事件序列分别定义为:X1,X11,X2,X33,X3,X4,X6,X7,X88…
X11=探测并且确定wu-ftpd是否开启了SITE EXEC功能的行为事件;
X33=构造一个特殊的格式字符串,<retloc>%.f%.f%.f%.<ret>d%n来覆盖堆栈中的某些重要数据,返回地址或者保存的uid等等;
X88=远程执行***命令。
可以看到X11、X33和X88相对于正常合法运行的事件序列来说偏离较大,因此可以认为是异常的事件序列,根据给出的公式计算得出熵值比较大。
熵值越大,程序的行为过程与正常的行为过程偏离就越大,该程序的危险系数也就越高。在一个以二维表形式存储的数据集合中,每个唯一的记录代表一个行为数据序列,该行为数据序列的熵越小,数据也就越规则,根据这样的数据集合建立的模型的准确性越好。
可见,熵比较方式要求最好在程序行为模式库的记录中包括描述每个记录存储的事件序列的熵的字段,以避免熵比较过程中的大量计算,从而提高比较的效率。
如果程序行为模式库的记录中没有描述每个记录存储的事件序列的熵的字段,则可以采用即时熵计算,或者下述条件熵的方式完成比较操作。
定义条件熵为
其中,P(x,y)为x和y的联合概率,P(x|y)为给定y时x的条件概率。由于行为数据序列通常都具有时间的特征,条件熵可以通过这种特征来衡量一个行为数据序列的可靠性。假设一个戴检测的行为数据序列X=(e1,e2,…,en),程序行为模式库中存储的行为数据序列Y=(e1,e2,…,ek),其中k<n或者k=n,条件熵H(X|Y)可以衡量在给定Y以后,剩下的X的不确定性有多大。条件熵越小,表示不确定性越小,从而通过已知的行为数据序列预测未知的行为数据序列的可靠性越大,从而通过条件熵完成比较操作。
采用熵比较的方式能够避免精确比较导致的误判,也能够根据***的资源情况控制方法的可靠性或精度。因此,在步骤2)中,如果熵比较的结果满足设定的条件,可以根据是否满足条件以及条件满足的程度确定比较结果。所述条件在精确比较的要求下可以是“相等”,在近似比较的要求下,所述条件可以是所述待检测熵与程序行为模式库中存储的行为数据序列的熵的差大于或等于设定的阈值,或者小于或等于设定的阈值。例如,假设程序行为模式库存储有病毒程序行为数据序列,则,当一个被检测程序的行为数据序列与程序行为模式库中的行为数据序列相似程度达到0.8时,即可认为被检测程序为某种病毒程序的变种,此时的阈值即为0.2,表示待检测熵与程序行为模式库中存储的行为数据序列的熵的差小于或等于0.2即满足设定的条件。反之,假设程序行为模式库存储有正常程序行为数据序列,则,当一个被检测程序的行为数据序列与程序行为模式库中的行为数据序列相似程度达到0.8时,即可认为被检测程序为正常程序,反之为疑似程序,需要进一步的判断,此时的阈值即为0.2,而如果相似程度不超过0.2,即可认为被检测程序为病毒程序。
在上述图1所述实施例和第二实施例的步骤13中,还可以按照下述步骤将所述行为数据序列与预置的程序行为模式库中存储的行为数据序列进行比较:
1)确定所述行为数据序列的权作为待检测权;
2)比较所述待检测权与程序行为模式库中存储的行为数据序列的权,如果满足设定的条件,确定比较结果。
该比较方式与所述熵比较方式相类似,仅仅将“熵”替换为“权”,然而,该方式更具有指令级的意义。按照该方法的指示,首先确定某种程序的典型行为数据序列中使用的指令以及指令集合及其之间的关系,将这些指令以及指令集合及其之间的关系作为赋予权值的基本单元,根据这些基本单元,按照其在该种程序中的作用程度或重要性排序,再考虑这些基本单元在典型行为数据序列中的位置,赋予这些基本单元不同的值,这些值具有这样的特征:当获得一个行为数据序列时,首先区分出其中包含的这些基本单元及其在行为数据序列中的位置,然后计算基本单元权值的和,所述权值的和能够区分出所述行为数据序列中包含那些基本单元及其在行为数据序列中的位置。鉴于该权值的赋予可能有多种方式,有另外的文献讨论这个问题,此不再赘述。
同样,如果程序行为模式数据库中的记录中设置有等级字段,例如存储病毒程序数据序列的程序行为模式库的记录中包括危险等级字段,采用熵比较的方式也可以确定一个被检测程序是否为希望的种类,还能够确定该被检测程序的危险等级。另外一种情况是,如果数据库的记录中没有设置等级字段,则,可以根据待检测熵的熵值和比较所述待检测熵与程序行为模式库中存储的行为数据序列的熵的结果,确定具有程度特征的比较结果。假设,一个被检测的事件序列A为:[a1,a2,a3,a4];在程序行为模式库中有三条记录的熵与事件序列A的熵想近似,分别的差在设定的范围内,差值越小,近似程度越高,则近似程度最高的记录存储的行为序列危险等级最高,等级为2,这样就可以说得到了具有程度特征的比较结果:确定被检测程序为该种程序,且危险等级为2。
还需要指出,本发明实施例中,除精确比较的要求以外的比较方式,例如熵比较方式,不但具有效率高、精度可控等优点,还不要求所述行为模式数据库中的行为数据序列的长度相等,这样能够使程序行为数据模型的建立更全面和准确。
本发明提供的基于行为的程序种类判断装置的第一实施例参考图2。图2所述实施例包括存储有程序行为数据序列的程序行为模式库25,还包括用于截获待检测程序的程序截获单元21,顺序获取待检测程序中能够完成特定功能或结果的行为数据,形成行为数据序列的数据序列生成单元22,比较单元23,用于将所述行为数据序列与预置的程序行为模式库中存储的行为数据序列进行比较;和,程序确定单元24,用于根据比较结果确定所述待检测程序的种类。
其中,程序截获单元21截获进入计算机***或网络,或者已经存在于计算机***或网络(正在运行或在存储单元内)的被检测程序。所述被检测程序可以是通过网络端口进入到***内部的任意的程序。对被检测程序的截获可以采用对所述截获程序采用设置最高***优先级的方法,也可以采用设置钩子函数的方法,由于这些属于现有技术,此处不再赘述。本步骤截获的被检测程序实际上为计算机***提供被审计的数据源。
然后,数据序列生成单元22顺序获取待检测程序中能够完成特定功能或结果的行为数据,获得被检测程序全部的审计事件序列V或其子集,形成行为数据序列,所述行为数据序列为审计事件序列V的子集。在本步骤中,可以获得全部的审计事件序列V后顺序形成行为数据序列,也可以获得其子集,即获得审计事件序列V的一部分后即形成行为数据序列,后一种方式具有动态特征,具有较高的效率。
本例中,数据序列生成单元22采用滑动窗口方式或者函数计算方式顺序获取待检测程序的行为数据序列。
比较单元23,将所述行为数据序列与预置的程序行为模式库25中存储的行为数据序列进行比较,程序确定单元24判断比较的结果是否满足设定的条件,如果满足,根据所述比较结果和条件确定所述待检测程序的。
本例中,比较单元23有很多比较的方式,例如可以采用精确比较的方法,或者具有模糊和精确双重比较功能的熵比较方法,等等。在本发明的其它实施例中,还包括设置在数据序列生成单元22和比较单元23之间的熵计算单元27(图1中未绘出),用于计算所述行为数据序列的熵作为待检测熵;这样,所述比较单元23就可以比较所述待检测熵与程序行为模式库中存储的行为数据序列的熵,如果满足设定的熵比较的条件,确定比较结果。具体比较可以参考本发明方法部分的实施例。
在图2所述实施例中,所述程序行为模式库可以为一个,也可以为多个。如果所述程序行为模式库有多个,最好每一个程序行为模式库存储相同种类的程序行为模式,而不同的程序行为模式库存储的程序行为来源于不同种类的程序,这样,就可以判断一个被检测的程序是否为更多种类程序中的一种。
另外,如果使用一个程序行为模式库存储多种程序的程序事件序列,这样,只需要在数据库的记录中增加一个事件序列属于那种程序的程序种类标识字段即可。例如数据库存储3种程序的事件序列,分别为病毒程序的破坏行为事件序列,正常程序行为事件序列和恶意程序事件序列,则数据库的程序种类标识字段即可用于标识一个记录种所存储的事件序列属于那种程序,这个数据库即可以用于对这3种程序进行判断识别。
所述行为模式数据库中的行为数据序列的长度最好相等,也可以不相等,这取决于比较的方式和设置的比较结果满足的条件。
本发明提供的基于行为的程序种类判断装置的第二实施例参考图3。图3所述实施例与图2所述实施例的区别,增加了设置在程序截获单元21和数据序列生成单元22之间的行为数据预处理单元26,用于优化所述获取的行为数据,用优化后的数据形成行为数据序列。优化所述获取的行为数据,用优化后的数据形成行为数据序列。所述优化,包括形式上的优化或者实质上的优化,例如,去除获取的行为数据中的非有效行为数据。
本发明提供的基于行为的程序控制方法的实施例参考图4。
图4是本发明所述基于行为的程序控制方法的第一实施例的流程图。图4所述的方法以预先设置的某种程序的程序行为模式库为基础。所述程序行为模式库中的内容,可以是表达一种或多种程序行为规律的行为数据序列,即事件序列。
按照图4所述实施例,在步骤31截获进入计算机***或网络,或者已经存在于计算机***或网络(正在运行或在存储单元内)的被检测程序。所述被检测程序可以是通过网络端口进入到***内部的任意的程序。对被检测程序的截获可以采用对所述截获程序采用设置最高***优先级的方法,也可以采用设置钩子函数的方法,由于这些属于现有技术,此处不再赘述。本步骤截获的被检测程序实际上既是被计算机***审计分数据源。
然后,在步骤32顺序获取待检测程序中能够完成特定功能或结果的行为数据,获得被检测程序全部的审计事件序列V或其子集,形成行为数据序列,所述行为数据序列为审计事件序列V的子集。在本步骤中,可以获得全部的审计事件序列V后顺序形成行为数据序列,也可以获得其子集,即获得审计事件序列V的一部分后形成行为数据序列,后一种方式具有动态特征。
在本步骤中,可以采用滑动窗口方式或者函数计算方式顺序获取待检测程序的审计事件序列。比较典型的k为7、8、9、10、11或12,本例中的k为10。
在步骤33,将所述行为数据序列与预置的程序行为模式库中存储的行为数据序列进行比较,然后判断比较的结果是否满足设定的条件,如果满足,在步骤34根据所述比较结果和条件确定所述待检测程序的种类,然后继续在步骤37用预先设置的相应种类程序的处理程序对待检测程序进行控制处理;否则在步骤36判断是否审计事件序列V已经处理完毕,如果已经处理完毕,经过步骤35结束,否则返回步骤12继续处理审计事件序列V中后续尚未处理的事件。
由于某种程序具有特有的特征,对某种程序的控制处理有也有基本一致的做法。例如,如果是病毒程序,可以杀除或隔离,对于正常程序,可能仅需要作一些记录,对于疑似程序,可能不但记录而且还需要存储的被控制的存储区,因此,需要为步骤37预先设置相应种类程序的处理程序,从而完成对某种程序的控制。
本发明提供的基于行为的程序控制装置参考图5,图5所述实施例包括存储有程序行为数据序列的程序行为模式库45,还包括用于截获待检测程序的程序截获单元41,顺序获取待检测程序中能够完成特定功能或结果的行为数据,形成行为数据序列的数据序列生成单元42,比较单元43,用于将所述行为数据序列与预置的程序行为模式库中存储的行为数据序列进行比较;和,程序确定单元44,用于根据比较结果确定所述待检测程序的种类;程序处理单元48,用于使用预先设置的相应种类的处理程序对待检测程序进行控制处理。
其中,程序截获单元41截获进入计算机***或网络,或者已经存在于计算机***或网络(正在运行或在存储单元内)的被检测程序。所述被检测程序可以是通过网络端口进入到***内部的任意的程序。对被检测程序的截获可以采用对所述截获程序采用设置最高***优先级的方法,也可以采用设置钩子函数的方法,由于这些属于现有技术,此处不再赘述。本步骤截获的被检测程序实际上既是被计算机***审计分数据源。
然后,数据序列生成单元42顺序获取待检测程序中能够完成特定功能或结果的行为数据,获得被检测程序全部把的审计事件序列V或其子集,形成行为数据序列,所述行为数据序列为审计事件序列V的子集。在本步骤中,可以获得全部的审计事件序列V后顺序形成行为数据序列,也可以获得其子集,即获得审计事件序列V的一部分后形成行为数据序列,后一种方式具有动态特征,具有较高的效率。
本例中,数据序列生成单元42采用滑动窗口方式或者函数计算方式顺序获取待检测程序的行为数据序列。
比较单元43,将所述行为数据序列与预置的程序行为模式库45中存储的行为数据序列进行比较,程序确定单元44判断比较的结果是否满足设定的条件,如果满足,根据所述比较结果和条件确定所述待检测程序的。
本例中,比较单元43有很多比较的方式,例如可以采用精确比较的方法,或者具有模糊和精确双重比较功能的熵比较方法,等等。在本发明的其它实施例中,还包括设置在数据序列生成单元42和比较单元43之间的熵计算单元47(图5中未绘出),用于计算所述行为数据序列的熵作为待检测熵;这样,所述比较单元43就可以比较所述待检测熵与程序行为模式库中存储的行为数据序列的熵,如果满足设定的熵比较的条件,确定比较结果。具体比较可以参考本发明方法部分的实施例。
在图5所述实施例中,所述程序行为模式库可以为一个,也可以为多个。如果所述程序行为模式库有多个,最好每一个程序行为模式库存储相同种类的程序行为模式,而不同的程序行为模式库存储的程序行为来源于不同种类的程序,这样,就可以判断一个被检测的程序是否为更多种类程序中的一种。
另外,如果使用一个程序行为模式库存储多种程序的程序事件序列,这样,只需要在数据库的记录中增加一个事件序列属于那种程序的程序种类标识字段即可。例如数据库存储3种程序的事件序列,分别为病毒程序的破坏行为事件序列,正常程序行为事件序列和恶意程序事件序列,则数据库的程序种类标识字段即可用于标识一个记录种所存储的事件序列属于那种程序,这个数据库即可以用于对这3种程序进行判断识别。
所述行为模式数据库中的行为数据序列的长度最好相等,也可以不相等,这取决于比较的方式和设置的比较结果满足的条件。
本发明提供的其它基于行为的程序控制装置的实施例中,增加了设置在程序截获单元41和数据序列生成单元42之间的行为数据预处理单元46(图5中未绘出),用于优化所述获取的行为数据,用优化后的数据形成行为数据序列。优化所述获取的行为数据,用优化后的数据形成行为数据序列。所述优化,包括形式上的优化或者实质上的优化,例如,去除获取的行为数据中的非有效行为数据。
本发明最典型应用是在计算机安全领域,例如将本发明应用于防火墙产品中,能够主动检测进入计算机***的程序是否安全。当一个进入到计算机***的被截获后,通过判断获得的行为数据序列与程序行为模式库所存储内容的比较,得知该程序是否计算机病毒。
以上对本发明实施例所述方法和装置进行了详细介绍,但是,实施例的说明只是用于帮助理解本发明的方法、装置及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,因此,本说明书内容不应理解为对本发明的限制。
Claims (18)
1.一种基于行为的程序种类判断方法,其特征在于包括:
截获待检测程序,顺序获取待检测程序中能够完成特定功能或结果的行为数据,形成行为数据序列;
将所述行为数据序列与预置的程序行为模式库中存储的行为数据序列进行比较,根据比较结果确定所述待检测程序的种类。
2.根据权利要求1所述的程序种类判断方法,其特征在于还包括:优化所述获取的行为数据,用优化后的数据形成行为数据序列。
3.根据权利要求1或2所述的程序种类判断方法,其特征在于:所述程序行为模式库至少有一个,当所述程序行为模式库有多个时,每一个程序行为模式库存储相同种类的程序行为模式。
4.根据权利要求1、2或3所述的程序种类判断方法,其特征在于:按照下述步骤将所述行为数据序列与预置的程序行为模式库中存储的行为数据序列进行比较:
1)确定所述行为数据序列的关键行为数据;
2)在程序行为模式库中存储的行为数据序列中查找是否存在所述关键行为数据,如果存在,确定比较结果。
5.根据权利要求4所述的程序种类判断方法,其特征在于还包括:判断程序行为模式库中是否有多个行为数据序列中包括关键行为数据,如果是,根据行为数据序列确定具有程度特征的比较结果。
6.根据权利要求1、2或3所述的程序种类判断方法,其特征在于:按照下述步骤将所述行为数据序列与预置的程序行为模式库中存储的行为数据序列进行比较:
1)确定所述行为数据序列的熵作为待检测熵;
2)比较所述待检测熵与程序行为模式库中存储的行为数据序列的熵,如果满足设定的条件,确定比较结果。
7.根据权利要求6所述的程序种类判断方法,其特征在于:所述条件为相等或者所述待检测熵与程序行为模式库中存储的行为数据序列的熵的差大于或等于设定的阈值。
8.根据权利要求7所述的程序种类判断方法,其特征在于:根据待检测熵的熵值和比较所述待检测熵与程序行为模式库中存储的行为数据序列的熵的结果,确定具有程度特征的比较结果。
9.根据权利要求6所述的程序种类判断方法,其特征在于:所述行为数据序列的长度为N,N=7、8、9、10、11或12。
10.根据权利要求9所述的程序种类判断方法,其特征在于:所述行为模式数据库中的行为数据序列的长度相等。
11.根据权利要求10所述的程序种类判断方法,其特征在于:采用滑动窗口的方式或者函数计算的方式顺序获取待检测程序中能够完成特定功能或结果的行为数据。
12.一种基于行为的程序种类判断装置,包括存储有程序行为数据序列的程序行为模式库,其特征在于还包括:
用于截获待检测程序的程序截获单元,和,顺序获取待检测程序中能够完成特定功能或结果的行为数据,形成行为数据序列的数据序列生成单元,以及,
比较单元,用于将所述行为数据序列与预置的程序行为模式库中存储的行为数据序列进行比较;
程序确定单元,用于根据比较结果确定所述待检测程序的种类。
13.根据权利要求12所述的程序种类判断方装置,其特征在于还包括:设置在程序截获单元和数据序列生成单元之间的行为数据预处理单元,用于优化所述获取的行为数据,用优化后的数据形成行为数据序列。
14.根据权利要求12或13所述的程序种类判断装置,其特征在于:所述程序行为模式库至少有一个,当所述程序行为模式库有多个时,每一个程序行为模式库存储相同种类的程序行为模式。
15.根据权利要求14所述的程序种类判断装置,其特征在于还包括:设置在数据序列生成单元和比较单元之间的熵计算单元,用于计算所述行为数据序列的熵作为待检测熵;以及,
所述比较单元比较所述待检测熵与程序行为模式库中存储的行为数据序列的熵,如果满足设定的条件,确定比较结果。
16.根据权利要求15所述的程序种类判断装置,其特征在于:所述数据序列生成单元采用滑动窗口的方式或者函数计算的方式顺序获取待检测程序中能够完成特定功能或结果的行为数据。
17.一种基于行为的程序控制方法,其特征在于包括:
截获待检测程序,顺序获取待检测程序中能够完成特定功能或结果的行为数据,形成行为数据序列;
将所述行为数据序列与预置的程序行为模式库中存储的行为数据序列进行比较,根据比较结果确定所述待检测程序的种类;以及,
用预先设置的相应种类的处理程序对待检测程序进行处理。
18.一种基于行为的程序控制装置,包括存储有程序行为数据序列的程序行为模式库,其特征在于还包括:
用于截获待检测程序的程序截获单元,和,顺序获取待检测程序中能够完成特定功能或结果的行为数据,形成行为数据序列的数据序列生成单元,以及,
比较单元,用于将所述行为数据序列与预置的程序行为模式库中存储的行为数据序列进行比较;
程序确定单元,用于根据比较结果确定所述待检测程序的种类;
程序处理单元,用于使用预先设置的相应种类的处理程序对待检测程序进行处理。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNA2007102023281A CN101187872A (zh) | 2007-10-31 | 2007-10-31 | 基于行为的程序种类判断方法、装置和程序控制方法、装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNA2007102023281A CN101187872A (zh) | 2007-10-31 | 2007-10-31 | 基于行为的程序种类判断方法、装置和程序控制方法、装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN101187872A true CN101187872A (zh) | 2008-05-28 |
Family
ID=39480280
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNA2007102023281A Pending CN101187872A (zh) | 2007-10-31 | 2007-10-31 | 基于行为的程序种类判断方法、装置和程序控制方法、装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101187872A (zh) |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101866407A (zh) * | 2010-06-18 | 2010-10-20 | 北京九合创胜网络科技有限公司 | 一种实现操作***平台安全的方法及装置 |
CN104361286A (zh) * | 2014-12-01 | 2015-02-18 | 西安邮电大学 | 一种基于动态代码序列跟踪分析的木马判定方法 |
CN106557696A (zh) * | 2015-09-30 | 2017-04-05 | 卡巴斯基实验室股份制公司 | 用于检测恶意数据加密程序的***和方法 |
CN106709335A (zh) * | 2015-11-17 | 2017-05-24 | 阿里巴巴集团控股有限公司 | 漏洞检测方法和装置 |
CN106778279A (zh) * | 2015-11-25 | 2017-05-31 | 阿里巴巴集团控股有限公司 | 漏洞挖掘方法及装置 |
CN108182360A (zh) * | 2018-01-31 | 2018-06-19 | 腾讯科技(深圳)有限公司 | 一种风险识别方法及其设备、存储介质、电子设备 |
CN108563951A (zh) * | 2018-04-13 | 2018-09-21 | 腾讯科技(深圳)有限公司 | 病毒检测方法及装置 |
CN109800569A (zh) * | 2018-12-29 | 2019-05-24 | 360企业安全技术(珠海)有限公司 | 程序鉴别方法及装置 |
CN110665233A (zh) * | 2019-08-29 | 2020-01-10 | 腾讯科技(深圳)有限公司 | 游戏行为识别方法、装置、设备及介质 |
-
2007
- 2007-10-31 CN CNA2007102023281A patent/CN101187872A/zh active Pending
Cited By (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101866407A (zh) * | 2010-06-18 | 2010-10-20 | 北京九合创胜网络科技有限公司 | 一种实现操作***平台安全的方法及装置 |
CN104361286A (zh) * | 2014-12-01 | 2015-02-18 | 西安邮电大学 | 一种基于动态代码序列跟踪分析的木马判定方法 |
CN106557696B (zh) * | 2015-09-30 | 2020-10-27 | 卡巴斯基实验室股份制公司 | 用于检测恶意数据加密程序的***和方法 |
CN106557696A (zh) * | 2015-09-30 | 2017-04-05 | 卡巴斯基实验室股份制公司 | 用于检测恶意数据加密程序的***和方法 |
US10375086B2 (en) | 2015-09-30 | 2019-08-06 | AO Kaspersky Lab | System and method for detection of malicious data encryption programs |
CN106709335A (zh) * | 2015-11-17 | 2017-05-24 | 阿里巴巴集团控股有限公司 | 漏洞检测方法和装置 |
CN106709335B (zh) * | 2015-11-17 | 2020-12-04 | 阿里巴巴集团控股有限公司 | 漏洞检测方法和装置 |
CN106778279A (zh) * | 2015-11-25 | 2017-05-31 | 阿里巴巴集团控股有限公司 | 漏洞挖掘方法及装置 |
CN106778279B (zh) * | 2015-11-25 | 2020-05-15 | 阿里巴巴集团控股有限公司 | 漏洞挖掘方法及装置 |
CN108182360A (zh) * | 2018-01-31 | 2018-06-19 | 腾讯科技(深圳)有限公司 | 一种风险识别方法及其设备、存储介质、电子设备 |
CN108182360B (zh) * | 2018-01-31 | 2023-09-19 | 腾讯科技(深圳)有限公司 | 一种风险识别方法及其设备、存储介质、电子设备 |
CN108563951A (zh) * | 2018-04-13 | 2018-09-21 | 腾讯科技(深圳)有限公司 | 病毒检测方法及装置 |
CN109800569A (zh) * | 2018-12-29 | 2019-05-24 | 360企业安全技术(珠海)有限公司 | 程序鉴别方法及装置 |
CN110665233A (zh) * | 2019-08-29 | 2020-01-10 | 腾讯科技(深圳)有限公司 | 游戏行为识别方法、装置、设备及介质 |
CN110665233B (zh) * | 2019-08-29 | 2021-07-16 | 腾讯科技(深圳)有限公司 | 游戏行为识别方法、装置、设备及介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Zhang et al. | Manifold: A model-agnostic framework for interpretation and diagnosis of machine learning models | |
CN101187872A (zh) | 基于行为的程序种类判断方法、装置和程序控制方法、装置 | |
US7809670B2 (en) | Classification of malware using clustering that orders events in accordance with the time of occurance | |
CN1975750B (zh) | 软件动作模型化装置和方法以及软件动作监视装置和方法 | |
Grant et al. | Using heuristics to estimate an appropriate number of latent topics in source code analysis | |
CN111143838B (zh) | 数据库用户异常行为检测方法 | |
Nguyen et al. | Unsupervised interaction-preserving discretization of multivariate data | |
Paudyal et al. | Algorithmic opacity: making algorithmic processes transparent through abstraction hierarchy | |
Alabed et al. | High-dimensional bayesian optimization with multi-task learning for rocksdb | |
CN113052225A (zh) | 基于聚类算法和时序关联规则的报警收敛方法及装置 | |
Gopalakrishnan et al. | Can latent topics in source code predict missing architectural tactics? | |
Van Dang | Specification Case Studies in RAISE | |
Sreenivasula Reddy et al. | Intuitionistic fuzzy rough sets and fruit fly algorithm for association rule mining | |
Ilkhani et al. | Extraction test cases by using data mining; reducing the cost of testing | |
Kumar et al. | Learning constraint programming models from data using generate-and-aggregate | |
Kamp et al. | SeSaMe: A data set of semantically similar Java methods | |
Amiri et al. | Illegal miner detection based on pattern mining: A practical approach | |
Paul et al. | Machine learning assisted HPC workload trace generation for leadership scale storage systems | |
CN110740111A (zh) | 一种数据防漏方法、装置及计算机可读存储介质 | |
Musinat et al. | Genetic algorithm-based multi-objective optimization model for software bugs prediction | |
Suguna et al. | Comparison between Clustering Algorithms Based On Ontology Based Text Mining Techniques. | |
Cemernek | Outlier Detection as Instance Selection Method for Feature Selection in Time Series Classification | |
Kryazhimskii et al. | Identifying the inclination of a system towards a terminal state from current observations | |
EP4339845A1 (en) | Method, apparatus and electronic device for detecting data anomalies, and readable storage medium | |
Kaur et al. | Classification of patents by using the text mining approach based on PCA and logistics |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C12 | Rejection of a patent application after its publication | ||
RJ01 | Rejection of invention patent application after publication |