首页> 中国专利> 恶意软件感染终端的检测装置、恶意软件感染终端的检测系统、恶意软件感染终端的检测方法以及恶意软件感染终端的检测程序

恶意软件感染终端的检测装置、恶意软件感染终端的检测系统、恶意软件感染终端的检测方法以及恶意软件感染终端的检测程序

摘要

检测装置(100)根据针对用于区分监视对象网络的终端或者恶意软件的每个识别符取得的事件,生成按照该事件的发生顺序形成的事件序列。之后,检测装置(100)在相似度在一定程度以上的各事件序列形成的类群中,取出属于同一类群的事件序列之间共同出现的事件,从相似的共同事件序列,提取由出现频度高的事件之间的关系构成的代表事件序列作为检测用事件序列。之后,检测装置(100)基于生成的基于监视对象网络的通信的事件序列和提取的检测用事件序列的匹配,检差出监视对象网络的终端被恶意软件感染。

著录项

  • 公开/公告号CN107408181A

    专利类型发明专利

  • 公开/公告日2017-11-28

    原文格式PDF

  • 申请/专利权人 日本电信电话株式会社;

    申请/专利号CN201680015471.7

  • 发明设计人 青木一史;神谷和宪;

    申请日2016-03-08

  • 分类号

  • 代理机构北京三友知识产权代理有限公司;

  • 代理人黄纶伟

  • 地址 日本东京都

  • 入库时间 2023-06-19 03:54:13

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2020-04-07

    授权

    授权

  • 2017-12-22

    实质审查的生效 IPC(主分类):G06F21/56 申请日:20160308

    实质审查的生效

  • 2017-11-28

    公开

    公开

说明书

技术领域

本发明涉及恶意软件感染终端的检测装置、恶意软件感染终端的检测系统、恶意软件感染终端的检测方法以及恶意软件感染终端的检测程序。

背景技术

近年来,带来信息泄漏或非法访问等威胁的不正当程序(下面,称为“恶意软件”)日渐嚣张。恶意软件在感染后从攻击者经由服务器等接收指令,带来攻击或信息泄漏等威胁。如今的恶意软件采取将与攻击者的通信伪装成正规的通信的手法(例如,参照非专利文献1)。

被发现的恶意软件的数量有明显增加,有报道称几秒即出现一个新的恶意软件(例如,参照非专利文献2)。因此,仅靠防毒软件等主机侧的对策,将无法完全防止恶意软件的威胁。为此,通过分析通信数据来指定感染恶意软件的终端从而降低恶意软件的威胁的手法得到了关注(例如,参照非专利文献3)。

作为检测感染恶意软件的终端的手法,公开有将感染到恶意软件的终端中出现的通信特征模式化,从而检测感染到恶意软件的终端的手法(例如,参照专利文献1)。检测感染到恶意软件的终端的手法的一例是将通信数据作为分析对象,将解析恶意软件得到的通信数据模式化,核对监视对象网络(NW)的通信中是否出现相同的模式,从而检测感染到恶意软件的终端的手法。

先行技术文献

专利文献

专利文献1:日本专利第5009244号公报

非专利文献

非专利文献1:高端网络攻击动向,[online],[2014年9月4日检索],因特网<URL:http://www.fireeye.com/jp/ja/resources/pdfs/fireeye-advanced-cyber-attack-landscape.pdf>

非专利文献2:Annual Report Pandalabs 2013summary,[online],[2014年9月3日检索],因特网<URL:http://press.pandasecurity.com/wp-content/uploads/2010/05/PandaLabs-Annual-Report_2013.pdf>

非专利文献3:Sebastian Garcia他,Survey on network-based botnetdetection methods,Security and communication networks 2013,[online],[2014年3月13日检索],因特网<URL:http://onlinelibrary.wiley.com/doi/10.1002/sec.800/full>

发明内容

发明要解决的技术问题

但是,上述现有技术中存在如下问题。即、如上所述,如今恶意软件的数量巨大,所以如果将所有的恶意软件的所有通信模式化,则模式数量也巨大,在判定监视对象的网络通信中是否存在该模式时需要较长时间。并且,在上述的现有技术中,针对每个通信有效负荷定义了状态,将状态的变迁作为模式,所以恶意软件以不同的通信有效负荷进行通信,即可生成新的模式。而且,恶意软件的通信中还确认到与未感染的终端的通信相似的通信,所以将所有的通信模式用于作为监视对象的网络的通信中的检测时,引发误检。

为此,本发明的目的在于提供解决上述问题,且检测恶意软件感染终端的装置、方法以及程序。

用于解决课题的手段

为了解决上述问题,实现目的,本发明的恶意软件感染终端的检测装置的特征在于,具有:序列生成部,其由事件生成按照该事件的发生顺序形成的事件序列,该事件是监视对象网络的通信以及恶意软件产生的通信中、与表征通信的规则匹配的事象,且是针对区分监视对象网络的终端或者恶意软件的每个识别符取得的;检测用序列提取部,其在基于恶意软件产生的通信的事件序列之间的相似度在一定程度以上的各事件序列形成的类群中,取出属于同一类群的事件序列之间共同出现的事件,提取按照时间序列的顺序结合了所取出的事件而得到的一定长度以上的事件序列作为共同事件序列,从多个所述共同事件序列之间相似的所述共同事件序列,提取由出现频度高的事件之间的关系构成的代表事件序列作为检测用事件序列;以及检测部,在判定为所述序列生成部生成的基于监视对象网络的通信的事件序列和所述检测用序列提取部提取的检测用事件序列匹配的情况下,该检测部检测为该监视对象网络中存在恶意软件感染终端。

并且,本发明的恶意软件感染终端的检测系统,具备恶意软件执行环境、监视对象网络以及恶意软件感染终端的检测装置,恶意软件感染终端的检测系统的特征在于,所述恶意软件感染终端的检测装置具有:序列生成部,其由事件生成按照该事件的发生顺序形成的事件序列,该事件是所述监视对象网络的通信以及所述恶意软件执行环境中执行的恶意软件产生的通信中、与表征通信的规则匹配的事象,且是针对区分监视对象网络的终端或者恶意软件的每个识别符取得的;检测用序列提取部,其在由基于恶意软件产生的通信的事件序列之间的相似度在一定程度以上的各事件序列形成的类群中,取出属于同一类群的事件序列之间共同出现的事件,提取按照时间序列的顺序结合了所取出的事件而得到的一定长度以上的事件序列作为共同事件序列,从多个所述共同事件序列之间相似的所述共同事件序列,提取由出现频度高的事件之间的关系构成的代表事件序列作为检测用事件序列;以及检测部,在判定为所述序列生成部生成的基于监视对象网络的通信的事件序列和所述检测用序列提取部提取的检测用事件序列匹配的情况下,该检测部检测为该监视对象网络中存在恶意软件感染终端。

并且,本发明的恶意软件感染终端的检测方法,由恶意软件感染终端的检测系统执行,该检测系统具有恶意软件执行环境、监视对象网络以及恶意软件感染终端的检测装置,恶意软件感染终端的检测方法的特征在于,包括:序列生成工序,由事件生成按照该事件的发生顺序形成的事件序列,该事件是所述监视对象网络的通信以及所述恶意软件执行环境中执行的恶意软件产生的通信中、与表征通信的规则匹配的事象,且是针对区分监视对象网络的终端或者恶意软件的每个识别符取得的;检测用序列提取工序,在由基于恶意软件产生的通信的事件序列之间的相似度在一定程度以上的各事件序列形成的类群中,取出属于同一类群的事件序列之间共同出现的事件,提取按照时间序列的顺序结合了所取出的事件而得到的一定长度以上的事件序列作为共同事件序列,从多个所述共同事件序列之间相似的所述共同事件序列,提取由出现频度高的事件之间的关系构成的代表事件序列作为检测用事件序列;以及检测工序,在判定为通过所述序列生成工序生成的基于监视对象网络的通信的事件序列和通过所述检测用序列提取工序提取的检测用事件序列匹配时,检测为该监视对象网络中存在恶意软件感染终端。

