CN107153584A - 异常检测方法及装置 - Google Patents

异常检测方法及装置 Download PDF

Info

Publication number
CN107153584A
CN107153584A CN201610121003.XA CN201610121003A CN107153584A CN 107153584 A CN107153584 A CN 107153584A CN 201610121003 A CN201610121003 A CN 201610121003A CN 107153584 A CN107153584 A CN 107153584A
Authority
CN
China
Prior art keywords
feature mode
pattern
system call
feature
sequence
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
CN201610121003.XA
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.)
ZTE Corp
Original Assignee
ZTE Corp
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 ZTE Corp filed Critical ZTE Corp
Priority to CN201610121003.XA priority Critical patent/CN107153584A/zh
Priority to PCT/CN2016/108764 priority patent/WO2017148196A1/zh
Publication of CN107153584A publication Critical patent/CN107153584A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0751Error or fault detection not based on redundancy

Abstract

本发明提供了一种异常检测方法及装置。其中,包括:获取系统调用序列的模糊特征模式,并将模糊特征模式添加至特征模式库中,其中,模糊特征模式为包括确定模式和模糊模式的特征模式,确定模式表示通过多个系统调用按照确定顺序组成的特征模式,模糊模式表示一类系统调用序列的特征模式;将训练集的系统调用序列与特征模式库中所包括的特征模式进行匹配,依据与匹配结果对应的规则获取训练集的系统调用序列对应的状态序列;用状态序列训练马尔可夫模型,得到训练后的马尔可夫模型;使用训练后的马尔可夫模型,检测待检测系统调用序列的异常。通过本发明,解决了相关技术中通过确定的特征模式进行异常检测所导致的可识别模式种类较少的问题。

Description

