2013教科版选修3《网络安全威胁》课件1

上传人:宝路 文档编号:48187517 上传时间:2018-07-11 格式:PPT 页数:40 大小:500.65KB
返回 下载 相关 举报
2013教科版选修3《网络安全威胁》课件1_第1页
第1页 / 共40页
2013教科版选修3《网络安全威胁》课件1_第2页
第2页 / 共40页
2013教科版选修3《网络安全威胁》课件1_第3页
第3页 / 共40页
2013教科版选修3《网络安全威胁》课件1_第4页
第4页 / 共40页
2013教科版选修3《网络安全威胁》课件1_第5页
第5页 / 共40页
点击查看更多>>
资源描述

《2013教科版选修3《网络安全威胁》课件1》由会员分享,可在线阅读,更多相关《2013教科版选修3《网络安全威胁》课件1(40页珍藏版)》请在金锄头文库上搜索。

1、第3讲 网络安全威胁1 TCP/IP经典威胁以太网安全 集线器杂错节点 交换机失败保护模式IP欺骗 假冒他人IP地址ARP欺骗IP源路由欺骗 IP报文首部的可选项中有“源站选路”,可以指 定到达目的站点的路由。正常情况下,目的 主机如果有应答或其他信息返回源站,就可 以直接将该路由反向运用作为应答的回复 路径。 条件 主机A(假设IP地址是192.168.100.2)是主机B的被信 任主机 主机X想冒充主机A从主机B(假设IP为 192.168.100.1)获得某些服务 攻击过程 攻击者修改距离X最近的路由器G2,使得到达此路 由器且包含目的地址192.168.100.2的数据包以主机 X所在

2、的网络为目的地 攻击者X利用IP欺骗(把数据包的源地址改为 192.168.100.2)向主机B发送带有源路由选项(指定 最近的路由器G2)的数据包。当B回送数据包时,按 收到数据包的源路由选项反转使用源路由,就传送 到被更改过的路由器G2。由于G2路由表已被修改 ,收到B的数据包时,G2根据路由表把数据包发送 到X所在网络,X可在其局域网内较方便的进行侦听 ,收取此数据包。TCP欺骗 基本流程: 步骤一,攻击者X要确定目标主机A的被信任主机B不在工作状 态,若其在工作状态,也可使用SYN flooding等攻击手段使 其处于拒绝服务状态。 步骤二,攻击者X伪造数据包:B - A : SYN(

3、ISN C),源IP 地址使用B,初始序列号ISN为C,给目标主机发送TCP的SYN包 请求建立连接。 步骤三,目标主机回应数据包:A - B : SYN(ISN S) , ACK(ISN C),初始序列号为S,确认序号为C。由于B处于拒绝 服务状态,不会发出响应包。攻击者X使用嗅探器捕获TCP报 文段,得到初始序列号S。 步骤四,攻击者X伪造数据包:B -A : ACK(ISN S),完成三 次握手建立TCP连接。 步骤五,攻击者X一直使用B的IP地址与A进行通信。 盲攻击与非盲攻击: 非盲攻击:攻击者和被欺骗的目的主机在同一个网 络上,攻击者可以简单地使用协议分析器(嗅探器 )捕获TCP报

4、文段,从而获得需要的序列号。见上 述流程。 盲攻击:由于攻击者和被欺骗的目标主机不在同一 个网络上,攻击者无法使用嗅探器捕获TCP报文段 。其攻击步骤与非盲攻击几乎相同,只不过在步骤 三无法使用嗅探器,可以使用TCP初始序列号预测 技术得到初始序列号。在步骤五,攻击者X可以发 送第一个数据包,但收不到A的响应包,较难实现 交互。2 典型系统安全威胁泪滴(teardrop) IP数据包在网络传递时,数据包可以分成更小的片段。攻 击者可以通过发送两段(或者更多)数据包来实现 TearDrop攻击:第一个包的偏移量为0,长度为N;第二 个包的偏移量小于N,而且算上第二片IP包的数据部分, 也未超过第

5、一片的尾部。这样就出现了重叠现象( overlap)。为了合并这些数据段,有的系统(如linux 2.0 内核)的TCP/IP堆栈会计算出负数值(对应取值很大的无 符号数),将分配超乎寻常的巨大资源,从而造成系统资 源的缺乏甚至机器的重新启动。WinNT/95在接收到10至 50个teardrop分片时也会崩溃。 缓冲区溢出 非常普遍、非常危险 后果: 程序运行失败 系统当机、重新启动 执行非授权指令,取得系统特权 概括:对可用性、完整性和机密性的攻击 渊源: Morris Worm 1988 针对fingerd CERT/CC(计算机紧急事件响应组/协调中心) Computer Emerge