并且,本发明的恶意软件感染终端的检测程序,使计算机执行如下步骤:序列生成步骤,由事件生成按照该事件的发生顺序形成的事件序列,该事件是监视对象网络的通信以及恶意软件产生的通信中、与表征通信的规则匹配的事象,且是针对区分监视对象网络的终端或者恶意软件的每个识别符取得的;检测用序列提取步骤,在基于恶意软件产生的通信的事件序列之间的相似度在一定程度以上的各事件序列形成的类群中,取出属于同一类群的事件序列之间共同出现的事件,提取按照时间序列的顺序结合了所取出的事件而得到的一定长度以上的事件序列作为共同事件序列,从多个所述共同事件序列之间相似的所述共同事件序列,提取由出现频度高的事件之间的关系构成的代表事件序列作为检测用事件序列;以及检测步骤,在判定为通过所述序列生成步骤生成的基于监视对象网络的通信的事件序列和通过所述检测用序列提取步骤提取的检测用事件序列匹配时,检测为该监视对象网络中存在恶意软件感染终端。

发明效果

根据本发明,减少监视对象NW中需要核对的模式,可以缩短核对所需时间,并且,可以减少失误检测监视对象NW中通常发生的通信的事情。

附图说明

图1是示出根据实施方式的检测装置的概要构成图。

图2是根据实施方式的监视对象NW分析结果例子示意图。

图3是根据实施方式的恶意软件通信分析结果例子示意图。

图4是根据实施方式的检测装置的构成例示意图。

图5是根据实施方式的共同事件序列例子示意图。

图6是根据实施方式的根据共同事件序列生成的事件序列曲线图例子示意图。

图7是根据实施方式的根据事件序列曲线图生成的简单路径例子示意图。

图8是根据实施方式的共同事件序列以及代表事件序列例子示意图。

图9是根据实施方式的事件核对部中的处理例子示意图。

图10是示出除外事件提取部的除外事件提取处理流程的流程图。

图11是示出事件序列生成部的事件序列生成处理流程的流程图。

图12是示出共同事件序列提取部的共同事件序列提取处理流程的流程图。

图13是示出代表事件序列提取部的代表事件序列提取处理流程的流程图。

图14是示出事件核对部以及候选判定部的候选判定处理流程的流程图。

图15是示出检测部的检测处理流程的流程图。

图16是示出事件核对部的核对处理流程的流程图。

图17是执行恶意软件感染终端的检测程序的计算机示意图。

具体实施方式

下面,基于附图详细说明根据本申请的恶意软件感染终端的检测装置、恶意软件感染终端的检测系统、恶意软件感染终端的检测方法以及恶意软件感染终端的检测程序的实施方式。需要说明的是,根据本申请的恶意软件感染终端的检测装置、恶意软件感染终端的检测系统、恶意软件感染终端的检测方法、恶意软件感染终端的检测程序并不限定于该实施方式。

[概要]

首先,利用图1,简要说明作为恶意软件感染终端的检测装置的检测装置100所进行的处理。图1是示出根据实施方式的检测装置100的概要构成图。如图1示出,检测装置100的处理通过检测装置100所具有的序列生成部130、检测用序列提取部140和检测部150执行。检测装置100根据在进行检测之前预先收集的监视对象NW(Network,网络)分析结果(序列提取用)和恶意软件通信分析结果,生成检测用事件序列,并且核对根据监视对象NW分析结果(检测用)生成的事件序列和检测用事件序列,从而检测监视对象NW中感染恶意软件的终端(主机)。

其中,监视对象NW分析结果(序列提取用以及检测用)中存储有具有识别监视对象NW内主机的识别符、事件、事件发生时刻的字段的数据。需要说明的是,事件是指在通信中能够确定出一定的特征时的捕捉到各种特征的事象。例如,通过分析记录在Firewall或WebProxy等中的装置日志包括与特定的通信目的地的通信的事象、在预先确定的时间内进行了一定次数以上的通信的事象,通过IDS(Intrusion Detection System:入侵检测系统)检测到恶意的数据发送的事象等相当于事件。即、监视对象NW中通信中的、与表征恶性通信的似然性较高的规则相匹配的事象相当于事件。检测装置100例如通过指定的外部装置进行与表征通信的规则是否匹配的分析,取得被判定为匹配规则的事件,作为监视对象NW分析结果。需要说明的是,恶意软件通信分析结果是将在沙盒等恶意软件执行环境等中实际执行恶意软件时的通信数据,从与取得上述的监视对象NW分析结果时相同的角度进行分析的结果。并且,事件序列是指针对监视对象NW的每个主机,按照时间序列排列监视对象NW分析结果的序列或者针对每个恶意软件样本,按照时间序列排列恶意软件通信分析结果的序列。

其中,利用图2示出了监视对象NW分析结果的一例。图2是根据实施方式的监视对象NW分析结果一例的示意图。如图2示出,针对监视对象NW内主机的各识别符检测到的事件以事件的种类与事件发生时刻相对应的方式存储。例如,在图2示出了通过“192.168.10.11”可识别的主机中,于“2014年10月15日12时20分12秒”发生了被称为“与特定的通信目的地的通信检测”的事件的例子。其次,利用图3示出了恶意软件通信分析结果的一例。图3是根据实施方式的恶意软件通信分析结果一例的示意图。如图3示出,对于针对每个恶意软件识别符检测的事件,也与监视对象NW分析结果相同地,以事件的种类和事件发生时刻相对应的方式存储。

下面,按照流程说明检测装置100进行的处理。检测装置100的序列生成部130具备除外事件提取部131以及事件序列生成部132,将监视对象NW分析结果和恶意软件通信分析结果作为输入,对于每一个生成事件序列。序列生成部130由事件生成按照该事件的发生顺序形成的事件序列,该事件是监视对象网络的通信以及恶意软件产生的通信中的与表征通信的规则匹配的事象,且是针对区分监视对象网络的终端或者恶意软件的识别符取得的。

具体地,除外事件提取部131在输入有监视对象NW分析结果(序列提取用)时,将该分析结果中在多个监视对象NW内的主机中确认到的事件设为除外事件。需要说明的是,通过设置除外事件提取部131可以降低误检率,但是,检测装置100还可以形成为不设置除外事件提取部131的结构。

事件序列生成部132生成由监视对象NW分析结果和恶意软件通信分析结果中的不符合除外事件的事件构成的事件序列。一般情况下,监视对象NW中被感染的终端还是少数,因此,可以判断为在多个主机中确认到的事件不是捕捉到恶意软件的通信特征的事件。因此,事件序列生成部132通过去除除外事件,从而能够在去除了可以确认为没有被恶意软件感染的终端的事件的情况下生成事件序列。即、根据事件序列生成部132,能够减少感染终端检测中的误检。

并且,对于同一主机或者同一恶意软件的事件,事件序列生成部132根据事件的发生间隔在一定时间以内的事件,生成一个事件序列。即、事件序列生成部132通过划分与恶意软件的动作相关联的一系列事象,生成事件序列。而且,事件序列生成部132排除同一主机或者同一恶意软件的事件中重复的事件之后生成事件序列。

例举具体例子来说明事件序列生成部132的处理。例如,作为某一个主机的分析结果,按照“ABCABCAA”的顺序确认出事件A、事件B、事件C。例如,事件A是表示访问某一个特定的服务器的事件,事件B是表示从某一个特定的服务器下载文档的事件,事件C是表示基于事件B中下载的文档访问规定的服务器的事件。这时,事件序列生成部132从“ABCABCAA”的一系列事件中排除重复的事件。即、事件序列生成部132根据“ABCABCAA”,作为事件序列生成“ABC”。换言之,事件序列生成部132将某一个主机的事件按照发生时刻早到晚的顺序依次作为事件序列的元素进行添加,被确认为第二次之后的事件不添加于事件序列。

由此,即使在由于恶意软件的执行时机或来自C&C(Command and Control:指令和控制)服务器的指令等而发生反复的通信时,事件序列生成部132也能够生成吸取了反复次数差的事件序列。即、根据事件序列生成部132,能够实现后述的检测处理中的精度提高。

接着,说明检测装置100的检测用序列提取部140的处理。检测用序列提取部140具备共同事件序列提取部141、代表事件序列提取部142、事件核对部143以及候选判定部144,并且,基于序列生成部130生成的事件序列,提取检测用事件序列。

检测用序列提取部140在基于恶意软件产生的通信的事件序列之间的相似度在一定程度以上的各事件序列形成的类群中,取出在属于同一类群的事件序列之间共同出现的事件,提取按照时间序列的顺序结合了所取出的事件而得到的一定长度以上的事件序列作为共同事件序列,从多个共同事件序列之间相似的共同事件序列,提取由出现频度高的事件之间的关系构成的代表事件序列作为检测用事件序列。

具体地,共同事件序列提取部141在算出根据恶意软件通信分析结果提取的事件序列之间的相似度后进行聚类(clustering)。之后,共同事件序列提取部141在具有一定程度以上的相似度的各事件序列中,参照顺序提取在各事件序列之间共同确认到的事件,作为共同事件序列。

