IP欺骗及防范.docx

上传人:b****7 文档编号:9768069 上传时间:2023-02-06 格式:DOCX 页数:25 大小:2.55MB
下载 相关 举报
IP欺骗及防范.docx_第1页
第1页 / 共25页
IP欺骗及防范.docx_第2页
第2页 / 共25页
IP欺骗及防范.docx_第3页
第3页 / 共25页
IP欺骗及防范.docx_第4页
第4页 / 共25页
IP欺骗及防范.docx_第5页
第5页 / 共25页
点击查看更多>>
下载资源
资源描述

IP欺骗及防范.docx

《IP欺骗及防范.docx》由会员分享,可在线阅读,更多相关《IP欺骗及防范.docx(25页珍藏版)》请在冰豆网上搜索。

IP欺骗及防范.docx

IP欺骗及防范

理工大学计算机与通信工程学院

《网络管理与安全》课程设计报告

IP欺骗的原理与防范

 

 

院系计算机与通信工程学院专业网络工程

班级网络1202班学号************

学生王胜指导教师吴佳英

课程成绩完成日期2015年9月6日

课程设计成绩评定

院系计算机与通信工程学院专业网络工程

班级网络1202班学号************

学生王胜指导教师吴佳英

 

指导教师对学生在课程设计中的评价

评分项目

及格

不及格

学习态度与遵守纪律情况

课程设计完成情况

课程设计报告的质量

指导教师成绩指导教师签字年月日

 

课程设计答辩组对学生在课程设计中的评价

评分项目

及格

不及格

课程设计完成情况

课程设计报告的质量

课程设计答辩

答辩组成绩答辩组长签字年月日

 

课程设计综合成绩

注:

课程设计综合成绩=指导教师成绩×60%+答辩组成绩×40%

课程设计任务书

计算机与通信工程学院网络工程专业

课程名称

网络管理与安全课程设计

时间

2015.8.31~2015.9.13

学生

王胜

指导老师

吴佳英

题目

IP欺骗的原理与防

主要容:

(1)IP欺骗技术的原理

(2)IP欺骗技术的特征以及攻击步骤

(3)IP欺骗工具

(4)防止和检测IP欺骗的方法

 

要求:

(1)综合运用计算机网络管理和信息安全知识XXX。

(2)学会文献检索的基本方法和综合运用文献的能力。

(3)通过课程设计培养严谨的科学态度,认真的工作作风和团队协作精神

应当提交的文件:

(1)课程设计报告。

(2)课程设计附件(源程序、各类图纸、实验数据、仿真截图等实证材料)。

IP欺骗原理与防

学生:

王胜指导老师:

吴佳英

摘要:

IP欺骗技术(IPSpoofing)起源较早,应用十分广泛。

但黑客可以利用IP欺骗技术截断正常的TCP通信,或者冒充被目标主机所信任的机器向其发起TCP连接。

文中介绍了IP欺骗技术的原理、方法以及常用工具,分析了在现有条件下解决这一问题的策略,并提出了建立高级模式匹配策略来进行入侵检测的方法,该方法可以有效地防御和检测IP欺骗攻击。

关键词:

IP欺骗攻击,入侵检测,模式匹配

 

IPdeceptionprincipleandPrevention

Studentname:

ShengWangTheteacher:

JiaYingWu

Abstract:

OriginofIPSpoofingtechnology(IPSpoofing)isearlier,whichhasbeenwidelyused.ButhackerscantakeadvantageofthetechnologyofIPspoofingtruncatednormalTCPcommunications,orpretendtobetrustedbythetargethostmachinetoinitiateaTCPconnection.Inthispaper,itintroducestheprincipleandmethodofIPspoofingtechnologyaswellasthecommontools,undertheexistingconditionsareanalyzedtosolvetheproblemofstrategy,andputforwardtheestablishingadvancedmodematchingstrategyforintrusiondetectionmethods,thismethodcaneffectivelydetectanddefenseIPspoofingattack.

