一种自动检测IPsec协议中间人攻击的方法与装置与流程

文档序号:13908731阅读:845来源:国知局
一种自动检测IPsec协议中间人攻击的方法与装置与流程

本发明涉及一种自动检测ipsec协议中间人攻击的方法与装置,属于网络安全技术领域。



背景技术:

随着网络通信技术的发展,人们越来越发现,internet缺乏安全性已是不争的事实,所以,各种安全协议也应运而生。作为一个开放的ip层安全框架协议,ipsec协议位于网络层,在有效地保障了高层各协议安全性的同时,还减少了在tcp/ip网络上部署安全的复杂性。

目前,ipsec协议有多种实现,例如linux的2.6版本目前已经内嵌ipsec的功能,freeswan等开源项目也使得linux的2.4版本可以支持ipsec;windows2000以上的windows系列操作系统也都提供对ipsec的支持。因为ipsec协议的诸多优点,很多企业或单位使用ipsec协议建立安全隧道,保护机密信息,同时保障员工可以对公司内网进行访问,这是ipsec协议应用较为广泛的场景之一。

ipsec协议包括ah(验证头)和esp(封装安全载荷)等核心协议,还有hash算法、安全策略、安全联盟、isakmp等作为支撑。在第一阶段,通信双方通过协商建立ikesa,即安全联盟(securityassociation),里面包含了接下来协商、认证、加密所使用的协议和加解密算法,以及生命周期等。第二阶段则在ikesa的保护下,为接下来对建立的隧道和通信数据的保护进行进一步协商,来确定最终的密钥和算法。所以ipsec安全隧道的安全性建立在ike协商的基础之上,而dh交换是ike协商的安全基础。由于dh交换本身的缺点,ike协商比较容易受到中间人攻击,所以需要psk(预共享密钥)或者ca认证的方式对通信双方的身份进行认证。现在,已经有人对于预共享密钥的暴力破解的可行性进行了验证,一旦预共享密钥被破解,中间人便可以冒充普通用户对保密数据进行访问。



技术实现要素:

针对现有技术的不足,本发明提供了一种自动检测ipsec协议中间人攻击的方法;

本发明还提供了一种自动检测ipsec协议中间人攻击的装置;

本发明通过对ipsec协议正常连接的数据包和中间人攻击数据包,以及psk中间人攻击的原理的分析,总结得到被中间人攻击的ipsec协议流量的关键特征,进而对目标流量进行识别,得出判断结论,可以有效地帮助网络安全事件处理人员对ipsec中间人攻击进行及早识别和处理。

本发明的技术方案为:

一种自动检测ipsec协议中间人攻击的方法,包括步骤如下:

a、ike协商第一阶段:

(1)在ipsec建立安全隧道时,在客户端或服务器端获取ike协商第一阶段各数据报的发送、返回时间;

(2)计算相邻两个数据报之间的时间间隔,即t2、t3、t4、t5、t6;相邻两个数据报之间的时间间隔是指发出或接收到上一个数据包后至接收到或发出下一个数据包之间的时间间隔;

(3)计算相邻两个数据报之间的时间间隔t2、t3、t4、t5、t6的方差e1;

(4)数据报的接收和转发所耗时间相对较少,而除了正常的客户端和服务器端密钥计算外,中间人还要有额外的两倍的密钥计算量,这意味着涉及密钥计算过程的数据报之间的时间间隔,与本阶段(第一阶段)其他不涉及密钥计算的协商数据报之间的时间间隔,两者之间的波动幅度可能是正常连接的数倍。同理,在ike协商的第二阶段,也就是要计算大量密钥的第8条数据报,也会出现同样的特点。比较e1与e1的大小,如果e1>e1,则发出中间人攻击警报,提醒工作人员进行处理;否则,则认为是正常连接;e1的取值为0.0001-0.02,该e1的数值范围可以通过大量实验进一步缩小和精确;

b、ike协商第二阶段:

(5)在客户端或服务器端获取ike协商第二阶段各数据报的发送、返回时间;

(6)计算相邻两个数据报之间的时间间隔,即t7、t8、t9;

(7)计算相邻两个数据报之间的时间间隔t7、t8、t9的方差e2;

(8)比较e2与e2的大小,如果e1>e2,则发出中间人攻击警报,提醒工作人员进行处理;否则,则认为是正常连接,e2的取值为0.0003-0.024。

根据本发明优选的,e1=0.01,e2=0.005。

根据本发明优选的,所述步骤(1),在客户端或服务器端获取ike协商第一阶段各数据报的发送、返回时间,包括步骤如下:

a、获取数据报:从目标网卡上使用tcpdump工具直接在网卡上抓取数据报,或者使用dpdk技术旁路获取数据报;

b、过滤获取目标数据报:根据数据报中的特定标志位进行过滤,获取目标数据报;所述特定标志位包括源端口、目的端口、主模式以及responderspi;

c、预处理获取收发时间:使用tcpdump命令或者wireshark抓包工具,获取目标数据报的所有信息,根据时间信息在所有信息中的位置,获取目标网卡收发该数据报的收发时间值。

一种自动检测ipsec协议中间人攻击的装置,包括依次连接的采集模块、过滤模块、预处理模块、计算模块、分类判决模块及异常流量处理模块;

所述采集模块用于分别在客户端、服务器端获取ike协商第一阶段及ike协商第二阶段数据流量;所述过滤模块、所述预处理模块用于对获取的数据流量进行过滤和预处理,得到ike协商第一阶段及ike协商第二阶段各数据报的发送、返回时间;所述计算模块用于计算相邻两个数据报之间的时间间隔及其方差;所述分类判决模块用于将得到的方差与设置的阈值进行比对,获取判决结果;如果是正常流量,则不作处理,反之,则通知所述异常流量处理模块,将警报信息发送给工作人员,以便及时处理。

本发明的有益效果为:

1、本发明提出的自动检测ipsec中间人攻击的方法和装置,可以在ike协商阶段就对ipsec流量是否遭受中间人攻击进行识别,以便工作人员尽早发现,及时处理。

2、本发明不管是应用到服务器端还是客户端,都会有显著效果,对使用ipsec协议进行内网信息访问的公司提供更好的机密保护措施;为使用ipsec协议进行隐私保护的个人提供安全建议;有效地帮助网络安全事件处理人员对ipsec中间人攻击进行及早识别和处理;随着更多ipsec中间人攻击流量特征的发现,分类判决模块得到进一步完善,对于使用psk作为认证方式并且第一阶段使用主模式的ipsec协议,该中间人攻击检测方法及装置的准确率可达到95%以上。

3、由于ike协商过程的特殊性,即特定数据报之间进行密钥的计算和加解密,因此,本发明根据ipsec中间人攻击独有的特点进行检测,更有针对性,提高了准确率;相对于其他检测方法,本发明检测方法的监测数据(时间间隔)易于获取,计算方法(方差)简单迅速,检测结果准确,实验结果证明正常流量与攻击流量时间间隔方差相差几个数量级,且本方法大大降低了网络时延带来的影响。

附图说明

图1为ipsecikev1协商过程示意图;

图2为本发明自动检测ipsec协议中间人攻击的方法的流程示意图;

图3为本发明自动检测ipsec协议中间人攻击的装置的连接框图;

图4为ike协商第一阶段使用主模式时数据报收发的流程示意图;

具体实施方式

下面结合说明书附图和实施例对本发明作进一步限定,但不限于此。

实施例1

一种自动检测ipsec协议中间人攻击的方法,如图2所示,包括步骤如下:

a、ike协商第一阶段:

(1)在ipsec建立安全隧道时,在客户端或服务器端获取ike协商第一阶段各数据报的发送、返回时间;

(2)计算相邻两个数据报之间的时间间隔,即t2、t3、t4、t5、t6;相邻两个数据报之间的时间间隔是指发出或接收到上一个数据包后至接收到或发出下一个数据包之间的时间间隔;即:相邻两个数据报之间的时间间隔是指发出到上一个数据包后至接收到下一个数据包之间的时间间隔,或者相邻两个数据报之间的时间间隔是指接收到上一个数据包后至发出下一个数据包之间的时间间隔;ike协商有两个阶段,每个阶段有不同模式,例如,如图4所示,第一阶段如果使用主模式,则有固定的6个数据报来协商密钥材料,其中,t2指客户端发出第一个数据报后,接收到第二个数据报之间的间隔;因为数据报是双向的,如下所示:

以上为客户端获取的数据报,其中第一条数据报显示的时间为客户端发送时间,第二条数据报显示的时间为客户端接收到服务器端返回的数据报的时间,以此类推,所以在本次ike协商中,t2为客户端发出第一条数据报后至接收到第二条数据报之间的时间间隔0.020053-0=0.020053,t3为客户端收到第二条数据报后至发送第三条数据报之间的时间间隔0.173210-0.020053,t4、t5、t6依次类推;

(3)计算相邻两个数据报之间的时间间隔t2、t3、t4、t5、t6的方差e1;

