网络交互行为模式提取及相似性分析方法

文档序号:7723968阅读:235来源:国知局

专利名称::网络交互行为模式提取及相似性分析方法
技术领域
:本发明涉及计算机网络安全领域,特别是一种网络活动实施者交互行为模式提取及不同网络活动实施者之间相似性分析的方法。
背景技术
:随着互联网的飞速发展,其开放性、交互性和分散性等特点满足了人们对于信息共享、开放、灵活和快速等需求。但同时,随着网络规模的不断扩大,网络上的攻击行为也变得越来越多,已经严重威胁到网络与信息的安全。互联网的安全现状中,攻击者与防御者之间在进行着一场不对称的博弈,特别是信息上的不对称。因此安全管理人员首先需要对攻击者有深入的了解,包括他们所掌握的攻击技术、技巧和战术,甚至心理和习惯等。因此一种新的安全技术一蜜罐逐渐开始发展起来。蜜罐系统就是针对传统网络防御只能进行被动防护这一不足提出的,其核心在于对攻击活动进行监视、检测和分析。部署蜜罐系统的目的就是让系统被攻击者探测、攻击并且甚至被攻陷,是用来对入侵者的攻击行为进行记录的监控和诱捕系统。通过对攻击者行为的记录分析可以获得攻击者的相关信息,从而掌握攻击者的攻击工具和攻击方法,推测攻击者的意图和动机,让网络管理者清晰地了解他们所面对的安全威胁,由此对重要防护目标采取有针对性的防御措施,同时也实现了对攻击来源的追踪等。因此蜜罐是与其他安全策略所不同的一种主动防御技术。目前,国内外对蜜罐的研究和应用正在持续进行,但是大部分集中在蜜罐的隐藏能力、捕获能力和对攻击流的控制能力上,而在对蜜罐捕获的信息分析方面的研究相对进展较慢,对数据的分析也仅仅是浅层的研究,包括根据攻击IP分类及根据已知攻击类型分类等,或者使用统计的方式挖掘出频繁攻击的模式。对于蜜罐系统捕获的网络活动实施者信息应该进行更加深入的挖掘,从而更好的了解攻击者的攻击行为的方式和技术,分析网络活动实施者的目的和网络活动实施者间的关系。这一点在国内外的一些研究中已有涉及2004年,Shi-JieSong等人将序列模式挖掘算法应用于误用入侵检测系统中,该系统能通过区分攻击行为的顺序来更加准确的定义一个攻击行为。2005年,BruceD等人提出在入侵检测系统中使用数据挖掘技术,其中包括关联规则挖掘、分类和聚类的应用是主要应用的算法。2005年,GuangXiang等人使用了数据挖掘技术中序列模式挖掘来进行对入侵警报进行关联,特别是对DDos攻击的警报进行关联,将大量警报关联成一个完整的攻击报告。由这些研究可见,近几年数据挖掘技术已经被应用到网络安全领域中,特别是在入侵检测方面得到了成功的应用,其核心的思想就是使用数据挖掘技术在大量的日志数据中挖掘出入侵者的行为模式和特征。然而,这些方法只是使用序列模式来检测攻击行为,当存在多个攻击来源时,这些方法无法分析不同来源之间的关系。
发明内容有鉴于此,本发明的目的在于提供一种网络交互行为模式提取及相似性分析的方法,用于对不同网络活动实施者行为的相似性进行分析,从而预判其目的,及时对网络攻击进行相应的应对。为实现上述目的,本发明提供了一种网络交互行为模式提取及相似性分析的方法,包括在蜜罐主机上对网络活动实施者的行为进行监控,将捕获的日志信息转发到日志服务器日志服务器根据日志信息中的源地址与进程信息将日志关联成属于特定的网络活动实施者的行为序列;对网络活动实施者行为序列进行序列模式挖掘前的预处理;对预处理后的网络活动实施者行为序列数据进行序列挖掘;进行网络活动实施者之间的相似性分析。本发明实施例采用网络活动实施者相似性分析的机制,在蜜罐系统的框架上,通过对蜜罐系统捕获的各种交互数据进行分析,使用数据挖掘中的序列模式技术,在大量复杂的日志记录中挖掘出网络活动实施者的行为特征序列模式,并且根据该行为特征序列模式来定义每一个曾经对蜜罐进行过可疑行为的网络活动实施者,对每个欲定义的网络活动实施者在向量空间中进行定义,并使用向量空间模型中的相似性分析原理对不同网络活动实施者之间的相似性进行定量分析。通过分析不同网络活动实施者间的相似性,可以对网络活动实施者进行更深层次的关联与研究,对于预判其目的,及时对网络攻击等行为进行相应的应对措施,以及对网络攻击取证都有一定的帮助。图1为本发明的实施例中由蜜罐主机和日志服务器组成的主从体系系统结构图;图2为本发明的实施例中网络交互行为模式提取与相似性分析的方法流程图3为本发明的实施例中将接收的日志信息按照网络活动实施者进行关联的方法流程图图4为本发明的实施例中网络活动实施者状态信息表的创建与维护方法流程图;图5为本发明的实施例中对蜜罐捕获的日志信息数据分组的结构图;图6为本发明的实施例中对攻击行为序列数据集进行滑动窗口切分后的结构图;图7为本发明的实施例中数据集的位图表示形式的结构图8为本发明的实施例中对图7所示数据集进行遍历挖掘序列模式的原理图。具体实施例方式本发明实施例采用一种网络活动实施者相似性分析的机制,在蜜罐系统的框架上,通过对蜜罐系统捕获的各种交互数据进行分析,使用数据挖掘中的序列模式技术,在大量复杂的日志记录中挖掘出网络活动实施者的行为特征序列模式,并且根据该行为特征序列模式来定义每一个曾经对蜜罐进行过可疑行为的网络活动实施者,对每个欲定义的网络活动实施者在向量空间中进行定义,并使用向量空间模型中的相似性分析原理对不同网络活动实施者之间的相似性进行定量分析。通过分析不同网络活动实施者间的相似性,可以对网络活动实施者进行更深层次的关联与研究,对于预判其目的,及时对网络攻击等行为进行相应的应对措施,以及对网络攻击取证都有一定的帮助。为使本发明的目的、技术方案和优点更加清楚,下面结合附图对本发明作进一步的详细描述。本实施例提供的网络活动实施者行为模式提取与相似性分析方法所基于的系统采用由蜜罐主机和日志服务器组成的主从体系结构,通过路由器将该系统与正常工作网络相连接,从而模拟成真实的主机网络,诱骗攻击者对蜜罐主机进行攻击。图l为该系统的结构图,其中,蜜罐主机主要完成模仿真实网络主机、诱捕网络活动实施者、记录网络活动实施者行为、将行为日志发送到日志服务器的功能。蜜罐主机本质与一台正常的网络上的主机没有差别,区别是在正常情况下,蜜罐主机上并不存在用户操作行为,因此一切网络上与蜜罐主机的交互行为以及对蜜罐主机的操作行为均可被认为是可疑的或者恶意的行为。日志服务器接收系统下所有的蜜罐主机的行为日志信息,根据来源IP与进程信息将日志关联成某个特定网络活动实施者的行为,对网络活动实施者行为序列进行序列模式挖掘,使用空间向量模型定义网络活动实施者并计算网络活动实施者间相似性。日志服务器一同时也作为防火墙一在整个系统中处于最前端,多个蜜罐主机作为网络结构中的节点,模拟真实的网络主机,诱捕攻击者的攻击行为,同时将捕获的所有数据通过网络发送到日志服务器。图2是本发明实施例中网络交互行为模式提取与相似性分析的方法流程图,具体包括以下步骤步骤201、在蜜罐主机上对网络活动实施者的行为进行监控。蜜罐主机的监控行为具体包括(1)、对蜜罐主机上的网络活动进行监控,对每项网络活动进行记录,记录内容包括:网络活动的进程ID(PID)、进程名(PName)、网络活动目的IP地址(DstIP)、网络活动目的端口号(DstPort)、网络活动来源IP地址(SrcIP)、网络活动来源端口号(SrcPort)、网络活动类型(Type)、网络活动副类型(ViceType)、网络数据包长(PayloadLeiigth)。(2)、对蜜罐主机上的进程活动进行监控,对每项进程活动进行记录,记录内容包括:活动的进程ID(PID)、进程名(PName)、父进程名(FPName)、进程活动类型(Type)(3)、对蜜罐主机上的用户命令输入进行监控,对每项用户命令输入进行记录,记录内容包括活动的进程ID(PID)、进程名(PName)、用户命令输入类型(Type)、命令长度(DataLength)、命令内容(Data)。(4)、对蜜罐主机上的注册表活动进行监控,对每项注册表活动进行记录,记录内容包括活动的进程ID(PID)、进程名(PName)、注册表活动类型(Type)、注册表路径长度(PathLength)、注册表路径内容(Path)。(5)、对蜜罐主机上的文件操作活动进行监控,对每项文件操作活动进行记录,记录内容包括活动的进程ID(PID)、进程名(PName)、文件操作类型(Type)、文件操作路径长度(PathLength)、文件操作路径内容(Path)。蜜罐上的监控程序会将以上捕获的所有日志信息通过防火墙转发到日志服务器。步骤202、日志服务器通过网络接收到该日志信息。步骤203、日志服务器根据日志信息中的来源IP与进程信息将日志关联成某个特定网络活动实施者的行为。日志服务器根据蜜罐主机发送的日志信息中的来源IP(SrcIP)、进程ID(PID)或者进程名(PName),将不同的日志信息关联并分类到不同网络活动实施者中。日志服务器中管理一张网络活动实施者状态信息表,网络活动实施者状态信息表为所有已记录的网络活动实施者的数据,每个已记录的网络活动实施者都拥有表1中的6项数据,并根据日志信息不断更新;多个网络活动实施者的数据采用链表的方式存储。如表1所示,具体包括六项<table>tableseeoriginaldocumentpage10</column></row><table>(1)第一项为网络活动实施者标识,它是一个网络活动实施者的全局表示,使用关联到该网络活动实施者的数据中最先出现的网络攻击来源IP,受到网络攻击的蜜罐主机IP及进程名,表示该网络活动实施者的行为的最开始来源以及最开始的进程活动。(2)第二项为与网络活动实施者交互的蜜罐地址,使用蜜罐的IP地址表示,是网络活动实施者在一次活动内被攻击的多个蜜罐的所有IP地址。(3)第三项为网络活动实施者涉及的所有来源IP的hash表,例如,僵尸网络控制者会使用不同的受控僵尸主机进行攻击,则不同的僵尸主机的IP地址将会在本项中存储。(4)第四项为网络活动实施者涉及的所有进程名的hash表。如果网络活动实施者在攻击的各个步骤中在蜜罐主机中创建了不同的进程,或者改变了不同进程的状态,则这些进程名则会在本项中存储。(5)第五项为网络活动实施者的行为被蜜罐系统捕获的最开始时间。(6)第六项为最新关联数据产生时间。表示最新出现被关联到本网络活动实施者之下的行为日志产生的时间。通过网络活动实施者状态信息表将接收到的日志信息关联到具体网络活动实施者下的方法包括将接收到的蜜罐日志中网络活动实施者涉及的所有来源IP(SrcIP)、进程ID(PID)及进程名(PName)与表l第三项与第四项中的某个网络活动实施者涉及的所有来源IP(SrcIP)、进程ID(PID)及进程名(PName)进行一一比对,当发现有相同的来源项时,将该日志信息关联到该网络活动实施者下。如图3,该图是将接收的日志信息按照网络活动实施者进行关联的方法流程图,接收到新的日志信息时,将会査找网络活动实施者状态信息表,具体方法如下步骤2031、提取接收到得日志数据的第一个相关属性,并与网络活动实施者状态信息表中第一个网络活动实施者对应的属性数据进行比对。步骤2032、如果该属性为地址属性(来源IP(SrcIP)),执行下一步;否则执行步骤2034。步骤2033、如果该地址属性中的地址信息(来源IP(SrcIP))在网络活动实施者状态信息表的第三项"来源IPhash"表中存在,则判定该日志数据与当前提取的网络活动实施者相关联,结束;否则执行步骤2036。步骤2034、如果该属性为进程名属性(进程ID(PID)或进程名(PName)),则执行下一步;否则执行步骤2036。步骤2035、如果该进程名属性中的进程信息(进程ID(PID)或进程名(PName))在网络活动实施者状态信息表的第四项"{进程ID+进程名lhash表"表中存在,则判定该日志数据与当前提取的网络活动实施者相关联,结束;否则执行步骤2036。步骤2036、如果该属性为本日志数据所有相关属性中的最后一项属性,则执行下一步;否则提取该日志数据中的下一项属性,执行步骤2032;步骤2037、判断当前提取的网络活动实施者状态信息表中的一组数据是否为表中最后一个网络活动实施者对应的数据,如果是,则判定该日志数据没有与现有网络活动实施者关联,结束;否则,提取网络活动实施者状态信息表中的下一个网络活动实施者对应的一组数据,并提取接收到的日志数据的第一个相关属性,进行比对,执行步骤2032。其中,在日志服务器中需要为网络活动实施者维护一个网络活动实施者状态信息表,该表的创建与维护方法如下当有网络活动实施者状态信息表不包含的网络活动实施者的日志信息到达时,在该状态信息表中增加该网络活动实施者的数据;如果能被关联到某网络活动实施者下,但本日志信息包含网络活动实施者状态信息表的第三项或第四项中不包含的来源IP(SrcIP)、进程ID(PID)或进程名(PName),则增加该来源IP(SrcIP)、进程ID(PID)或进程名(PName)到表中;还要更新最新关联的数据到达时间。同时使用定时器对网络活动实施者状态信息表进行定时扫描,当当前时间减去某网络活动实施者信息表中第六项最新关联数据到达时间的值大于一个阈值时,将网络活动实施者状态信息表中该组数据存于数据库的相应表中,并且将该网络活动实施者的相关数据从内存中删除。这么做的目的是为了节约内存,因为在内存和数据库中会分别维护一个网络活动实施者状态信息表,当所述差值大于一个阈值时,表明该实施者很久没有行为,可暂时不必考虑,因此将其数据从内存中删去,只保存在数据库中。图4是网络活动实施者状态信息表的创建与维护方法流程图,当接收到新的日志信息时,按照图3所示方法进行关联,并按以下步骤对状态信息表进行创建和更新步骤2031'、如果接收到的日志信息能够与状态信息表中的某个网络活动实施者相关联,则执行下一步;否则在状态信息表中增加该网络活动实施者的如表1所示的6项数据,结束本流程。步骤2032'、对比网络活动实施者状态信息表中与接收到的日志信息相关联的网络活动实施者的数据和日志信息中的相关数据,如果两者的SrcIP或PID+PName存在不同,则执行下一步;均相同则结束。步骤2033'、将新的SrcIP或PID+PName增加到网络活动实施者状态信息表中,结束。在根据接收到的日志信息创建或更新网络活动实施者状态信息表的同时,还要将接收到的日志信息进行存储利用图3流程,通过使用网络活动实施者状态信表,对每条蜜罐捕获的行为日志信息进行关于网络活动实施者的关联后,对每一条接收到的日志信息创建网络活动实施者的标签,其中包括网络活动实施者编号(IntrudeID)与网络活动实施者最早的来源IP地址(SrcIP),与蜜罐发送日志中的所有信息一并存于数据库相应的表中。步骤204、对网络活动实施者行为序列进行序列模式挖掘前的预处理。在蜜罐捕获的大量网络活动实施者行为被关联到各个不同的网络活动实施者之下,并且被存储于数据库之中后,则进入对网络活动实施者行为进行序列模式挖掘阶段。本阶段的数据输入源即为被存储在数据库中的多个网络活动实施者的攻击行为序列。由于本发明实施例分析的蜜罐活动数据类型较多,包括网络活动、进程活动、用户命令输入、注册表活动以及文件操作活动。从总体来说,这些活动信息组成了一串混合的行为活动序列,这个混合序列包括的信息范围更广,更能全面反映网络活动实施者行为的各方面。但是这样的混合序列中每项可能出现的项集空间将会很大,直接对其使用序列模式挖掘将会由于项集空间过大,使运行效率太低以及处理时间太长。因此要对行为序列数据进行特定的预处理与优化,方法如下步骤2041、在进行序列模式挖掘前,首先对蜜罐活动数据进行分类。如图5所示,分成以上包括的网络活动、进程活动、用户命令输入、注册表活动以及文件操作活动5类单种活动数据,分成5组序列数据,再加上混合行为序列中抽取的类型属性作为序列主属性,由此产生混合行为序列数据,共有6组不同类型的行为序列数据。分成6组不同类型的序列数据后,在每组数据中项集的可能组合数将会大大降低,使分析更加有效率,同时第6组混合序列中的数据既考虑到各种活动间的相互关系,又由于只考虑类型属性作为项属性,使项集空间大为减少。步骤2042、使用滑动窗口切分行为序列数据集。为了更进一步提高效率与减少搜索项集,使用滑动窗口的方法对所述的六类行为序列数据集进行切分后再进行序列模式挖掘。对网络活动实施者的行为进行序列模式挖掘的目的在于,挖掘出网络活动实施者行为的特征行为模式,这些模式可能是网络活动实施者某种具体的行为方式,或者是对受害主机进行的某种操作,其中必定带有该网络活动实施者使用的方法或者网络活动实施者的行为习惯。通过对其行为进行序列模式挖掘发现这些多次出现的行为序列,网络活动实施者行为中包含的这些行为模式越多,对分析网络活动实施者的特征工作就越有利。而通过大量的研究和应用发现,这些行为序列特征往往是在相邻序列或者相隔时间较短的序列中出现的,那些序列号分隔很远、时间相隔很大的序列项之间的关系很少,因此使用滑动窗口对数据集进行切分即可使搜索空间减少的同时,也保证序列模式的挖掘结果用于定义网络活动实施者的行为不缺乏一般性。本实施例对每个网络活动实施者的每类行为序列数据集进行滑动窗口的切分,其中窗口大小W与滑动系数S分别表示W表示窗口大小,意味一次被包含在切分后的数据集中的序列数据长度最长为W;S表示每次在切分前数据集中取出数据的起始位置之间的间隔。如图6所示,网络活动实施者的各类行为序列数据集通过时间窗切分后可能会变为一个或多个序列数据集,但这些数据集均应属于该网络活动实施者的行为数据,故切分后的每个数据集都需要保存其所属的网络活动实施者编号,以保证能获得某个需要分析的网络活动实施者共包含了哪些行为序列数据集。通过对需要进行的所有网络活动实施者行为序列数据进行如此的切分,然后将所有切分后得到的同类型行为数据分别进行序列模式挖掘,共进行六次序列模式挖掘。步骤2043、对日志信息中各项属性的属性权值进行标识。本实施例需要使用序列模式挖掘算法对网络活动实施者行为序列进行挖掘,而网络活动实施者行为序列中的一个元素包括多个项,即网络活动实施者行为中的各种属性,例如来源IP、本地IP、操作类型、进程名称与数据长度等,这些属性在以前的序列模式挖掘中是同等对待处理的,也就是一般的序列模式挖掘不会区分序列元素中的各项的重要性,在挖掘过程中将会对其相同处理。这种处理方式在挖掘网络活动实施者行为时可能出现一定的问题,使挖掘所得的结果变得不理想。如果将所有项等同处理,则挖掘出的序列模式中就有可能存在着各种大量只包含非重要属性的序列模式,对分析网络活动实施者的行为意义不大,而且有可能对分析造成干扰。因此,本实施例采用了考虑序列元素中的项属性重要度的序列模式挖掘算法。本实施例对进行序列模式挖掘的数据中的各项首先进行项属性的权值的标注,对于重要的属性标注成高权值,对于次要的属性标注为较低的权值,之后的序列模式挖掘中将会根据权值进行相应的处理。步骤205、对分组后的行为序列数据进行序列挖掘。具体方法包括步骤2051、对挖掘的空间进行分割。本步骤中输入的所有需要分析的多个网络活动实施者行为序列都会按照以上方法被处理而产生以上6组行为序列,不同网络活动实施者的行为会被混合在一起进行序列模式挖掘,对于每一组行为序列数据进行一次行为序列的序列模式挖掘,共进行6次序列模式挖掘。通过序列模式挖掘,目的是挖掘输入的序列数据中特定模式的子序列,可以得到在输入的网络活动实施者行为序列数据中多次出现的特定先后顺序的序列,这些序列在原序列中出现的位置不一定是连续的,这样就可以避免噪声数据在有用数据间出现使有用数据被分隔而不被计算的问题。下面给出序列模式挖掘中的基本概念定义l、序列数据库(transactiondatabase):即由蜜罐捕获的网络活动实施者行为记录组成的数据库,包括网络活动实施者标识ID、时间Time、行为内容Itemset。定义2、项集(itemset):各个项(item)组成的集合。定义3、序列(sequence):不同项集的有序排列。序列S可以表示为S=〈sl,s2,…,sn〉,其中sj(1《j《n)为项集,也称为序列S的元素。定义4、序列的元素(element):表示为(xl,x2,…,xn),其中xk(1《k《m)为不同的项。定义5、序列长度一个序列包含的所有项集的个数,长度为l的序列记为l-序列。定义6、支持数序列a在序列数据库S的支持数为序列数据库S中包含a的序列个数定义7、支持度序列的支持度是一个预先设定的阈值。定义8、序列模式给定最小支持度阈值,如果序列a在序列数据库中的支持数不低于该阈值,则称序列a为频繁序列。频繁序列也可称为序列模式。步骤2052、使用序列模式算法挖掘切分后的数据集,并获得行为序列模式及其出现位置本实施例采用的序列模式算法使用基于位图的数据缓存方式与深度优先遍历字典树的方式实现序列的模式生成。本算法先进行一次数据集的扫描,然后将数据整体缓存到内存中,同时根据设置的最少支持度得出频繁l-项,使用位图方式存储这些频繁l-项的信息,而且它们是按照在序列数据集中出现的先后顺序排序的。使用字典顺序进行深度优先遍历的方式进行序列模式挖掘的原因在于,该方法可去除由于项的组合顺序变化而产生的重复的序列模式,例如〈a,(a,b)〉等价于〈a,(b,a)〉,按照字典树处理时,〈a,a〉会与〈b〉进行项增长型处理的到〈a,(a,b)〉,而〈a,b〉则不会与〈a〉进行项增长型处理,防止得到冗余的序列模式结构和进行无谓的支持度计算。在对网络活动实施者行为进行序列挖掘之前,前期处理已经对输入的序列数据中的各项属性标上权值。本算法在通过遍历字典树的过程中到达某候选序列代表的叶子时,先对其结尾的元素中的所有项进行扫描,如果所有项的权值均小于预设的最小权值,则不对本候选序列进行支持度计算,并且跳过序列增长步骤,进行项增长步骤。例如项a为次要的属性,其与b同时出现在序列的一个元素中时,可以提供一些额外的信息,但是若序列中的某个元素均是这样的次要属性时,从该元素不能得到有效的意义,则不应保留。例如网络行为中的IP地址,若得到的序列模式中有操作类型这种主要属性,并且包含特定IP地址时,可得到某IP进行某项操作的明确意义,但是当序列中是一连串只包含IP地址的项时,则这种序列难以让人理解,也不存在重要的含义。故本算法增加了项属性的考虑,只在序列元素中包含大于最小权值的项时才将其考虑为有意义的序列元素。本算法使用位图表示的形式对行为序列数据进行处理。如图7所示为本算法使用的数据集的位图表示形式,每一列表示某个项在特定序列集中对应的序列号中是否出现,出现则该位取"1",否则取零。在序列挖掘中的两个关键步骤为候选集产生与支持度计算。使用位图的方式缓存数据能很好的解决这两个问题。1、对于候选集的产生,该算法使用当前序列模式与频繁l-项集进行运算后产生新的候选集。而候选集的产生步骤又分为序列增长型与项增长型两种(1)序列增长型是在现有频繁序列的尾部紧接着加上信息序列元素。例如将〈a,(a,b)〉增长成为〈a,(a,b),c〉这种方式的增长,其使序列的元素数量增加。序列增长形式的实现需要先对需要增长的频繁序列进行转换。对序列〈a〉与频繁1-项〈b〉进行序列增长操作。先将〈a〉进行转换,实际是将〈a〉的列位图中第一个出现"1"的位置之后的值全置为"1",而其它置为"0"。然后将转换后的列位图与〈b〉的位图进行"与"操作,则得到的位图为产生的候选序列〈a,b〉所对应的位图。其原理是序列〈a,b〉存在的意义是在〈a〉之后的序列中出现〈b〉,而〈a〉的转换后的列位图表示的意义则是〈a〉所在位置的后续位置均被设为"1",则其与〈b〉的列为图相"与"的结果表达的意义则是在〈a〉所在位置的后续位置中出现〈b〉,即序列〈a,b〉存在。(2)项增长型是在现有频繁序列的尾部元素中增加了新的项。例如将〈a,(a,b)〉增长为〈a,(a,b,c)〉这种方式的增长,使序列的尾部元素中的项的数量增长。项增长型的候选序列的产生可以通过将〈a〉与〈b〉的列位图直接进行"与"操作,相"与"后结果为"1",则表示该位上同时存在项a与项b,即项(a,b)存在于原序列数据集中。2、对以位图形式存储的行为序列数据进行支持度计算也非常方便,只要计算出该位图中非空的序列数据集个数即可。图8所示为本实施例对图7中数据进行遍历挖掘的过程,且只考虑项a与项b进行举例。同时在遍历过程中将所有候选序列或得到的频繁序列所对应的权值进行记录,该权值由其父节点序列的权值与增加项的权值共同计算所得,即产生的候选集的权值为父节点的权值与增加项的权值中的最大值。本例中将项a的权值设为0,项b的权值设为l,并且设置最小权值为l,则进行深度优先遍历字典树的方式挖掘频繁序列模式的步骤如下(1)、首先按出现的先后顺序对〈a〉进行处理,由于〈a〉的权值为0,小于l,则放弃对其进行序列增长型步骤处理,也不对其进行支持度计算,因为〈a〉并不是关心的序列元素。(2)、对〈a〉与〈b〉进行项增长型步骤处理,得到〈(a,b)〉,由于〈b〉的权值为l,则〈(a,b)〉的权值为l,因此进行支持度计算,大于最小支持度则输出为序列模式。(3)、对〈(a,b)〉与〈a〉进行序列增长型步骤处理,得到〈(a,b),a〉,类似的得到其权值为0,也不进行序列增长型步骤处理,不对其进行支持度计算。(4)、对〈(a,b),a〉与〈b〉进行项增长型步骤处理,得到〈(a,b),(a,b)〉,类似的得到其权值为l,因此进行支持度计算,小于最小支持度则不输出该模式。且不再有子叶子节点,返回父节点。(5)、对〈(a,b)〉与〈b〉进行序列增长型步骤处理,得到〈(a,b),b〉,类似的得到其权值为l,对其进行支持度计算。(6)、对〈(a,b),b〉与〈a〉进行序列增长型步骤处理,得到〈(a,b),b,a〉,类似的得到其权值为l,对其进行支持度计算,大于最小支持度则输出为序列模式。(7)、对〈(a,b),b〉与〈b〉进行序列增长型步骤处理,得到〈(a,b),b,b〉,类似的得到其权值为l,对其进行支持度计算,大于最小支持度则输出为序列模式。由此对源数据进行遍历产生如图8所示的字典树,并且遍历最终结束,得到所有的序列模式。在本例的前提下,项a与项b的重要性不相同时,本实施例共进行了7次序列模式增长操作,其中5次序列增长型操作,2次项增长型操作,并且进行5次的序列支持度计算;共减少了9次序列模式增长操作,减少了ll次支持度计算的操作,使用本算法对有属性重要性差异的网络活动实施者行为数据进行的挖掘,比使用现有算法实现对网络活动实施者行为数据的挖掘减少了操作的次数与支持度计算的次数,提高了程序的执行效率。通过以上算法进行基本的序列模式挖掘后,能得到符合支持度的序列模式的数据列表,列表中含有包含该序列模式在哪个网络活动实施者的记录集中出现的信息。同时,本实施例在挖掘出序列模式之后,必须获得每个输入的网络活动实施者行为序列中包含了哪些挖掘出的序列模式,所有挖掘产生的序列模式作为定义向量空间的基础,而每个分析的网络活动实施者即可由其行为中包含的序列模式作为在该向量空间中的特征向量,而被定义为该向量空间中的一个向量。使用的以上所述的序列模式挖掘算法能在得到序列模式的同时,也得到这些序列模式是由哪些网络活动实施者行为包括的。本实施例使用基于垂直数据格式的序列模式挖掘算法进行序列模式挖掘,能得到符合支持度的序列模式的垂直数据列表,列表中各个序列模式下包括的序列ID即为该序列模式出现的原序列ID,由此即可得到包含该序列模式的网络活动实施者。步骤206、进行网络活动实施者相似性分析。在之前步骤中,进行序列挖掘后,得到了不同网络活动实施者所包括的各序列模式,被视为一个攻击行为特征序列,以其作为一个特征向量,则所有攻击行为特征序列即组成一个特征集,若记为集合D,则由此产生一个多维的向量空间S,以D中的每一个元素作为一个向量空间中的一维,每个网络活动实施者的行为包含的行为特征集若记为d,贝Ud为特征集D的子集,则网络活动实施者的行为特征为向量空间S中的一个向量。由此可以对每个网络活动实施者进行定性的分析。在对不同入侵者的行为序列相似性的分析中,采用了文本检索中常用的技术方法向量空间和相似系数。CosddJ="I'W2|r|2(公式一)使用公式一来定义网络活动实施者行为序列的相似度。其中定义频率(termfrequency)fi,j,表示模式Wj在网络活动实施者di行为序列中出现的频率次数。逆频率(inversefrequency)logN/iij,其中N表示某类型序列集数量,iij表示所有序列集中所有含有序列模式Wj的序列集数量。网络活动实施者di行为序列中模式序列Wj的权重通常使用ti,j二fi,jlogN/llj表示。最终,在相似性分析阶段中输入的所有网络活动实施者间两两进行以上相似性分析方法的计算,即可得到各个网络活动实施者间的相似性数据。通过以上网络活动实施者的行为相似性分析,对同一来源或者不同来源的网络活动实施者进行识别、区分与比较,并达到对攻击目的的预估。例如使用同一跳板进行攻击的多个网络活动实施者的区分,同一个网络活动实施者使用不同跳板进行攻击的关联等。通过关联,获知网络活动实施者的来源与意图,并且可以得到特定网络活动实施者的特征行为序列。总之,以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。权利要求1.一种网络交互行为模式提取及相似性分析的方法,其特征在于,包括在蜜罐主机上对网络活动实施者的行为进行监控,将捕获的日志信息转发到日志服务器;日志服务器根据日志信息中的源地址与进程信息将日志关联成属于特定的网络活动实施者的行为序列;对网络活动实施者行为序列进行序列模式挖掘前的预处理;对预处理后的网络活动实施者行为序列数据进行序列挖掘;进行网络活动实施者之间的相似性分析。2.根据权利要求l所述的方法,其特征在于,所述对网络活动实施者的行为监控具体包括对蜜罐主机上的网络活动进行监控,对每项网络活动进行记录;对蜜罐主机上的进程活动进行监控,对每项进程活动进行记录;对蜜罐主机上的用户命令输入进行监控,对每项用户命令输入进行记录;对蜜罐主机上的注册表活动进行监控,对每项注册表活动进行记录;对蜜罐主机上的文件操作活动进行监控,对每项文件操作活动进行记录。3.根据权利要求2所述的方法,其特征在于,该方法进一步包括在日志服务器中维护网络活动实施者状态信息表,该表为所有已记录的网络活动实施者的数据,每个已记录的网络活动实施者都在该表中拥有6项数据,并根据日志信息不断更新;所述6项数据包括第一项为网络活动实施者标识;第二项为与网络活动实施者交互的蜜罐地址;第三项为网络活动实施者涉及的所有来源IP的hash表;第四项为网络活动实施者涉及的所有进程名的hash表;第五项为网络活动实施者的行为被蜜罐系统捕获的最开始时间;第六项为最新关联数据的产生时间。4根据权利要求3所述的方法,其特征在于,所述将日志关联成特定的网络活动实施者行为序列具体包括一、提取接收到得日志数据的第一个相关属性,并与网络活动实施者状态信息表中第一个网络活动实施者对应的属性数据进行比对;二、如果所述相关属性为地址属性,则执行下一步;否则执行步骤四;三、如果该地址属性中的地址信息在所述一组数据的第三项中存在,则判定该日志数据与当前提取的网络活动实施者相关联,结束本流程;否则执行步骤六;四、如果所述相关属性为进程名属性,则执行下一步;否则执行步骤六;五、如果该进程名属性中的进程信息在所述当前网络活动实施者数据的第四项中存在,则判定该日志数据与当前提取的网络活动实施者相关联,结束本流程;否则执行步骤六;六、如果所述相关属性为本日志数据所有相关属性中的最后一项属性,则执行下一步;否则提取该日志数据中的下一项属性,执行步骤二;七、判断当前提取的网络活动实施者状态信息表中的一组数据是否为表中最后一个网络活动实施者对应的数据,如果是,则判定该日志数据没有与现有网络活动实施者关联,结束本流程;否则,提取网络活动实施者状态信息表中的下一个网络活动实施者对应的一组数据,并提取接收到的日志数据的第一个相关属性,进行比对,执行步骤二。5根据权利要求3或4所述的方法,其特征在于,在日志服务器中维护网络活动实施者状态信息表具体包括当有网络活动实施者状态信息表中不包含的网络活动实施者的日志信息到达时,在所述状态信息表中增加该网络活动实施者的数据;如果所述日志信息能与特点的网络活动实施者关联,但本日志信息包含所述状态信息表的第三项或第四项中不包含的来源地址或进程信息,则增加该来源地址或进程信息到表中;并更新最新关联的数据到达时间。6.根据权利要求l、2、3或4中任意一项所述的方法,其特征在于,所述对网络活动实施者行为序列进行预处理具体包括在进行序列模式挖掘前,首先对蜜罐活动数据进行分类;使用滑动窗口切分行为序列数据集;对日志信息中各项属性的属性权值进行标识。7.根据权利要求6所述的方法,其特征在于,所述对网络活动实施者行为序列数据进行序列挖掘具体包括对挖掘的空间进行分割;使用序列模式算法挖掘切分后的数据集,并获得行为序列模式及其出现位置。8.根据权利要求7所述的方法,其特征在于,所述获得行为序列模式的方法具体包括使用基于位图的数据缓存方式与深度优先遍历字典树的方式实现行为序列的模式生成,并同时使用序列项的属性权值进行树的裁剪与优化输出结果。9.根据权利要求7所述的方法,其特征在于,所述获得行为序列模式的出现位置的方法包括使用基于垂直数据格式的序列模式挖掘算法进行序列模式挖掘,得到符合支持度的序列模式的垂直数据列表,列表中各个序列模式下包括的序列ID为该序列模式出现的原序列ID,得到包含该序列模式的网络活动实施者。10.根据权利要求9所述的方法,其特征在于,所述相似度分析的具体方法为<formula>formulaseeoriginaldocumentpage5</formula>使用该公式设定网络活动实施者行为序列的相似度,其中定义频率fi,j,表示序列模式wj在网络活动实施者di的所有行为序列中出现的频率次数。逆频率logN/nj,其中N表示某类型序列集数量,nj表示所有序列集中所有含有序列模式wj的序列集数量;网络活动实施者di行为序列中模式序列wj的权重使用ti,j=fi,jlogN/nj表示。全文摘要本发明公开了一种网络交互行为模式提取及相似性分析的方法,在蜜罐主机上对网络活动实施者的行为进行监控,将捕获的日志信息转发到日志服务器;日志服务器根据日志信息中的源地址与进程信息将日志关联成属于特定的网络活动实施者的行为序列;对网络活动实施者行为序列进行序列模式挖掘前的预处理;对预处理后的网络活动实施者行为序列数据进行序列挖掘;进行网络活动实施者之间的相似性分析。通过分析不同网络活动实施者间的相似性,可以对网络活动实施者进行更深层次的关联与研究,对于预判其目的,及时对网络攻击等行为进行相应的应对措施,以及对网络攻击取证都有一定的帮助。文档编号H04L12/26GK101582817SQ20091030379公开日2009年11月18日申请日期2009年6月29日优先权日2009年6月29日发明者杰温,广胡,黄本雄,黄毅青申请人:华中科技大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1