异常检测方法及装置
技术领域
本发明涉及通信领域,具体而言,涉及一种异常检测方法及装置。
背景技术
相关技术中,许多本地和通过Internet的远程攻击入侵行为,都是利用了存在漏洞的关键程序。针对这些关键程序的攻击是入侵系统的主要手段。入侵检测技术是通过对计算机中留存的系统信息和用户行为在系统中产生的信息进行分析,用以检测对系统的入侵。入侵检测技术分为误用检测(Misuse Detection)和异常检测(Anomaly Detection)。误用检测是基于分析入侵或攻击的相关知识来检测入侵。误用检测的缺点在于对新的入侵方法或一些入侵方法的变异难以检测。并且,它的性能和模式库的大小及体系结构有关。对入侵行为及入侵方法的分析发现,入侵最终都体现在一系列非法的或者异常的系统调用上,由此提出了多种异常检测方法。异常检测是基于正常状态下的系统特征来检查当前状态对正常状态的偏离。
当前主流的异常检测方法之一是特征模式提取结合统计特征检测。在检测时,首先将系统调用序列压缩成系统调用与特征模式混合构成的序列,在此基础上以变长模式为单元建立改进的状态转换矩阵,用状态序列出现的概率区分异常。
由此可见,当前主流的异常检测方法在检测时,先获取关键程序的系统调用序列的确定特征模式,然后根据该确定特征模式进行检测,但是在实际的检测过程中,系统所保存的关键程序的系统调用序列的确定特征模式种类是非常少的,这将导致在异常检测时,可识别的模式较少,无法应对复杂的模式特征,从而导致对关键程序行为的刻画能力低下,进而影响整个异常检测的精确度。
针对相关技术中,通过确定特征模式结合统计特征检测的方法进行异常检测所导致的可识别模式较少的问题,尚未提出有效的解决方案。
发明内容
本发明提供了一种异常检测方法及装置,以至少解决相关技术中通过确定特征模式结合统计特征检测的方法进行异常检测所导致的可识别模式较少的问题。
根据本发明的一个方面,提供了一种异常检测方法,包括:获取系统调用序列的模糊特征模式,并将所述模糊特征模式添加至特征模式库中,其中,所述模糊特征模式为包括确定模式和模糊模式的特征模式,所述确定模式表示通过多个系统调用按照确定顺序组成的特征模式,所述模糊模式表示一类系统调用序列的特征模式;将训练集的系统调用序列与所述特征模式库中所包括的特征模式进行匹配,依据与匹配结果对应的规则获取所述训练集的系统调用序列对应的状态序列;用所述状态序列训练马尔可夫模型,得到训练后的马尔可夫模型;使用所述训练后的马尔可夫模型,检测待检测系统调用序列的异常。
可选地,所述确定模式通过以下方式获取:执行以下步骤,直至得到长度最长的特征模式:获取长度为第一阈值的当前特征模式,并将所述当前特征模式添加至所述特征模式库中;将所述当前特征模式与相邻特征模式进行连接,得到连接后的特征模式;判断所述连接后的特征模式是否满足支持度要求;在判断结果为是的情况下,将所述连接后的特征模式设置为待获取特征模式,并将所述待获取特征模式添加至所述特征模式库中,其中,在所述特征模式库中不包括所述当前特征模式和所述相邻特征模式,所述支持度为系统调用短序列作为一个整体在系统进程的运行轨迹中出现的概率;判断所述特征模式库中是否包括所述长度最长的特征模式;在判断结果为是的情况下,将所述特征模式库中所包括的特征模式作为所述确定模式。
可选地,在判断所述特征模式库中不包括所述长度最长的特征模式时,所述方法还包括:在所述特征模式库中选取预定数量的相邻特征模式进行连接,得到连接后的特征模式;判断该连接后的特征模式是否满足支持度要求;在判断结果为是的情况下,将该连接后的特征模式设置为新的待获取特征模式,并将所述新的待获取特征模式添加至所述特征模式库中,其中,所述特征模式库不包含用于组成所述新的待获取特征模式的相邻特征模式;继续判断所述特征模式库中是否包括所述长度最长的特征模式。
可选地,所述模糊模式通过以下方式获取:重复执行以下步骤,直至得到长度最长的特征模式:将所述特征模式集合中距离为第一预定阈值的两个确定模式进行合并,得到合并后的特征模式,其中,位于所述两个确定模式中间的特征模式为单个系统调用序列或者所述确定模式;判断所述合并后的特征模式是否满足支持度要求;在判断结果为是的情况下,将所述合并后的特征模式作为目标特征模式,并将所述目标特征模式添加至所述特征模式库中,其中,所述特征模式库中不包括参与合并的特征模式;判断所述特征模式库中是否包括长度最长的目标特征模式;在判断结果为是的情况下,将所述特征模式库中所包括的所述目标特征模式作为所述模糊模式。
可选地,在判断所述特征模式库中不包括长度最长的目标特征模式时,所述方法还包括:将所述特征模式库中距离为第一预定阈值的两个确定模式进行合并,得到合并后的特征模式,并判断所述合并后的特征模式是否满足支持度要求;或者,将所述特征模式库中两个所述目标特征模式进行合并,并判断所述合并后的特征模式是否满足支持度要求;或者,将所述确定模式与所述目标特征模式进行合并,并判断所述合并后的特征模式是否满足支持度要求。
可选地,所述依据与匹配结果对应的规则获取所述待检测系统调用序列对应的状态序列包括:将所述待检测系统调用序列添加至空队列的尾部;将所述空队列中的所述待检测系统调用序列与所述特征模式库中的确定模式进行匹配;在所述待检测系统调用序列与所述确定模式匹配时,将所述待检测系统调用序列转换为所述状态序列;在所述待检测系统调用序列与所述确定模式不匹配时,根据所述待检测系统调用序列与所述模糊特征模式的匹配结果获取所述待检测系统调用序列对应的状态序列。
可选地,所述根据所述待检测系统调用序列与所述模糊特征模式的匹配结果获取所述待检测系统调用序列对应的状态序列包括:判断所述待检测系统调用序列的首部是否匹配所述模糊特征模式的第一个确定部分,其中,所述待检测系统调用序列的首部至少包括一个系统调用;在判断结果为是的情况下,依次将所述待检测系统调用序列的其它系统调用与所述模糊特征模式的其它确定部分进行匹配,并根据匹配结果获取所述待检测系统调用序列对应的状态序列。
可选地,在依次将所述待检测系统调用序列的其它系统调用与所述模糊特征模式的其它确定部分进行匹配之后还包括:判断所述空队列中相邻两个确定部分之间的系统调用序列是否不为单个系统调用或者所述确定模式,或者,判断所述确定部分与所述空队列末端之间的系统调用序列是否大于所述特征模式库中确定模式的最大长度;在判断结果为是的情况下,所述空队列中与所述模糊特征模式匹配的第一个确定部分出队,并将所述第一个确定部分中每一个系统调用转换成状态添加至所述状态序列中;在判断结果为否的情况下,继续确定所述待检测系统调用序列中的其它系统调用。
可选地,所述使用所述训练后的马尔可夫模型,检测所述待检测系统调用序列的异常包括:在所述训练后的马尔可夫模型中,获取所述待检测系统调用序列对应的预定数量个状态序列中概率小于预定阈值的个数,其中,所述预定阈值为与系统调用序列的异常度对应的值;在判断所述个数大于第二预定阈值时,则确定所述待检测调用序列出现异常。
根据本发明的另一方面,提供了一种异常检测装置,包括:第一处理模块,用于获取系统调用序列的模糊特征模式,并将所述模糊特征模式添加至特征模式库中,其中,所述模糊特征模式为包括确定模式和模糊模式的特征模式,所述确定模式表示通过多个系统调用按照确定顺序组成的特征模式,所述模糊模式表示一类系统调用序列的特征模式;第二处理模块,用于将训练集的系统调用序列与所述特征模式库中所包括的特征模式进行匹配,依据与匹配结果对应的规则获取所述训练集的系统调用序列对应的状态序列;获取模块,用于用所述状态序列训练马尔可夫模型,得到训练后的马尔可夫模型;检测模块,用于使用所述训练后的马尔可夫模型,检测待检测系统调用序列的异常。
可选地,所述第一处理模块还用于通过以下方式获取所述确定模式:执行以下步骤,直至得到长度最长的特征模式:获取长度为第一阈值的当前特征模式,并将所述当前特征模式添加至所述特征模式库中;将所述当前特征模式与相邻特征模式进行连接,得到连接后的特征模式;判断所述连接后的特征模式是否满足支持度要求;在判断结果为是的情况下,将所述连接后的特征模式设置为待获取特征模式,并将所述待获取特征模式添加至所述特征模式库中,其中,在所述特征模式库中不包括所述当前特征模式和所述相邻特征模式,所述支持度为系统调用短序列作为一个整体在系统进程的运行轨迹中出现的概率;判断所述特征模式库中是否包括所述长度最长的特征模式;在判断结果为是的情况下,将所述特征模式库中所包括的特征模式作为所述确定模式。
可选地,所述第一处理模块还用于在判断所述特征模式库中不包括所述长度最长的特征模式时,在所述特征模式库中选取预定数量的相邻特征模式进行连接,得到连接后的特征模式;判断该连接后的特征模式是否满足支持度要求;在判断结果为是的情况下,将该连接后的特征模式设置为新的待获取特征模式,并将所述新的待获取特征模式添加至所述特征模式库中,其中,所述特征模式库不包含用于组成所述新的待获取特征模式的相邻特征模式;继续判断所述特征模式库中是否包括所述长度最长的特征模式。
可选地,所述第一处理模块还用于通过以下方式获取所述模糊模式:重复执行以下步骤,直至得到长度最长的特征模式:将所述特征模式集合中距离为第一预定阈值的两个确定模式进行合并,得到合并后的特征模式,其中,位于所述两个确定模式中间的特征模式为单个系统调用序列或者所述确定模式;判断所述合并后的特征模式是否满足支持度要求;在判断结果为是的情况下,将所述合并后的特征模式作为目标特征模式,并将所述目标特征模式添加至所述特征模式库中,其中,所述特征模式库中不包括参与合并的特征模式;判断所述特征模式库中是否包括长度最长的目标特征模式;在判断结果为是的情况下,将所述特征模式库中所包括的所述目标特征模式作为所述模糊模式。
可选地,所述第一处理模块还用于在判断所述特征模式库中不包括长度最长的目标特征模式时,将所述特征模式库中距离为第一预定阈值的两个确定模式进行合并,得到合并后的特征模式,并判断所述合并后的特征模式是否满足支持度要求;或者,将所述特征模式库中两个所述目标特征模式进行合并,并判断所述合并后的特征模式是否满足支持度要求;或者,将所述确定模式与所述目标特征模式进行合并,并判断所述合并后的特征模式是否满足支持度要求。
可选地,所述第二处理模块包括:添加单元,用于将所述待检测系统调用序列添加至空队列的尾部;匹配单元,用于将所述空队列中的所述待检测系统调用序列与所述特征模式库中的确定模式进行匹配;转换单元,用于在所述待检测系统调用序列与所述确定模式匹配时,将所述待检测系统调用序列转换为所述状态序列;第一获取单元,用于在所述待检测系统调用序列与所述确定模式不匹配时,根据所述待检测系统调用序列与所述模糊特征模式的匹配结果获取所述待检测系统调用序列对应的状态序列。
可选地,所述第一获取单元包括:第一判断子单元,用于判断所述待检测系统调用序列的首部是否匹配所述模糊特征模式的第一个确定部分,其中,所述待检测系统调用序列的首部至少包括一个系统调用;获取子单元,用于在判断结果为是的情况下,依次将所述待检测系统调用序列的其它系统调用与所述模糊特征模式的其它确定部分进行匹配,并根据匹配结果获取所述待检测系统调用序列对应的状态序列。
可选地,所述第一获取单元还包括:第二判断子单元,用于在依次将所述待检测系统调用序列的其它系统调用与所述模糊特征模式的其它确定部分进行匹配之后,判断所述空队列中相邻两个确定部分之间的系统调用序列是否不为单个系统调用或者所述确定模式;或者,第三判断子单元,用于在依次将所述待检测系统调用序列的其它系统调用与所述模糊特征模式的其它确定部分进行匹配之后,判断所述确定部分与所述空队列末端之间的系统调用序列是否大于所述特征模式库中确定模式的最大长度;处理子单元,用于在判断结果为是的情况下,在判断结果为是的情况下,所述空队列中与所述模糊特征模式匹配的第一个确定部分出队,并将所述第一个确定部分中每一个系统调用转换成状态添加至所述状态序列中;确定子单元,用于在判断结果为否的情况下,继续确定所述待检测系统调用序列中的其它系统调用。
可选地,所述检测模块包括:第二获取单元,用于在所述训练后的马尔可夫模型中,获取所述待检测系统调用序列对应的预定数量个状态序列中概率小于预定阈值的个数,其中,所述预定阈值为与系统调用序列的异常度对应的值;确定单元,用于在判断所述个数大于第二预定阈值时,则确定所述待检测调用序列出现异常。
通过本发明,获取系统调用序列的模糊特征模式,并将该模糊特征模式添加至特征模式库中,其中,模糊特征模式为包括确定模式和模糊模式的特征模式,确定模式表示通过多个系统调用按照确定顺序组成的特征模式,模糊模式表示一类系统调用序列的特征模式;将待检测系统调用序列与该特征模式库中所包括的特征模式进行匹配,依据与匹配结果对应的规则获取该待检测系统调用序列对应的状态序列;将该状态序列作为训练集训练马尔可夫模型,得到训练后的马尔可夫模型;使用该训练后的马尔可夫模型,检测该待检测系统调用序列的异常。也就是说,本发明基于马尔可夫模型以及结合模糊特征模式的获取,其中该模糊特征模式的获取主要是根据系统调用序列内部的相关性,更深入挖掘特征模式,来判断系统调用序列的一种运行轨迹趋势,并结合在线的检测算法进一步检测某一进程中的系统调用序列的异常,而不仅仅局限于相关技术中通过确定的特征模式进行异常检测所导致的可识别模式种类较少的问题,进而丰富了可识别模式种类,进一步达到提高异常检测效率的效果。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1是根据本发明实施例的异常检测流程图;
图2是根据本发明实施例的基于马尔可夫链的异常检测模型结构框图;
图3是根据本发明实施例的在线检测算法流程图;
图4是根据本发明实施例的异常检测装置的结构框图;
图5是根据本发明实施例的异常检测装置的结构框图(一);
图6是根据本发明实施例的异常检测装置的结构框图(二);
图7是根据本发明实施例的异常检测装置的结构框图(三);
图8是根据本发明实施例的异常检测装置的结构框图(四)。
具体实施方式
下文中将参考附图并结合实施例来详细说明本发明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。
实施例1
在本实施例中提供了一种异常检测方法,图1是根据本发明实施例的异常检测流程图,如图1所示,该流程包括如下步骤:
步骤S102,获取系统调用序列的模糊特征模式,并将该模糊特征模式添加至特征模式库中;
需要说明的是,上述模糊特征模式为包括确定模式和模糊模式的特征模式。其中,确定模式表示通过多个系统调用按照确定顺序组成的特征模式。例如,若系统调用序列l∈C,且l由一组系统调用以确定的顺序组成,则l为确定模式,C为特征模式库,是一个由特征模式构成的集合;模糊模式表示一类系统调用序列的特征模式,例如,若系统调用序列l∈C,l无法由某一确定的系统调用短序列表示,而是代表一类系统调用短序列,则l为模糊模式。
步骤S104,将训练集的系统调用序列与该特征模式库中所包括的特征模式进行匹配,依据与匹配结果对应的规则获取该训练集的系统调用序列对应的状态序列;
需要说明的是,在本实施例中,上述系统进程中可以包括多个系统调用。
步骤S106,用状态序列训练马尔可夫模型,得到训练后的马尔可夫模型;
步骤S108,使用该训练后的马尔可夫模型,检测待检测系统调用序列的异常。
可选地,在本实施例中,上述异常检测方法的应用场景包括但并不限于:在主机上使用时,主机通过监视关键程序的系统调用序列,如lpr,ftpd,sendmail等,以检测来自网络或者本地的入侵,或者,在终端上使用时,终端连接服务器后,下载训练好的马尔可夫模型,并直接在本地实施检测。在上述应用场景下,获取系统调用序列的模糊特征模式,并将该模糊特征模式添加至特征模式库中,其中,模糊特征模式为包括确定模式和模糊模式的特征模式,确定模式表示通过多个系统调用按照确定顺序组成的特征模式,模糊模式表示一类系统调用序列的特征模式;将训练集的系统调用序列与该特征模式库中所包括的特征模式进行匹配,依据与匹配结果对应的规则获取该训练集的系统调用序列对应的状态序列;用状态序列训练马尔可夫模型,得到训练后的马尔可夫模型;使用该训练后的马尔可夫模型,检测待检测系统调用序列的异常。也就是说,在本实施例中,基于马尔可夫模型以及结合模糊特征模式的获取,其中该模糊特征模式的获取主要是根据系统调用序列内部的相关性,更深入挖掘特征模式,来判断系统调用序列的一种运行轨迹趋势,并结合在线的检测算法进一步检测某一进程中的系统调用序列的异常,而不仅仅局限于相关技术中通过确定的特征模式进行异常检测所导致的可识别模式种类较少的问题,进而丰富了可识别模式种类,进一步达到提高异常检测效率的效果。
下面结合具体示例,本实施例进行举例说明。
在本示例中,主要是基于马尔可夫链的异常检测模型,其中,主要模型结构图参考图2。如图2所示,首先从系统进程运程正常行为产生的系统调用序列中提取特征模式,构成特征模式库。然后,根据特征模式库对正常行为产生的系统调用序列压缩,压缩序列作为训练集用于马尔可夫模型的训练,得到程序正常运行的模型。检测时采用在线检测算法,首先根据特征模式库将待检测系统调用序列实时地压缩成状态序列,再根据马尔可夫模型进行异常度计算,进而检测异常。
需要说明的是,图2中涉及的程序运行轨迹可以为T,其中T=(sc1,sc2,…,sci,…),sci表示序列中第i个系统调用。
Tˊ为T经过压缩处理后的程序轨迹,该轨迹是由系统调用和特征模式混合构成的序列,表示为Tˊ=(s1,s2,…,si,…),si可能是sci也可能是ci,,其中,ci,为特征模式。显然,len(Tˊ)<len(T)。
在一个可选地实施方式中,确定模式通过以下方式确定:
执行以下步骤,直至得到长度最长的特征模式:获取长度为第一阈值的当前特征模式,并将该当前特征模式添加至该特征模式库中;将该当前特征模式与相邻特征模式进行连接,得到连接后的特征模式;判断该连接后的特征模式是否满足支持度要求;在判断结果为是的情况下,将该连接后的特征模式设置为待获取特征模式,并将该待获取特征模式添加至该特征模式库中,其中,在该特征模式库中不包括该当前特征模式和该相邻特征模式,该支持度为系统调用短序列作为一个整体在系统进程的运行轨迹中出现的概率;判断该特征模式库中是否包括该长度最长的特征模式;在判断结果为是的情况下,将该特征模式库中所包括的特征模式作为该确定模式;在判断结果为否的情况下,在该特征模式库中选取预定数量的相邻特征模式进行连接,得到连接后的特征模式;判断该连接后的特征模式是否满足支持度要求;在判断结果为是的情况下,将该连接后的特征模式设置为新的待获取特征模式,并将该新的待获取特征模式添加至该特征模式库中,其中,该特征模式库不包含用于组成该新的待获取特征模式的相邻特征模式;继续判断该特征模式库中是否包括该长度最长的特征模式。
需要说明的是,上述第一阈值的取值包括但并不限于:1。
在本可选实施方式中,通过将所有特征模式进行连接得到确定模式,以进一步获取模糊特征模式。
在一个可选地实施方式中,模糊模式通过以下方式确定:
重复执行以下步骤,直至得到长度最长的特征模式:将该特征模式集合中距离为第一预定阈值的两个确定模式进行合并,得到合并后的特征模式,其中,位于该两个确定模式中间的特征模式为单个系统调用序列或者该确定模式;判断该合并后的特征模式是否满足支持度要求;在判断结果为是的情况下,将该合并后的特征模式作为目标特征模式,并将该目标特征模式添加至该特征模式库中,其中,该特征模式库中不包括参与合并的特征模式;判断该特征模式库中是否包括长度最长的目标特征模式;在判断结果为是的情况下,将该特征模式库中所包括的该目标特征模式作为该模糊模式;在判断结果为否的情况下,将该特征模式库中距离为第一预定阈值的两个确定模式进行合并,得到合并后的特征模式,并判断该合并后的特征模式是否满足支持度要求;或者,将该特征模式库中两个该目标特征模式进行合并,并判断该合并后的特征模式是否满足支持度要求;或者,将该确定模式与该目标特征模式进行合并,并判断该合并后的特征模式是否满足支持度要求。
需要说明的是,在本可选实施例中,上述第一预定阈值可以为2。
下面结合具体示例,对本实施例中涉及到的确定模式和模糊模式的确定方法进行举例说明。
模糊特征模式的获取分为两个部分。第一部分为确定模式提取,具体为,首先寻找长度为1的特征模式,即满足最低支持度的单个系统调用;然后将相邻的、满足支持度要求的单个系统调用合并成长度为2的特征模式;在此基础上,再将相邻的满足支持度要求的长度为2和1的特征模式进行连接,以求得长度为3的特征模式。依此类推,直到没有新的更长的特征模式出现。第二部分为模糊模式提取,具体为,首先在之前结果的基础上,将距离为2的、满足支持度要求的特征模式合并为新的特征模式,中间的系统调用或者特征模式看成一个随机的、独立的程序特征,称为模糊部分。然后,重复上一步,依此类推,直到没有新的更长的特征模式出现。
需要说明的是,上述示例中包含的模糊特征模式获取方法中涉及到的特征模式的距离概念。定义系统调用序列中相邻的特征模式的距离为1,间隔一个系统调用或者特征模式的特征模式之间距离为2,以此类推。系统调用序列的长度不加限制,只要满足最低支持度的要求,都被看作是特征模式。
对系统调用短序列l的支持度sup(l)定义为:其中,len(T)表示系统调用序列T的长度,也表示T含有系统调用的个数。num(T,l)表示系统调用短序列l在T中出现的次数。
特征模式定义为若某个系统调用短序列l的支持度大于阈值要求,则认为l是特征模式之一,记为ci,i表示特征模式的编号。
此外,在实施例中,采用长度优先原则,具体为,若较长的特征模式包含了较短的特征模式,则将较短的特征模式从特征模式库中删除。长度优先原则减小了特征库的大小,降低了马尔可夫链模型的训练时间。
在一个可选地实施方式中,依据与该匹配结果对应的规则获取该系统调用序列对应的状态序列包括以下步骤:
步骤S11,将待检测系统调用序列添加至空队列的尾部;
步骤S12,将空队列中的该待检测系统调用序列与该特征模式库中的确定模式进行匹配;
步骤S13,在待检测系统调用序列与该确定模式匹配时,将该待检测系统调用序列转换为该状态序列;
步骤S14,在待检测系统调用序列与该确定模式不匹配时,根据该待检测系统调用序列与该模糊特征模式的匹配结果获取该待检测系统调用序列对应的状态序列。
可选地,在本实施例中,首先是将当前执行的系统进程中的系统调用序列与特征模式库中的确定模式进行匹配,如果匹配,则将该当前系统调用序列转换成状态序列并添加至状态序列中;如果不匹配,则将当前执行的系统进程中的系统调用序列与特征模式库中的模糊特征模式进行匹配,以进一步对异常状态进行识别,从而避免了相关技术中,在判断在该当前系统调用序列与该确定模式不匹配时,则认为当前系统调用序列出现异常所造成检测异常的准确度降低的问题。
在一个可选地实施方式中,根据该待检测系统调用序列与该模糊特征模式的匹配结果获取该待检测系统调用序列对应的状态序列包括以下步骤:
步骤S21,判断待检测系统调用序列的首部是否匹配该模糊特征模式的第一个确定部分,其中,该待检测系统调用序列的首部至少包括一个系统调用;
步骤S22,在判断结果为是的情况下,依次将该待检测系统调用序列的其它系统调用与该模糊特征模式的其它确定部分进行匹配,并根据匹配结果获取该待检测系统调用序列对应的状态序列。
需要说明的是,在本可选实施方式中,模糊特征模式中的确定部分可以为模糊模式中可以用系统调用确定表达的部分,而模糊特征模式中所包括的模糊部分,则可以为模糊模式中除去确定部分之外的部分。
可选地,在本可选实施方式中,首先将待检测系统调用序列的首部与模糊特征模式的第一个确定部分进行匹配,在匹配的情况下,依次将待检测系统调用序列的其它系统调用与模糊特征模式的其它确定部分进行匹配,并根据匹配结果获取待检测系统调用序列对应的状态序列,进一步解决了相关技术中通过确定的特征模式进行异常检测所导致的可识别模式种类较少的问题,进而达到了丰富可识别模式种类的效果。
在一个可选地实施方式中,在依次将该当前系统调用序列的其它系统调用与该模糊特征模式的其它确定部分进行匹配之后还包括以下步骤:
步骤S31,判断空队列中相邻两个确定部分之间的系统调用序列是否不为单个系统调用或者该确定模式,或者,判断该确定部分与该空队列末端之间的系统调用序列是否大于该特征模式库中确定模式的最大长度;
步骤S32,在判断结果为是的情况下,该空队列中与该模糊特征模式匹配的第一个确定部分出队,并将该第一个确定部分中每一个系统调用转换成状态添加至该状态序列中;
步骤S33,在判断结果为否的情况下,继续确定该待检测系统调用序列中的其它系统调用。
可选地,在本可选实施方式中,通过将实时检测到的空队列中相邻两个确定部分之间的系统调用序列与单个系统调用或者确定模式之间的关系,或者,判断确定部分与空队列末端之间的系统调用序列特征模式库中确定模式的最大长度之间的关系作为出队的条件,避免了在异常检测过程中,满足出队条件的系统调用序列重复进行检测所造成的资源浪费问题。
下面结合具体示例,对本实施例进行举例说明。
在本示例中,主要是将系统调用序列改造成状态序列的一种在线检测方法。如图3所示,其中主要包括以下步骤:
步骤S301:执行一个系统调用si,将其加入到空队列a的尾部;
步骤S302:把队列a中的系统调用序列与特征库中特征模式进行匹配,若此序列首部刚好匹配某特征模式,转到步骤S304;若此序列的首部匹配某个模糊模式α的第一个确定部分,转到步骤S303;若此序列匹配某特征模式前部分,转到步骤S301;若不能匹配,转到步骤S305;
步骤S303:依次在队列a中定位模糊模式α的所有确定部分,并且确认队列a中相邻两个确定部分,或确定部分与队列a末端之间的系统调用序列长度di,若di大于特征模式库中确定模式的最大长度dmax,转到步骤S306;若di不大于dmax,且队列a定位了模糊模式α的一部分确定部分,转到步骤S101;若di不大于dmax,且队列a定位了模糊模式α的所有确定部分,转到步骤S104;
步骤S304:记录对应的状态编号Ci,加入状态序列,队列a中匹配的部分出队,转到步骤S301;
步骤S305:队列a中每个系统调用对应的状态加入状态序列,清空队列a,转到步骤S301;
步骤S306:队列a与模糊模式α匹配的第一个确定部分的系统调用序列出队,该系统调用序列中每个系统调用对应的状态加入状态序列,转到步骤S302。
重复执行以上步骤,直至进程结束,将系统调用序列改造成状态序列。
在一个可选地实施方式中,该使用该训练后的马尔可夫模型,检测该待检测系统调用序列的异常包括以下步骤:
步骤S41,在该训练后的马尔可夫模型中,获取该待检测系统调用序列对应的预定数量个状态序列中概率小于预定阈值的个数,其中,该预定阈值为与系统调用序列的异常度对应的值;
步骤S42,在判断该个数大于第二预定阈值时,则确定该待检测调用序列出现异常。
需要说明的是,上述第二预定阈值的取值包括但并不限于:2、3,在此,并不做任何限定。
可选地,在本可选实施方式中,通过使用训练后的马尔可夫模型,检测待检测系统调用序列的异常,进一步解决了相关技术中通过确定的特征模式进行异常检测所导致的可识别模式种类较少的问题,进而达到了提高可识别模式种类的效果。
下面结合具体示例,对本实施例进行举例说明。
对于马尔可夫链模型λ=(Q,π,P),有
1)状态集合Q={q1,…,qi,…,qn}。每个系统调用和特征模式都与qi一一对应,其中1≤i≤n。
2)初始状态分布,估算方法为其中表示状态qi对应的系统调用或特征模式在Tˊ中出现的次数,N表示Tˊ的长度。
3)状态转移概率矩阵其中表示t时刻处于状态qi,t+1时刻处于状态qj的概率,估算方法为其中表示状态对qiqj出现的次数。
长度为L的状态短序列Seq=(q1,q2,…,qi,…,qL)的匹配因子为:
V(Seq)的取值范围在0到1之间。如果V值很小,说明Seq与正常系统调用序列匹配度低,那么Seq异常的可能性大。反之,Seq异常的可能性小。因此,V值也表示系统调用短序列的异常度。
在本实施例中,使用训练好的马尔可夫模型,可以检测连续L个状态的异常度。检测时,采用长度为k的滑动窗口跟随检测点不断向前滑动,记录最近k个状态序列中概率小于阈值v的个数。当计数大于2时,则标记为一次异常。
在本实施例中能够根据系统调用序列内部的相关性,更深入的挖掘特征模式。并且挖掘出的特征模式并不局限于一组确定的系统调用序列,也就是说,该特征模式可以是模糊的。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
实施例2
在本实施例中还提供了一种异常检测装置,该装置用于实现上述实施例及优选实施方式,已经进行过说明的不再赘述。如以下所使用的,术语“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。
图4是根据本发明实施例的异常检测装置的结构框图,如图4所示,该装置包括:
1)第一处理模块42,用于获取系统调用序列的模糊特征模式,并将该模糊特征模式添加至特征模式库中,其中,该模糊特征模式为包括确定模式和模糊模式的特征模式,该确定模式表示通过多个系统调用按照确定顺序组成的特征模式,该模糊模式表示一类系统调用序列的特征模式;
需要说明的是,上述模糊特征模式为包括确定模式和模糊模式的特征模式。其中,确定模式表示通过多个系统调用按照确定顺序组成的特征模式。例如,若系统调用序列l∈C,且l由一组系统调用以确定的顺序组成,则l为确定模式,C为特征模式库,是一个由特征模式构成的集合;模糊模式表示一类系统调用序列的特征模式,例如,若系统调用序列l∈C,l无法由某一确定的系统调用短序列表示,而是代表一类系统调用短序列,则l为模糊模式。
2)第二处理模块44,用于将训练集的系统调用序列与该特征模式库中所包括的特征模式进行匹配,依据与匹配结果对应的规则获取该训练集的系统调用序列对应的状态序列;
3)获取模块46,用于用该状态序列训练马尔可夫模型,得到训练后的马尔可夫模型;
4)检测模块48,用于使用该训练后的马尔可夫模型,检测待检测系统调用序列的异常。
可选地,在本实施例中,上述异常检测方法的应用场景包括但并不限于:在主机上使用时,主机通过监视关键程序的系统调用序列,如lpr,ftpd,sendmail等,以检测来自网络或者本地的入侵,或者,在终端上使用时,终端连接服务器后,下载训练好的马尔可夫模型,并直接在本地实施检测。在上述应用场景下,获取系统调用序列的模糊特征模式,并将该模糊特征模式添加至特征模式库中,其中,模糊特征模式为包括确定模式和模糊模式的特征模式,确定模式表示通过多个系统调用按照确定顺序组成的特征模式,模糊模式表示一类系统调用序列的特征模式;将训练集的系统调用序列与该特征模式库中所包括的特征模式进行匹配,依据与匹配结果对应的规则获取该训练集的系统调用序列对应的状态序列;用状态序列训练马尔可夫模型,得到训练后的马尔可夫模型;使用该训练后的马尔可夫模型,检测待检测系统调用序列的异常。也就是说,在本实施例中,基于马尔可夫模型以及结合模糊特征模式的获取,其中该模糊特征模式的获取主要是根据系统调用序列内部的相关性,更深入挖掘特征模式,来判断系统调用序列的一种运行轨迹趋势,并结合在线的检测算法进一步检测某一进程中的系统调用序列的异常,而不仅仅局限于相关技术中通过确定的特征模式进行异常检测所导致的可识别模式种类较少的问题,进而丰富了可识别模式种类,进一步达到提高异常检测效率的效果。
下面结合具体示例,本实施例进行举例说明。
在本示例中,主要是基于马尔可夫链的异常检测模型,其中,主要模型结构图参考图2。如图2所示,首先从系统进程运程正常行为产生的系统调用序列中提取特征模式,构成特征模式库。然后,根据特征模式库对正常行为产生的系统调用序列压缩,压缩序列作为训练集用于马尔可夫模型的训练,得到程序正常运行的模型。检测时采用在线检测算法,首先根据特征模式库将待检测系统调用序列实时地压缩成状态序列,再根据马尔可夫模型进行异常度计算,进而检测异常。
需要说明的是,图2中涉及的程序运行轨迹可以为T,其中T=(sc1,sc2,…,sci,…),sci表示序列中第i个系统调用。
Tˊ为T经过压缩处理后的程序轨迹,该轨迹是由系统调用和特征模式混合构成的序列,表示为Tˊ=(s1,s2,…,si,…),si可能是sci也可能是ci,,其中,ci,为特征模式。显然,len(Tˊ)<len(T)。
在一个可选地实施方式中,第一处理模块42还用于通过以下方式获取该确定模式:执行以下步骤,直至得到长度最长的特征模式:获取长度为第一阈值的当前特征模式,并将该当前特征模式添加至该特征模式库中;将该当前特征模式与相邻特征模式进行连接,得到连接后的特征模式;判断该连接后的特征模式是否满足支持度要求;在判断结果为是的情况下,将该连接后的特征模式设置为待获取特征模式,并将该待获取特征模式添加至该特征模式库中,其中,在该特征模式库中不包括该当前特征模式和该相邻特征模式,该支持度为系统调用短序列作为一个整体在系统进程的运行轨迹中出现的概率;判断该特征模式库中是否包括该长度最长的特征模式;在判断结果为是的情况下,将该特征模式库中所包括的特征模式作为该确定模式;在判断结果为否的情况下,在该特征模式库中选取预定数量的相邻特征模式进行连接,得到连接后的特征模式;判断该连接后的特征模式是否满足支持度要求;在判断结果为是的情况下,将该连接后的特征模式设置为新的待获取特征模式,并将该新的待获取特征模式添加至该特征模式库中,其中,该特征模式库不包含用于组成该新的待获取特征模式的相邻特征模式;继续判断该特征模式库中是否包括该长度最长的特征模式。
需要说明的是,上述第一阈值的取值包括但并不限于:1。
在本可选实施方式中,通过将所有特征模式进行连接得到确定模式,以进一步获取模糊特征模式。
在一个可选地实施方式中,该第一处理模块42还用于通过以下方式获取该模糊模式:重复执行以下步骤,直至得到长度最长的特征模式:将该特征模式集合中距离为第一预定阈值的两个确定模式进行合并,得到合并后的特征模式,其中,位于该两个确定模式中间的特征模式为单个系统调用序列或者该确定模式;判断该合并后的特征模式是否满足支持度要求;在判断结果为是的情况下,将该合并后的特征模式作为目标特征模式,并将该目标特征模式添加至该特征模式库中,其中,该特征模式库中不包括参与合并的特征模式;判断该特征模式库中是否包括长度最长的目标特征模式;在判断结果为是的情况下,将该特征模式库中所包括的该目标特征模式作为该模糊模式;在判断结果为否的情况下,将该特征模式库中距离为第一预定阈值的两个确定模式进行合并,得到合并后的特征模式,并判断该合并后的特征模式是否满足支持度要求;或者,将该特征模式库中两个该目标特征模式进行合并,并判断该合并后的特征模式是否满足支持度要求;或者,将该确定模式与该目标特征模式进行合并,并判断该合并后的特征模式是否满足支持度要求。
需要说明的是,在本可选实施例中,上述第一预定阈值可以为2。
下面结合具体示例,对本实施例中涉及到的确定模式和模糊模式的确定方法进行举例说明。
模糊特征模式的获取分为两个部分。第一部分为确定模式提取,具体为,首先寻找长度为1的特征模式,即满足最低支持度的单个系统调用;然后将相邻的、满足支持度要求的单个系统调用合并成长度为2的特征模式;在此基础上,再将相邻的满足支持度要求的长度为2和1的特征模式进行连接,以求得长度为3的特征模式。依此类推,直到没有新的更长的特征模式出现。第二部分为模糊模式提取,具体为,首先在之前结果的基础上,将距离为2的、满足支持度要求的特征模式合并为新的特征模式,中间的系统调用或者特征模式看成一个随机的、独立的程序特征,称为模糊部分。然后,重复上一步,依此类推,直到没有新的更长的特征模式出现。
需要说明的是,上述示例中包含的模糊特征模式获取方法中涉及到的特征模式的距离概念。定义系统调用序列中相邻的特征模式的距离为1,间隔一个系统调用或者特征模式的特征模式之间距离为2,以此类推。系统调用序列的长度不加限制,只要满足最低支持度的要求,都被看作是特征模式。
对系统调用短序列l的支持度sup(l)定义为:其中,len(T)表示系统调用序列T的长度,也表示T含有系统调用的个数。num(T,l)表示系统调用短序列l在T中出现的次数。
特征模式定义为若某个系统调用短序列l的支持度大于阈值要求,则认为l是特征模式之一,记为ci,i表示特征模式的编号。
此外,在实施例中,采用长度优先原则,具体为,若较长的特征模式包含了较短的特征模式,则将较短的特征模式从特征模式库中删除。长度优先原则减小了特征库的大小,降低了马尔可夫链模型的训练时间。
图5是根据本发明实施例的异常检测装置的结构框图(一),如图5所示,第二处理模块44包括:
1)添加单元52,用于将该待检测系统调用序列添加至空队列的尾部;
2)匹配单元54,用于将该空队列中的该待检测系统调用序列与该特征模式库中的确定模式进行匹配;
3)转换单元56,用于在该待检测系统调用序列与该确定模式匹配时,将该待检测系统调用序列转换为该状态序列;
4)第一获取单元58,用于在该待检测系统调用序列与该确定模式不匹配时,根据该待检测系统调用序列与该模糊特征模式的匹配结果获取该待检测系统调用序列对应的状态序列。
可选地,在本实施例中,首先是将当前执行的系统进程中的系统调用序列与特征模式库中的确定模式进行匹配,如果匹配,则将该当前系统调用序列转换成状态序列并添加至状态序列中;如果不匹配,则将当前执行的系统进程中的系统调用序列与特征模式库中的模糊特征模式进行匹配,以进一步对异常状态进行识别,从而避免了相关技术中,在判断在该当前系统调用序列与该确定模式不匹配时,则认为当前系统调用序列出现异常所造成检测异常的准确度降低的问题。
图6是根据本发明实施例的异常检测装置的结构框图(二),如图6所示,第一获取单元58包括:
1)第一判断子单元62,用于判断该待检测系统调用序列的首部是否匹配该模糊特征模式的第一个确定部分,其中,该待检测系统调用序列的首部至少包括一个系统调用;
2)获取子单元64,用于在判断结果为是的情况下,依次将该待检测系统调用序列的其它系统调用与该模糊特征模式的其它确定部分进行匹配,并根据匹配结果获取该待检测系统调用序列对应的状态序列。
需要说明的是,在本可选实施方式中,模糊特征模式中的确定部分可以为模糊模式中可以用系统调用确定表达的部分,而模糊特征模式中所包括的模糊部分,则可以为模糊模式中除去确定部分之外的部分。
可选地,在本可选实施方式中,首先将待检测系统调用序列的首部与模糊特征模式的第一个确定部分进行匹配,在匹配的情况下,依次将待检测系统调用序列的其它系统调用与模糊特征模式的其它确定部分进行匹配,并根据匹配结果获取待检测系统调用序列对应的状态序列,进一步解决了相关技术中通过确定的特征模式进行异常检测所导致的可识别模式种类较少的问题,进而达到了丰富可识别模式种类的效果。
图7是根据本发明实施例的异常检测装置的结构框图(三),如图7所示,第一获取单元58除了包括图6所示的子单元外还包括:
1)第二判断子单元72,用于在依次将该待检测系统调用序列的其它系统调用与该模糊特征模式的其它确定部分进行匹配之后,判断该空队列中相邻两个确定部分之间的系统调用序列是否不为单个系统调用或者该确定模式;或者,使用第三判断子单元等同替换上述第二判断子单元72,其中,用于第三判断子单元用于在依次将该待检测系统调用序列的其它系统调用与该模糊特征模式的其它确定部分进行匹配之后,判断该确定部分与该空队列末端之间的系统调用序列是否大于该特征模式库中确定模式的最大长度;
2)处理子单元74,用于在判断结果为是的情况下,在判断结果为是的情况下,该空队列中与该模糊特征模式匹配的第一个确定部分出队,并将该第一个确定部分中每一个系统调用转换成状态添加至该状态序列中;
3)确定子单元76,用于在判断结果为否的情况下,继续确定该待检测系统调用序列中的其它系统调用。
可选地,在本可选实施方式中,通过将实时检测到的空队列中相邻两个确定部分之间的系统调用序列与单个系统调用或者确定模式之间的关系,或者,判断确定部分与空队列末端之间的系统调用序列特征模式库中确定模式的最大长度之间的关系作为出队的条件,避免了在异常检测过程中,满足出队条件的系统调用序列重复进行检测所造成的资源浪费问题。
图8是根据本发明实施例的异常检测装置的结构框图(四),如图8所示,检测模块48包括:
1)第二获取单元82,用于在该训练后的马尔可夫模型中,获取该待检测系统调用序列对应的预定数量个状态序列中概率小于预定阈值的个数,其中,该预定阈值为与系统调用序列的异常度对应的值;
2)确定单元84,用于在判断该个数大于第二预定阈值时,则确定该待检测调用序列出现异常。
需要说明的是,上述第二预定阈值的取值包括但并不限于:2、3,在此,并不做任何限定。
可选地,在本可选实施方式中,通过使用训练后的马尔可夫模型,检测待检测系统调用序列的异常,进一步解决了相关技术中通过确定的特征模式进行异常检测所导致的可识别模式种类较少的问题,进而达到了提高可识别模式种类的效果。
需要说明的是,上述各个模块是可以通过软件或硬件来实现的,对于后者,可以通过以下方式实现,但不限于此:上述模块均位于同一处理器中;或者,上述模块分别位于多个处理器中。
实施例3
本发明的实施例还提供了一种存储介质。可选地,在本实施例中,上述存储介质可以被设置为存储用于执行以下步骤的程序代码:
S1,获取系统调用序列的模糊特征模式,并将该模糊特征模式添加至特征模式库中,其中,该模糊特征模式为包括确定模式和模糊模式的特征模式,该确定模式表示通过多个系统调用按照确定顺序组成的特征模式,该模糊模式表示一类系统调用序列的特征模式;
S2,将训练集的系统调用序列与该特征模式库中所包括的特征模式进行匹配,依据与匹配结果对应的规则获取该训练集的系统调用序列对应的状态序列;
S3,用状态序列训练马尔可夫模型,得到训练后的马尔可夫模型;
S4,使用训练后的马尔可夫模型,检测待检测系统调用序列的异常。
可选地,在本实施例中,上述存储介质可以包括但不限于:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
可选地,在本实施例中,处理器根据存储介质中已存储的程序代码执行上述步骤S1、S2、S3、S4。
可选地,本实施例中的具体示例可以参考上述实施例及可选实施方式中所描述的示例,本实施例在此不再赘述。
显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (18)