Keywords:

IPspoofingattacks,intrusiondetectionandpatternmatching

 

1引言

TCP/IP协议是使接入Internet的异种网络,不同设备之间能够进行正常的数据通信,而预先制定的一整套共同遵守的格式和规定。

TCP/IP协议在网络互联中发挥了核心的作用,但由于它本身存在的安全问题,让黑客们有机可乘,利用其缺陷来对TCP/IP网络进行攻击。

这些攻击包括序列号欺骗、路由器攻击、源地址欺骗和授权欺骗等。

1.1课程设计容

1IP欺骗技术的原理

IP欺骗,简单来说就是向目标知己发送源地址为非本机IP地址的数据包。

IP欺骗在各种黑客攻击方法中都得到了广泛的应用,不如,进行拒绝服务攻击,伪造TCP,回话劫持,隐藏攻击主机地址等等。

IP欺骗的表现形式主要有连各种:

一种是攻击者伪造的IP地址不可达或者根本不存在。

这种形式的IP欺骗,主要用于迷惑目标主机上的入侵检测系统,或者是对目标主机进行DOS攻击,如图1所示:

图1伪造无实际意义的IP

另一种IP欺骗则着眼于目标主机和其他主机之间的信任关系。

攻击者通过在自己发出的IP包中填入被目标主机所信任的主机的IP来进行冒充。

一旦攻击者和目标主机之间建立了一条TCP(在目标主机看来,是它和它所信任的主机之间的。

事实上,它是把目标主机和被信任主机之间的双向TCP分解成了两个单向的TCP连接),攻击者就可以获得对目标主机的访问权,并可以进一步进行攻击,如图2所示。

图2攻击者伪装成被目标主机所信任的主机

以第二种情况为例,说明IP欺骗攻击的过程。

假设B和A进行TCP通信,则双方需要进行一个三次握手的过程来建立一个TCP连接。

具体过程为:

(1)B发送带有SYN标志的数据段通知A需要建立TCP连接,并将TCP报头中的序列号设置成自己本次连接的初始值ISNb。

(2)A回传给B一个带有SYS+ACK标志的数据段,告之自己的ISNa,并确认B发送来的第一个数据段,将ACK设置成B的ISN+1。

(3)B确认收到的A的数据段,将ACK设置成A的ISN+1。

A->B:

SYN,ISNa


B->A:

SYN,ISNb,ACK(ISNa+1)

A->B:

ACK(ISNb+1)


TCP使用的数据包序列号是一个32位的计数器,计数围为0-4294967295。

TCP为每一个连接选择一个初始序列号ISN(InitialSequenceNumber),为了防止因为延迟、重传等事件对三次握手过程的干扰,ISN不能随便选取,不同系统有不同算法。

对于IP欺骗攻击来说,最重要的就是理解TCP如何分配ISN,以及ISN随时间变化的规律。

在文献[5]中规定这一32位的序列号之值每隔4ms加1在BerkeleyUNIX中,初始序列号是由tcpinit()函数确定的。

ISN值每秒增加128000,如果有连接出现,每次连接将把计数器的数值增加64000,这使得用于表示ISN的32位计数器在没有连接的情况下,每9.32h复位一次。

这样,将有利于最大限度地减少旧有连接的信息干扰当前连接的机会。

非常重要的一点就是对ISN的选择算法。

事实上,由于ISN的选择不是随机的,而是有规律可循的,这就为黑客欺骗目标系统创造了条件。

很多进行IP欺骗的黑客软件也主要着眼于计算ISN和伪造数据包这两个方面。

由于IP欺骗技术是针对协议本身的缺陷来实现,所以其影响围也十分广泛。

容易遭受IP欺骗攻击的服务程序主要有:

·远程过程调用(RPC)。

·任何使用IP地址进行认证的服务。

·XWindow系统。

·R服务套件(包括rlogin,rsh等)。

