欢迎来到天天文库
浏览记录
ID:38837772
大小:237.32 KB
页数:11页
时间:2019-06-20
《IP欺骗与盗用原理》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、IP欺骗与盗用原理IP欺骗的技术比较复杂,不是简单地照猫画老虎就能掌握,但作为常规攻击手段,有必要理解其原理,至少有利于自己的安全防范,易守难守嘛。假设B上的客户运行rlogin与A上的rlogind通信:1.B发送带有SYN标志的数据段通知A需要建立TCP连接。并将TCP报头中的sequencenumber设置成自己本次连接的初始值ISN。2.A回传给B一个带有SYS+ACK标志的数据段,告之自己的ISN,并确认B发送来的第一个数据段,将acknowledgenumber设置成B的ISN+1。3.B确认收到的A的数据段,将acknowledgenumber
2、设置成A的ISN+1。B----SYN---->AB<----SYN+ACK----AB----ACK---->ATCP使用的sequencenumber是一个32位的计数器,从0-4294967295。TCP为每一个连接选择一个初始序号ISN,为了防止因为延迟、重传等扰乱三次握手,ISN不能随便选取,不同系统有不同算法。理解TCP如何分配ISN以及ISN随时间变化的规律,对于成功地进行IP欺骗攻击很重要。基于远程过程调用RPC的命令,比如rlogin、rcp、rsh等等,根据据/etc/hosts.equiv以及$HOME/.rhosts文件进行安全校验,
3、其实质是仅仅根据信源IP地址进行用户身份确认,以便允许或拒绝用户RPC。IP欺骗攻击的描述1.假设Z企图攻击A,而A信任B,所谓信任指/etc/hosts.equiv和$HOME/.rhosts中有相关设置。注意,如何才能知道A信任B呢?没有什么确切的办法。我的建议就是平时注意搜集蛛丝马迹,厚积薄发。一次成功的攻击其实主要不是因为技术上的高明,而是因为信息搜集的广泛翔实。动用了自以为很有成就感的技术,却不比人家酒桌上的巧妙提问,攻击只以成功为终极目标,不在乎手段。2.假设Z已经知道了被信任的B,应该想办法使B的网络功能暂时瘫痪,以免对攻击造成干扰。著名的SY
4、Nflood常常是一次IP欺骗攻击的前奏。请看一个并发服务器的框架:intinitsockid,newsockid;if((initsockid=socket(...))<0){error("can'tcreatesocket");}if(bind(initsockid,...)<0){error("binderror");}if(listen(initsockid,5)<0){error("listenerror");}for(;{newsockid=accept(initsockid,...);/*阻塞*/if(newsockid<0){error("a
5、ccepterror");}if(fork()==0){/*子进程*/close(initsockid);do(newsockid);/*处理客户方请求*/exit(0);}close(newsockid);}listen函数中第二个参数是5,意思是在initsockid上允许的最大连接请求数目。如果某个时刻initsockid上的连接请求数目已经达到5,后续到达initsockid的连接请求将被TCP丢弃。注意一旦连接通过三次握手建立完成,accept调用已经处理这个连接,则TCP连接请求队列空出一个位置。所以这个5不是指initsockid上只能接受5个
6、连接请求。SYNflood正是一种DenialofService,导致B的网络功能暂时中断Z向B发送多个带有SYN标志的数据段请求连接,注意将信源IP地址换成一个不存在的主机X;B向子虚乌有的X发送SYN+ACK数据段,但没有任何来自X的ACK出现。B的IP层会报告B的TCP层,X不可达,但B的TCP层对此不予理睬,认为只是暂时的。于是B在这个initsockid上再也不能接收正常的连接请求。Z(X)----SYN---->BZ(X)----SYN---->BZ(X)----SYN---->BZ(X)----SYN---->BZ(X)----SYN---->
7、B......X<----SYN+ACK----BX<----SYN+ACK----BX<----SYN+ACK----BX<----SYN+ACK----BX<----SYN+ACK----B......我认为这样就使得B网络功能暂时瘫痪,可我总觉得好象不对头。因为B虽然在initsockid上无法接收TCP连接请求,但可以在anotherinitsockid上接收,这种SYNflood应该只对特定的服务(端口),不应该影响到全局。当然如果不断地发送连接请求,就和用ping发洪水包一个道理,使得B的TCP/IP忙于处理负载增大。至于SYNflood,回头有
8、机会我单独灌一瓢有关DoS的。如何使B的网络功能暂碧
此文档下载收益归作者所有