CN101286896B - 基于流的IPSec VPN协议深度检测方法 - Google Patents
基于流的IPSec VPN协议深度检测方法 Download PDFInfo
- Publication number
- CN101286896B CN101286896B CN2008100385526A CN200810038552A CN101286896B CN 101286896 B CN101286896 B CN 101286896B CN 2008100385526 A CN2008100385526 A CN 2008100385526A CN 200810038552 A CN200810038552 A CN 200810038552A CN 101286896 B CN101286896 B CN 101286896B
- Authority
- CN
- China
- Prior art keywords
- message
- ipsec vpn
- vpn
- negotiate response
- function
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
- 238000000034 method Methods 0.000 title claims abstract description 12
- 238000001514 detection method Methods 0.000 claims abstract description 42
- 238000012544 monitoring process Methods 0.000 claims abstract description 10
- 239000000523 sample Substances 0.000 claims abstract description 4
- 125000004122 cyclic group Chemical group 0.000 claims abstract description 3
- 230000004044 response Effects 0.000 claims description 45
- 230000006870 function Effects 0.000 claims description 43
- 239000003795 chemical substances by application Substances 0.000 claims description 12
- 239000000284 extract Substances 0.000 claims description 11
- 239000003999 initiator Substances 0.000 claims description 8
- 238000004458 analytical method Methods 0.000 claims description 7
- 235000014510 cooky Nutrition 0.000 claims description 7
- 230000005540 biological transmission Effects 0.000 claims description 4
- 230000008859 change Effects 0.000 claims description 4
- 230000008569 process Effects 0.000 claims description 4
- 238000000605 extraction Methods 0.000 claims description 3
- 238000005242 forging Methods 0.000 claims description 3
- 238000012217 deletion Methods 0.000 claims description 2
- 230000037430 deletion Effects 0.000 claims description 2
- 238000013461 design Methods 0.000 claims description 2
- 238000001914 filtration Methods 0.000 claims description 2
- 230000007246 mechanism Effects 0.000 claims description 2
- 238000012986 modification Methods 0.000 claims description 2
- 230000004048 modification Effects 0.000 claims description 2
- 238000007689 inspection Methods 0.000 abstract description 4
- 238000005516 engineering process Methods 0.000 description 9
- 238000007726 management method Methods 0.000 description 5
- 238000005538 encapsulation Methods 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 241001062472 Stokellia anisodon Species 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 238000013070 change management Methods 0.000 description 1
- 238000004140 cleaning Methods 0.000 description 1
- ZPUCINDJVBIVPJ-LJISPDSOSA-N cocaine Chemical compound O([C@H]1C[C@@H]2CC[C@@H](N2C)[C@H]1C(=O)OC)C(=O)C1=CC=CC=C1 ZPUCINDJVBIVPJ-LJISPDSOSA-N 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 239000000470 constituent Substances 0.000 description 1
- 238000007418 data mining Methods 0.000 description 1
- 230000007812 deficiency Effects 0.000 description 1
- 239000012467 final product Substances 0.000 description 1
- 238000013332 literature search Methods 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 230000000737 periodic effect Effects 0.000 description 1
- 239000000047 product Substances 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
- 230000005641 tunneling Effects 0.000 description 1
Images
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
一种基于流的IPSec VPN协议深度检测方法,用于网络安全领域。本发明首先在智能代理或探针机器上打开网卡的混杂模式进行循环监听,并且设置BPF过滤器抓取IPSec VPN报文。对IPSec报文序列流存储并进行深度检测,识别和分析IPSec VPN报文是否为伪造,是否是非标准格式报文,并且能够根据IPSec VPN报文序列流的上下文解析出非标准格式报文和标准格式报文之间的区别。本发明提出的根据协议会话状态的深度检测方法有相当的智能性,可以分析未知格式的报文,而且实现简单,性能稳定,可以应用在监察代理、防火墙、IDS等领域。
Description
技术领域
本发明涉及一种网络安全技术领域中的检测方法,具体是一种基于流的IPSec VPN协议深度检测方法。
背景技术
IPSec是一种基础设施性质的安全技术。采用IPSec,可以提供原本IP协议中没有的安全特性:机密性、完整性、身份验证、抗流量分析等。而IPSec VPN是采用IPSec安全协议建立VPN隧道,可以在公众网上建立安全的虚拟通道以便远程访问。IPSec VPN技术的各个方面都有很多国际标准,IPSec协议就有(IPSecurity-RFC 2401~2411,2451)标准;加密有ESP DES和3DES(RFC 2406,2451)标准,认证有X.509数字证书(RSA签名)、共享密钥、简单证书登记协议等标准;完整性有HMAC-MD5 & HMAC-SHA-1(RFC 2403-2404)等标准;密钥管理有互联网密钥交换(IKE)(RFC 2407-2409)等标准;还有证书管理、弹性、管理选项、路由协议等等众多标准。IPSec VPN设备制造商的VPN产品,大都遵守以上的这些标准。
但是由于IPSec VPN和网络地址转换(NAT)穿越兼容性的问题的普遍存在,很多VPN设备制造商采用了自己独有的技术(比如UDP封装或者HTTP封装)来实现IPSec VPN的NAT穿越。这就造成了VPN设备之间的不兼容。为了改变这一状况,国家密码管理局2008年1月8日发布了第14号公告:《IPSec VPN技术规范》,来规范IPSec VPN的架构和各方面的具体实现。
由于IPSec VPN本身是加密的数据报文,而且由于为了实现IPSec的NAT穿越,对标准的协议进行改动的情况也普遍存在。这就为在IPSec VPN中隐藏的应用层攻击,或伪装为IPSec报文欺骗防火墙和IDS了留下了隐患。而深度检测技术,在原有的包过滤防火墙基于网络层的安全检查和状态检测防火墙上升到传输层的安全检查技术之上,进一步的上升到应用层。按照Bivio Networks公司CEO Elan Amir的说法,深度检测技术是一种分析网络流量的技术,不仅分析报文的头部,而且进一步的去分析报文内部的数据。
经对现有技术的文献检索发现,清华大学的叶明江、崔勇等人在2007年的软件学报上发表的《基于有状态Bloom filter引擎的高速分组检测》提出了一种基于有状态Bloom filter引擎的高速分组检测方法State Based Bloom filterengine(SABFE)。通过并行查找Bloom filter和前缀寄存器堆保持当前子串的匹配状态来检测长的规则,能够实现线速的深度检测。该方法虽然在速度和可扩展性上都有优点,但是对于非标准格式的报文,由于非标准的包头的干扰,报文属于哪种协议类型都已经变得不可识别,里面的字段内容也因为非标准包头全部错位,解析出来也会出错,字符串匹配也派不上用场了。
进一步的检索中,尚未发现针对IPSec VPN的深度检测方法的文献报道。
发明内容
本发明的目的针对上述现有技术的不足,提供了一种基于流的IPSec VPN协议深度检测方法,能够分析和识别非标准协议格式的IPSec VPN报文,并且能够根据上下文信息也即协议会话的状态结合报文特征得出非标准格式的IPSecVPN报文和标准格式的IPSec VPN报文之间的区别,并且能够对IPSec应用层数据关键字段进行提取,并做出相应的处理。本发明提出的根据协议会话状态的深度检测方法有相当的智能性,可以分析未知格式的报文,而且实现简单,性能稳定,可以应用在监察代理、防火墙、IDS等领域。
本发明是通过以下技术方案实现的,本发明包括如下步骤:
步骤一:在智能代理或者探针设备上把网卡设为混杂模式,并通过调用libpcap网络抓包库函数进行循环监听,设置BPF抓包过滤器来抓取所有UDP 500端口和4500端口的报文,也即IPSec VPN报文,通过设置回调函数callback为基于流的深度检测函数,每次抓到报文就会自动调用基于流的深度检测函数进行处理;回调函数callback是由系统接收到消息自动调用的函数。
本发明把基于流的深度检测的函数地址作为参数设置为回调函数。因此,当Libpcap抓到符合过滤规则(UDP 500和UDP 4500)的报文,就会自动去调用基于流的深度检测函数。
步骤二:在回调函数也就是基于流的深度检测函数中把抓取到的IPSec VPN报文序列都保持在数据结构中,对IPSec VPN报文序列的上下文进行分析和检测,首先按照标准的IPSec VPN报文序列格式去解析,定位SA协商请求报文和协商响应报文,并提取VPN关键信息。如果能正确解析,那么该IPSec VPN报文序列是标准的,如果不能解析,那么说明IPSec VPN报文序列是非标准的或者是伪造的。此时各个字段内容都被打乱,按标准协议格式无法得知哪些是SA协商请求分组,哪些是协商响应分组。所以这时根据上下文信息特征分析检测出哪个报文是协商响应报文,再对这些非标准的报文进行关键字段的提取,如果根据上下文特征还检测不出来,认为是伪造的IPSec VPN报文,这时可以触发相关安全事件进行处理。
步骤三:根据上个步骤上下文信息也即基于流的深度检测方法检测出来的协商响应报文,寻找协商响应报文中的NextPayLoadType,解析出标准或非标准的IPSec VPN报文中所采用的加密算法、哈希算法、认证算法、群组签名算法等,从而检测出其中不符合中国密码管理委员会政策规定的算法,或者是VPN生产厂家不按标准协议格式设计的非标准的IPSec VPN协议,或者是伪造的IPSec VPN报文,并按照设置安全规则进行相应的处理。根据该基于流的深度检测方法应用的场合,这里的处理可以是报警、记录日志等等。
所述的进行循环监听,并抓取IPSec VPN报文,具体为以下几个步骤:
1)指定网卡或查找网卡
通过调用libpcap网络抓包库函数pcap_lookupdev选择监听的网卡设备。libpcap是一个与实现无关的访问操作系统所提供的分组捕获机制的分组捕获函数库,用于访问数据链路层。著名的ethereal抓包嗅探分析工具,也即现在的wireshark,就是基于libpcap实现的。著名的开源IDS软件,snort,也是基于libpcap的。
2)打开设备监听
调用libpcap库函数pcap_open_live,把网卡设置使用混杂模式。
3)设定监听规则
通过设置libpcap网络抓包库提供的抓包过滤器BPF(Barkley PacketFilter)来设置抓包条件(具体为UDP报文,端口500和4500);调用pcap_compile对抓包过滤条件(BPF)进行编译,变成汇编代码(所以它的性能非常好),然后调用pcap_setfilter实施该规则。
4)处理特定分组
调用libpcap库函数pcap_loop,将接收分组数设为-1,表示无限循环。
5)设定回调函数(callback)
设定基于流的IPSec VPN深度检测的方法为回调函数(指定了回调函数之后,当网卡上出现了符合过滤条件的报文,就会自动触发中断,由回调函数对这个中断进行响应)。每次抓到一个符合过滤条件的数据包就循环调用回调函数这里也既基于流的IPSec VPN深度检测方法进行分析和提取。
6)关闭监听
调用libpcap库函数pcap_close,结束监听。
所述的对IPSec VPN报文序列的上下文进行分析和检测,具体为:利用SA协商请求在前,协商响应分组在后的上下文特征,在因为非标准格式从而序列中所有报文都无法解析的情况下,结合协商请求报文和协商响应分组自身的报文特征来分析和检测,找到哪个是协商响应分组,并在协商响应分组中的SA payload字段中提取其中包括加密算法、哈希算法等关键VPN信息。如果要检测IPSec VPN所使用的加密算法、哈希算法、认证算法、组描述算法等参数,在报文都是标准的情况下,只需要抓取协商响应分组即可。也就是不需要利用上下文信息。
这里所述的SA协商请求分组和协商响应分组的特征具体为:SA协商请求与SA协商响应的主要区别是是否存在8字节的Responder Cookie,有则是SA协商响应,否则为SA协商请求,而SA协商响应与其他IKE分组的区别在于NextPayload Type值。
所述的协商请求分组和协商响应分组,是指:IPSec VPN采用IKE协议完成密钥协商过程,发起方VPN(Initiator)首先向接收方VPN(Responder)发起开始ISAKMP SA协商的请求,即利用IKE协议发送包含多个包含不同加密算法、哈希算法组合的传输方案,称该网络分组为协商请求分组。接收方VPN收到该分组后,对发起方进行反馈,即利用IKE协议发送唯一认可的一个传输方案,称为协商响应分组。
所述的IKE(Internet Key Exchange,RFC2409):因特网密钥交换协议是一个以受保护的方式动态协商SA(Secure Association安全关联)的协议。IKE是一个混合的协议,它由Internet密钥交换协议(IKE,RFC2409)、Internet安全关联和密钥交换协议(ISAKMP,RFC2408)、Oakley密钥确定协议(RFC2412)、IPSec Domain of Interpretation(IPSec DOI,RFC2407)组成。IKE分两个阶段实现:第一阶段为建立IKE本身使用的安全信道而相互交换SA(采用ISAKMP),第二阶段利用第一阶段建立的安全信道交换IPSec通信中使用的SA。
所述的ISAKMP协议(Internet Security Association and Key ManagementProtocol,RFC2407),提供密钥管理架构,定义了SA的建立、协商、修改、删除规程和分组格式,ISAKMP协议独立于密钥交换协议、加密算法和认证方法,ISAKMP下层由UDP协议承载,端口号为500,如果有NAT存在,也可以是4500端口。ISAKMP协议交换4到6个报文,分三个步骤:
1)协商安全参数
2)Diffie-Hellman交换
3)认证实体
这三个步骤可以通过主模式也可以通过野蛮模式来完成。
所述的主模式(Main Mode)是按照以上三个步骤严格,安全的进行密钥交换管理的。发送6个报文(假设是Alice向Bob发起):
1)Alice→Bob:Crypto suites I support发起方支持的加密方案(协商请求分组)
2)Bob→Alice:Crypto suite I choose接受方选中的加密方案(协商响应分组)
3)Alice→Bob:ga mod p(Diffie-Hellman交换)
4)Bob→Alice:gb mod p(Diffie-Hellman交换)
5)Alice→Bob:gab mod p{“Alice”,ProofI’m Alice}(加密认证Alice身份)
6)Bob→Alice:gab mod p{“Bob”,Proof I’m Bob}(加密认证Bob身份)
所述的野蛮模式(Aggressive Mode):是用来简化规程和提高处理效率的方式,发送3个报文(假设是Alice向Bob发起的):
1)Alice→Bob:ga mod p,“Alice”,crypto proposal
2)Bob→Alice:gb mod p,crypto choice,proof I’m Bob
3)Alice→Bob:Proof I’m Alice
不论是在主模式下还是在野蛮模式下,SA协商请求分组、SA协商响应分组和其他IKE协议分组的区别特征都是一致的,如下表所示:
IKE协议类型 | Initiator Cookie | Responder Cookie | Next Payload Type |
SA协商请求 | 有 | 无,即8字节0 | 1 |
SA协商响应 | 有 | 有 | 1 |
其他分组 | 有 | 有 | 非1 |
所述的SA协商响应分组的特征,有两点:1).相比于SA协商请求ResponderCookie不为0,2).相比其他分组,Next Payload Type为1。而由于ResponderCookie为8字节随机码,在非标准IPSec中无法直接判断。另外Next PayloadType只有一个字节,在非标准IPSec分组中无法定位。这两点特征都没有办法直接利用。
所述的结合协商请求报文和协商响应分组自身的报文特征来分析和检测是把SA协商请求报文作为上文,SA协商响应报文作为下文,然后是进一步的协商分组。先搜索连续8个字节的0加一个字节1的Responder Cookie,能找到这个特征标致的作为上文,也就是SA协商请求报文,通过比对和标准格式的差异,确定该非标准协议做了哪些改动。通过相同的反改动就可以对包含Next PayloadType字段值为1的分组,也即下文:SA协商响应报文中提取想要提取的关键信息。
本发明可以在多种网络设备中得到应用,如防火墙、IDS等各种网络安全设备,协议分析代理设备。在这样的网络安全设备中,应用本发明,可以检测标准和非标准的IPSec连接,并了解这些连接中使用的加密算法、哈希算法等信息。通过应用本发明,本来不能解析的非标准的IPSec VPN连接信息可以得到解析。可以为网管提供更加准确的VPN使用情况,以便对VPN进行监督。也可以防止伪造的VPN报文进行攻击,提供更高的安全性。
附图说明
图1本发明实施例应用架构图;
图2本发明实施例IKE协议格式;
图3本发明实施例的流程图。
具体实施方式
下面结合附图对本发明的实施例作详细说明:本实施例在以本发明技术方案为前提下进行实施,给出了详细的实施方式和具体的操作过程,但本发明的保护范围不限于下述的实施例。
如图1所示,IPSecVPN监察系统分为中心端和代理端两部分,结合IPSec VPN监察系统具体说明本实施例:
代理端分布配置在各单位边界网络中的交换机镜像端口,代理端有两个网络接口,一个用来抓包,一个用来和中心端通信。IPSec VPN流量会流经边界网络的交换机,并被监察系统代理端所抓取到,其中包括IPSec VPN的ISAKMP协议报文,其报文格式如图2所示。监察代理按照基于流的IPSec VPN深度检测方法进行分析,提取其中的关键信息,并把分析出的数据通过网络发送到中心端,而中心端主要负责将各个代理点汇报的数据进行汇总、分析和数据挖掘以及报警管理,并向前台管理员用户把抓到的各IPSec VPN关键信息以图形化方式展示。
代理端以2.6内核以上Linux系统为基础,并在Linux系统中安装了Libpcap的网络抓包库。Libpcap是一个C语言库,英文意思为Packet Capture library,其功能是通过网卡抓取以太网中的数据包,为不同平台提供了统一的编程接口。
代理端分为两个模块,主模块负责向中心端通报IPSec信息,接受来自中心端的配置更新等命令。子模块则负责在特定端口抓包,并进行分析和提取。子模块的具体过程如下:
如图3所示,本实施例包括如下步骤:
步骤一,抓取UDP 500端口和UDP 4500端口的数据包,这是ISAKMP协议所使用的端口;
步骤二,根据数据包的源IP地址,目的IP地址,源端口号和目的端口号去数据库(此处的数据库指的是代理端为了维护上下文信息建立的数据库)中查询该VPN连接的状态。若没有查到相关记录,则执行步骤三,如果查到,且状态为未取得SA协商响应,则执行步骤四;若查到状态为已取得SA协商响应,则执行步骤五;
步骤三,从UDP数据包开始寻找连续8个字节的0,连续的8个字节的0是Initiator Cookie的标志,表明这很可能是SA协商请求报文。这是从上文得出的信息,但并不知道每个数据包是什么类型的IPSec VPN报文。若找到,那假设找到的这个报文就是IPSec VPN的协商请求报文,如果抓到的报文是个非标准的ISAKMP报文,而且假设在上下文中每个非标准的报文和标准报文之间的区别是一致的,根据前述8个字节的0在报文中的位置,得出所抓取的ISAKMP报文和标准协议报文的差异,这里体现在一个偏移量的值,这个值等于非标准协议报文添加的一些信息。把这个偏移量值与源IP地址,目的IP地址,源端口号和目的端口号一起存入数据库,并执行步骤五,若没有找到,则直接结束,并向中心端上报一个警告。不能按照基于流的IPSec VPN协议深度检测方法去解析,抓到的IPSec VPN报文认为是伪造的;
步骤四,根据这个偏移量值,把非标准协议的报文偏移成标准协议报文格式,按照标准协议报文的上下文关系,在ISAKMP协议的下文中去寻找NextPayload Type字段,看看值是否为1,来进一步验证上文的信息。若是这样,那么后面的payload字段中就有该IPSec VPN的关键信息,如加密算法,哈希算法,认证算法等,并跳转执行步骤五,如果不是这样,那说明上下文中的信息还不够用来分析,就再接着积累上下文信息,直接执行五;
步骤五,将系统当前时间写入数据库(还是那个上述维护上下文信息的数据库);
步骤六,定期清理数据库,将最后访问时间早于某一阈值的记录项全部清空。
该IPSec VPN监察系统能够对标准的IPSec VPN协议进行深度检测,也能够对非标准的IPSec VPN协议进行深度检测,甚至能检测出一些伪造的IPSec VPN协议。该监察系统使用的基于流的IPSec VPN协议深度检测方法简单,易于实现,并且检测速度很块。可以广泛应用到防火墙,入侵检测系统,以及各种智能代理或探针中。该系统使用了一款基于酷睿2平台的双千兆口工控主机,能够实现千兆线速的IPSec VPN抓包速度。
该系统的准确性用误报率和漏检率两个指标来衡量。
误报率分析:
该深度检测方法能识别出非标准协议和标准协议之间的区别,被识别为非标准协议格式的误报率几乎为0,但是有可能把某些非标准协议认为是伪造的IPSec VPN报文,如果非标准协议与标准协议差异太大的话,具体的说,是加入了不止一段的自定义字段。这种情况通常比较少见。
漏检率分析:
如果非标准协议使用了除了500端口和4500端口以外的端口。那该IPSecVPN监察系统可能会漏过对这个IPSec VPN的分析。这种情况也比较少见。
Claims (2)
1.一种基于流的IPSec VPN协议深度检测方法,其特征在于,包括如下步骤:
步骤一:在智能代理或者探针设备上把网卡设为混杂模式,并通过调用libpcap网络抓包库函数进行循环监听,设置BPF抓包过滤器来抓取所有UDP 500端口和4500端口的报文,也即IPSec VPN使用的Internet密钥交换协议报文,设置回调函数callback为基于流的深度检测函数,每次抓到报文就会自动调用基于流的深度检测函数进行处理;所述回调函数callback是由系统接收到消息自动调用的函数,将基于流的深度检测的函数地址作为参数,设置为回调函数,当Libpcap抓到符合过滤规则UDP 500端口和UDP 4500端口的报文,就会自动去调用基于流的深度检测函数;
步骤二:在回调函数也就是基于流的深度检测函数中把抓取到的IPSec VPN的密钥交换报文流都保持在数据结构中,对IPSec VPN的密钥交换报文流的上下文进行分析和检测,首先按照标准的IPSec VPN报文格式去解析,定位SA协商请求报文和SA协商响应报文,并提取VPN关键信息;
如果能正确解析,那么该IPSec VPN报文序列是标准的,如果不能解析,那么说明IPSec VPN报文序列是非标准的或者是伪造的,此时各个字段内容都被打乱,按标准协议格式无法得知哪些是SA协商请求报文,哪些是SA协商响应报文,这时根据报文流的上下文信息特征分析检测出哪个报文是SA协商响应报文,再对这些非标准的SA协商响应报文进行关键字段的提取,如果根据报文流的上下文特征还检测不出来,则认为是伪造的IPSec VPN报文,这时触发相关安全事件进行处理;
步骤三:根据上个步骤上下文信息也即基于流的深度检测方法检测出来的SA协商响应报文,寻找SA协商响应报文中的NextPayLoadType,解析出标准或非标准的IPSec VPN报文中所采用的算法,从而检测出其中不符合中国密码管理委员会政策规定的算法,或者是VPN生产厂家不按标准协议格式设计的非标准的IPSec VPN协议,或者是伪造的IPSec VPN报文,并按照设置安全规则进行报警、或者记录日志处理;
所述的对IPSec VPN报文序列的上下文进行分析和检测,具体为:利用SA协商请求报文在前,SA协商响应报文在后的上下文特征,在因为非标准格式从而序列中所有报文都无法解析的情况下,结合SA协商请求报文和SA协商响应报文自身的报文特征来分析和检测,找到哪个是SA协商响应报文,并在SA协商响应报文中的SA payload字段中提取其中关键VPN信息;如果要检测IPSec VPN所使用的加密算法、哈希算法、认证算法、组描述算法,在VPN报文都是标准的情况下,只需要抓取SA协商响应报文,不需要利用上下文信息;
所述的SA协商请求报文和SA协商响应报文的特征具体为:SA协商请求报文与SA协商响应报文的主要区别是是否存在8字节的Responder Cookie,有则是SA协商响应报文,否则为SA协商请求报文,而SA协商响应报文与其他IKE报文的区别在于NextPayLoadType字段值;
所述的结合SA协商请求报文和SA协商响应报文自身的报文特征来分析和检测是把SA协商请求报文作为上文,SA协商响应报文作为下文,然后是进一步的协商报文:先搜索连续8个字节的0加一个字节1的Responder Cookie及NextPayLoadType,能找到这个特征标志的作为上文,也就是SA协商请求报文,通过比对和标准格式的差异,确定该非标准协议做了哪些改动,通过相同的反改动就可以对包含NextPayLoadType字段值为1的报文作为下文:SA协商响应报文中提取想要提取的关键信息;
所述的SA协商请求报文和SA协商响应报文,是指:IPSec VPN采用IKE协议完成密钥协商过程,发起方VPN首先向接收方VPN发起开始ISAKMP SA协商的请求,即利用IKE协议发送包含多个包含不同加密算法、哈希算法组合的传输方案,称该网络报文为SA协商请求报文;接收方VPN收到该报文后,对发起方进行反馈,即利用IKE协议发送唯一认可的一个传输方案,称为SA协商响应报文;
所述的ISAKMP提供密钥管理架构,定义了SA的建立、协商、修改、删除规程和报文格式,ISAKMP协议独立于密钥交换协议、加密算法和认证方法,ISAKMP下层由UDP协议承载,端口号为500,当存在NAT时端口号为500或4500,ISAKMP协议交换4到6个报文,分三个步骤:
1)协商安全参数
2)Diffie-Hellman交换
3)认证实体
这三个步骤通过主模式或者野蛮模式来完成。
2.根据权利要求1所述的基于流的IPSec VPN协议深度检测方法,其特征是,所述的进行循环监听,并抓取IPSec VPN报文,具体为以下几个步骤:
1)指定网卡或查找网卡
通过调用libpcap网络抓包库函数pcap_lookupdev选择监听的网卡设备,libpcap是一个与实现无关的访问操作系统所提供的报文捕获机制的报文捕获函数库,用于访问数据链路层;
2)打开设备监听
调用libpcap库函数pcap_open_live,把网卡设置使用混杂模式;
3)设定监听规则
通过设置libpcap网络抓包库提供的抓包过滤器BPF来设置抓包条件,具体为UDP报文,端口500和4500;调用pcap_compile对抓包过滤条件进行编译,变成汇编代码,然后调用pcap_setfilter实施该规则;
4)处理特定报文
调用libpcap库函数pcap_loop,将接收报文数设为-1,表示无限循环;
5)设定回调函数callback
设定基于流的IPSec VPN深度检测的方法为回调函数,指定了回调函数之后,当网卡上出现了符合过滤条件的报文,就会自动触发中断,由回调函数对这个中断进行响应,每次抓到一个符合过滤条件的数据包就循环调用回调函数,这里也即基于流的IPSec VPN深度检测方法进行分析和提取;
6)关闭监听
调用libpcap库函数pcap_close,结束监听。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2008100385526A CN101286896B (zh) | 2008-06-05 | 2008-06-05 | 基于流的IPSec VPN协议深度检测方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2008100385526A CN101286896B (zh) | 2008-06-05 | 2008-06-05 | 基于流的IPSec VPN协议深度检测方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101286896A CN101286896A (zh) | 2008-10-15 |
CN101286896B true CN101286896B (zh) | 2010-09-29 |
Family
ID=40058877
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2008100385526A Expired - Fee Related CN101286896B (zh) | 2008-06-05 | 2008-06-05 | 基于流的IPSec VPN协议深度检测方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101286896B (zh) |
Families Citing this family (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102594785B (zh) * | 2011-01-14 | 2015-09-30 | 华为技术有限公司 | Ip安全隧道建立方法、装置和网络设备 |
CN102137100B (zh) * | 2011-03-01 | 2013-12-11 | 汉柏科技有限公司 | 构建ip层ssl vpn隧道的方法 |
CN103095511A (zh) * | 2011-10-28 | 2013-05-08 | 华为技术有限公司 | 一种在IPsec机制下的网络测试方法,装置及系统 |
CN102594624A (zh) * | 2012-03-06 | 2012-07-18 | 上海纳轩电子科技有限公司 | 一种基于fpga实现的高速高效网络数据包捕获方法 |
CN104618170B (zh) * | 2013-11-04 | 2019-02-26 | 腾讯科技(北京)有限公司 | 网络数据包的过滤方法和装置 |
CN104702590B (zh) * | 2014-12-09 | 2021-04-16 | 网神信息技术(北京)股份有限公司 | 通信协议的切换方法及装置 |
CN104468281A (zh) * | 2014-12-24 | 2015-03-25 | 上海斐讯数据通信技术有限公司 | 路由信息协议模拟器及其路由信息协议通信测试方法 |
CN104601577A (zh) * | 2015-01-16 | 2015-05-06 | 网神信息技术(北京)股份有限公司 | 基于vpn切换协议的方法和装置 |
WO2017120512A1 (en) * | 2016-01-08 | 2017-07-13 | Belden, Inc. | Method and protection apparatus to prevent malicious information communication in ip networks by exploiting benign networking protocols |
CN109714300B (zh) * | 2017-10-26 | 2021-06-11 | 中国电信股份有限公司 | 安全控制方法和系统及相关设备 |
CN110099056B (zh) * | 2019-04-30 | 2021-09-03 | 哈尔滨英赛克信息技术有限公司 | 一种IPSec安全网关的策略冲突动态检测方法 |
CN110661683B (zh) * | 2019-09-26 | 2021-07-16 | 苏州浪潮智能科技有限公司 | 一种基于pcap格式的文件分析UDP协议的方法及装置 |
CN111224855B (zh) * | 2019-12-16 | 2021-11-30 | 武汉思为同飞网络技术股份有限公司 | 基于Linux的虚拟网卡实现方法、装置、设备及介质 |
CN111917894A (zh) * | 2020-03-19 | 2020-11-10 | 北京融汇画方科技有限公司 | 网卡混杂模式探测技术 |
CN113472791B (zh) * | 2021-06-30 | 2023-07-14 | 深信服科技股份有限公司 | 一种攻击检测方法、装置、电子设备及可读存储介质 |
CN113872956A (zh) * | 2021-09-24 | 2021-12-31 | 深圳供电局有限公司 | 一种审查ipsec vpn传输内容的方法及系统 |
CN114826640A (zh) * | 2021-12-15 | 2022-07-29 | 广西电网有限责任公司电力科学研究院 | 一种审查IPSec VPN传输内容的方法及系统 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1668015A (zh) * | 2004-12-20 | 2005-09-14 | 华中科技大学 | 基于协同入侵检测的大规模网络安全防御系统 |
CN1697452A (zh) * | 2005-06-17 | 2005-11-16 | 中兴通讯股份有限公司 | 一种基于IPSec穿越NAT的IP多媒体子系统接入安全保护方法 |
CN101030935A (zh) * | 2007-04-05 | 2007-09-05 | 中山大学 | 一种IPSec穿越NAT-PT的方法 |
CN101090334A (zh) * | 2007-05-23 | 2007-12-19 | 西安交大捷普网络科技有限公司 | 一种解决入侵检测系统中海量报警的方法 |
-
2008
- 2008-06-05 CN CN2008100385526A patent/CN101286896B/zh not_active Expired - Fee Related
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1668015A (zh) * | 2004-12-20 | 2005-09-14 | 华中科技大学 | 基于协同入侵检测的大规模网络安全防御系统 |
CN1697452A (zh) * | 2005-06-17 | 2005-11-16 | 中兴通讯股份有限公司 | 一种基于IPSec穿越NAT的IP多媒体子系统接入安全保护方法 |
CN101030935A (zh) * | 2007-04-05 | 2007-09-05 | 中山大学 | 一种IPSec穿越NAT-PT的方法 |
CN101090334A (zh) * | 2007-05-23 | 2007-12-19 | 西安交大捷普网络科技有限公司 | 一种解决入侵检测系统中海量报警的方法 |
Also Published As
Publication number | Publication date |
---|---|
CN101286896A (zh) | 2008-10-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101286896B (zh) | 基于流的IPSec VPN协议深度检测方法 | |
CN101296227B (zh) | 基于报文偏移量匹配的IPSec VPN协议深度检测方法 | |
EP3111613B1 (en) | Malicious encrypted traffic inhibitor | |
US10212224B2 (en) | Device and related method for dynamic traffic mirroring | |
EP3111614B1 (en) | Malicious encrypted network traffic identification | |
EP3111612B1 (en) | Profiling for malicious encrypted network traffic identification | |
CN101296228B (zh) | 基于流量分析的ssl vpn协议检测方法 | |
US9813447B2 (en) | Device and related method for establishing network policy based on applications | |
CN103795709B (zh) | 一种网络安全检测方法和系统 | |
US7890752B2 (en) | Methods, systems, and computer program products for associating an originator of a network packet with the network packet using biometric information | |
US9256636B2 (en) | Device and related method for application identification | |
US9584393B2 (en) | Device and related method for dynamic traffic mirroring policy | |
US9230213B2 (en) | Device and related method for scoring applications running on a network | |
US20160191568A1 (en) | System and related method for network monitoring and control based on applications | |
KR20110070189A (ko) | 봇넷 정보를 이용한 악성 트래픽 격리 시스템과 봇넷 정보를 이용한 악성 트래픽 격리 방법 | |
CN111935212B (zh) | 安全路由器及基于安全路由器的物联网安全联网方法 | |
EP3499908B1 (en) | A device and method for the determination of applications running on a network | |
KR100684602B1 (ko) | 세션 상태전이를 이용한 시나리오 기반 침입대응 시스템 및그 방법 | |
Neu et al. | Lightweight IPS for port scan in OpenFlow SDN networks | |
CN102136956A (zh) | 检测网络通讯行为的监测方法及其系统 | |
Matoušek et al. | Security monitoring of iot communication using flows | |
TW201945972A (zh) | 在Netflow上以會話型式之P2P殭屍網路偵測方法 | |
Amoli et al. | Real time multi stage unsupervised intelligent engine for NIDS to enhance detection rate of unknown attacks | |
Vijaya et al. | Robust Technique for Detecting and Blocking of VPN over Networks | |
Παρασκευόπουλος | A flexible distributed network forensic evidence acquisition framework |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20100929 |
|
CF01 | Termination of patent right due to non-payment of annual fee |