基于网络流的连接指纹生成和垫脚石追溯的系统和方法与流程

文档序号:11524117阅读:246来源:国知局
基于网络流的连接指纹生成和垫脚石追溯的系统和方法与流程

相关申请的交叉引用

该申请要求2015年11月9日提交的韩国专利申请第10-2015-0156952号和2016年4月28日提交的韩国专利申请第10-2016-0052154号的优先权和权益,通过引用在这里全部合并其公开。

本发明涉及用于跟踪网络黑客攻击的技术,并更具体地,涉及用于使用网络流(netflow)数据生成连接的指纹并追溯攻击的起源的系统和方法。



背景技术:

用于追溯网络黑客攻击的技术在于,即使当攻击系统的地点与实际尝试破解系统的黑客的真实地点不同时,也定位黑客的真实地点,即,攻击的起源。

作为根据现有技术的用于追溯网络黑客攻击的技术,已提出了基于主机的tcp连接追溯、基于网络ip分组的追溯、和针对ip欺骗(spoofing)发现分组的原始传送者的追溯方法。

基于主机的tcp连接追溯方法使用在所有系统中安装的追溯模块,以定位已经经过其他多个系统的黑客的真实地点。

基于网络ip分组的追溯方法使用在其中可能观察网络分组的地点安装的追溯模块,以定位已经经过其他多个系统的黑客的真实地点。

所有上述现有技术具有的问题在于,存在因特网服务供应商(isp)开销。

另外,已开发了作为黑客的诱饵(bait)的蜜罐诱骗服务器和自动黑客跟踪软件,但是它们仅能在虚拟网络的某些环境中操作。

根据现有技术,应监视所有网络业务分组和通信连接,并由此得到的开销很大,并且特别是当攻击经由不支持追溯功能的网络装置(路由器)或isp时,追溯是不可能的。

即,根据现有技术,应在网络上按照分布方式安装专用监视装置或者应改变因特网协议,并因此其在实践中不可能应用到真实网络。



技术实现要素:

为了解决现有技术的需要专用监视装置并因此其在实践中难以应用到因特网环境、以及在其中使用ip欺骗(spoofing)或其他方法隐藏攻击者的信息的情况下检测困难的问题,本发明提供了基于netflow的连接指纹生成和垫脚石追溯的方法,该方法不限于在现有因特网环境中应用,使得开销最小化,并能够通过利用路由器所提供的netflow信息来追溯攻击的起源。

在一个一般方面,提供了基于netflow的连接指纹生成和垫脚石追溯的方法包括:接收与作为连接链上的最后连接的目标连接对应的、包括受害者和攻击者的ip分组属性信息的追溯请求;基于该ip分组属性信息生成用于关联连接的指纹,并向netflow收集器请求相关信息;检测在指纹生成时生成的到目标连接的垫脚石连接,并命令检查分类的候选连接是否与目标连接存在于相同的连接链上;和当确定候选连接与目标连接存在于相同的连接链上时,基于攻击者主机来确定候选连接的顺序。

附图说明

通过参考附图详细描述本发明的示范实施例,本发明的以上和其他目的、特征和优点对于本领域技术人员将变得更清楚,其中:

图1是图示了根据本发明一个实施例的连接链的概念图;

图2是图示了根据本发明一个实施例的基于netflow的连接指纹生成和垫脚石追溯的方法的流程图;

图3是图示了根据本发明一个实施例的基于netflow的连接指纹生成和垫脚石追溯的系统的框图;

图4是图示了根据本发明一个实施例的用于指纹生成的算法的流程图;和

图5是图示了根据本发明一个实施例的用于垫脚石连接检测的算法的流程图。

图6是图示了其中执行根据本发明实施例的用于拼接全景视频的方法的计算机系统的示例的图。

具体实施方式

通过参考下面参考附图详细描述的实施例,本发明的优点和特征以及实现其的方法将变清楚。

然而,本发明不限于下面描述的这些实施例,并且可对其进行各种修改。这些实施例仅被提供以全面公开本发明,并向本领域技术人员传递本发明的范畴。本发明由所附权利要求限定。

这里使用的术语是为了描述仅特定实施例的目的,并且不意欲成为本发明的限制。如这里使用的,单数形式“a”、“an”和“the”意欲也包括复数形式,除非上下文按照别的方式进行了清楚指示。将进一步理解的是,术语“包括”和/或“包含”当在该说明书中使用时,指定所阐明的特征、整数、步骤、操作、元件、和/或组件的存在,但是不排除一个或多个其它特征、整数、步骤、操作、元件、组件、和/或其组的存在或添加。

其后,将参考图1到5来详细描述本发明的示范实施例。

本发明提出了以下方法,其使用一般由路由器提供的netflow信息来生成用于连接流的指纹,并比较指纹以便追溯攻击的起源。