1.一种异常检测方法,其特征在于,包括:
获取系统调用序列的模糊特征模式,并将所述模糊特征模式添加至特征模式库中,其中,所述模糊特征模式为包括确定模式和模糊模式的特征模式,所述确定模式表示通过多个系统调用按照确定顺序组成的特征模式,所述模糊模式表示一类系统调用序列的特征模式;
将训练集的系统调用序列与所述特征模式库中所包括的特征模式进行匹配,依据与匹配结果对应的规则获取所述训练集的系统调用序列对应的状态序列;
用所述状态序列训练马尔可夫模型,得到训练后的马尔可夫模型;
使用所述训练后的马尔可夫模型,检测待检测系统调用序列的异常。
2.根据权利要求1所述的方法,其特征在于,所述确定模式通过以下方式获取:
执行以下步骤,直至得到长度最长的特征模式:
获取长度为第一阈值的当前特征模式,并将所述当前特征模式添加至所述特征模式库中;
将所述当前特征模式与相邻特征模式进行连接,得到连接后的特征模式;
判断所述连接后的特征模式是否满足支持度要求;
在判断结果为是的情况下,将所述连接后的特征模式设置为待获取特征模式,并将所述待获取特征模式添加至所述特征模式库中,其中,在所述特征模式库中不包括所述当前特征模式和所述相邻特征模式,所述支持度为系统调用短序列作为一个整体在系统进程的运行轨迹中出现的概率;
判断所述特征模式库中是否包括所述长度最长的特征模式;
在判断结果为是的情况下,将所述特征模式库中所包括的特征模式作为所述确定模式。
3.根据权利要求2所述的方法,其特征在于,在判断所述特征模式库中不包括所述长度最长的特征模式时,所述方法还包括:
在所述特征模式库中选取预定数量的相邻特征模式进行连接,得到连接后的特征模式;
判断该连接后的特征模式是否满足支持度要求;
在判断结果为是的情况下,将该连接后的特征模式设置为新的待获取特征模式,并将所述新的待获取特征模式添加至所述特征模式库中,其中,所述特征模式库不包含用于组成所述新的待获取特征模式的相邻特征模式;
继续判断所述特征模式库中是否包括所述长度最长的特征模式。
4.根据权利要求3所述的方法,其特征在于,所述模糊模式通过以下方式获取:
重复执行以下步骤,直至得到长度最长的特征模式:
将所述特征模式库中距离为第一预定阈值的两个确定模式进行合并,得到合并后的特征模式,其中,位于所述两个确定模式中间的特征模式为单个系统调用序列或者所述确定模式;
判断所述合并后的特征模式是否满足支持度要求;
在判断结果为是的情况下,将所述合并后的特征模式作为目标特征模式,并将所述目标特征模式添加至所述特征模式库中,其中,所述特征模式库中不包括参与合并的特征模式;
判断所述特征模式库中是否包括长度最长的目标特征模式;
在判断结果为是的情况下,将所述特征模式库中所包括的所述目标特征模式作为所述模糊模式。
5.根据权利要求4所述的方法,其特征在于,在判断所述特征模式库中不包括长度最长的目标特征模式时,所述方法还包括:
将所述特征模式库中距离为第一预定阈值的两个确定模式进行合并,得到合并后的特征模式,并判断所述合并后的特征模式是否满足支持度要求;或者,
将所述特征模式库中两个所述目标特征模式进行合并,并判断所述合并后的特征模式是否满足支持度要求;或者,
将所述确定模式与所述目标特征模式进行合并,并判断所述合并后的特征模式是否满足支持度要求。
6.根据权利要求1所述的方法,其特征在于,所述依据与匹配结果对应的规则获取所述待检测系统调用序列对应的状态序列包括:
将所述待检测系统调用序列添加至空队列的尾部;
将所述空队列中的所述待检测系统调用序列与所述特征模式库中的确定模式进行匹配;
在所述待检测系统调用序列与所述确定模式匹配时,将所述待检测系统调用序列转换为所述状态序列;
在所述待检测系统调用序列与所述确定模式不匹配时,根据所述待检测系统调用序列与所述模糊特征模式的匹配结果获取所述待检测系统调用序列对应的状态序列。
7.根据权利要求6所述的方法,其特征在于,所述根据所述待检测系统调用序列与所述模糊特征模式的匹配结果获取所述待检测系统调用序列对应的状态序列包括:
判断所述待检测系统调用序列的首部是否匹配所述模糊特征模式的第一个确定部分,其中,所述待检测系统调用序列的首部至少包括一个系统调用;
在判断结果为是的情况下,依次将所述待检测系统调用序列的其它系统调用与所述模糊特征模式的其它确定部分进行匹配,并根据匹配结果获取所述待检测系统调用序列对应的状态序列。
8.根据权利要求7所述的方法,其特征在于,在依次将所述待检测系统调用序列的其它系统调用与所述模糊特征模式的其它确定部分进行匹配之后还包括:
判断所述空队列中相邻两个确定部分之间的系统调用序列是否不为单个系统调用或者所述确定模式,或者,判断所述确定部分与所述空队列末端之间的系统调用序列是否大于所述特征模式库中确定模式的最大长度;
在判断结果为是的情况下,所述空队列中与所述模糊特征模式匹配的第一个确定部分出队,并将所述第一个确定部分中每一个系统调用转换成状态添加至所述状态序列中;
在判断结果为否的情况下,继续确定所述待检测系统调用序列中的其它系统调用。
9.根据权利要求1所述的方法,其特征在于,所述使用所述训练后的马尔可夫模型,检测所述待检测系统调用序列的异常包括:
在所述训练后的马尔可夫模型中,获取所述待检测系统调用序列对应的预定数量个状态序列中概率小于预定阈值的个数,其中,所述预定阈值为与系统调用序列的异常度对应的值;
在判断所述个数大于第二预定阈值时,则确定所述待检测调用序列出现异常。
10.一种异常检测装置,其特征在于,包括:
第一处理模块,用于获取系统调用序列的模糊特征模式,并将所述模糊特征模式添加至特征模式库中,其中,所述模糊特征模式为包括确定模式和模糊模式的特征模式,所述确定模式表示通过多个系统调用按照确定顺序组成的特征模式,所述模糊模式表示一类系统调用序列的特征模式;
第二处理模块,用于将训练集的系统调用序列与所述特征模式库中所包括的特征模式进行匹配,依据与匹配结果对应的规则获取所述训练集的系统调用序列对应的状态序列;
获取模块,用于用所述状态序列训练马尔可夫模型,得到训练后的马尔可夫模型;
检测模块,用于使用所述训练后的马尔可夫模型,检测待检测系统调用序列的异常。
11.根据权利要求10所述的装置,其特征在于,所述第一处理模块还用于通过以下方式获取所述确定模式:
执行以下步骤,直至得到长度最长的特征模式:
获取长度为第一阈值的当前特征模式,并将所述当前特征模式添加至所述特征模式库中;
将所述当前特征模式与相邻特征模式进行连接,得到连接后的特征模式;
判断所述连接后的特征模式是否满足支持度要求;
在判断结果为是的情况下,将所述连接后的特征模式设置为待获取特征模式,并将所述待获取特征模式添加至所述特征模式库中,其中,在所述特征模式库中不包括所述当前特征模式和所述相邻特征模式,所述支持度为系统调用短序列作为一个整体在系统进程的运行轨迹中出现的概率;
判断所述特征模式库中是否包括所述长度最长的特征模式;
在判断结果为是的情况下,将所述特征模式库中所包括的特征模式作为所述确定模式。
12.根据权利要求11所述的装置,其特征在于,所述第一处理模块还用于在判断所述特征模式库中不包括所述长度最长的特征模式时,在所述特征模式库中选取预定数量的相邻特征模式进行连接,得到连接后的特征模式;判断该连接后的特征模式是否满足支持度要求;在判断结果为是的情况下,将该连接后的特征模式设置为新的待获取特征模式,并将所述新的待获取特征模式添加至所述特征模式库中,其中,所述特征模式库不包含用于组成所述新的待获取特征模式的相邻特征模式;继续判断所述特征模式库中是否包括所述长度最长的特征模式。
13.根据权利要求12所述的装置,其特征在于,所述第一处理模块还用于通过以下方式获取所述模糊模式:
重复执行以下步骤,直至得到长度最长的特征模式:
将所述特征模式集合中距离为第一预定阈值的两个确定模式进行合并,得到合并后的特征模式,其中,位于所述两个确定模式中间的特征模式为单个系统调用序列或者所述确定模式;
判断所述合并后的特征模式是否满足支持度要求;
在判断结果为是的情况下,将所述合并后的特征模式作为目标特征模式,并将所述目标特征模式添加至所述特征模式库中,其中,所述特征模式库中不包括参与合并的特征模式;
判断所述特征模式库中是否包括长度最长的目标特征模式;
在判断结果为是的情况下,将所述特征模式库中所包括的所述目标特征模式作为所述模糊模式。
14.根据权利要求13所述的装置,其特征在于,所述第一处理模块还用于在判断所述特征模式库中不包括长度最长的目标特征模式时,将所述特征模式库中距离为第一预定阈值的两个确定模式进行合并,得到合并后的特征模式,并判断所述合并后的特征模式是否满足支持度要求;或者,将所述特征模式库中两个所述目标特征模式进行合并,并判断所述合并后的特征模式是否满足支持度要求;或者,将所述确定模式与所述目标特征模式进行合并,并判断所述合并后的特征模式是否满足支持度要求。
15.根据权利要求10所述的装置,其特征在于,所述第二处理模块包括:
添加单元,用于将所述待检测系统调用序列添加至空队列的尾部;
匹配单元,用于将所述空队列中的所述待检测系统调用序列与所述特征模式库中的确定模式进行匹配;
转换单元,用于在所述待检测系统调用序列与所述确定模式匹配时,将所述待检测系统调用序列转换为所述状态序列;
第一获取单元,用于在所述待检测系统调用序列与所述确定模式不匹配时,根据所述待检测系统调用序列与所述模糊特征模式的匹配结果获取所述待检测系统调用序列对应的状态序列。
16.根据权利要求15所述的装置,其特征在于,所述第一获取单元包括:
第一判断子单元,用于判断所述待检测系统调用序列的首部是否匹配所述模糊特征模式的第一个确定部分,其中,所述待检测系统调用序列的首部至少包括一个系统调用;
获取子单元,用于在判断结果为是的情况下,依次将所述待检测系统调用序列的其它系统调用与所述模糊特征模式的其它确定部分进行匹配,并根据匹配结果获取所述待检测系统调用序列对应的状态序列。
17.根据权利要求16所述的装置,其特征在于,所述第一获取单元还包括:
第二判断子单元,用于在依次将所述待检测系统调用序列的其它系统调用与所述模糊特征模式的其它确定部分进行匹配之后,判断所述空队列中相邻两个确定部分之间的系统调用序列是否不为单个系统调用或者所述确定模式;或者,第三判断子单元,用于在依次将所述待检测系统调用序列的其它系统调用与所述模糊特征模式的其它确定部分进行匹配之后,判断所述确定部分与所述空队列末端之间的系统调用序列是否大于所述特征模式库中确定模式的最大长度;
处理子单元,用于在判断结果为是的情况下,在判断结果为是的情况下,所述空队列中与所述模糊特征模式匹配的第一个确定部分出队,并将所述第一个确定部分中每一个系统调用转换成状态添加至所述状态序列中;
确定子单元,用于在判断结果为否的情况下,继续确定所述待检测系统调用序列中的其它系统调用。
18.根据权利要求10所述的装置,其特征在于,所述检测模块包括:
第二获取单元,用于在所述训练后的马尔可夫模型中,获取所述待检测系统调用序列对应的预定数量个状态序列中概率小于预定阈值的个数,其中,所述预定阈值为与系统调用序列的异常度对应的值;
确定单元,用于在判断所述个数大于第二预定阈值时,则确定所述待检测调用序列出现异常。
CN201610121003.XA 2016-03-03 2016-03-03 异常检测方法及装置 Pending CN107153584A (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201610121003.XA CN107153584A (zh) 2016-03-03 2016-03-03 异常检测方法及装置
PCT/CN2016/108764 WO2017148196A1 (zh) 2016-03-03 2016-12-07 异常检测方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610121003.XA CN107153584A (zh) 2016-03-03 2016-03-03 异常检测方法及装置

Publications (1)

Publication Number Publication Date
CN107153584A true CN107153584A (zh) 2017-09-12

Family

ID=59742522

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610121003.XA Pending CN107153584A (zh) 2016-03-03 2016-03-03 异常检测方法及装置

Country Status (2)

Country Link
CN (1) CN107153584A (zh)
WO (1) WO2017148196A1 (zh)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109766229A (zh) * 2018-12-05 2019-05-17 华东师范大学 一种面向综合电子系统的异常检测方法
CN109960631A (zh) * 2019-03-19 2019-07-02 山东九州信泰信息科技股份有限公司 一种安全事件异常的实时侦测方法
CN110413345A (zh) * 2019-07-26 2019-11-05 云湾科技(嘉兴)有限公司 程序验证方法、装置、计算设备及计算机存储介质
WO2020134790A1 (zh) * 2018-12-26 2020-07-02 中兴通讯股份有限公司 一种数据异常检测方法、装置及终端设备
CN111526164A (zh) * 2020-07-03 2020-08-11 北京每日优鲜电子商务有限公司 一种用于电商平台的网络攻击检测方法及系统
CN112036622A (zh) * 2020-08-18 2020-12-04 国网上海能源互联网研究院有限公司 一种基于图谱分析确定配电终端运行状态的方法及系统
CN112506748A (zh) * 2021-02-04 2021-03-16 连连(杭州)信息技术有限公司 一种异常日志分析方法、装置、设备及存储介质

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113472721B (zh) * 2020-03-31 2022-12-06 华为技术有限公司 一种网络攻击检测方法及装置

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100393046C (zh) * 2005-12-06 2008-06-04 南京邮电大学 一种类似生物免疫机制的入侵检测方法
US7617170B2 (en) * 2006-10-09 2009-11-10 Radware, Ltd. Generated anomaly pattern for HTTP flood protection
CN101051953A (zh) * 2007-05-14 2007-10-10 中山大学 基于模糊神经网络的异常检测方法
CN104113544B (zh) * 2014-07-18 2017-10-31 重庆大学 基于模糊隐条件随机场模型的网络入侵检测方法及系统
CN104955149B (zh) * 2015-06-10 2018-04-27 重庆邮电大学 基于模糊规则更新的室内wlan被动入侵检测定位方法

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109766229A (zh) * 2018-12-05 2019-05-17 华东师范大学 一种面向综合电子系统的异常检测方法
CN109766229B (zh) * 2018-12-05 2022-02-11 华东师范大学 一种面向综合电子系统的异常检测方法
WO2020134790A1 (zh) * 2018-12-26 2020-07-02 中兴通讯股份有限公司 一种数据异常检测方法、装置及终端设备
CN109960631A (zh) * 2019-03-19 2019-07-02 山东九州信泰信息科技股份有限公司 一种安全事件异常的实时侦测方法
CN109960631B (zh) * 2019-03-19 2020-01-03 山东九州信泰信息科技股份有限公司 一种安全事件异常的实时侦测方法
CN110413345A (zh) * 2019-07-26 2019-11-05 云湾科技(嘉兴)有限公司 程序验证方法、装置、计算设备及计算机存储介质
CN111526164A (zh) * 2020-07-03 2020-08-11 北京每日优鲜电子商务有限公司 一种用于电商平台的网络攻击检测方法及系统
CN111526164B (zh) * 2020-07-03 2020-10-30 北京每日优鲜电子商务有限公司 一种用于电商平台的网络攻击检测方法及系统
CN112036622A (zh) * 2020-08-18 2020-12-04 国网上海能源互联网研究院有限公司 一种基于图谱分析确定配电终端运行状态的方法及系统
CN112036622B (zh) * 2020-08-18 2023-12-26 国网上海能源互联网研究院有限公司 一种基于图谱分析确定配电终端运行状态的方法及系统
CN112506748A (zh) * 2021-02-04 2021-03-16 连连(杭州)信息技术有限公司 一种异常日志分析方法、装置、设备及存储介质

Also Published As

Publication number Publication date
WO2017148196A1 (zh) 2017-09-08

Similar Documents

Publication Publication Date Title
CN107153584A (zh) 异常检测方法及装置
CN107316198B (zh) 账户风险识别方法及装置
CN110237530B (zh) 异常行为检测方法、装置和可读存储介质
CN107423613B (zh) 依据相似度确定设备指纹的方法、装置及服务器
CN109784636A (zh) 欺诈用户识别方法、装置、计算机设备及存储介质
CN110910901A (zh) 一种情绪识别方法及装置、电子设备和可读存储介质
CN110401779A (zh) 一种识别电话号码的方法、装置和计算机可读存储介质
CN112199640B (zh) 异常用户审核方法、装置、电子设备和存储介质
CN108897732B (zh) 语句类型识别方法和装置、存储介质及电子装置
CN106921504B (zh) 一种确定不同用户的关联路径的方法和设备
WO2019136850A1 (zh) 风险行为识别方法、存储介质、设备及系统
CN110166344B (zh) 一种身份标识识别方法、装置以及相关设备
JP2006079479A (ja) 時系列データ判定方法
CN112837069A (zh) 基于区块链与大数据的安全支付方法及云平台系统
CN111177469A (zh) 人脸检索方法及人脸检索装置
CN110210218A (zh) 一种病毒检测的方法以及相关装置
CN114885334B (zh) 一种高并发的短信处理方法
CN111756687B (zh) 一种应对网络攻击的防御措施配置方法及系统
CN110675252A (zh) 风险评估方法、装置、电子设备及存储介质
CN116186759A (zh) 一种面向隐私计算的敏感数据识别与脱敏方法
CN110007967A (zh) 一种基于流式框架的数据处理方法、装置及设备
CN110245696A (zh) 基于视频的违法事件监控方法、设备及可读存储介质
CN109587248A (zh) 用户识别方法、装置、服务器及存储介质
CN115168895A (zh) 结合人工智能的用户信息威胁分析方法及服务器
CN110210215A (zh) 一种病毒检测的方法以及相关装置

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
WD01 Invention patent application deemed withdrawn after publication
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20170912