代表事件序列提取部142从共同事件序列提取部141提取到的共同事件序列中的相似的共同事件序列提取由出现频度高的事件之间的关系构成的代表事件序列,作为检测用事件序列候选。需要说明的是,在后面说明详细的代表事件序列的提取方法。

事件核对部143核对监视对象NW分析结果(序列提取用)的事件序列和检测用事件序列候选,算出各检测用事件序列候选可将监视对象NW内的主机检测到哪种程度。事件核对部143在将第一匹配率和第二匹配率相乘的值在规定的阈值以上时,判定为判定对象事件序列和检测用事件序列候选匹配,其中,第一匹配率是基于监视对象网络的通信的事件序列、即判定对象事件序列与检测用事件序列候选的匹配部分的长度与检测用事件序列候选的长度之比,第二匹配率是检测用事件序列候选的长度与检测用事件序列候选所属类群中的最长的共同事件序列的长度之比。

基于事件核对部143算出的各检测用事件序列候选的检测主机数,在检测主机数相对于监视对象NW的主机总数的比在一定以下时,候选判定部144输出检测用事件序列候选,作为检测用事件序列。

接着,说明检测装置100的检测部150的处理。检测部150具备事件核对部151以及检测结果输出部152,检测监视对象NW内的恶意软件感染终端。当判定为通过序列生成部130生成的基于监视对象网络的通信的事件序列和通过检测用序列提取部140提取到的检测用事件序列匹配时,检测部150检测为该监视对象网络中存在恶意软件感染终端。

具体地,与检测用序列提取部140的事件核对部143相同地,事件核对部151核对根据监视对象NW分析结果(检测用)生成的事件序列和检测用事件序列是否匹配。事件核对部151在将第一匹配率和第二匹配率相乘的值在规定的阈值以上时,判定为判定对象事件序列和检测用事件序列匹配,其中,第一匹配率是基于监视对象网络的通信的事件序列、即判定对象事件序列与检测用事件序列的匹配部分的长度与检测用事件序列的长度之比,第二匹配率是检测用事件序列的长度与检测用事件序列所属类群中的最长的共同事件序列的长度之比。

检测结果输出部152输出事件核对部151中的核对的结果、判定为与检测用事件序列匹配的主机信息。主机信息是指例如监视对象NW内的终端的IP(Internet Protocol:互联网协议)地址等。

这样,检测装置100根据监视对象NW分析结果(序列提取用)和恶意软件通信分析结果生成检测用事件序列,核对根据监视对象NW分析结果(检测用)生成的事件序列和检测用事件序列,从而检测监视对象NW中被感染到恶意软件的终端。

如上所述,根据实施方式的检测装置100,仅利用检测用事件序列进行感染终端的检测,该检测用事件序列是从多个恶意软件的通信中的、表征恶意软件的共同特征的时间序列模式中进一步作为代表性的时间序列模式选择的。因此,根据检测装置100,减少监视对象NW中需要核对的模式,能够减少核对所需时间。而且,检测装置100将预先排除了监视对象NW中可观察到的事件和事件的时间序列的检测用事件序列用于处理,所以能够减少失误检测监视对象NW中通常发生的通信的情况。

需要说明的是,检测装置100在生成检测用事件序列时,可以不使用监视对象NW分析结果(序列提取用),仅使用恶意软件通信分析结果。并且,对于检测装置100的处理的详细内容将在后面利用流程图进行说明。

[检测装置的构成]

其次,利用图4说明根据实施方式的检测装置100。图4是根据实施方式的检测装置100的构成例示意图。

如图4中示出例子,根据实施方式的检测装置100具有IF(interface:界面)部110、事件序列存储部120、检测用事件序列存储部121、序列生成部130、检测用序列提取部140以及检测部150。

IF部110是例如NIC(Network Interface Card:网络接口卡)等,与外部装置之间收发各种数据。例如,IF部110作为监视对象NW分析结果,接收对设在监视对象NW的Firewall或WebProxy的装置日志等进行分析的结果。

事件序列存储部120以及检测用事件序列存储部121通过例如,RAM(RandomAccess Memory:随机存取存储器)、闪存(Flash Memory)等半导体存储器器件、或者硬盘、光盘等实现。事件序列存储部120以及检测用事件序列存储部121适当地存储序列生成部130、检测用序列提取部140、检测部150处理的信息。

例如,事件序列存储部120存储序列生成部130生成的事件序列。并且,检测用事件序列存储部121存储检测用序列提取部140提取的检测用事件序列。需要说明的是,检测装置100不需要将事件序列存储部120或者检测用事件序列存储部121作为构成元素。例如,检测装置100还可以利用进行与事件序列存储部120或者检测用事件序列存储部121相同的处理的外部存储装置。

序列生成部130、检测用序列提取部140以及检测部150通过例如ASIC(Application Specific Integrated Circuit:专用集成电路)或FPGA(FieldProgrammable Gate Array:现场可编程门阵列)等集成电路实现。并且,序列生成部130、检测用序列提取部140以及检测部150通过例如CPU(Central Processing Unit:中央处理器)或MPU(Micro Processing Unit:微处理单元)等以RAM作为操作区域执行存储在未图示的存储装置中的程序来实现。

序列生成部130具备除外事件提取部131以及事件序列生成部132,将监视对象NW分析结果和恶意软件通信分析结果作为输入,为每个生成事件序列。当输入有监视对象NW分析结果(序列提取用)时,除外事件提取部131将该分析结果中在多个监视对象NW内的主机中确认到的事件设为除外事件。具体地,除外事件提取部131取得包含在输入的监视对象NW分析结果(序列提取用)中的监视对象NW内主机总数和包括规定的事件的主机数。接着,除外事件提取部131基于包括规定的事件的主机数与主机总数之比,当包括规定的事件的主机超过一定的比时,将规定的事件设为除外事件。由此,除外事件提取部131能够仅通过排除了在多个主机中进行的一般的处理的事件生成事件序列。

事件序列生成部132生成由监视对象NW分析结果和恶意软件通信分析结果中不属于除外事件的事件构成的事件序列。具体地,事件序列生成部132作为输入,取得监视对象NW分析结果或者恶意软件通信分析结果中不属于除外事件的事件。这时,事件序列生成部132记录读入的事件的事件发生时刻。之后,事件序列生成部132判断所记录的事件发生时刻与紧前读入的事件发生时刻是否隔开一定时间以上。之后,当事件发生时刻与紧前事件时刻没有隔开一定时间以上时,事件序列生成部132推测该事件是与之前的事件同一事件序列的元素,将成为判定对象的各事件作为事件序列生成。这样,事件序列生成部132根据排除了一般性处理后的事件来生成事件序列,所以能够减少感染终端的检测中的误检。

检测用序列提取部140具备共同事件序列提取部141、代表事件序列提取部142、事件核对部143以及候选判定部144,基于序列生成部130生成的事件序列,提取检测用事件序列。

共同事件序列提取部141从序列生成部130生成的事件序列提取共同事件序列。具体地,共同事件序列提取部141在算出从恶意软件通信分析结果提取的事件序列之间的相似度后进行聚类,在具有一定程度以上的相似度的各事件序列中,参照顺序提取在各事件序列之间共同确认出的事件。之后,当按照时间序列的顺序排列事件时可共同确认出的事件的长度长于预先确定的长度时,共同事件序列提取部141将由共同确认出的事件构成的事件序列作为共同事件序列。

代表事件序列提取部142从共同事件序列提取部141提取的共同事件序列中相似的共同事件序列提取由出现频度高的事件之间的关系构成的代表事件序列,作为检测用事件序列候选。具体地,代表事件序列提取部142根据共同事件序列生成以事件为节点、以事件之间的发生顺序为边、以事件的前后关系出现次数为边分量的有向图,为有向图的每个简单路径(Simple path)计算权重的总和,将表示最大权重的简单路径作为代表事件序列。

首先,利用图5,说明提取代表事件序列的共同事件序列的例子。图5示出了分别从一个类群提取的多个共同事件序列。并且,图5的标签表示事件。而且,图5的事件之间的箭头表示事件发生顺序。并且,图5的共同事件序列1、4以及5是完全相同的事件序列,所以可以在归一化为一个事件序列后进行代表事件序列的提取。

其中,如图5示出,有时某一个共同事件序列被表示为其它共同事件序列的一部分。例如,图5的共同事件序列1的“ABCD”共同事件序列被表示为共同事件序列2以及3的一部分。并且,有时某一个共同事件序列的一部分事件被替换后成为其它共同事件序列。例如,有时存在将“ABC1EF”的共同事件序列中的“1”替换为“2”或者“3”的“ABC2EF”和“ABC3EF”。

