黑色星空
欢迎你,注册进来让我们共同打造这片星空吧。。。。。。

by: niusan521

Join the forum, it's quick and easy

黑色星空
欢迎你,注册进来让我们共同打造这片星空吧。。。。。。

by: niusan521
黑色星空
Would you like to react to this message? Create an account in a few clicks or log in to continue.

TCP/IP协议安全漏洞分析

向下

TCP/IP协议安全漏洞分析 Empty TCP/IP协议安全漏洞分析

帖子  niusan521 周五 三月 09, 2012 11:35 pm

1.1 TCP/IP协议定义

协议是互相通信的计算机双方必须共同遵从的一组约定。TCP/IP(传输控制协议/网际协议)就是这样的约定,它规定了计算机之间互相通信的方法。TCP/IP是为了使接入因特网的异种网络、不同设备之间能够进行正常的数据通讯,而预先制定的一簇大家共同遵守的格式和约定。该协议是美国国防部高级研究计划署为简历ARPANET开发的,在这个协议集中,两个最知名的协议就是传输控制协议(TCP, Transfer Contorl Protocol)和网际协议(IP,Internet Protocol),故而整个协议集被称为TCP/IP。之所以说TCP/IP是一个协议簇,是因为TCP/IP包括了TCP、IP、UDP、ICMP、RIP、TELNET、FTP、***TP、ARP等许多协议,对因特网中主机的寻址方式、主机的命名机制、信息的传输规则,以及各种各样的服务功能均做了详细约定,这些约定一起称为TCP/IP。

TCP/IP协议和开放系统互连参考模型一样,是一个分层结构。协议的分层使得各层的任务和目的十分明确,这样有利于软件编写和通信控制。TCP/IP协议分为4层,由下至上分别是网路接口层、网际层、传输层和应用层,如图所示



2.1 链路层存在的安全漏洞

我们知道,在以太网中,信道是共享的,任何主机发送的每一个以太网帧都会到达别的与该主机处于同一网段的所有主机的以太网接口,一般地,C***A/CD协议使以太网接口在检测到数据帧不属于自己时,就把它忽略,不会把它发送到上层协议(如ARP、RARP层或IP层)。如果我们对其稍做设置或修改,就可以使一个以太网接口接收不属于它的数据帧。例如有的实现可以使用杂错接点,即能接收所有数据帧的机器节点。解决该漏洞的对策是:网络分段、利用交换器,动态集线器和桥等设备对数据流进行限制、加密(采用一次性口令技术)和禁用杂错接点。

2.2 网络层漏洞

几乎所有的基于TCP/IP的机器都会对ICMP echo请求进行响应。所以如果一个敌意主机同时运行很多个ping命令向一个服务器发送超过其处理能力的ICMP echo请求时,就可以淹没该服务器使其拒绝其他的服务。另外,ping命令可以在得到允许的网络中建立秘密通道从而可以在被攻击系统中开后门进行方便的攻击,如收集目标上的信息并进行秘密通信等。解决该漏洞的措施是拒绝网络上的所有ICMP echo响应。

2.3 IP漏洞

IP包一旦从网络中发送出去,源IP地址就几乎不用,仅在中间路由器因某种原因丢弃它或到达目标端后,才被使用。这使得一个主机可以使用别的主机的IP地址发送IP包,只要它能把这类IP包放到网络上就可以。因而如果攻击者把自己的主机伪装成被目标主机信任的友好主机,即把发送的IP包中的源IP地址改成被信任的友好主机的IP地址,利用主机间的信任关系(Unix网络软件的开发者发明的术语)和这种信任关系的实际认证中存在的脆弱性(只通过IP确认),就可以对信任主机进行攻击。注意,其中所说的信任关系是指一个被授权的主机可以对信任主机进行方便的访问。所有的r*命令都采用信任主机方案,所以一个攻击主机把自己的IP改为被信任主机的IP,就可以连接到信任主机并能利用r*命令开后门达到攻击的目的。解决这个问题的一个办法是,让路由器拒绝接收来自网络外部的IP地址与本地某一主机的IP地址相同的IP包的进入。

2.4 ARP欺骗

ARP协议在对IP地址进行解析时,利用ARP缓存(也叫ARP表)来做。ARP缓存的每一条目保存有IP地址到物理地址的映射。如果在ARP表中没有这样的对应条目,ARP协议会广播ARP请求,获得对应于那个IP地址的物理地址,并把该对应关系加入到ARP表中。ARP表中的每一个条目都有一个计时器,如果计时器过期,该条目就无效,因而被从缓存中删除。显然,如果攻击者暂时使用不工作的主机的IP地址,就可以伪造IP-物理地址对应关系对,把自己伪装成象那个暂时不使用的主机一样。克服此问题的方法是,让硬件地址常驻内存,并可以用ARP命令手工加入(特权用户才可以那样做);也可以通过向RARP服务器询问来检查客户的ARP欺骗。因为RARP服务器保留着网络中硬件地址和 IP的相关信息。