2IP欺骗技术的特征以及攻击步骤

对于图1中所描述的IP欺骗攻击,其攻击步骤十分简单,攻击的效果也十分有限,主要用于拒绝服务攻击,对目标系统本身不会造成破坏。

而第二种IP欺骗则能够侵入目标主机并造成严重破坏。

本文主要分析第二种IP欺骗攻击。

整个攻击过程由若干步骤组成:

1)首先使被信任主机的网络暂时瘫痪,以免对攻击造成干扰;

2)然后连接到目标机的某个端口来猜测ISN基值和增加规律;

3)接下来把源址址伪装成被信任主机,发送带有SYN标志的数据段请求连接;

4)然后等待目标机发送SYN+ACK包给已经瘫痪的主机;

5)最后再次伪装成被信任主机向目标机发送的ACK,此时发送的数据段带有预测的目标机的ISN+1;

6)连接建立,发送命令请求。

还有一个重要的数据就是目标主机和被信任主机之间的往返时间(RTT),利用这些数据猜测出目标主机在响应攻击者TCP请求(包含信任主机的IP地址)时所给出的ISN,并在响应数据包的ACK中填入适当的值以欺骗目标主机,并最终和目标主机实现同步,建立可靠的会话(单向)。

3IP欺骗工具

常见的IP欺骗工具有如下几种[6]:

(1)Mendax:

Mendax是一种非常容易使用的TCP序列号预测以及rshd欺骗工具。

(2)Hping2:

Hping2是一个命令行下使用的TCP/IP数据包组装/分析工具,其命令模式很像Unix下的ping命令。

(3)IPSpoof:

IP地址欺骗,我们可以说是一台主机设备冒充另外一台主机的IP地址,与其它设备通信,从而达到某种目的技术。

(4)Hunt:

Hunt是一个网络嗅探器,但它也同时提供很多欺骗功能。

(5)Dsniff:

Dsniff是一个网络审计及攻击工具集。

其中的arpspoof,dnsspoof,以及macof工具可以在网络中拦截普通攻击者通常无法获得的数据,并对这些数据进行修改,从而达到欺骗以及劫持会话的目的。

(6)ISNPrint:

一个用于查看目标主机当前连接的ISN的工具,但是它并不提供ISN预测功能。

可以在它的基础上添加适当的算法得到ISN的估计值。

4防止和检测IP欺骗的方法

IP欺骗攻击虽然在原理上讲得通,但实际操作起来却非常困难,例如确定信任关系、猜测序列号等等。

然而,要成功实现IP欺骗攻击并不是没有可能。

著名黑客凯文·米特尼克就曾经成功地运用IP欺骗攻击攻破了SanDiego超级计算中心的一台主机。

并且,这一共计过程被一位名叫TsutomuShi-momura的工程师tcpdump完全记录了下来。

通过对这一记录的分析,可以看出整个攻击的步骤主要分为:

(1)发现信任关系。

(2)使被信任主机丧失正常工作能力。

(3)伪造TCP包,猜测序列号。

(4)建立连接,获取目标主机权限。

(5)提升权限,控制目标主机。

既然通过对tcpdump的记录进行分析,可以分析出整个攻击的过程,那么,通过对本地网络、防火墙以及入侵检测系统进行适当的设计和配置,就能够阻止或检测出相应的攻击行为。

首先可以采取配置边界路由器的方法,即禁止从外网进入却申明自己具有部网络IP地址的数据包通过路由器(图3)。

这样,从外部进行IP欺骗攻击所发出的数据包就会被路由器过滤掉,从而保证目标主机的安全。

但是这种方法也有缺陷:

首先,如果系统要向外部主机提供信任关系,则对路由器的配置就会失去作用;其次,如果欺骗入侵是源于网络部的话,配置路由器根本无济于事。

图3通过配置边界路由器减少IP欺骗攻击