以同一类群内的共同事件序列中存在如上所述的相似的序列为前提,说明代表事件序列提取部142中的代表事件序列的提取方法。首先,代表事件序列提取部142指定成为提取对象的类群,根据包含在所指定的类群中的共同事件序列生成事件序列曲线图。其中,事件序列曲线图是以事件为节点、以事件的前后关系为边、以事件的前后关系的出现次数为边分量的有向图。代表事件序列提取部142在事件序列曲线图的前头以及末尾赋予表示其意思的节点。

利用图6,说明事件序列曲线图的具体例子。图6是根据实施方式的根据共同事件序列生成的事件序列曲线图例子示意图。如图6示出,代表事件序列提取部142将事件表示为节点,将表示事件发生的顺序箭头表示为边,将事件的前后关系的出现次数表示为边分量。并且,具有“START”标签的节点11表示事件序列曲线图的前头。另外,具有“END”标签的节点18表示事件序列曲线图的末尾。

首先,如图7示出,代表事件序列提取部142生成事件序列曲线图之后,取出从事件序列曲线图的起点到终点的简单路径。图7是根据实施方式的根据事件序列曲线图生成的简单路径一例示意图。其次,代表事件序列提取部142判断针对取出的各简单路径是否可以取出代表事件序列。在后面详细说明代表事件序列提取部142提取代表事件序列的流程。

这时,代表事件序列提取部142可以将事件的前后关系的出现次数在一定数以上的事件作为有向图的节点。例如,在图7的例子中,将一定次数设为2时,节点17的前后关系的出现次数是1,未在一定次数以上,所以不会包含在事件序列曲线图的节点。

首先,对于各简单路径,代表事件序列提取部142将曲线图的前头为“事件(前)”,将下一个事件为“事件(后)”。其次,代表事件序列提取部142将跳过标志设为伪,并将代表事件序列的权重初始化为0。之后,代表事件序列提取部142判断“事件(前)”与“事件(后)”之间的发生次数除以成为事件序列曲线图基础的共同事件序列的个数的值是否在预先设定的阈值以上。

第一,说明当“事件(前)”与“事件(后)”之间的发生次数除以成为事件序列曲线图基础的共同事件序列的个数的值在预先设定的阈值以上的情况。这种情况下,代表事件序列提取部142判定跳过标志是否为真。当跳过标志为真时,代表事件序列提取部142将“事件(前)”选为代表序列的元素,并且将跳过标志设为伪。之后,将“事件(后)”选为代表事件序列的元素,将“事件(前)”和“事件(后)”的发生次数添加在该代表事件序列的权重中。需要说明的是,在第一次时,跳过标志一定是伪,但是,对于各事件反复进行这样的处理,所以第二次之后起有可能存在跳过标志为伪的情况和为真的情况两种。

第二,说明当“事件(前)”与“事件(后)”之间的发生次数除以成为事件序列曲线图基础的共同事件序列的个数的值小于预先设定的阈值的情况。这种情况下,代表事件序列提取部142将跳过标志设为真。

之后,当“事件(后)”与曲线图的终点一致时,代表事件序列提取部142执行下一个简单路径的判定。当与终点不一致时,代表事件序列提取部142重新设定,将“事件(后)”作为“事件(前)”,而且将“事件(后)”下一个事件设为新的“事件(后)”,继续处理。之后,代表事件序列提取部142在实施所有的简单路径的判定之后,输出各代表事件序列中权重最大的代表事件序列,作为该类群的代表事件序列。需要说明的是,当权重最大的代表事件序列存在多个时,代表事件序列提取部142可以输出其全部作为代表事件序列,还可以输出包含在代表事件序列中的事件数量最多或最少的代表事件序列。而且,当代表事件序列长度与属于类群的共同事件序列长度的最大值的比小于预先确定的值时,代表事件序列提取部142还可以将共同事件序列作为代表事件序列。

利用图7,例举具体例子说明代表事件序列提取部142提取代表事件序列的流程。首先示出对于简单路径10a进行判定的例子。首先,代表事件序列提取部142将节点11a设为“事件(前)”,节点12a设为“事件(后)”。其次,代表事件序列提取部142将跳过标志设为伪,将阈值设为0.3,并且将代表事件序列的权重初始化为0。之后,表示节点11a与节点12a之间的发生次数的边21a的权重为5,其除以成为事件序列曲线图基础的共同事件序列的个数5的值是1,所以代表事件序列提取部142判定为算出的值在阈值以上。

之后,由于跳过标志是伪,所以代表事件序列提取部142不会将节点11a选定为代表序列的元素,不会将跳过标志从伪进行变更。之后,代表事件序列提取部142将节点12a选定为代表事件序列的元素,并且将表示节点11a与节点12a的发生次数的边21a的权重5添加在该代表事件序列的权重中。

接着,代表事件序列提取部142对于节点12a与节点13a、节点13a与节点14a、节点14a与节点15a重复相同的处理。之后,代表事件序列提取部142将节点15a设为“事件(前)”,将节点18a设为“事件(后)”。其次,表示节点15a与节点18a之间的发生次数的边25a的权重是3,并且其除以成为事件序列曲线图基础的共同事件序列的个数5的值是0.6,所以代表事件序列提取部142判定为算出的值在阈值以上。

之后,将作为“事件(后)”的节点18a选定为代表事件序列的元素,并且将表示作为“事件(前)”的节点15a与作为“事件(后)”的节点18a的发生次数的边25a的权重3添加到该代表事件序列的权重中。之后,“事件(后)”与曲线图的终点、即节点18a一致,所以代表事件序列提取部142结束简单路径10a的判定,实施下一个简单路径的判定。这时,代表事件序列的权重中添加有边21a、22a、23a、24a以及25a的权重,简单路径10a的权重总和变为23。这时,从简单路径10a提取到的代表事件序列是“ABCD”。

其次,示出对简单路径10b进行判定的例子。首先,代表事件序列提取部142将节点11b设为“事件(前)”,将节点12b设为“事件(后)”。其次,代表事件序列提取部142将跳过标志设为伪,将阈值设为0.3,并且将代表事件序列的权重初始化为0。之后,表示节点11b与节点12b的之间的发生次数的边21b的权重是5,将其除以成为事件序列曲线图基础的共同事件序列的个数5的值是1,所以代表事件序列提取部142判定为算出的值在阈值以上。

之后,由于跳过标志是伪,所以代表事件序列提取部142不会将节点11b选定为代表序列的元素,不会将跳过标志从伪进行变更。之后,代表事件序列提取部142将节点12b选定为代表事件序列的元素,并且将表示节点11b与节点12b的发生次数的边21b的权重5添加在该代表事件序列的权重中。

接着,代表事件序列提取部142对于节点12b与节点13b、节点13b与节点14b、节点14b与节点15b、节点15b与节点16b重复相同的处理。之后,代表事件序列提取部142将节点16b设为“事件(前)”,将节点18b设为“事件(后)”。其次,表示节点16b与节点18b之间的发生次数的边27b的权重是1,将其除以成为事件序列曲线图基础的共同事件序列的个数5的值是0.2,所以代表事件序列提取部142判定为算出的值小于阈值,将跳过标志变更为真。这种情况下,代表事件序列提取部142将表示作为“事件(前)”的节点16b和作为“事件(后)”的节点18b的发生次数的边27b的权重1不会添加到该代表事件序列的权重。

在这里,“事件(后)”与曲线图的终点、即节点18b不一致,所以代表事件序列提取部142重新设定,将作为“事件(后)”的节点16b设为“事件(前)”,而且将作为“事件(后)”下一个事件的节点18b设为新的“事件(后)”,继续处理。

之后,“事件(后)”与曲线图的终点、即节点18b一致,所以代表事件序列提取部142结束简单路径10b的判定,实施下一个简单路径的判定。这时,代表事件序列的权重中添加有边21b、22b、23b、24b以及26b的权重,简单路径10b的权重总和为22。这时,从简单路径10b提取的代表事件序列是“ABCD1”。

其次,示出对于简单路径10c进行判定的例子。首先,代表事件序列提取部142将节点11c设为“事件(前)”,将节点12c设为“事件(后)”。其次,代表事件序列提取部142将跳过标志设为伪,将阈值设为0.3,并且将代表事件序列的权重初始化为0。之后,表示节点11c与节点12c之间的发生次数的边21c的权重是5,将其除以成为事件序列曲线图基础的共同事件序列的个数5的值是1,所以代表事件序列提取部142判定为算出的值在阈值以上。