图1是图示了根据本发明一个实施例的连接链的概念图。

根据一个实施例,在诸如telnet、ssh、rlogin等的交互服务中,使用netflow的停止时间特征,通过连接的通/断建模来检测垫脚石。

例如,攻击者使用远程登录上网,来建立与包括主机1h1110a到主机nhn110n的主机(计算机)集合的连接链c1到cn-1。

h1是攻击者自己的计算机,hn是攻击者要攻击的最终目标,并且连接ci代表使用远程登录上网服务从hi到hi+1建立的连接。

以上示例示出了主机hi尝试通过telnet、ssh、rlogin等使用交互服务客户机远程接入主机hi+1。

在交互服务中,在客户机和服务器之间建立双向连接,但是本发明的实施例仅集中于从攻击者h1到受害者计算机hn的下游连接。

另外,本发明的实施例假设,针对攻击者的最后连接cn-1(其后,将被称为“目标连接”),已知连接时间和分组属性信息(作为包括源ip地址、目的ip地址、源端口号、目的端口号、和层3协议的5元组信息),并且将与对应连接有关的关于netflow记录的信息存储在netflow收集器中。

根据本发明的一个实施例,提出了用于通过搜索通过任意路由器所收集的多条netflow信息、来发现其每一个形成与目标连接cn-1相同的连接链的连接c1到cn-2的算法。

当层4连接的流中的数据在t-idle秒或更多中不存在时,假设对应连接在关断时间段中,并且当携带数据的分组出现时,对应流终止关断时间段,启动接通时间段,并维持该接通时间段直到出现其中数据在t-idle秒或更多中不再次存在的事件为止。

如上所述,通过通/断时间段的业务的建模基于用户的键击(keystrokes)的时间间隔。

根据本发明的一个实施例,基于通/断模型,当给定两个连接c1和c2时,当其中这两个连接的相应关断时间段结束的时间实例(instances)(即,接通时间段开始的时间实例)类似时,确定这两个连接处于彼此“垫脚石”关系。

即,用户的键击通过c1传送并然后通过c2传送。

图2是图示了根据本发明一个实施例的基于netflow的连接指纹生成和垫脚石追溯的方法的流程图。

根据一个实施例,该方法包括接收对于追溯的用户请求(s100),生成用于关联连接的指纹(s200),检测垫脚石连接(s300),并基于攻击者主机来确定候选连接的顺序(s400)。

参考图3,多个跟踪代理(ta)400的每一个在分布网络环境中操作,并且多个ta400a和400b基于对等网络(p2p)来共享信息。

在因特网上存在的路由器200向对应netflow收集器300周期性传送netflow设置和传送信息,并且netflow收集器300的每一个在每一时间间隔中存储收集的netflow信息。

根据本发明的一个实施例,利用netflow全采样率或路由器200的缺省设置值(停止定时器的缺省值是10秒并且活动定时器的缺省值是30分钟)。

上述缺省设置值可取决于路由器200或切换装置的特性而改变。

在s100,通过用户界面(ui)接收追溯请求(reqtraceback),其中该追溯请求包括与作为连接链上的最后连接的目标连接对应的、受害者100n以及最后攻击者的流信息。

即,一批多条ip分组属性信息形成流,并且该流是单向通信会话,其是彼此匹配的一对双向流。

接收追溯请求的上述ta400a基于连接链上的受害者100n与最后攻击者的ip地址、端口信息、关于实行攻击的时间信息、和协议信息,来生成用于关联连接的指纹,并请求每一netflow收集器300a、300b和300c发送相关信息(指纹搜索)。

相应netflow收集器300a、300b和300c基于在对应时间发现的连接流信息来生成指纹,并且将这些流在相互相似度方面进行彼此比较,使得追溯垫脚石100b和100c以及攻击的起源100a。

根据本发明的一个实施例,使用从路由器200传送并在netflow收集器300中存储的netflow信息来执行基于特定连接的定时的追溯,并且为此,使用作为交互业务的特性的通/断图案来追溯垫脚石100b和100c。

其后,将参考图4来描述根据本发明一个实施例的用于指纹生成的算法。

根据本发明一个实施例的用于指纹生成的算法从连接链上存在的最后连接(对应于目标连接的图1中的cn-1、其中存在最终目标主机的网络管理系统)接收ip分组属性信息,并生成指纹。

上述ip分组属性可包括攻击开始时间ts、攻击结束时间te、攻击源ip地址srcaddr、攻击源端口号srcport、目的ip地址dstaddr、目的端口号dstport、和层3协议信息。

经过切换器或路由器的分组可通过充当个别ip分组的指纹或标识的ip分组属性来分类,并且通过使用ip分组属性,可能区分一个分组是新分组还是与另一分组类似。