通过在路由器上设置过滤只能减小IP欺骗攻击发生的可能性,而并不能从根本上解决问题。

其它减少IP欺骗攻击的方法主要包括:

(1)尽量不采用使用源地址认证的服务系统,实现基于密码的认证。

(2)如果一定要允许外部的主机进行信任连接,要在路由器上实现加密的通路。

(3)通过改变TCP/IP栈的实现来防止SYN堙没的发生。

比如说从linux2.0,3.0以后版本的核中,当队列将满时,它不再回送一个SYNACK,而是回送一个SYNcookie,同时清空队列中的SYN。

当收到了对SYNcookie的回应是,才发送SYNACK。

这样一来,当发生攻击时,队列永远不会被填满。

但是目的分布式拒绝服务攻击等新型攻击方式,要彻底解决类似缓冲区溢出,队列填满以及堙没等问题,在系统处理能力有限的情况下,还是无能为力的。

对于IP欺骗攻击,最终的解决办法是密码认证机制(cryptographicauthentication)。

由于目前的IPV4体系结构并不支持基于密码的认证,所以只能采取某些预防和检测的方法。

在无法从根本上阻止IP欺骗攻击发生的情况下,应当加强对网络的监控,今早检测到IP欺骗攻击。

目前,主要采取如下几个方法:

(1)监测网络上的数据包。

通过对网络上的数据包进行监控,及时发现IP欺骗攻击的前兆,比如说对信任主机的SYN湮没以及在目标主机上有大量连接处于“SYN

RECEIVED”状态等。

(2)对照检查本地主机之间的日志是否对应。

由于大部分IP欺骗攻击是由攻击主机来模拟信任主机,所以通过在相互设置信任关系的主机之间,对照检查日志就可以发现TCP连接是否被伪造。

(3)IP欺骗的攻击目标是目标主机,但是信任主机在这一攻击中也起着相当重要的作用。

从信任主机来说,如果它能够阻止SYN湮没的情况发生,就会向目标主机发回响应的消息,从而阻止黑客的攻击。

同时,通过提高入侵检测系统的智能化水平,也可以发现一些潜在的攻击威胁。

比如,通过对IP欺骗攻击步骤的分析,为入侵检测系统建立了一个较高级别的匹配模式,并在局域网上进行了试验。

这种模式不同于包过滤防火墙中的数据包模式匹配,而是对大量数据包之间的关系进行分析,发现其中潜在的隐患。

由于黑客的攻击是环环相扣的,其中的每一个小的步骤看似平常,但连贯起来看则都是有目的的。

对于入侵检测系统,如果还把检测停留在对单个数据包进行检查的水平,就无法发现一些高层次的入侵。

采用高级匹配模式后,入侵检测系统可以对大量数据包之间的潜在联系进行分析,并将结果与已知的一些攻击模式进行匹配,极提高了检测到这些入侵的可能性。

今后,作者将对匹配模式的描述以及匹配算法做进一步的分析和优化,提高其效率和可用性。

从防的角度来说,由于从IPV4到IPV6的过渡还需要很长的一段时间,所以采用IP安全协议成为目前的主要方法之一。

最早在互联网上出现的加密协议是用于电子的SMME和OpenPGP。

Net是cape在很早也就是发明了SSL。

一些较新的协议有:

Microsoft的PPTP,L2TP以及IPsec等,目前这些协议主要被用来实现虚拟专用网(VPN)。

其实,IP安全协议能做到的事情远比虚拟专用网要多,它有潜力来保护互联网上太多数业务的安全。

1.2实验方法

1.实验工具

Hping2软件,装有linux操作系统的电脑。

2.实验环境

安装Linux操作系统RedHat9.0的一台PC机以及与其联网的两台PC机。

3.实验方法

本实验专用应用Hping方法在linux环境下测试三台电脑的连通性,和IP欺骗。

 

2设计原理

2.1Hping2原理基础介绍