6、ncy Response Team/Coordination Center缓冲区溢出的根本原因来自C语言(以及其后代C+)本质的不安全性: 没有边界来检查数组和指针的引用; 标准C 库中还存在许多非安全字符串操作,如strcpy() 、sprintf() 、 gets() 等。为了说明这个问题还必须看一看程序的内存映像。任何一个源程序通常都包括代码段和数据段,这些代码和数据本身都 是静态的。为了运行程序,首先要由操作系统负责为其创建进程,并在进 程的虚拟地址空间中为其代码段和数据段建立映射。但是,光有静态的代 码段和数据段是不够的,进程在运行过程中还要有其动态环境。一般说来 ,默认的动态存储环

7、境通过堆栈(简称栈)机制建立。所有局部变量以及 所有按值传递的函数参数都通过堆栈机制自动地进行内存空间的分配。分 配同一数据类型相邻块的内存区域称为缓冲区。图2.6为Linux下进程的地 址空间布局。当然,C语言还允许程序员使用堆机制创建存储器,存储使 用malloc()获得的数据。不过,这与本节讨论的问题无关。 缓冲区溢出原理从逻辑上讲进程的堆栈是由多个堆栈帧构成的,其中每个堆栈帧都对应一个函数调 用。当函数调用发生时,新的堆栈帧被压入堆栈;当函数返回时,相应的堆栈帧从 堆栈中弹出。尽管堆栈帧结构的引入为在高级语言中实现函数或过程这样的概念提 供了直接的硬件支持,但是由于将函数返回地址这样的

8、重要数据保存在程序员可见 的堆栈中。当程序写入超过缓冲区的边界时,这就是所谓的“缓冲区溢出”。发生 缓冲区溢出时,就会覆盖下一个相邻的内存块,导致一些不可预料的结果:也许程 序可以继续,也许程序的执行出现奇怪现象,也许程序完全失败。下面的程序是一个缓冲溢出的实例。例2.3.1 #include int main()char name5;printf(“Please input your name:”);gets(name);printf(“you are %s”,name); 运行这个程序可以发现,当输入的字符数少时,程序运行正常 ;当输入的字符数太多时(超过8),程序就不能正常结束。这就是

9、缓冲区逸出所造成。 典型的堆栈帧结构如图2.7所示。堆栈中存放的是与每个函数对应的堆 栈帧。当函数调用发生时,新的堆栈帧被压入堆栈;当函数返回时,相应 的堆栈帧从堆栈中弹出。 图2.7 典型的堆栈帧结构 堆栈帧的顶部为函数的实参,下面是函数的返回地址以及前一个堆栈帧 的指针,最下面是分配给函数的局部变量使用的空间。一个堆栈帧通常都 有两个指针,其中一个称为堆栈帧指针,另一个称为栈顶指针。前者所指 向的位置是固定的,而后者所指向的位置在函数的运行过程中可变。因此 ,在函数中访问实参和局部变量时都是以堆栈帧指针为基址,再加上一个 偏移。由图2.7可知,实参的偏移为正,局部变量的偏移为负。当发生数

10、据栈溢出时,多余的内容就会越过栈底,覆盖栈底后面的内容。通常,与 栈底相邻的内存空间中存放着程序返回地址。因此,数据栈的溢出,会覆 盖程序的返回地址,从而造成如下局面:要么程序会取到一个错误地址, 要么将因程序无权访问该地址而产生一个错误。鉴此,C语言把这一艰巨任务交给了开发人员,要求他们进行边界检查 ,编写安全的程序。然而这一要求往往被人们忽视,从而给黑客有机可乘 。 4 拒绝服务攻击4.1 拒绝服务攻击实例 Ping of Death Jolt2 LandPing of Death 原理: 攻击者:发送长度超过65535的ICMP Echo Request的碎片分组, 目标机:重组分片时会