之后,由于跳过标志为伪,所以代表事件序列提取部142不会将节点11c选定为代表序列的元素,不会将跳过标志从伪进行变更。之后,代表事件序列提取部142将节点12c选定为代表事件序列的元素,并且将表示节点11c与节点12c的发生次数的边21c的权重5添加到该代表事件序列的权重中。

接着,代表事件序列提取部142对于节点12c与节点13c、节点13c与节点14c、节点14c与节点15c、节点15c与节点16c重复相同的处理。之后,代表事件序列提取部142将节点16c设为“事件(前)”,将节点17c设为“事件(后)”。其次,表示节点16c与节点17c之间的发生次数的边28c的权重是1,将其除以成为事件序列曲线图基础的共同事件序列的个数5的值是0.2,所以代表事件序列提取部142判定为算出的值小于阈值,将跳过标志变更为真。这种情况下,代表事件序列提取部142将表示作为“事件(前)”的节点16c与作为“事件(后)”的节点17c的发生次数的边28c的权重1不会添加到该代表事件序列的权重中。

在这里,“事件(后)”与曲线图的终点、即节点18c不一致,所以代表事件序列提取部142重新设定,将作为“事件(后)”的节点17c设为“事件(前)”,而且将作为“事件(后)”下一个事件的节点18c设为新的“事件(后)”,继续处理。

之后,表示作为“事件(前)”的节点17c与作为“事件(后)”的节点18c之间的发生次数的边29c的权重是1,将其除以成为事件序列曲线图基础的共同事件序列的个数5的值是0.2,所以代表事件序列提取部142判定为算出的值小于阈值,不会将跳过标志从真进行变更。这种情况下,代表事件序列提取部142将表示作为“事件(前)”的节点17c与作为“事件(后)”的节点18c的发生次数的边29c的权重1不会添加到该代表事件序列的权重中。

之后,“事件(后)”与曲线图的终点、即节点18c一致,所以代表事件序列提取部142结束简单路径10c的判定。这时,代表事件序列的权重中添加有边21c、22c、23c、24c以及26c的权重,简单路径10c的权重总和是22。这时,从简单路径10c提取的代表事件序列是“ABCD1”。

之后,代表事件序列提取部142比较从简单路径10a、10b以及10c提取的代表事件序列的权重总和,得到从简单路径10a提取的代表事件序列的权重总和为23,从简单路径10b以及10c提取的代表事件序列的权重总和是22。从而,代表事件序列提取部142将从权重总和最大的简单路径10a提取的代表事件序列“ABCD”选定为该类群的代表事件序列。

需要说明的是,当代表事件序列的长度与同一类群中最长的共同事件序列的长度的比小于规定的值时,代表事件序列提取部142可以将该类群的所有共同事件序列作为代表事件序列。例如,当规定的值设为0.5,代表事件序列是“AB”,同一类群中存在最长的共同事件序列“ABCDE”时,代表事件序列的长度与最长的共同事件序列的长度的比是0.4,小于规定的值,所以将包括共同事件序列“ABCDE”在内的所有的共同事件序列作为代表事件序列。即、代表事件序列的长度与共同事件序列的最大长度的比小于规定的值时,判断为无法构建代表该类群的共同事件序列的事件序列,从而将共同事件序列作为代表事件序列。

这样,根据代表事件序列提取部142,将事件序列进行聚类,将共同的事件作为代表事件序列的元素,从而即使是发生了进行相似动作的恶意软件的亚种的情况下,在能够从通信中观察到代表共同特征的特征时,通过同一事件序列即可实施检测部150的判定。即、根据代表事件序列提取部142,即使是频繁发生恶意软件的亚种的状况下,也没有必要准备很多用于检测的事件序列,所以能够实现检测处理的效率化并且广范围内应对恶意软件的亚种。而且,检测装置100仅使用代表性的共同事件序列的事件序列,减少进行核对判定的事件序列的数量,能够缩短处理时间。

事件核对部143核对监视对象NW分析结果(序列提取用)的事件序列与检测用事件序列候选,算出各检测用事件序列候选将监视对象NW内的主机可检测到哪种程度。具体地,事件核对部143作为输入取得由序列生成部130生成的监视对象NW分析结果(序列提取用)的事件序列和代表事件序列提取部142提取的检测用事件序列候选。之后,事件核对部143核对双方的事件序列,算出与被判定为匹配的监视对象NW分析结果(序列提取用)对应的主机数。之后,事件核对部143作为输出将算出的主机数输出到候选判定部144。

在这里,利用图8以及图9说明事件核对部143中的检测用事件序列候选与监视对象NW的序列的匹配判定方法。图8是根据实施方式的共同事件序列以及代表事件序列的一例示意图。图9是根据实施方式的事件核对部中的处理例子示意图。在这里,如图8示出,在代表事件序列提取部142中,从三个共同事件序列提取出代表事件序列“ABD”的情况为例进行说明。需要说明的是,如上所述,在后面的说明中,检测用事件序列候选是指代表事件序列提取部142提取的代表事件序列。

在这里,假设事件核对部143将用于判定为以作为监视对象NW分析结果的序列与检测用事件序列候选的最长共同子序列(LCS:Longest Common Subsequence:)与检测用事件序列候选的长度之比的匹配率匹配的阈值设为例如0.8。图9的(a)是分析监视对象NW后得到的序列。首先,如图9的(b)示出,观察将共同事件序列作为检测用事件序列候选进行了判定时的与监视对象NW的序列的匹配率时,不管哪种情况均为3/4、即、0.75。如上所述,判定为匹配的匹配率是0.8,所以事件核对部143不会判定为共同事件序列与监视对象NW的序列匹配。

其次,如图9的(c)示出,当利用检测用事件序列候选进行了检测时,与监视对象NW的序列的匹配率是3/3、即、1.0,所以事件核对部143判定为代表事件序列与监视对象NW匹配。这时,当“ABD”模式本身无法表示恶意软件感染的特征,而在“B”与“D”之间包括“1”“2”“3”等时可以表示恶意软件感染的特征时,事件核对部143的利用代表事件序列的判定有可能变成误判。

为了防止上述的误判,事件核对部143基于下式再次计算匹配率。

第一匹配率=检测用事件序列候选与监视对象NW的序列的LCS长度/检测用事件序列候选的序列长度

第二匹配率=检测用事件序列候选的序列长度/选定检测用事件序列候选的类群内的最长的共同事件序列长度

匹配率=第一匹配率×第二匹配率

在图9的例子,第一匹配率是3/3,第二匹配率是3/4,所以匹配率是3/4、即0.75,事件核对部143判定检测用事件序列候选与监视对象NW的序列不匹配。需要说明的是,事件核对部143中的判定方法并不限定于在这里说明的方法,还可以是不利用第二匹配率,将第一匹配率作为匹配率的方法。

候选判定部144基于事件核对部143算出的每个检测用事件序列候选的检测主机数,当检测主机数与监视对象NW的主机总数的比在一定以下时,作为检测用事件序列,输出检测用事件序列候选。具体地,候选判定部144在通过事件核对部143判定为事件序列匹配的检测用事件序列候选的检测主机数除以监视对象NW的主机总数,从而算出每个事件序列的检测主机比。之后,候选判定部144输出检测用事件序列候选中检测主机比在一定以下的事件序列,作为检测用事件序列。由此,与除外事件提取部131的处理相同地,鉴于一般情况下监视对象NW中被感染恶意软件的终端还是少数,候选判定部144可以预先从检测用事件序列排除导致误检的事件序列。因此,根据候选判定部144的处理,能够降低监视对象NW中检测感染终端时的误检。

检测部150具备事件核对部151以及检测结果输出部152,检测监视对象NW内的恶意软件感染终端。具体地,事件核对部151核对监视对象NW分析结果(检测用)与检测用事件序列的各事件序列是否匹配。之后,检测结果输出部152输出事件核对部151中的核对结果、被判定为与检测用事件序列匹配的主机信息。换句话说,针对被判定为与签名的检测用事件序列匹配的主机,认为是恶意软件感染终端的可能性较高,检测结果输出部152输出能够识别被判定为与检测用事件序列匹配的主机的信息,从而检测恶意软件感染终端。需要说明的是,在事件核对部151中,可以采用与事件核对部143相同的判定方法。这时,事件核对部143中的检测用事件序列候选,在事件核对部151中替换为检测用事件序列。

[处理流程]

其次,详细说明上述的检测装置100的检测处理流程。

(除外事件提取处理)