在s210,执行netflowudp数据报的健全性检查,其中通过使用报头格式中包括的版本和计数字段检查数据报的尺寸,来检查从路由器输出(exported)并由netflow收集器收集的netflow的版本/尺寸(数据报尺寸)。

然后,在s220,使用报头格式中包括的sysuptime字段,来执行收集的netflow的流输出信息的排序。

在s230,使用报头格式中包括的计数和flow_sequence(流_顺序)字段,来检查是否存在流输出信息的丢失。

如果不存在丢失,则在s240,基于从ts(攻击开始时间)到te(攻击结束时间)的时间,使用流记录格式中包括的攻击源ip地址srcaddr、攻击源端口号srcport、目的ip地址dstaddr、目的端口号dstport、和层3协议字段,来获取层4连接信息。

在该情况下,层4连接信息包括目标层4组件、ts(连接开始时间)和te(连接结束时间)。

在该情况下,由于多个目标层4连接可存在于ts(攻击开始时间)和te(攻击结束时间)之间,所以使用tcp标志(syn/fin/rst)对于每一tcp层4分类所述连接。

然后,在s250,在其中针对目标连接的ip分组属性、n个流记录r1到rn存在于tcp层4中的情况下,将从特定流记录ri中的最后值减去第一值所计算的值设置为第i接通时间,并且当该接通时间小于预定时间(特定德耳塔时间)时,去除该流记录ri。

通过上述接通时间合并,获取n个流记录r1到rn(n等于或小于n)。

其后,在s260,生成针对在s250获取的n个流记录的用于每一tcp层4的通/断时间序列。

针对大于1并且等于或小于n的i,将从ri中的最后值减去第一值所计算的值设置为第i接通时间,将流记录ri的第一值和流记录ri-1的最后值之间的差设置为第(i-1)流记录的关断时间,并且在i为1的情况下,仅计算第一接通时间。

因此,在s260,生成<on1,off1,on2,off2到offn-1,onn>的通/断时间序列。

在s270,当通过上述过程生成多个时间序列时,选择具有最长长度的时间序列(显著通/断时间序列选择),并通过考虑选择的通/断时间序列的设立时间而最终生成指纹。

其后,针对上面在图4中描述的用于指纹生成的算法所形成的一个目标层4连接,将参考图5来描述用于检测在相同连接链上存在的垫脚石连接的算法。

图5中示出的用于检测垫脚石连接的算法针对一个目标层4基于<ts(连接开始时间)、te(连接结束时间)、ts(时间序列)、{选项=协议等}>搜索相同连接链上存在的垫脚石,其中操作s310到s330分别执行与图4的操作s210到s230的处理相同的处理。

即,在s310,执行netflowudp数据报的健全性检查,其中通过使用报头格式中包括的版本和计数字段检查数据报的尺寸,来检查从路由器输出并由netflow收集器收集的netflow的版本/尺寸(数据报尺寸);在s320,使用报头格式中包括的sysuptime字段来执行收集的netflow的流输出信息的排序;并且在s330,使用报头格式中包括的计数和flow_sequence字段,来检查是否存在流输出信息的丢失。

在s340,获取关于从目标层4连接的ts(连接开始时间)到te(连接结束时间)维持的候选连接的信息,其中在存在{选项}字段的情况下,获取包括该字段的内容的候选连接信息。

例如,在s340,在{选项=层3协议}的情况下,获取满足该需求的候选连接信息,并且使用传输控制协议(tcp)标志(syn/fin/rst),对其连接开始时间和连接结束时间包括目标层4连接的ts和te的层4候选连接进行分类。

图5中图示的操作s350和s360执行与图4的上述操作s250和s260的处理相同的处理。在s350,通过接通时间合并,分类流记录,并且在s360,针对在s350分类的流记录,生成用于每一tcp层4的通/断时间序列。

在s370,执行图4的算法所生成的指纹的时间序列(ts)与s360中生成的候选连接的时间序列之间的相关性的检查。

其后,将详细描述用于垫脚石连接相关性比较的算法,并且将更详细地描述操作s370。

为了检查候选连接是否与目标连接存在于相同的连接链上,将这两个连接之间的x和y相关性进行彼此比较。

根据本发明的一个实施例,两个向量之间的相似度被量化计算并被表示为最小元素和和最大元素和的比率(称为“最小/最大和比率(mms)”),并且将mms用作相关点函数(cpf)。

在假设当使用流控制传送协议(sctp)时不存在netflowudp分组丢失的情况下,通过以下等式1来计算目标连接的x个向量<x1到xm>的集合和候选连接的y个向量<y1到yk>的集合的cpf。

[等式1]