2.5 路由欺骗:

在路由协议中,主机利用重定向报文来改变或优化路由。如果一个路由器发送非法的重定向报文,就可以伪造路由表,错误引导非本地的数据报。另外,各个路由器都会定期向其相邻的路由器广播路由信息,如果使用RIP特权的主机的520端口广播非法路由信息,也可以达到路由欺骗的目的。解决这些问题的办法有,通过设置主机忽略重定向信息可以防止路由欺骗;禁止路由器被动使用RIP和限制被动使用RIP的范围。

2.6 DNS欺骗

网络上的所有主机都信任DNS服务器,如果DNS服务器中的数据被攻击者破坏,就可以进行DNS欺骗。

2.7 拦截TCP连接:攻击者可以使TCP连接的两端进入不同步状态,入侵者主机向两端发送伪造的数据包。冒充被信任主机建立TCP连接,用SYN淹没被信任的主机,并猜测3步握手中的响应(建立多个连接到信任主机的TCP连接,获得初始序列号ISN(Initial Serial Number)和RTT,然后猜测响应的ISN,因为序列号每隔半秒加64000,每建立一个连接加64000)。预防方法:使所有的r*命令失效,让路由器拒绝来自外面的与本地主机有相同的IP地址的包。RARP查询可用来发现与目标服务器处在同一物理网络的主机的攻击。另外ISN攻击可通过让每一个连接的ISN随机分配配合每隔半秒加64000来防止。

2.8 使用TCP SYN报文段淹没服务器。利用TCP建立连接的3步骤的缺点和服务器端口允许的连接数量的限制,窃取不可达IP地址作为源IP地址,使得服务器端得不到ACK而使连接处于半开状态,从而阻止服务器响应响应别的连接请求。尽管半开的连接会被过期而关闭的,但只要攻击系统发送的spoofed SYN请求的速度比过期的快就可以达到攻击的目的。这种攻击的方法一直是一种重要的攻击ISP(Internet Service Provider)的方法,这种攻击并不会损害服务,而是使服务能力削弱。解决这种攻击的办法是,给Unix内核加一个补丁程序或使用一些工具对内核进行配置。一般的做法是,使允许的半开连接的数量增加,允许连接处于半开状态的时间缩短。但这些并不能从根本上解决这些问题。实际上在系统的内存中有一个专门的队列包含所有的半开连接,这个队列的大小是有限的,因而只要有意使服务器建立过多的半开连接就可以使服务器的这个队列溢出,从而无法响应其他客户的连接请求。

3.1 TCP/IP协议族存在脆弱性

IP层的主要曲线是缺乏有效的安全认证和保密机制,其中最主要的因素就是IP地址问题。TCP/IP协议用IP地址来作为网络节点的惟一标识,许多 TCP/IP服务,包括Berkeley中的R命令、NFS、X Window等都是基于IP地址对用户进行认证和授权。当前TCP/IP网络的安全机制主要是基于IP地址的包过滤(Packet Filtering)和认证(Authentication)技术,它的有效性体现在可以根据IP包中的源IP地址判断数据的真实性和安全性。然而IP地址存在许多问题,协议的最大缺点就是缺乏对IP地址的保护,缺乏对IP包中源IP地址真实性的认证机制与保密措施。这也就是引起整个TCP/IP协议不安全的根本所在。

由于UDP是基于IP协议之上的,TCP分段和UDP协议数据包是封装在IP包中在网络上传输的,因此同样面临IP层所遇到的安全威胁。现在人们一直在想办法解决,却仍然无法避免的就是根据TCP连接建立时“三次握手”机制的攻击。

3.2.1 文件传输协议

FTP经久不衰的原因在于它可以在互联网上进行与平台无关的数据传输,它基于一个客户机/服务器架构。FTP 将通过两个信道(端口)传输,一个传输数据(TCP 端口 20),另一个传输控制信息(TCP 端口 21)。在控制信道之上,双方(客户机和服务器)交换用于发起数据传输的命令。一个 FTP 连接包含4个步骤:用户鉴权→建立控制信道→建立数据信道→关闭连接。FTP 的连接控制使用 TCP (Transmission Control Protocol, 传输控制协议),它保障了数据的可靠传输。因此,FTP 在数据传输中不需要关心分组丢失和数据错误检测。

 匿名FTP作为互联网上广泛应用的服务,安全等级的低下受到了黑客的频繁光顾。匿名FTP 是真的匿名,并没有记录谁请求了什么信息,谁下载了什么文件,上传了什么东西(有可能是木马)。FTP存在着致命的安全缺陷,FTP使用标准的用户名和口令作为身份验证,缺乏有效的访问权限的控制机制,而其口令和密码的传输也都是明文的方式。


niusan521
niusan521

帖子数 : 210
注册日期 : 12-01-09

返回页首 向下

返回页首


 
您在这个论坛的权限:
不能在这个论坛回复主题