首先,利用图10,说明除外事件提取部131执行的除外事件提取处理。图10是示出根据实施方式的除外事件提取部131的除外事件提取处理流程的流程图。

如图10示出,除外事件提取部131作为输入读入监视对象NW分析结果(序列提取用)(步骤S101)。之后,除外事件提取部131取得监视对象NW内的主机数(步骤S102)。其中,对于监视对象NW的主机数,如果预先掌握了存在于监视对象NW的主机数时,可以使用该数,还可以将出现在监视对象NW分析结果(序列提取用)中的主机数视为监视对象NW的主机数。换句话说,监视对象NW内的主机数是指监视对象NW内可观测到的主机总数,观测到预先存在的主机总数时可以应用该主机总数,当主机总数不清楚时,可以应用通过监视对象NW分析结果(序列提取用)可观测到的主机的总数。

接着,除外事件提取部131判定对于包含在读入的监视对象NW分析结果(序列提取用)中的所有事件是否执行了判定是否设为除外事件的处理(步骤S103)。当判定为对于所有的事件执行了处理时,结束除外事件提取处理(步骤S103肯定)。

另一方面,当判定为没有对所有的事件执行了处理时(步骤S103否定),除外事件提取部131继续执行除外事件提取处理。这时,除外事件提取部131在某一个事件中检测到的主机数除以监视对象NW的主机数,取得事件的检测比(步骤S104)。

之后,除外事件提取部131判定检测比是否大于预先指定的值(步骤S105)。当判定为检测比大于预先指定的值时(步骤S105肯定),除外事件提取部131将作为判定对象的该事件设为除外事件(步骤S106)。另一方面,当判定为检测比不大于预先指定的值时(步骤S105否定),除外事件提取部131不将该事件设为除外事件,继续执行对于不同的事件的处理(进入步骤S103)。

这样,除外事件提取部131判定为在多个主机中确认到的事件并不是仅捕捉到恶意软件的通信特征的事件,提取该事件,设为除外事件。由此,除外事件提取部131能够降低感染终端的检测处理中的误检。

(事件序列生成处理)

其次,利用图11,说明事件序列生成部132执行的事件序列生成处理。图11是示出事件序列生成部132的事件序列生成处理流程的流程图。

如图11示出,事件序列生成部132判定对于监视对象NW分析结果(序列提取用以及检测用)和恶意软件通信分析结果的事件序列生成处理,是否处理完所有主机或者恶意软件的分析结果(步骤S201)。当判定为执行了所有的处理时,结束事件序列生成处理(步骤S201肯定)。

另一方面,当判定为没有处理完所有主机或者恶意软件的分析结果时(步骤S201否定),事件序列生成部132指定读入分析结果的主机或者恶意软件(步骤S202)。事件序列生成部132在从监视对象NW分析结果提取事件序列时,针对监视对象NW内的每个主机进行事件序列的生成。其中,识别主机时例如利用主机的IP地址。并且,事件序列生成部132在根据恶意软件通信分析结果生成事件序列时,为每个恶意软件进行事件序列的生成。其中,识别恶意软件时例如利用恶意软件的哈希值。需要说明的是,监视对象NW分析结果以及恶意软件通信分析结果在确认到事件的时刻均已经被分类。

之后,事件序列生成部132在进行下面说明的处理之前,将紧前事件时刻以及事件序列(处理中)初始化(步骤S203)。

首先,事件序列生成部132判定是否处理完指定的主机或者恶意软件的分析结果(步骤S204)。当判定为处理完分析结果时(步骤S204肯定),事件序列生成部132判定是否存在没有作为事件序列输出的事件序列(即、生成处理中的事件序列)(步骤S205)。当存在没有作为事件序列输出的事件序列时(步骤S205肯定),事件序列生成部132作为事件序列输出处理中的事件序列(步骤S206)。

另一方面,当不存在没有作为事件序列输出的处理中的事件序列时(步骤S205否定),事件序列生成部132将处理转入步骤S201。

在步骤S204中,当判定为没有处理完分析结果时(步骤S204否定),事件序列生成部132读入指定的主机或者恶意软件的事件和事件发生时刻(步骤S207)。之后,事件序列生成部132判定读入的事件是否相当于除外事件(步骤S208)。当相当于除外事件时(步骤S208肯定),事件序列生成部132不将读入的事件加入事件序列,将处理转入步骤S204。需要说明的是,通过除外事件的提取以及除外处理可以降低误检率,但是,在事件序列生成处理中,还可以不进行除外事件的提取以及除外处理。

另一方面,当读入的事件相当于除外事件时(步骤S208否定),事件序列生成部132记录读入的事件的事件发生时刻(步骤S209)。之后,事件序列生成部132判定所记录的事件发生时刻是否与紧前事件时刻隔开一定时间以上(步骤S210)。

当事件发生时刻与紧前事件时刻隔开一定时间以上时(步骤S210肯定),读入的事件将会添加在与处理中的事件序列不同的事件序列中,所以事件序列生成部132作为事件序列输出处理中的事件序列(步骤S211)。这种情况下,事件序列生成部132进行所输出的事件序列(处理中)的初始化(步骤S212)。

在步骤S210中,当事件发生时刻与紧前事件时刻没有隔开一定时间以上时(步骤S210否定),事件序列生成部132将读入的事件的事件发生时刻设为紧前事件时刻(步骤S213)。换句话说,事件序列生成部132在事件发生时刻与紧前事件时刻没有隔开一定时间以上时,推测该事件是与之前的事件同一事件序列的元素,判定是否添加到事件序列(处理中)中(后述的步骤S214)。

之后,事件序列生成部132判定读入的事件是否包含在事件序列(处理中)中(步骤S214)。当读入的事件包含在事件序列(处理中)中时(步骤S214肯定),由于重复的事件不会添加到事件序列(处理中)中,所以事件序列生成部132将处理转入步骤S204。

另一方面,当读入的事件不包含在事件序列(处理中)中时(步骤S214否定),事件序列生成部132将该事件添加到事件序列(处理中)中(步骤S215)。之后,事件序列生成部132将处理转入步骤S204。

这样,事件序列生成部132在读入的事件属于除外事件时不会将该事件加入事件序列中。并且,事件序列生成部132记录事件发生的时刻,并且将该事件发生的时刻与之前的事件发生时刻进行比较,判定是否隔开一定时间以上。由此,事件序列生成部132生成事件序列以使由事件之间的发生间隔较短的事件形成一个事件序列。而且,事件序列生成部132判断事件序列(处理中)中是否包括处理对象的事件,在包括时,该事件不会添加到事件序列中。即、所生成的事件序列中不存在重复的事件。需要说明的是,鉴于监视对象NW分析结果以及恶意软件通信分析结果的特征,可以不进行事件序列(处理中)中是否添加重复的事件的判定(步骤S214)。例如,当在监视对象NW分析结果以及恶意软件通信分析结果中确认到的事件的种类较少时(例如,只有一种等时),不进行事件序列(处理中)中是否添加重复的事件的判定,可以将不属于除外事件的事件添加到所有事件序列(处理中)中。

(共同事件序列提取处理)

其次,利用图12说明共同事件序列提取部141执行的共同事件序列提取处理。图12是示出共同事件序列提取部141的共同事件序列提取处理流程的流程图。

如图12示出,共同事件序列提取部141作为处理对象读入从恶意软件通信分析结果提取的事件序列(步骤S301)。之后,共同事件序列提取部141生成事件序列之间的相似度矩阵,实施分层式聚类(步骤S302)。其中,生成相似度矩阵时,例如对于各事件分配能够唯一识别的文字,将事件序列视为文字列之后,计算事件序列之间的编辑距离,求出事件序列的相似度。

之后,共同事件序列提取部141在実施的分层式聚类中,将在预先设定的相似度以上的各事件序列设在同一类群中(步骤S303)。

其中,共同事件序列提取部141判定是否执行了所有的从类群提取共同事件序列的处理(步骤S304)。当判定为执行了所有的从类群提取共同事件序列的处理时(步骤S304肯定),结束共同事件序列提取部141的共同事件序列提取处理。

另一方面,当判定为没有执行所有的从类群提取共同事件序列的处理时(步骤S304否定),共同事件序列提取部141指定提取共同事件序列的类群(步骤S305)。

之后,共同事件序列提取部141提取同一类群内的各事件序列之间共同的子序列中的最长共同子序列(步骤S306)。之后,共同事件序列提取部141输出比预先确定的长度长的最长共同子序列作为共同事件序列(步骤S307)。

