专利名称:一种数据包的安全保护方法、设备及系统的制作方法
技术领域:
本发明涉及通信技术领域,尤其涉及一种数据包的安全保护方法、设备 及系统。
背景技术:
理论上,使用网络地址转换协议(NAT, NetworkAddress Translation )月良 务器可以让内侧的私网的主机访问公网,同时又对公网隐蔽了私网主机的真 实互联网协议(IP, Internet Protocol)地址,NAT服务器外侧的公网用户无法 穿越NAT服务器进入私网的主机,从一定程度保证了私网主机的安全性。
但是,在通信技术的实际运用中,NAT服务器外侧的公网用户并非无法 穿越NAT服务器进入私网的主机,以基于用户数据报协议(UDP, User Datagram Protocol)的才艮文和基于传输控制协议(TCP, Transmission Control Protocol)的净艮文为例
例一NAT服务器的私网用户,其私网IP地址配置例如是192.168.x.x,但 是其域名服务(DNS , Domain Name Server)地址被配置为指向某个公网DNS 服务器。在浏览互联网时,这些私网用户的主机就会经常对公网DNS服务器 发起DNS查询请求报文,而且也能正确收到公网DNS服务器回复的查询结果 如UDP报文。前面已提及,NAT服务器是不支持非私网用户从公网主动访问 私网的,但事实上,DNS查询的回复结果却能轻松穿越防火墙进入内侧。这 就表明NAT完全可能让UDP报文从外面反向穿越进来的。可以想象如果从NAT 内侧对外发送了某种基于UDP的服务请求报文,就相当于在NAT防火墙上开 了 一扇小小的门,这时外侧如果构造一个合适的UDP报文伪装成之前那个请 求的回复报文向内发送,防火墙没有足够的依据判断这个报文是否真的是一 个合法的回复报文,就可能允许其反向穿越NAT进入内侧受保护区域。
例二而针对TCP报文,外侧的TCP新建连接的同步序列编号(SYN, Synchronize S叫uence Numbers)请求净艮文不可能反向的通过这种NAT (除非为 其^故目的地址转换),而确iU扁号(ACK, Acknowledgement Number)和建立连接之后的TCP数据报文是可以源源不断被转发进私网用户。所以私网用户才能
在NAT防火墙保护下正常上网浏览而不用担心NAT服务器外侧的公网用户会 访问到我们的机器。所以对TCP的一些特殊标志位进行精心构造后的数据包也 是可以反向穿越NAT服务器的。
从以上的两个例子可知,非正常数据包对NAT服务器的反向穿越会给网 络安全带来很多影响。例如UDP洪流(UDP Flooding )。
另一方面,我们也需要正常的数据包能进入私网,因此,就要检验数据 包是否正常,现有技术中运用了NAT映射表技术来实现这样的检验。
在NAT服务器内存空间中维护着一张NAT映射表。内网某台机器用自己的 [IP: TCP/UDP端口 ]向外部发起一个连接(TCP)或发送一个报文(UDP )时, 防火墙会将其IP地址转换成外网全局(Global)地址,通常会另外为其分配空 闲的端口号作为转换后的源端口 ,这时会在NAT映射表中增加"内网IP:协议 端口号,,与"转换后Global IP:协议端口号"对应关系的一条记录。
比如,以H.323终端通话过程为例,如果phonel主叫,由phonel发起UDP 报文,可以送达Phone2的目的UDP端口 ,随后phone2发回的UDP报文也就可 以反向穿越NAT送达phonel,此时目的端口就是之前phonel——phone2媒体报 文的源端口 (呼叫建立阶段已经协商好传输媒体流所用端口号,之后在本次 通话过程中就会保持不变),防火墙上已经维持了 一个相应的NAT记录了 。
但是如果phone2主叫,phone2发起的UDP报文抵达防火墙时,防火墙里还 没有相应的NAT映射表对应,所以phonel无法收到这个报文。这样可能会出现 单边呼叫能通的情况。
现有技术对此问题的解决方式是在NAT映射表中记录对方的IP地址 或对应的数据包协议,如果回来的数据包符合NAT映射表中的其他信息而IP 地址对应不上,回来的数据包是不会被NAT转发的,或者,如果回来的数据 包符合NAT映射表中的其他信息而协议对应不上,回来的数据包是不会被NAT 转发的。
但是,在黑客攻击过程中,多数是利用肉鸡发起的攻击,所以构造符合 NAT映射表中的IP地址或协议是很容易做到的。所以只对IP地址或NAT数据的
5协议啦文限制的局限性还是4艮大的。
发明内容
本发明实施例提供了一种数据包的安全保护方法、设备及系统,使用本 发明实施例提供的^^支术方案,能够增强数据包的安全性判断结果的可靠性。
本发明实施例的目的是通过以下技术方案实现的
本发明实施例提供一种数据包的安全保护方法,包括 接收外网发送的数据包;
如果网络地址转换协议NAT映射表中存在所述数据包的特性数据,则对 所述数据包的生存时间(TTL , Time To Live )值是否在合法区间内进行判断; 如果所述数据包的生存时间值在合法区间内,则放行所述数据包。 本发明实施例还提供一种安全设备,包括 接收单元,用于接收外网发送的数据包;
判断单元,用于才艮据网络地址转换协议NAT映射表对所述数据包的特性 数据进行判断;如果所述NAT映射表中存在所述数据包的特性数据,则对所 述数据包的生存时间值是否在合法区间内进行判断;
执行单元,用于如果所述判断单元判断所述数据包的生存时间值在合法 区间内,放行所述数据包。
本发明实施例还提供一种通信系统,包括主机,用于接收数据包并进 行处理;
安全设备,用于接收外网发送的数据包,根据网络地址转换协议NAT映 射表对所述数据包的特性数据进行判断,如果所述NAT映射表中存在所述数 据包的特性数据,则对所述数据包的生存时间值是否在合法区间内进行判断, 如果所述数据包的生存时间值在合法区间内,则放行所述数据包给所述主机。
从本发明内容可知,由于NAT防火墙设备不仅仅判断特性数据,还增加 了对TTL值的合法性的判断,由于TTL值自身的特点,即具有一定的数据范围, 即使是操作系统的改变,也是有章可循,可以较强地鉴别出数据包是否安全, 能够增强对反向穿越NAT服务器的数据包的安全性判断结果的可靠性。
为了更清楚地il明本发明实施例或现有^a术中的技术方案,下面将对实
施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面 描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲, 在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图l是本发明实施例中 一种数据包的安全保护方法的流程示意图; 图2是本发明实施例中另 一种数据包的安全保护方法的流程示意图; 图3是本发明明实施例中一种数据包的安全保护方法的流程示意图; 图4是本发明实施例中 一种安全设备的结构示意图; 图5是本发明实施例中 一种通信系统的结构示意图。
具体实施例方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行 清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而 不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作 出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
如图l所示,本发明实施例中一种数据包的安全保护方法包括
步骤101:通信设备如NAT防火墙设备接收外网发送的数据包。
步骤]02: NAT防火墙设备判断网络地址转换协议NAT映射表中是否存 在所述数据包的特性数据。如果所述NAT映射表中存在所述数据包的特性数 据,NAT防火墙设备则对所述数据包的TTL值是否在合法区间内进行判断。
步骤103:如果所述数据包的TTL值在合法区间内,NAT防火墙设备则 放行所述数据包。
另一种情况如图2所示,
步骤1011与步骤101相同。
步骤1021:如果所述NAT映射表中不存在所述数据包的特性数据,NAT 防火墙i殳备则在NAT映射表中记录所述数据包的特性数据和生存时间值,进 入步骤1031;
步骤1031: NAT防火墙设备放行所述数据包到内网。 另一种情况如图3所示,
步骤1012与步骤101相同,步骤1022与步骤102相同,当步骤1022中判断述数据包的TTL值不在合法区间内,执行步骤1032: 步骤1032: NAT防火墙设备则对是否是因操作系统的变化而导致所述数
据包的TTL值不在合法区间内进行判断,如果是,执行步骤1042,否则执
行步骤1052;
步骤1042:如果是因操作系统的变化而导致所述数据包的TTL值不在 合法区间内,NAT防火墙设备则放行所述数据包;
步骤1052:如果不是因操作系统的变化而导致所述数据包的TTL值不 在合法区间内,则丟弃所述数据包。
上述方法中,优先的合法区间可以为生存时间原始值-阈值 TTL 原始值+阈值。
具体而言,在TTL值合法区间的检测中,用户可以自己定义一个阈值, 假如定义的阔值是3,那么TTL合法区间可以表达为TTL原始值-3 ~ TTL 原始值+ 3,之所以设置这个阈值,是因为在真实的网络环境中,由于实时网 络环境的变化会引起数据包经过的路由器数量发生变化(每经过一个路由器, 路由器至少将TTL值减小1),进而引起TTL值的变化,但是这个变化的值 也不会太大, 一般来说,大多数数据包至多经过三个路由器,所以提供这个 阈值。当然,这只是其中一种选择,本发明不构成对阈值选择的限定,阈值 的选择可以根据具体情况而定。如果当TTL值不在合法区间时,就要检测是 不是因为操作系统的变化而引起TTL值的变化。例如,网络设备、交换机或 防火墙的TTL原始值是255, Windows XP的TTL的原始值是128, Unix的 TTL原始值是64等等。
以Windows XP为例,当内网向外网发出一个数据包,夕卜网会向内网发 出一个响应的数据包,假设这个响应的数据包的TTL原始值是128,由于要 经过3个i 各由器,这个响应的数据包才能到达内网,那么,当它到达内网的 NAT防火墙设备时,它的TTL值就是125,这个时候,由于NAT映射表中 之前没有这个数据包的特性数据,如发送响应的数据包的外网主机的IP地 址,或外网主机与内网主机间的通信协议等,则在NAT映射表中记录下这些 特性数据等,并记录下TTL值125,如果下次再次有外网的数据包通过,如果外网的数据包的特性数据在NAT表中有记录,则比对TTL值,如果TTL 值是124,这个124是在合法区间"TTL原始值-3 ~ TTL原始值+ 3"内的, 满足的则放行该数据包到内网,如果TTL值是61,比对的结果是不是在合 法区间内,则判断是不是因为操作系统的变化而导致了 TTL值跨度较大的变 化,如是因为外网主机的操作系统不再是Windows XP,而是Unix,那么就 放行,如果不是由于因为操作系统的变化而导致了 TTL值跨度较大的变化, 则丟弃lt据包。
从上述数据包的安全保护方法的实施例可知,由于NAT防火墙设备不仅 仅判断特性数据,还增加了对TTL值的合法性的判断,由于TTL值自身的特点, 即具有一定的数据范围,即使是操作系统的改变,也是有章可循,可以较强 地鉴别出数据包是否安全,能够增强对反向穿越NAT服务器的数据包的安全 性判断结果的可靠性。
如图4所示,本发明实施例中一种安全设备包括以下单元包括
接收单元201,用于接收外网发送的数据包;
判断单元202,用于根据网络地址转换协议NAT映射表对所述数据包的 特性数据进行判断;如果所述NAT映射表中存在所述数据包的特性数据,则
执行单元203,用于如果所述判断单元202判断所述数据包的生存时间 值在合法区间内,则放行所述数据包。
进一步,安全设备还可以包括记录单元,
所述记录单元用于当判断单元202的判断结果是所述NAT映射表中不存 在所述数据包的特性数据时,在NAT映射表中记录所述数据包的特性数据和 生存时间4直,
此时,所述执行单元203还用于在记录单元在NAT映射表中记录所述数 据包的特性数据和生存时间值后,放行所述数据包。
区间内,则
所述判断单元202还用于对是否是因操作系统的变化而导致所述数据包的生存时间值不在合法区间内进行判断;
所述执行单元203还用于当所述判断单元202判断是因操作系统的变化 而导致所述数据包的生存时间值不在合法区间内时,放行所述数据包;当所 述判断单元202判断不是因操作系统的变化而导致所述数据包的生存时间值 不在合法区间内时,丟弃所述数据包。
进一步,所述判断单元202具体用于以"生存时间原始值-3 ~生存时间 原始值+ 3"为合法区间,对所述数据包的生存时间值是否在合法区间内进行 判断。
进一步,所述判断单元202具体用于以"TTL原始值-阈值~ TTL原始 值+阈值"为合法区间,对所述数据包的TTL值是否在合法区间内进行判断。
从上述安全设备的实施例可知,由于NAT防火墙设备不仅仅判断特性数 据,还增加了对TTL值的合法性的判断,由于TTL值自身的特点,即具有一定 的数据范围,即使是操作系统的改变,也是有章可循,可以较强地鉴别出数 据包是否安全,能够增强对反向穿越NAT服务器的数据包的安全性判断结果 的可靠性。
如图5所示,本发明实施例还提供一种通信系统,包括 包括主才几301,安全设备302;
所述主机301用于接收所述安全设备302放行的数据包并进行处理; 所述安全设备302用于接收外网发送的数据包,根据网络地址转换协议 NAT映射表对所述数据包的特性数据进行判断,如果所述NAT映射表中存 在所述数据包的特性数据,则对所述数据包的生存时间TTL值是否在合法区 间内进行判断,如果所述数据包的生存时间值在合法区间内,则放行所述数 据包给所述主机301。
区间时,则对是否是因操作系统的变化而导致所述数据包的生存时间值不在 合法区间内进行判断;如果是因操作系统的变化而导致所述数据包的生存时 间值不在合法区间内,则放行所述数据包给所述主机301;如果不是因操作据包。
从上述通信系统的实施例可知,由于NAT防火墙设备不仅仅判断特性数 据,还增加了对TTL值的合法性的判断,由于TTL值自身的特点,即具有一定 的数据范围,即使是操作系统的改变,也是有章可循,可以较强地鉴别出数 据包是否安全,能够增强对反向穿越NAT服务器的数据包的安全性判断结果 的可靠性。
是可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机 可读存储介质中,所述存储介质可以是只读存储器,磁盘或光盘等。
以上对本发明实施例所提供的一种数据包的安全保护方法、设备及系统 进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了
时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式
及应 用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
1权利要求
1、一种数据包的安全保护方法,其特征在于,包括接收外网发送的数据包;如果网络地址转换协议NAT映射表中存在所述数据包的特性数据,则对所述数据包的生存时间TTL值是否在合法区间内进行判断;如果所述数据包的生存时间值在合法区间内,则放行所述数据包。
2、 根据权利要求l所述的数据包的安全保护方法,其特征在于,还包括 当所述NAT映射表中不存在所述数据包的特性数据,则在NAT映射表中记录所述数据包的特性数据和生存时间值,》丈行所述数据包。
3、 根据权利要求l所述的数据包的安全保护方法,其特征在于,如果对述数据包的生存时间值不在合法区间,则对是否是因操作系统的变化而导致所述数据包的生存时间值不在合法区 间内进行判断;如果是因操作系统的变化而导致所述数据包的生存时间值不在合法区间 内,则放行所述数据包;如果不是因操作系统的变化而导致所述数据包的生存时间值不在合法区 间内,则丟弃所述凄t据包。
4、 根据权利要求1或3所述的数据包的安全保护方法,其特征在于,所述 合法区间为生存时间原始值-阈值~生存时间原始值+阈值,所述生存时 间原始值由具体的操作系统特性决定。
5、 一种安全设备,其特征在于,包括 接收单元,用于接收外网发送的数据包;判断单元,用于根据网络地址转换协议NAT映射表对所述数据包的特性 数据进行判断;如果所述NAT映射表中存在所述数据包的特性数据,则对所 述数据包的生存时间值是否在合法区间内进行判断;执行单元,用于如果所述判断单元判断所述数据包的生存时间值在合法 区间内,放行所述数据包。
6、 根据权利要求5所述的安全设备,其特征在于,还包括记录单元,所述记录单元用于当所述判断单元的判断结果是所述NAT映射表中不存 在所述数据包的特性数据时,在NAT映射表中记录所述数据包的特性数据和 生存时间值;所述执行单元还用于在记录单元在NAT映射表中记录所述数据包的特性 数据和生存时间值后,放行所述数据包。
7、 根据权利要求5所述的安全设备,其特征在于,如果所述判断单元判 断所述数据包的生存时间值不在合法区间内,则所述判断单元还用于判断操作系统是否发生了变化;所述执行单元还用于当所述判断单元判断是因操作系统的变化而导致所 述数据包的生存时间值不在合法区间内时,放行所述数据包;当所述判断单 元判断不是因操作系统的变化而导致所述数据包的生存时间值不在合法区间 内时,丟弃所述数据包。
8、 根据权利要求5或7所述的安全设备,其特征在于,所述判断单元具体 用于以"生存时间原始值-阈值~生存时间原始值+阈值"为合法区间,对 所述数据包的生存时间值是否在合法区间内进行判断,所述生存时间原始值 由具体的梯:作系统特性决定。
9、 一种通信系统,其特征在于,包括主机,用于接收数据包并进行处理;安全设备,用于接收外网发送的数据包,根据网络地址转换协议NAT映 射表对所述数据包的特性数据进行判断,如果所述NAT映射表中存在所述数 据包的特性数据,则对所述数据包的生存时间值是否在合法区间内进行判断, 如果所述数据包的生存时间值在合法区间内,则放行所述数据包给所述主机。
10、 根据权利要求9所述的通信系统,其特征在于,所述安全设备用于当 判断所述数据包的生存时间值不在合法区间时,则对是否是因操作系统的变系统的变化而导致所述数据包的生存时间值不在合法区间内,则放行所述数 据包给所述主机;如果不是因操作系统的变化而导致所述数据包的生存时间 值不在合法区间内,则丢弃所述数据包。
全文摘要
本发明提供一种数据包的安全保护方法、设备及系统。方法包括接收外网发送的数据包;如果网络地址转换协议NAT映射表中存在所述数据包的特性数据,则对所述数据包的生存时间TTL值是否在合法区间内进行判断;如果所述数据包的生存时间值在合法区间内,则放行所述数据包。采用该方法,能够增强数据包的安全性判断结果的可靠性。
文档编号H04L12/56GK101453420SQ20081018886
公开日2009年6月10日 申请日期2008年12月30日 优先权日2008年12月30日
发明者王丹峰, 钟登峰 申请人:成都市华为赛门铁克科技有限公司