(4)比较e1与e1的大小,如果e1>e1,则发出中间人攻击警报,提醒工作人员进行处理;否则,则认为是正常连接;e1=0.01;

b、ike协商第二阶段:

(5)在客户端或服务器端获取ike协商第二阶段各数据报的发送、返回时间;

(6)计算相邻两个数据报之间的时间间隔,即t7、t8、t9;

(7)计算相邻两个数据报之间的时间间隔t7、t8、t9的方差e2;

(8)比较e2与e2的大小,如果e1>e2,则发出中间人攻击警报,提醒工作人员进行处理;否则,则认为是正常连接;e2=0.005。

根据本实施例步骤(1)、步骤(5)获取四种数据流量情况下t2、t3、t4、t5、t6、e1、t7、t8、t、e2的取值如表1所示,其中时间间隔单位为s:

表1

基于psk认证的第一阶段为主模式的ipsec的情况下存在中间人攻击的情况,由表1计算结果显示,在相同网络环境下,针对基于psk认证的第一阶段为主模式的ipsec的中间人攻击,本实施例检测方法的检测准确率为100%。

下面对本实施例所述方法的推理如下:

图1介绍的是ipsecikev1的协商过程。在客户端和服务器端之间协商建立安全隧道时,ike协商的前4条报文都是明文传输,即除了psk以外,其他所有的加密算法、密钥材料都可以被截获,中间人只需使用简单的暴力破解手段,将加密的报文进行破解,就可以获得psk。所以,已经获得了psk后的中间人,可以根据前4条报文中的密钥材料和算法,冒充真正的客户(或服务器)与服务器(客户)建立连接和进行通信。

根据对已知psk的ipsec协议中间人攻击原理的分析可以得知,在收到全部的密钥材料,也就是接收到第4条数据报后,相对于正常的连接过程,中间人需要额外计算两套不同的密钥,来分别与客户端和服务器端进行进一步通信和协商。

在整个中间人攻击过程中,数据报的接收和转发所耗时间相对较少,而除了客户端和服务器端正常的密钥计算外,中间人还要有两倍的密钥计算量,这意味着涉及密钥计算过程的数据报之间的时间间隔,与本阶段(第一阶段)其他不涉及密钥计算的协商数据报之间的时间间隔,两者之间的波动幅度可能是正常连接的数倍。同理,在ike协商的第二阶段,也就是要计算大量密钥的第8条数据报,也会出现同样的特点。

为了验证以上猜想,本文针对正常连接与中间人攻击的数据流量分别做了测试,分别选取了在客户端抓取的两组正常流量和两组中间人攻击流量进行分析。为了降低网络时延带来的影响,时间间隔的波动幅度我们采用时间间隔的方差来体现。测试结果如表2所示,其中ti为第i个包与其前一个包之间的时间间隔,ej为第j阶段中相邻数据包之间时间间隔的方差。从表2中可以看出,相对于正常流量,攻击流量的t4、t8明显比其他时间间隔长得多,从而导致了该阶段方差数据的明显差距。

表2

我们分析表2的结果可以得到,由于四组流量均为在客户端抓取,即在服务器端发出第4条数据报后,中间人因为要完成两套密钥的计算,并修改数据报部分内容后再转发,所以导致了t4明显增长。

通过进一步分析,可以得知,如果该实验所用数据包为服务器端抓取,应该可以发现,服务器发送第4条数据报后,因为客户端在较长时间后才能收到中间人处理后的第4条数据报,然后发出第5条数据报,再经过中间人一系列处理才能转发给服务器,所以在服务器端,t5会成为最长的时间间隔。所以在原理上,该方法在服务器端也同样有效。

实施例2

一种自动检测ipsec协议中间人攻击的装置,如图3所示,包括依次连接的采集模块、过滤模块、预处理模块、计算模块、分类判决模块及异常流量处理模块;

采集模块用于在客户端或服务器端获取ike协商第一阶段及ike协商第二阶段数据流量;过滤模块、预处理模块用于对获取的数据流量进行过滤和预处理,得到ike协商第一阶段及ike协商第二阶段各数据报的发送、返回时间;计算模块用于计算相邻两个数据报之间的时间间隔及其方差;分类判决模块用于将得到的方差与设置的阈值进行比对,获取判决结果;如果是正常流量,则不作处理,反之,则通知异常流量处理模块,将警报信息发送给工作人员,以便及时处理。

采集模块、过滤模块、预处理模块、计算模块、分类判决模块及异常流量处理模块的内存均在1g以上,且均至少配置有两个网卡的设备上进行具体实施。

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