IP欺骗是什么意思 ip欺骗是什么( 二 )
Q4:关于IP欺骗技术的三个特征?(1)只有少数平台能够被这种技术攻击,也就是说很多平台都不具有这方面缺陷.
(2)这种技术出现的可能性比较小,因为这种技术不好理解,也不好操作,只有一些真正的网络高手才能做到这点.
(3)很容易防备这种攻击方法,如使用防火墙等.
Q5:什么是IP欺骗IP欺骗的技术比较复杂,不是简单地照猫画老虎就能掌握,但作为
常规攻击手段,有必要理解其原理,至少有利于自己的安全防范,
易守难攻嘛 。
假设B上的客户运行rlogin与A上的rlogind通信:
1. B发送带有SYN标志的数据段通知A需要建立TCP连接 。并将TCP
报头中的sequence number设置成自己本次连接的初始值ISN 。
2. A回传给B一个带有SYS+ACK标志的数据段,告之自己的ISN,并
确认B发送来的第一个数据段,将acknowledge number设置成
B的ISN+1 。
3. B确认收到的A的数据段,将acknowledge number设置成A的
ISN+1 。
B ---- SYN ----> A
B <---- SYN+ACK A
B ---- ACK ----> A
TCP使用的sequence number是一个32位的计数器,从0-4294967295 。
TCP为每一个连接选择一个初始序号ISN,为了防止因为延迟、重传
等扰乱三次握手,ISN不能随便选取,不同系统有不同算法 。理解
TCP如何分配ISN以及ISN随时间变化的规律,对于成功地进行IP欺
骗攻击很重要 。
基于远程过程调用RPC的命令,比如rlogin、rcp、rsh等等,根据
/etc/hosts.equiv以及$HOME/.rhosts文件进行安全校验,其实质
是仅仅根据信源IP地址进行用户身份确认,以便允许或拒绝用户
RPC 。关于上述两个文件请man,不喜欢看英文就去Unix版看看我
以前灌过的一瓢水 。
IP欺骗攻击的描述:
1. 假设Z企图攻击A,而A信任B,所谓信任指/etc/hosts.equiv
和$HOME/.rhosts中有相关设置 。注意,如何才能知道A信任
B呢?没有什么确切的办法 。我的建议就是平时注意搜集蛛丝
马迹,厚积薄发 。一次成功的攻击其实主要不是因为技术上
的高明,而是因为信息搜集的广泛翔实 。动用了自以为很有
成就感的技术,却不比人家酒桌上的巧妙提问,攻击只以成
功为终极目标,不在乎手段 。
2. 假设Z已经知道了被信任的B,应该想办法使B的网络功能暂时
瘫痪,以免对攻击造成干扰 。著名的SYN flood常常是一次
IP欺骗攻击的前奏 。请看一个并发服务器的框架:
int initsockid, newsockid;
if ((initsockid = socket(...)) <0) {
error("can''t create socket");
}
if (bind(initsockid, ...) <0) {
error("bind error");
}
if (listen(initsockid, 5) <0) {
error("listen error");
}
for (;;) {
newsockid = accept(initsockid, ...); /* 阻塞 */
if (newsockid <0) {
error("accept error");
}
if (fork() == 0) { /* 子进程 */
close(initsockid);
do(newsockid); /* 处理客户方请求 */
exit(0);
}
close(newsockid);
}
listen函数中第二个参数是5,意思是在initsockid上允许的
最大连接请求数目 。如果某个时刻initsockid上的连接请求数
目已经达到5,后续到达initsockid的连接请求将被TCP丢弃 。
注意一旦连接通过三次握手建立完成,accept调用已经处理这
个连接,则TCP连接请求队列空出一个位置 。所以这个5不是指
initsockid上只能接受5个连接请求 。SYN flood正是一种
Denial of Service,导致B的网络功能暂 碧被尽?nbsp;
Z向B发送多个带有SYN标志的数据段请求连接,注意将信源IP
地址换成一个不存在的主机X;B向子虚乌有的X发送SYN+ACK
数据段,但没有任何来自X的ACK出现 。B的IP层会报告B的
TCP层,X不可达,但B的TCP层对此不予理睬,认为只是暂时的 。
于是B在这个initsockid上再也不能接收正常的连接请求 。
Z(X) ---- SYN ----> B
Z(X) ---- SYN ----> B
Z(X) ---- SYN ----> B
Z(X) ---- SYN ----> B
Z(X) ---- SYN ----> B
......
X <---- SYN+ACK B
X <---- SYN+ACK B
X <---- SYN+ACK B
X <---- SYN+ACK B
X <---- SYN+ACK B
......
作者认为这样就使得B网络功能暂时瘫痪,可我觉得好象不对头 。
因为B虽然在initsockid上无法接收TCP连接请求,但可以在
another initsockid上接收,这种SYN flood应该只对特定的
服务(端口),不应该影响到全局 。当然如果不断地发送连接请
求,就和用ping发洪水包一个道理,使得B的TCP/IP忙于处理
推荐阅读
- 敏捷开发流程的8个步骤 敏捷开发什么意思
- 婧的拼音怎么写.“婧”的拼音及解释是什么?
- 一趟是指一去一回吗 回天宫了一趟是什么意思
- 银尚乐活是什么——yshs925是什么意思
- 反渗透水处理系统阻垢剂!反渗透水处理设备是什么呢?
- 网络语音聊天软件 yy公司全名是什么意思
- 华为原装Type-C数据线评测 华为数据线是什么接口
- 初学者熟悉键盘快捷键 电脑的复制粘贴快捷键是什么
- 松脂的药用功效和用量 松脂是什么东西
- 玄奘剧情需要的东西?《梦幻西游》玄奘的身世剧情攻略是什么?
