设为首页
加入收藏
网站地图
动力论坛
今天:
维修首页 服务流程 服务项目 服务报价 网上学堂 购机指南 电脑优化 软件下载 技术交流
最新动态

热烈庆祝芯动力在@世界06年
@世界电脑城3周年庆典活动
国庆芯动力电脑连锁机构
国庆芯动力电脑连锁机构
芯动力数据恢复中心升级成
芯动力数据恢复中心升级成
More..

028-85353216 028-66742224
点击这里给我发消息 点击这里给我发消息
就业服务热线:

028-85350886

edu@cdwxw.net

三星COMBO时尚首选
一分钟教你辨别返修硬盘
硬件学堂之---谈超频的概念
内存品质的细微体现
AMD Athlon64处理器实际运
More...

手工彻底清除Backdoor.PWS
宽带时代的防毒措施
11.27预警:监控登陆窗口窃
光华反病毒资讯(11.27-12.
“USB间谍”变种a
更多...

用“替换法”“对照法”处
随机性死机故障分析与排除
全面深入了解电脑死机的原
“蓝屏”的原因及处理方法
黑屏的几个原因
电脑死机原因大全
更多...

当前位置:

首页>>电脑维修>>电脑优化>>系统优化>>正文

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。

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的网络功能暂时中断

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发洪水包一

本新闻共3页,当前在第1页  1  2  3  

  下一篇:如何防止你的E-mail信箱被攻击

上一篇:隐藏文件四大妙招

  相关内容
 
菜鸟常用详细教程
剖析各类恶意网页和IE漏洞对策分析
音乐欣赏常识
破解网吧
windows系统程序路径与参数解析
关于我们|版权申明|广告服务网站地图友情链接人才招聘