[发明专利]基于流的IPSec VPN协议深度检测方法有效
申请号: | 200810038552.6 | 申请日: | 2008-06-05 |
公开(公告)号: | CN101286896A | 公开(公告)日: | 2008-10-15 |
发明(设计)人: | 周志洪;蒋兴浩;李建华;訾小超;张月国 | 申请(专利权)人: | 上海交通大学 |
主分类号: | H04L12/26 | 分类号: | H04L12/26;H04L12/56;H04L12/46;H04L29/06 |
代理公司: | 上海交达专利事务所 | 代理人: | 王锡麟;王桂忠 |
地址: | 200240*** | 国省代码: | 上海;31 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 ipsec vpn 协议 深度 检测 方法 | ||
技术领域
本发明涉及一种网络安全技术领域中的检测方法,具体是一种基于流的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)的报文,就会自动去调用基于流的深度检测函数。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于上海交通大学,未经上海交通大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/200810038552.6/2.html,转载请声明来源钻瓜专利网。