Hping是一个命令行下使用的TCP/IP数据包组装/分析工具,其命令模式很像Unix下的ping命令,但是它不是只能发送ICMP回应请求,它还可以支持TCP、UDP、ICMP和RAW-IP协议,它有一个路由跟踪模式,能够在两个相互包含的通道之间传送文件。

Hping常被用于检测网络和主机,其功能非常强大,可在多种操作系统下运行,如Linux,FreeBSD,NetBSD,OpenBSD,Solaris,MacOsX,Windows。

2.2Hping2主要功能

  

(1)防火墙测试 

  

(2)实用的端口扫描 

  (3)网络检测,可以用不同的协议、服务类型(TOS)、IP分片 

  (4)手工探测MTU(最大传输单元)路径 

  (5)先进的路由跟踪,支持所有的协议 

  (5)远程操作系统探测 

  (6)远程的运行时间探测 

  (7)TCP/IP堆栈审计 

 

3设计步骤

3.1实验过程

此部分讲述实验过程,并配截图。

步骤一丶在Linux 环境下下载和安装Hping2 

(1)根据平台差异,下载相应的Hping安装包。

下载地址:

.hping.org/hping2.0.0-rc3.tar.gz.Hping2有相应的hping2.0.0-rc1,hping2.0.0-rc1,hping2.0.0-rc3版本。

(2)下载hping2.0.0-rc3到/user/local/sans目录中,cp hping2.0.0-rc3.tar.gz/user/local/sanscd/user/local/sans进行解压缩:

tar-zxvfShping2.0.0-rc3.tar.gz;

(3)修改配置脚本 vi config,主要是man path变量 在config文件中找到”INSTALL_MANPATH=”语句,如下图(图4):

图3.1配置脚本

将加亮处修改为INSTALL_MANPACH=`manpath | cut -f1 –d:

`

图3.2修改后的配置

键入Esc退出编辑,输入wq!

保存修改。

(4) 输入./configure 

图3.3输入./configure

(5)输入make,进行编译。

图3.4输入make编译

(6) 编译完成之后,安装hping2。

输入make install。

图3.5输入makeinstall编译

步骤二丶在Linux 环境下使用Hping2

以局域网某一主机作为测试对象,验证hping2的运行:

 其中目标主机的IP 地址为192.168.0.50。

(1) 不带参数的测试:

 hping2 192.168.0.50 

使用Hping2 时,如果只指定目标主机而不设置任何参数,Hping2 会每秒钟都向目标主机发送一个不设置任何标志且目标端口为0 的数据包(只有20Byte 的IP 头和20Byte 的TCP头,没有有效载荷数据),以测试目标主机的反应。

如下图:

图3.6目标主机的反应

目标主机返回的数据包中R和A置位,即该主机对询问做出Reset + ACK 应答数据包,虽然该端口没有开放,但至少可以确定目标主机是激活的。

(2) 带参数的测试:

hping2 192.168.0.50 –S –p 22 

向目标主机的22号端口发出SYN请求,以测试目标主机的反应。

如下图:

图3.7测试完成图

目标主机返回的数据包中的S和A置位,即该主机对询问做出了应答,为三次握手的第二个步骤,说明该端口是开放的。

(3) 伪装源IP地址的hping2测试:

hping2 192.168.0.50 –a 192.168.0.11 -S 

-a 是指—spoof,即进行“源地址欺骗”。

因此上述测试语句的含义为:

将原地址伪装成192.168.0.11向目标主机的0号端口发出SYN测试数据包。

 

而此时本地主机并没有接收到任何应答的数据包,因为192.168.0.50主机只对192.168.0.11号主机做出应答。

目标主机的测试反应,如下图:

图3.8测试完成

经过测试,hping2已经正常工作,则可以进行IP欺骗实验。

步骤三丶IP地址欺骗扫描的地址隐藏

首先对于IP地址欺骗扫描的过程做出解释,如下图:

图3.9IP地址欺骗扫描的地址隐藏