这样,共同事件序列提取部141在算出从恶意软件通信分析结果提取的事件序列之间的相似度后进行聚类。之后,共同事件序列提取部141在具有一定程度以上的相似度的各事件序列中,提取在各事件序列之间共同确认到的事件序列,作为共同事件序列。需要说明的是,在同一类群内仅存在单一的事件序列的情况下,在该事件序列的长度在一定程度以上时,共同事件序列提取部141作为共同事件序列输出该事件序列。并且,共同事件序列提取部141可以任意设定作为共同事件序列的事件序列的长度。例如,作为最小的事件序列长度,共同事件序列提取部141可以设定序列中包括两个以上的事件的情况。

(代表事件序列提取处理)

其次,利用图13说明代表事件序列提取部142执行的代表事件序列提取处理。图13是示出代表事件序列提取部的代表事件序列提取处理流程的流程图。

如图13示出,代表事件序列提取部142判定是否从所有的类群提取了代表事件序列(步骤S401)。当判定为从所有的类群提取了代表事件序列时,结束代表事件序列提取处理(步骤S401肯定)。

另一方面,当判定为未从所有的类群提取了代表事件序列时(步骤S401否定),代表事件序列提取部142指定取出代表事件序列的类群(步骤S402)。之后,代表事件序列提取部142根据所指定的类群的共同事件序列生成事件序列曲线图(步骤S403)。而且,代表事件序列提取部142提取从事件序列曲线图的起点到终点的简单路径(步骤S404)。

其次,代表事件序列提取部142判定是否结束了所有的简单路径的判定(步骤S405)。之后,当判定为实施了所有的简单路径的判定时(步骤S405肯定),代表事件序列提取部142作为该类群的代表事件序列输出代表事件序列中的权重最大的代表事件序列(步骤S406)。并且,当判定为没有实施所有的简单路径的判定时(步骤S405否定),代表事件序列提取部142选择特定对象的简单路径(步骤S407)。

代表事件序列提取部142在选择特定对象的路径后,将曲线图的前头的事件设为“事件(前)”,将下一个事件设为“事件(后)”,将跳过标志设为伪,而且将代表事件序列的权重初始化为0(步骤S408)。之后,代表事件序列提取部142判定“事件(前)”与“事件(后)”之间的发生频率是否在阈值以上(步骤S409)。其中,发生频率是指某一个“事件(前)”与“事件(后)”的关系在事件序列曲线图中出现的次数除以形成事件序列曲线图的共同事件序列的个数的值。而且,当判定为“事件(前)”与“事件(后)”之间的发生频率在阈值以上时(步骤S409肯定),代表事件序列提取部142判定跳过标志是否为真(步骤S410)。之后,当判定为跳过标志为真时(步骤S410肯定),代表事件序列提取部142将“事件(前)”选作代表事件序列的元素,并且将跳过标志设为伪(步骤S411)。

其次,代表事件序列提取部142将“事件(后)”选作代表事件序列的元素,并且将“事件(前)”与“事件(后)”之间的发生次数添加到代表事件序列的权重中(步骤S412)。并且,当判定为“事件(前)”与“事件(后)”之间的发生频率不在阈值以上时(步骤S409否定),代表事件序列提取部142将跳过标志设为真(步骤S413)。

之后,当“事件(后)”不是曲线图的终点时(步骤S414否定),代表事件序列提取部142将“事件(后)”设为“事件(前)”,将“事件(后)”下一个事件设为“事件(后)”(步骤S415)。并且,当“事件(后)”是曲线图的终点时(步骤S414肯定),代表事件序列提取部142判定是否实施了所有的路径的判定(步骤S405)。需要说明的是,将代表事件序列提取部142中最终输出的代表事件序列作为之后处理中的检测用事件序列候选。

这样,根据代表事件序列提取部142,将事件序列进行聚类,将共同的事件作为代表事件序列的元素,从而即使是发生了进行相似动作的恶意软件的亚种的情况下,在能够从通信中观察到代表共同特征的特征时,通过同一事件序列即可实施检测部150的判定。即、根据代表事件序列提取部142,即使是频繁发生恶意软件的亚种的状况下,也没有必要准备很多用于检测的事件序列,所以能够实现检测处理的效率化并且广范围内应对恶意软件的亚种。而且,检测装置100仅使用代表性的事件序列,减少进行核对判定的事件序列的数量,能够缩短处理时间。

(候选判定处理)

其次,利用图14说明事件核对部143以及候选判定部144执行的候选判定处理。图14是示出事件核对部143以及候选判定部144的候选判定处理流程的流程图。

如图14示出,事件核对部143作为检测对象事件序列取得监视对象NW分析结果(序列提取用)的事件序列(步骤S501)。并且,事件核对部143作为签名序列取得通过共同事件序列提取部141提取的检测用事件序列候选(步骤S502)。

之后,事件核对部143对于所取得的检测对象事件序列和签名序列执行事件核对处理(步骤S503)。需要说明的是,事件核对部143进行的事件核对处理与检测部150的事件核对处理相同,所以在后面详细说明。

接着,候选判定部144对通过事件核对处理判定为匹配的每个核对用事件序列的检测主机数除以监视对象NW的主机数,从而算出每个核对用事件序列的检测主机比(步骤S504)。其中,核对用事件序列是指从签名序列中选择的一个事件序列。即、候选判定部144为包含在签名序列中的每个事件序列算出检测主机比。之后,候选判定部144作为检测用事件序列,输出检测主机比在一定以下的核对用事件序列(步骤S505)。由此,结束事件核对部143以及候选判定部144执行的候选判定处理。

这样,候选判定部144基于通过事件核对部143核对出的每个检测用事件序列候选的检测主机数,在检测主机数相对于监视对象NW的主机总数的比在一定以下时,输出该检测用事件序列候选作为检测用事件序列。这一处理是与除外事件提取部131的处理相同地,鉴于一般情况下监视对象NW中被感染恶意软件的终端还是少数,用于预先从检测用事件序列排除导致误检的事件序列的处理。

即、假设监视对象NW中被恶意软件感染的终端较少时,本处理中判定为匹配的检测用事件序列候选可以视为一般的通信中也可以确认到的事件,并不只是恶意软件的通信中的,所以可以判断为当用于检测时容易引发误检的事件序列。因此,通过候选判定部144的处理,预先排除难以与一般的通信区分的恶意软件的通信的事件序列,从而可以降低检测部中的误检。在检测装置100中,例如,通过事件核对处理判定为匹配的每个核对用事件序列的检测主机数除以监视对象NW的主机数的结果可以是0,即、作为检测用事件序列,可以只输出没有利用检测用事件序列候选对监视对象NW分析结果(序列提取用)的事件序列进行检测的事件序列。由此,检测装置100可以抑制有可能导致误检的事件序列混入检测用事件序列中。

(检测处理)

其次,利用图15说明检测部150执行的检测处理。图15是示出检测部150的检测处理流程的流程图。

如图15示出,检测部150的事件核对部151取得监视对象NW分析结果(检测用)的事件序列作为检测对象事件序列(步骤S601)。并且,事件核对部151取得通过检测用序列提取部140提取的检测用事件序列作为签名序列(步骤S602)。之后,事件核对部151对于取得的检测对象事件序列和签名序列执行事件核对处理(步骤S603)。

接着,检测部150的检测结果输出部152将通过事件核对处理判定为匹配的主机判定为恶意软件感染主机,并将该结果作为检测结果输出(步骤S604)。由此,结束检测部150执行的检测处理。

这样,检测部150核对通过序列生成部130生成的监视对象NW分析结果(检测用)的事件序列和通过检测用序列提取部140提取的检测用事件序列。由此,检测部150可以核对预先排除了在监视对象NW中可观测到的事件或事件的时间序列的各事件序列,所以能够减少失误检测在监视对象NW中通常发生的通信的事象,检测恶意软件感染终端。

(核对处理)

其次,利用图16说明检测部150的事件核对部151执行的核对处理。图16是示出事件核对部151的核对处理流程的流程图。需要说明的是,检测用序列提取部140的事件核对部143也执行与下面说明的处理相同的处理。

如图16示出,事件核对部151取得监视对象NW分析结果(检测用)的事件序列,作为检测对象事件序列(步骤S701)。并且,事件核对部151取得通过检测用序列提取部140提取的检测用事件序列,作为签名序列(步骤S702)。

之后,事件核对部151判定是否判定了所有的检测对象事件序列(步骤S703)。当判定了所有的检测对象事件序列时(步骤S703肯定),结束事件核对部151的核对处理。