11、造成事先分配的65535 字节缓冲区溢出,导致TCP/IP堆栈崩溃 防御: Win98之后的系统都能够应对超大尺寸的包 配置防火墙阻断ICMP以及任何未知协议分组Jolt2 原理:发送大量相同的碎片化IP分组 分片标志位MF被置为0 偏移量为65520 IP分组大小为29字节 IPID为1109(IDS检测特征 ) 防御: Windows系统必须安装最新的补丁 在网络边界上禁止碎片包通过,或者限制其包速率 必须确保防火墙重组碎片的算法没有问题 计算总长度: 20+65520+9 = 65549 65535Land 原理:发送一个特别定制的SYN分组 源地址和目的地址都设为目标机地址 源端口号和

12、目的端口号相同 防御: 为操作系统安装最新的补丁 配置防火墙,过滤从外部接口进入的、含有内 部源地址的分组 SYN Flood 原理:TCP连接的三次握手和半开连接 攻击者:发送大量伪造的TCP连接请求 方法1:伪装成当时不在线的IP地址发动攻击 方法2:在主机或路由器上阻截目标机的SYN/ACK分组 目标机:堆栈溢出崩溃或无法处理正常请求 防御: 缩短SYN Timeout时间 (设置为20秒以下 ) 设置SYN Cookie 缺陷:依赖于对方使用真实的IP地址 设置路由器和防火墙,在给定的时间内只允许数量有限 的半开TCP连接发往主机给每一个请求连接的IP地址分配一个 Cookie,如果短

13、时间内连续收到某IP的重 复SYN报文,就认定受到了攻击,从此IP 地址来的后继包被丢弃。 客户端服务器端客户端服务器端正常过程半开连接SYNSYN/ACKACKSYNSYN/ACKSYN/ACKSYN TimeoutSYN Flood 之 TCP三次握手. . .SYN/ACKSYN/ACKSYN/ACKSYNSYNSYN攻击者目标主机SYNSYN/ACK1nSYN/ACKSYN/ACKSYN/ACKSYN/ACK. . .等待应答SYN/ACK.分布式拒绝服务(Distributed Denial of Service,DDoS) 攻击指借助于客户/服务器技术,将多个计算机联合起来作为 攻

14、击平台,对一个或多个目标发动DoS攻击,从而成倍地提高 拒绝服务攻击的威力。通常,攻击者使用一个偷窃帐号将 DDoS主控程序安装在一个计算机上,在一个设定的时间主控 程序将与大量代理程序通讯,代理程序已经被安装在 Internet上的许多计算机上。代理程序收到指令时就发动攻 击。利用客户/服务器技术,主控程序能在几秒钟内激活成百 上千次代理程序的运行。 4.2 分布式拒绝服务攻击将目的地址设置成广播地址(以太网地址为 FF:FF:FF:FF:FF:FF:FF)后,将会被网络中所有主机 接收并处理。显然,如果攻击者假冒目标主机的地址 发出广播信息,则所有主机都会向目标主机回复一个 应答使目标主机

15、淹没在大量信息中,无法提供新的服 务。这两个攻击就是利用广播地址的这一特点将攻击 放大而实施的拒绝服务攻击。其中,Smurf是用广播 地址发送ICMP ECHO包,而Fraggle是用广播地址 发送UDP包。Smurf显然,smurf为了能工作,必须要找到攻击平台,这 个平台就是:其路由器上启动了IP广播功能允许 smurf 发送一个伪造的ping信息包,然后将它传播到 整个计算机网络中。另一方面,为防止系统成为 smurf攻击的平台,要将所有路由器上IP的广播功能 都禁止(一般来讲,IP广播功能并不需要)。但是 ,攻击者若从LAN内部发动一个smurf攻击,在这种 情况下,禁止路由器上的IP

16、 广播功能就没有用了。 为了避免这样一个攻击,许多操作系统都提供了相 应设置,防止计算机对IP广播请求做出响应。挫败一个smurf 攻击的最简单方法对边界路由器 的回音应答(echo reply)信息包进行过滤,然后丢弃 它们,使网络避免被淹没。目标机攻击者放大器放大器源地址:目标机 目的地址:广播地址 (放大器网络)Smurf 之 放大器一个比较完善的DDoS攻击体系分成4部分: 攻击者所在机 控制机(用来控制傀儡机) 傀儡机 受害者。对受害者的攻击是从击傀儡机上发出的,控制机只 发布命令而不参与实际的攻击。DDoS就是利用更多的傀儡机来发起进攻,以更大 的规模来进攻受害者。 2. DDoS系统的一般结构在更一般的情况下,DDoS可能使用多台控制机,形成图2.16

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 中学教育 > 教学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号