在这种IP欺骗方式的端口扫描过程中,涉及到3个主机,假定:

 1.主机A:

扫描者自己的主机 

2. 主机B:

扫描者需要借助的第三方主机,假定该主机在扫描过程中不向外发送任何数据包 

3. 主机C:

被扫描的目标主机 其过程为:

 

(1)主机A向主机C的某个TCP 端口发送一个SYN 包,并将源地址写为主机B。

如果端口是打开的,则主机C就会返回给主机B一个SYN+ACK 包;否则,主机C将返回一个RST+ACK 包。

(2)主机A通过主机B通信中IP 头中的ID 域,应该知道主机B正在发送的数据包的编号。

 

(3)根据TCP/IP的相关规定,主机B对于主机C发送到某端口的SYN+ACK 包,应该返回一个RST;而对于发来的RST 包,则应该没有反应。

 

(4)在一般情况下IP 数据部ID 域的值,每次增量为1(即每发送一个IP 包,ID域的值增加1)。

 

本质上,这还是一种SYN扫描的方式。

实验中,分为主机B无网络通信和主机B有网络通信两种情况来测试。

 

通过步骤二的测试表明:

实验所在局域网中IP地址为192.168.0.50的主机的0号端口是关闭的,22号端口是开放的。

因此在步骤三中,将其作为被扫描的目标主机,即主机C。

同时对局域网中IP地址为192.168.0.11的主机进行不带参数的Null扫描,测试结果如下:

图3.10对主机192.168.0.11测试

说明192.168.0.11可以作为步骤三中的第三方主机,即主机B。

1.被利用主机无网络通信 

(1) 切断192.168.0.11的网络通信。

 

在本机对192.168.0.11的扫描数据可以看到ID域的值比较零乱,难以找到规律。

此时,以人工方式中断192.168.0.11的网络通信,即关闭其所有的网络活动,然后再对其进行不带参数的Null扫描,结果如下

图3.11对主机进行不带参数NULL扫描

可以看出Id序列号是以增量为1增加的。

(2) 扫描关闭状态的端口情况。

 

对C 主机的0号端口进行扫描,操作者发送的数据包中源IP 地址填上B 机的IP 地址(即192.168.0.11),这样,C 主机(192.168.0.50)返回的数据包应该到B 主机(192.168.0.11)。

 

因为C主机上被扫描的0号端口没有监听(打开),C主机会向B主机发送RST+ACK包,而B主机对这样的数据包是不反应的,所以,操作者看到B主机发到A主机上的IP中的ID域增量还是1。

结果如下:

图3.12B主机的ID域

(3) 扫描listenning状态的端口情况。

 

接下来对C主机192.168.0.50的20号端口进行扫描,因为被扫描的端口是正在监听的,C 主机就会向B 主机192.168.0.11发送SYN+ACK 包(试图完成一次完整的TCP 连接),这时候,B 主机会向C 主机返回RST+ACK(因为此前B 并未向C发送过SYN 请求),同时,B主机还需要向一直给它发Null 包的A 主机返回

RST+ACK,由于C 的介入,A 主机上看到的B 主机IP 中的ID 域增量将不再是1,因此,A 主机可以断定,正在扫描的C 主机上的端口是打开的。

图3.13A主机的ID域

(4) 以上是理想的讨论,但是在测试中,还出现了B主机的ID增量与A发送给C的测

试数据包不匹配的情况。

 

如(3)中显示的测试结果,其实A主机只向C发送了一个SYN请求包,但出现了两次增量为2的情况。

通过Ethereal,发现交换机需要定时向交换局域网的所有主机发送广播数据包,以维护和更新部表项。

故仅凭借B的ID值的单个增量是不够准确的。

如下图:

图3.14B主机的接收数据包

上图中加框的两个数据包就是交换机发出的广播数据包,对于单个的测试包可能会有影

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 医药卫生 > 中医中药

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1