在该情况下,s表示满足表达(0≤s≤k-m)的相关偏移(比较开始点)。这是因为,为了使得候选连接与目标连接相关,不得不满足y向量的尺寸大于x向量的尺寸的需求。

而且,这是因为使用交互服务的连接链形成的顺序生成和终止特征,其不得不满足(k>m)的表达以便形成其中在相同连接链上存在候选连接的单一连接,因为该目标连接是连接链上的最后连接cn-1。

另外,m表示x向量的尺寸(即,|x|),并且s表示yk的开始偏移(相关偏移),如上所述。

所以,当yk的尺寸为r时,满足(0≤s≤r-m)的表达的需求,并且如果r小于m,则省略该计算,并且将cpf的值设置为“0”。

以上等式1给出了针对目标连接从候选连接的开始偏移s直到m获得的相关性的值。

在通过将该相关偏移一一递增而计算cpf之后,最大值被发现并定义为相关值(cv),并且其后,为了比较两个连接用于检查这两个连接是否在具有相同垫脚石的同一连接链上存在,通过以下等式2来计算cv的值。

[等式2]

cv(k)=max0≤s<rcpf(x,yk,s)k=1,2,…,j

例如,在其中在单一tpc层4中的n个流记录之中丢失事件出现j(j<n)次的情况下,生成(j+1)个时间序列。

在该情况下,生成的时间序列可被表示为ts(1)到ts(j+1),并且这时,通过以下等式3来计算cv的值。

[等式3]

最后,使用以下等式4来计算cv的最大值,并且当该最大值是阈值或更多时,确定相关连接存在于相同连接链上。

[等式4]

在s400,检测原始攻击者,其中当检测到在相同连接链上存在一些候选连接时,基于原始攻击者确定连接的顺序。

例如,当检测到c1和c2在相同连接链上存在时,确定c1的连接时间ts(c1)和te(c1)是否包括c2的连接时间ts(c2)和te(c2)。

当c1的连接时间包括c2的连接时间时,c1成为在c2的上游存在的垫脚石连接,并且当c2的连接时间包括c1的连接时间时,确定c2位于比c1靠近原始攻击者。

另一方面,当在c1和c2之间不存在互相包含关系时,在连接链上不存在作为错误检测的连接的、两个连接中的至少一个。

所以,在s400,当在检测为在相同连接链之上存在的两个连接之间不存在连接时间的包含关系时,比较cv的值,将具有较小cv的连接确定为错误检测的连接,并依次去除。

通过使用根据上述实施例的基于netflow的连接指纹生成和垫脚石追溯的方法,可能实现实际网络上的追溯,生成连接指纹,检查垫脚石连接,并追溯原始攻击者。

按照根据本发明的用于基于netflow的连接指纹生成和垫脚石追溯的系统和方法,使用路由器提供的netflow信息来执行连接的通/断建模,并由此可能检测垫脚石和攻击的起源。

即,可能检测使用用来攻击的诸如telnet、rlogin、ssh等的交互服务形成连接链的连接(垫脚石),并且使用路由器提供的netflow信息来实现该系统和方法,并由此在实际网络环境的应用和使用中没有限制。

根据本发明实施例的用于拼接全景视频的方法可在计算机系统中实现或者可在记录介质中记录。图6图示了计算机系统的简单实施例。如图示的,该计算机系统可包括一个或多个处理器121、存储器123、用户输入装置126、数据通信总线122、用户输出装置127、贮藏器128等。这些组件通过数据通信总线122执行数据通信。

而且,该计算机系统可进一步包括与网络耦接的网络接口129。处理器121可以是处理存储器123和/或贮藏器128中存储的命令的中央处理单元(cpu)或半导体器件。

存储器123和贮藏器128可包括各类易失性或非易失性储存介质。例如,存储器123可包括rom124和ram125。

由此,根据本发明实施例的用于拼接全景视频的方法可被实现为能在计算机系统中运行的方法。当根据本发明实施例的用于拼接全景视频的方法在计算机系统中执行时,计算机可读命令可执行根据本发明的产生方法。

根据本发明的用于拼接全景视频的方法也可以实施为计算机可读记录介质上的计算机可读代码。计算机可读记录介质是可存储计算机系统其后可读取的数据的任何数据储存装置。计算机可读记录介质的示例包括只读存储器(rom)、随机存取存储器(ram)、cd-rom、磁带、软盘、和光学数据储存装置。计算机可读记录介质还可以在网络耦接的计算机系统上分发,使得可按照分布方式来存储和运行计算机可读代码。

本领域技术人员将清楚的是,能对本发明的上述示范实施例进行各种修改,而不脱离本发明的精神或范围。由此,本发明意欲覆盖所有这些修改,只要它们落入所附权利要求及其等效的范围内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1