一种基于主机的网络攻击跳板检测方法及装置制造方法及图纸

技术编号:10374236 阅读:276 留言:0更新日期:2014-08-28 16:36
本发明专利技术涉及多级网络跳板主机检测领域,尤其是一种网络攻击跳板检测方法。本发明专利技术针对现有技术的问题,本发明专利技术提出了一种基于主机的网络攻击跳板检测方法及装置,通过网络追踪溯源找到攻击者,必然需要能够对网络攻击跳板主机进行检测,从而遏制通过跳板主机进行的网络攻击,并逐级找到隐匿在跳板主机后的攻击者。本发明专利技术中数据包捕获模块捕获该主机的数据包,数据流识别及分析模块接收数据包捕获模块捕获的数据包,跳板检测模块检测数据流组是否满足检测要求,若满足检测要求则进行检测,跳板检测模块对数据流组进行数据匹配并计算Echo_RTT只值与Ack_RTT值,判断Echo_RTT与Ack_RTT的关系值,确定跳板可信度等级。

【技术实现步骤摘要】
一种基于主机的网络攻击跳板检测方法及装置
本专利技术涉及多级网络跳板主机检测领域,尤其是一种网络攻击跳板检测方法及装置。
技术介绍
目前,网络攻击日益猖獗,攻击手段日益复杂,攻击者在实施网络攻击时通常会利用多级跳板主机来实施攻击步骤,从而达到隐匿攻击者身份的目的。跳板主机是指攻击者事先攻击并掌控的主机,攻击者通过逐级登录多个跳板主机,组成一个跳板攻击链,并通过最后一个跳板主机实施具体的网络攻击,如图1所述。由于从受害者只能追查找到最后一跳跳板主机,所以攻击者能够利用跳板攻击链达到逃避追踪、隐匿身份的目的。攻击者利用的跳板主机大都是其事先攻下的主机或者购买的虚拟主机,主要利用SSH、Telnet、rlogin、rsh等交互式登录会话协议组织攻击跳板链。对跳板主机的检测主要就是利用这些远程登录协议的特征及跳板主机间数据流的相关性进行检测。攻击者通常利用SSH、Telnet、rlogin、rsh等远程交互式会话协议登录并组织跳板攻击链,因此对跳板的检测方法主要集中在对多级跳板间通信特征的分析。正常情况下,一条主机间的远程登录会话链不会超过两跳,如果超过两跳则很有可能是攻击者蓄意组织的一条网络攻击跳板链。StanifordChen等人在文献《HoldingIntrudersAccountableontheInternet》提出了一种利用数据包指纹对比的方法来进行跳板链的检测,但是只能对未加密的会话进行检测,无法检测SSH等加密会话链。YinZhang和VernPaxson在文献《Detectingsteppingstones》中提出了一种基于数据包时间信息相关分析的跳板检测方法,该方法可以对加密的会话进行检测,但是这种方法的误报率较高,在真实的互联网环境下并不适用。JianhuaYang等人在文献《AReal-TimeAlgorithmtoDetectLongConnectionChainsofInteractiveTerminalSessions》提出了一种基于RTT(RoundTripTime)的跳板检测方法,该方法通过检测交互式会话中回送信息的延时判断跳板是否存在,但是该方法需要从会话初始建立时就对主机的数据流进行监控,对已建立的会话链无法进行检测。国内解放军信息工程大学的孙奕等人在文献《基于网络回声的跳板检测系统的设计与实现》提出了一种基于Web服务器端的跳板检测方法,能够检测访问Web服务器的主机是否为跳板主机。但是这种方法只能在Web攻击场景下实施,并且只能检测跳板主机的最后一跳,应用场景比较狭窄。在目前的互联网环境下,为了能够对网络攻击进行追踪溯源,找到通过跳板隐匿真实身份的攻击者,我们需要一种在真实网络环境下能够实时、准确、快速检测网络攻击跳板的方法。但是,当前对网络攻击跳板的检测大多仍集中在理论研究阶段,一些设计的检测算法只适用于实验环境,而另外一些检测方法则应用场景单一,难于在实际网络中应用。
技术实现思路
本专利技术所要解决的技术问题是:针对现有技术网络攻击者在实施网络攻击时通常会利用多级跳板主机来实施攻击步骤,从而达到隐匿攻击者身份的目的问题,解决的思路是通过网络追踪溯源找到攻击者,必然需要能够对网络攻击跳板主机进行检测,从而遏制通过跳板主机进行的网络攻击,并逐级找到隐匿在跳板主机后的攻击者。本专利技术提出了一种基于主机的网络攻击跳板检测方法及装置,该方法通过监控主机的数据流,分析和识别与跳板攻击相关的数据流,并通过基于RTT的检测判别方法,能够快速有效地检测是否存在网络攻击跳板,有效解决网络攻击追踪溯源中跳板的检测与识别问题。相应的,通过方法对应的装置,分析和识别与跳板攻击相关的数据流,快速检测是否存在网络攻击跳板,有效解决网络攻击追踪溯源中跳板的检测与识别问题。本专利技术采用的技术方案如下:一种基于主机的网络攻击跳板检测方法包括:步骤1:数据包捕获模块捕获该主机的数据包,对每条数据包进行唯一标识,对数据包进行分类后输出,执行步骤2;所述数据包分为远程登录协议数据包和未识别应用层协议数据包;步骤2:数据流识别及分析模块接收数据包捕获模块捕获的数据包,判断是否为TCP数据包,若是TCP数据包,则将其分类加入等待跳板检测模块检测的数据流,建立分类数据流队列并进行分类保存,执行步骤3;否则丢弃本次数据包;步骤3:跳板检测模块检测分类数据流队列是否满足检测要求,若满足检测要求则进行检测,跳板检测模块对分类数据流队列进行数据匹配并计算Echo_RTT只值与Ack_RTT值,判断Echo_RTT与Ack_RTT的关系值,确定跳板可信度等级;否则,结束流程;其中Echo_RTT是发送数据包与回显数据包之间时间间隔值;Ack_RTT是发送数据包与相邻节点Ack数据包之间的时间间隔值。进一步的,所述步骤2具体步骤包括:步骤21:数据流识别及分析模块判断接收到捕获模块捕获的数据包,判断是否为TCP数据包,若是TCP数据包,则执行步骤2;否则,丢弃本次TCP数据包;步骤22:判断TCP数据包是否属于分类数据流队列的数据流,若不属于分类数据流队列的数据流,则建立分类数据流队列,将为本次TCP数据包加入建立后分类数据流队列中;否则,将本次TCP数据包加入对应分类数据流队列中,执行步骤23;步骤23:判断本次TCP数据包是否属于远程登录数据包,若属于远程登录数据包,则将本次TCP数据包直接加入相应分类数据流队列中;否则,执行步骤24;步骤24:进行TCP数据包应用层协议识别,将识别出远程登录协议数据包加入等待进行跳板检测的分类数据流队列;否则,执行步骤25:步骤25:对未识别为远程登录协议数据包进行判断,当本次TCP数据包中个数超过M个未识别、数据包中不足M且数据包捕获时间超过T,则丢弃本次数据包;否则,执行步骤21,其中M范围是5-10,T范围是5-10分钟。进一步的,所述步骤24中进行TCP数据包应用层协议识别是通过协议默认端口识别及协议识别负载特征串相结合的方法,其具体过程是:步骤241:识别TCP数据包的端口字段,根据远程登录协议的默认端口号进行判别,若是能根据远程登录协议默认端口号识别出TCP数据包;则将识别出远程登录协议数据包加入等待进行跳板检测的分类数据流队列;否则执行步骤242;步骤242:根据远程登录协议交互中数据包存在的特征字符串识别TCP数据包,将识别出远程登录协议数据包加入等待进行跳板检测的分类数据流队列;否则,结束操作。进一步的,所述步骤3跳板检测模块对分类数据流队列中TCP数据包进行数据匹配并计算Echo_RTT与Ack_RTT,判断Echo_RTT与Ack_RTT的关系值,确定跳板可信度等级的具体步骤为:步骤311:当Xi-Xi-1≧60、t≦T且n≦N,执行步骤312,对分类数据流队列中TCP数据包进行Ack_RTT的匹配与计算;同时执行步骤315,对分类数据流队列中TCP数据包进行Echo_RTT的匹配计算;其中Xi为该分类数据流队列中TCP数据包数量,Xi-1为上一周期检测的数据包数量;T范围是5-10分钟;Xi的捕获时间为t;Xi检测周期数n;N范围为5-10,n表示检测的周期个数,t表示周期长度;步骤312:对于主机的分类数据流队列的每一个TCP数据包,提取TCP数据包中其发送本文档来自技高网
...
一种基于主机的网络攻击跳板检测方法及装置