另一方面,当没有判定所有的检测对象事件序列时(步骤S703否定),事件核对部151从检测对象事件序列取得判定对象事件序列以及主机信息(步骤S704)。之后,事件核对部151基于取得的主机信息,判定是否对于成为检测对象的主机进行了与所有的签名序列的判定(步骤S705)。当与所有的签名序列进行了判定时(步骤S705肯定),事件核对部151将处理转入步骤S703。

另一方面,当没有与所有的签名序列进行判定时(步骤S705否定),事件核对部151从签名序列取得核对用事件序列(步骤S706)。之后,事件核对部151取得判定对象事件序列与核对用事件序列的最长共同子序列长度(步骤S707)。

接着,事件核对部151判断最长共同子序列长度除以核对用事件序列长度的值是否大于预先指定的值(步骤S708)。当大于预先指定的值时(步骤S708肯定),事件核对部151判定为判定对象事件序列与核对用事件序列匹配(步骤S709)。

另一方面,当不大于预先指定的值时(步骤S708否定),事件核对部151判定判定对象事件序列与核对用事件序列不匹配(步骤S710)。

之后,事件核对部151输出核对用事件序列、判定对象事件序列的主机信息、判定结果(步骤S711)。之后,事件核对部151将处理转入步骤S705。

这样,事件核对部151将基于恶意软件的特征性通信提取的事件序列作为签名序列,执行与成为检测对象的事件序列的核对处理。由此,检测装置100在误检较少的情况下检测出感染到具有相似的通信模式的恶意软件的终端。

需要说明的是,还可以通过具备监视对象NW内的终端装置和检测装置100的检测系统来实现与实施方式相同的处理。这种情况下,终端装置在监视对象NW中产生规定的事件,检测装置100取得每个终端装置的事件。并且,恶意软件感染终端的检测系统中还可以包括虚拟地产生恶意软件的通信的信息处理装置。这种情况下,包括在检测系统的检测装置100取得信息处理装置产生的事件,作为恶意软件分析结果。

[效果]

如上所述,根据实施方式的检测装置100,根据监视对象NW的通信以及恶意软件产生的通信中的事件中、针对用于区分监视对象NW的终端或者恶意软件的每个识别符取得的事件,生成按照该事件的发生顺序形成的事件序列,该事件是与表征通信的规则匹配的事象。之后,检测装置100算出基于恶意软件产生的通信的事件序列之间的相似度,将相似度在一定程度以上的每个事件序列设在同一类群,取出属于同一类群的事件序列之间共同出现的事件,提取将取出的事件按照时间序列的顺序结合的一定长度以上的事件序列,作为共同事件序列。而且,检测装置100从多个共同事件序列之间相似的共同事件序列,提取由出现频度高的事件之间的关系构成的代表事件序列作为检测用事件序列。之后,检测装置100在基于第一匹配率判定出事件序列之间匹配时,检测为监视对象NW中存在恶意软件感染终端,其中,第一匹配率是基于监视对象NW的通信的事件序列、即判定对象事件序列与检测用事件序列的匹配部分的长度与检测用事件序列的长度之比。

由此,根据实施方式的检测装置100,减少在监视对象NW中成为需要核对的模式的签名,能够减少核对所需时间。并且,检测装置100将基于恶意软件通信分析结果聚类的事件序列中、代表共同的事件序列的事件序列的集合作为检测用事件序列(签名),而不是将单一的恶意软件的通信作为签名。由此,除了已知的恶意软件之外,检测装置100还可以对进行与已知的恶意软件相似的通信的亚种的恶意软件也能够实施检测。

并且,检测装置100根据共同事件序列,生成将事件为节点,将事件之间的发生顺序为边,将事件的前后关系的出现次数为边权重的有向图。之后,检测装置100计算有向图的每个简单路径的权重总和,将表示最大权重的简单路径作为代表事件序列。由此,检测装置100从相似的共同事件序列可以提取到能够更加有效地进行检测的代表事件序列。

并且,检测装置100对于包括在有向图的简单路径中的边中、权重在规定的阈值以上的边,计算权重总和,并且将权重总和最大的简单路径设为代表事件序列。由此,检测装置100可以预先减少成为代表事件序列提取对象的事件,所以能够减少处理。

并且,检测装置100在代表事件序列的长度与同一类群中最长的共同事件序列的长度之比小于规定的值时,将同一类群中的共同事件序列作为代表事件序列。由此,当难以提取代表类群的事件序列时,能够防止生成出非常短的代表事件序列,能够降低误检。

并且,检测装置100在将第一匹配率和第二匹配率相乘的值在规定的阈值以上时,判定判定对象事件序列和检测用事件序列候选匹配,检测为监视对象网络中存在恶意软件感染终端,其中,第一匹配率是基于监视对象网络的通信的事件序列、即判定对象事件序列与检测用事件序列的匹配部分的长度与检测用事件序列的长度之比,第二匹配率是检测用事件序列的长度与检测用事件序列所属类群中的最长的共同事件序列的长度之比。

(构成等)

需要说明的是,附图中示出的各装置的各构成元素是功能概念性元素,物理构成不一定要构成为如附图示出的构成。即、各装置的分散以及综合的具体方式并不限定于附图,根据各种负荷或使用状况等,可以将其全部或一部分以任意单位功能性或物理性地分散或综合的构成。而且,在各装置中进行的各处理功能的全部或任意的一部分可以通过CPU以及通过该CPU解析后执行的程序来实现,或者,作为布线逻辑得到的硬件实现。

并且,在本实施方式中说明的各处理中,可以将解释为自动实现的处理的全部或一部分通过手动来实现,或者可以将解释为手动实现的处理的全部或者一部分通过公知的方法自动实现。除此之外,对于上述说明书或附图中示出的处理流程、控制流程、具体名称、各种包括数据或参数的信息,除了有特殊限定的之外,可以实施任意变更。

(程序)

并且,还可以将根据上述实施方式的检测装置100执行的处理制作成利用计算机可执行的语言描述的程序。这种情况下,通过计算机执行程序,从而可以得到与上述实施方式相同的效果。而且,还可以将该程序记录在计算机可读入的记录介质,使计算机读入并执行记录在该记录介质中的程序,从而实现与上述实施方式相同的处理。下面,说明执行实现与检测装置100相同功能的检测程序的计算机的一例。

图17是执行恶意软件感染终端的检测程序的计算机的示意图。如图17示出,计算机1000具有例如存储器1010、CPU(Central Processing Unit:中央处理单元)1020、硬盘驱动器接口1030、磁盘驱动器接口1040、串行接口1050、视频适配器1060以及网络接口1070。这些各部分通过总线1080连接。

存储器1010包括ROM(Read Only Memory:只读存储器)1011以及RAM(RandomAccess Memory:随机存取存储器)1012。ROM1011存储例如BIOS(BasicInput OutputSystem:基本输入输出系统)等启动程序。硬盘驱动器接口1030连接于硬盘驱动器1090。磁盘驱动器接口1040连接于磁盘驱动器1041。磁盘驱动器1041中插入例如磁盘或光盘等可装卸的记录介质。串行接口1050连接有例如鼠标1110以及键盘1120。视频适配器1060连接有例如显示器1130。

其中,如图17示出,硬盘驱动器1090中存储例如OS1091、应用程序1092、程序模块1093以及程序数据1094。在上述实施方式中说明的各信息存储在例如硬盘驱动器1090或存储器1010中。

并且,检测程序作为例如描述有计算机1000执行的指令的程序模块存储在硬盘驱动器1090中。具体地,描述在上述实施方式中说明的检测装置100执行的各处理的程序模块存储在硬盘驱动器1090。

并且,用于检测程序的信息处理中的数据作为程序数据存储在例如硬盘驱动器1090中。另外,CPU1020根据需要将存储在硬盘驱动器1090中的程序模块1093和程序数据1094读出到RAM1012,执行上述的各流程。

需要说明的是,检测程序涉及的程序模块1093和程序数据1094不限定于存储在硬盘驱动器1090的情况,例如,可以存储在可装卸的记录介质中,或者由CPU1020经由磁盘驱动器1041等读出。或者,检测程序涉及的程序模块1093和程序数据1094可以存储在经由LAN(Local Area Network:局域网)或WAN(Wide Area Network:广域网)等网络连接的其它计算机中,由CPU1020经由网络接口1070读出。

符号说明:

100:检测装置

130:序列生成部

131:除外事件提取部

132:事件序列生成部

140:检测用序列提取部

141:共同事件序列提取部

142:代表事件序列提取部

143:事件核对部

144:候选判定部

150:检测部

151:事件核对部

152:检测结果输出部

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号