【技术保护点】
一种基于主机的网络攻击跳板检测方法,其特征在于包括:步骤1:数据包捕获模块捕获该主机的数据包,对每条数据包进行唯一标识,对数据包进行分类后输出,执行步骤2;所述数据包分为远程登录协议数据包和未识别应用层协议数据包;步骤2:数据流识别及分析模块接收数据包捕获模块捕获的数据包,判断是否为TCP数据包,若是TCP数据包,则将其分类加入等待跳板检测模块检测的数据流,建立分类数据流队列并进行分类保存,执行步骤3;否则丢弃本次数据包;步骤3:跳板检测模块检测分类数据流队列是否满足检测要求,若满足检测要求则进行检测,跳板检测模块对分类数据流队列进行数据匹配并计算Echo_RTT只值与Ack_RTT值,判断Echo_RTT与Ack_RTT的关系值,确定跳板可信度等级;否则,结束流程;其中Echo_RTT是发送数据包与回显数据包之间时间间隔值;Ack_RTT是发送数据包与相邻节点Ack数据包之间的时间间隔值。

【技术特征摘要】
1.一种基于主机的网络攻击跳板检测方法,其特征在于包括:步骤1:数据包捕获模块捕获该主机的数据包,对每条数据包进行唯一标识,对数据包进行分类后输出,执行步骤2;所述数据包分为远程登录协议数据包和未识别应用层协议数据包;步骤2:数据流识别及分析模块接收数据包捕获模块捕获的数据包,判断是否为TCP数据包,若是TCP数据包,则将其分类加入等待跳板检测模块检测的数据流,建立分类数据流队列并进行分类保存,执行步骤3;否则丢弃本次数据包;步骤3:跳板检测模块检测分类数据流队列是否满足检测要求,若满足检测要求则进行检测,跳板检测模块对分类数据流队列进行数据匹配并计算Echo_RTT值与Ack_RTT值,判断Echo_RTT与Ack_RTT的关系值,确定跳板可信度等级;否则,结束流程;其中Echo_RTT是发送数据包与回显数据包之间时间间隔值;Ack_RTT是发送数据包与相邻节点Ack数据包之间的时间间隔值;其中,步骤3中跳板检测模块判断Echo_RTT与Ack_RTT的关系值,确定跳板可信度等级,具体步骤为:步骤321:若Echo_RTT与Ack_RTT的比值大于等于3,RTT值的匹配组数比例大于等于50%,则判定为高等级;若Echo_RTT与Ack_RTT的比值大于等于3,RTT值的匹配组数比例小于50%,则判定为中等级;其余为低等级;步骤322:如果数据流捕获时间超过10分钟且检测周期大于超过M,那么对仍未检测出跳板的数据流判定为不是跳板数据,丢弃本数据,M范围是5到10。2.根据权利要求1所述的一种基于主机的网络攻击跳板检测方法,其特征在于所述步骤2具体步骤包括:步骤21:数据流识别及分析模块判断接收到捕获模块捕获的数据包,判断是否为TCP数据包,若是TCP数据包,则执行步骤2;否则,丢弃本次TCP数据包;步骤22:判断TCP数据包是否属于分类数据流队列的数据流,若不属于分类数据流队列的数据流,则建立分类数据流队列,将为本次TCP数据包加入建立后分类数据流队列中;否则,将本次TCP数据包加入对应分类数据流队列中,执行步骤23;步骤23:判断本次TCP数据包是否属于远程登录数据包,若属于远程登录数据包,则将本次TCP数据包直接加入相应分类数据流队列中;否则,执行步骤24;步骤24:进行TCP数据包应用层协议识别,将识别出远程登录协议数据包加入等待进行跳板检测的分类数据流队列;否则,执行步骤25:步骤25:对未识别为远程登录协议数据包进行判断,当本次TCP数据包中未识别数据包个数超过M个、数据包个数不足M个数据包且数据包捕获时间超过T,则丢弃本次数据包;否则,执行步骤21,其中M范围是5-10,T范围是5-10分钟。3.根据权利要求2所述的一种基于主机的网络攻击跳板检测方法,其特征在于所述步骤24中进行TCP数据包应用层协议识别是通过协议默认端口识别及协议识别负载特征串相结合的方法,其具体过程是:步骤241:识别TCP数据包的端口字段,根据远程登录协议的默认端口号进行判别,若是能根据远程登录协议默认端口号识别出TCP数据包;则将识别出远程登录协议数据包加入等待进行跳板检测的分类数据流队列;否则执行步骤242;步骤242:根据远程登录协议交互中数据包存在的特征字符串识别TCP数据包,将识别出远程登录协议数据包加入等待进行跳板检测的分类数据流队列;否则,结束操作。4.根据权利要求3所述的一种基于主机的网络攻击跳板检测方法,其特征在于所述步骤3跳板检测模块对分类数据流队列中TCP数据包进行数据匹配并计算Echo_RTT与Ack_RTT,判断Echo_RTT与Ack_RTT的关系值,确定跳板可信度等级的具体步骤为:步骤311:当Xi-Xi-1≧60、t≦T且n≦N,执行步骤312,对分类数据流队列中TCP数据包进行Ack_RTT的匹配与计算;同时执行步骤315,对分类数据流队列中TCP数据包进行Echo_RTT的匹配计算;其中Xi为该分类数据流队列中TCP数据包数量,Xi-1为上一周期检测的数据包数量;T范围是5-10分钟;Xi的捕获时间为t;Xi检测周期数n;N范围为5-10,n表示检测的周期个数,t表示周期长度;步骤312:对于主机的分类数据流队列的每一个TCP数据包,提取TCP数据包中其发送的顺序号及TCP数据包载荷长度,并计算期待ACK序号=顺序号+数据包载荷长度;步骤313:提取TCP数据包中距离发送TCP数据包时间间隔最近的从机响应数据包,并提取从机响应数据包中ACK序号,若步骤312中计算的期待ACK序号与从机响应数据包的ACK序号相等,则这两个数据包是匹配的,通过计算这两个数据包的时间间隔,得到这两个数据包的Ack_RTT;步骤314:重复步骤312至步骤313得到多组Ack_RTT,并计算得到Ack_RTT平均值;步骤315:当使用明文传输的远程登录协议,那么通过直接匹配发送数据包和回送数据包的数据包载荷,如果包含相同内容,那么这两个数据包是匹配的,通过计算这两个数据包的时间间隔,得到这两个数据包的Echo_RTT;当使用密文传输的远程登录协议,执行步骤315;步骤316:对于使用密文传输的远程登录协议,那么使用如下方法:提取主机TCP数据包中其发送的顺序号及TCP数据包载荷长度,并计算主机的期待ACK序号=顺序号+数据包载荷长度;对收到的从机发送的TCP数据包Q获取ACK序号及序列号,当满足P的ACK序号与Q的序列号相等且P的序列号小于Q的ACK序号,且P的序列号小于Q的ACK序号,则称TCP数据包P和TCP数据包Q是匹配的发送和回显数据包,计算所述发送数据包和回显数据包的时间间隔得到Echo_RTT;步骤317:重复步骤315至步骤316,得到多组Echo_RTT,计算得到Echo...

【专利技术属性】
技术研发人员:刘波陈周国蒲石郝尧黄宸
申请(专利权)人:中国电子科技集团公司第三十研究所
类型:发明
国别省市:四川;51

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1