《毕业设计(论文)校园网的安全问题.doc》由会员分享,可在线阅读,更多相关《毕业设计(论文)校园网的安全问题.doc(36页珍藏版)》请在三一办公上搜索。
1、四川邮电职业技术学院毕 业 论 文论文(设计)题目: 校园网的安全问题 班 级: 计算机科学系.307网络系统管理 姓 名: 黄 某 人 学 号: 20070309889 指导教师: 时间: 2010年 3 月 15日四川邮电职业技术学院毕 业 设 计(论文)任 务 书班级307网络系统管理姓名学号论文(或设计)题 目校园网的安全问题指导教师姓名指导教师专业技术职称助教设计根据、内容、技术要求,主要设计方法(或步骤):第一章介绍校园网的总体结构,校园网由哪些部分组成,这些部分之间是怎么协调工作的;第二章介绍校园网中存在的安全问题,在网络的哪些环节上最容易被外界攻击;第三章着重介绍校园网的发展趋
2、势要求提出自己的观点和看法(核心部分);第四章是总结,包括对前面几章的总结,自己对本次论文得出的一些理解,结论和收获。最后是感谢词(包括在论文期间和整个大学期间对你有过帮助的人)和参考文献。 要求对校园网有深入彻底得了解,分析校园网安全问题的发展趋势,并结合实际能提出自己的观点。关节主要参考文献、资料:可以上网查相关资料,全国的优秀的论文资料。要求完成时间初稿完成时间为3月中旬题目:校园网的安全问题姓名:黄内容摘要:互联网的高速普及已经使许多人离不开网络。校园网发展到今天,已成为互联网不可缺少的一部分。校园网作为一种丰富学习资源、拓展教学空间、提高教育效率的有效途径,为教育的创新与普及提供了新
3、的突破口。与此同时,网络与生俱来的不安全因素,如病毒、非法入侵、黑客、不健康信息等,也无时无刻威胁着教育网络的健康发展,成为教育信息化建设中不容忽视的问题。 由于校园网刚刚建成使用,设备以及软件不是很完善,对于网络安全建设没有比较系统的投入,致使校园网处在一个半开放的状态,没有有效的安全预警手段和防范措施。 一直以来人们在校园网安全问题上一方面因为意识与设备方面的原因,以及对技术的偏好和运营意识的不足,普遍存在“重技术、轻安全、轻管理”的特点,常常只是在内部网与互联网之间放一个防火墙就认为万事大吉,有些学校甚至直接连接互联网,这就给病毒、黑客提供了充分施展身手的空间。而病毒泛滥、黑客攻击、信息
4、丢失、服务被拒绝等等,这些安全隐患只要发生一次,对整个网络都将是致命性的。计算机系统上的资源包括4个方面,即本地资源、网络资源、服务器资源和数据库与信息资源。不同的资源,系统所受到的威胁程度也不尽相同。一般来说,本地资源潜在的威胁有病毒、木马、Java小程序及一些可以破坏本地系统的活动;网络资源潜在的威胁有IP欺骗、系统探测、未经授权的信息获取;服务器资源潜在的威胁有非授权侵入、截取服务、木马及恶意的或以金钱为目的的访问,服务器资源通常是黑客攻击的首要目标;数据库资源潜在的威胁有未经授权对于交易机密、客户数据及其他信息的获取。关键词:校园网;安全的重要性;安全隐患;安全策略目 录第一章:校园网
5、的总体结构11.1 校园网的组成11.2校园网各部分之间的协调2第二章校园网中存在的安全问题32.1 容易被攻击的网络环节32.2 网络攻击的解决方案42.2.1 目标探测42.2.2 目标探测的方法62.2.3 扫描概念和原理72.2.4 网络监听92.2.5 缓冲区溢出122.2.6 欺骗攻击与防范172.2.7 IP地址盗用与防范172.2.8 网络安全服务协议202.2.9 无线网安全23第三章介绍校园网的发展趋势253.1当下园网的发展趋势253.2我对校园网发展的看法27第四章 结论29致谢参考文献第一章:校园网的总体结构组建校园网,就是组建一个基本能覆盖整个校园范围的计算机网络,
6、将学校内各种计算机、服务器、终端设备连接起来,并通过一定接口连接到广域网。在这些网络基础上,形成在校园内部、校园与外部进行信息沟通的体系,建立满足教学、科研和管理需求的计算机环境,为学校各种人员提供充分的网络信息服务,在网络环境中进行教学、研究、收集信息等工作。校园需要的基本功能有: 1、电子邮件系统:主要进行与同行交往、开展技术合作、学术交流等活动; 2、文件传输FTP:主要利用FTP服务获取重要的科技资料和技术文挡; 3、INTERNET服务:学校可以建立自己的主页,利用外部网页进行学校宣传,提供各类咨询信息等,利用内部网页进行管理,例如发布通知、收集学生意见等。 4、计算机教学,包括多媒
7、体教学和远程教学; 5、图书馆访问系统,用于计算机查询、计算机检索、计算机阅读等; 6、其他应用,如大型分布式数据库系统、超性能计算资源共享、管理系统、视频会议等。1.1 校园网的组成校园网的硬件通常有服务器、工作站、网间互联设备、传输媒质等部分组成。 v 服务器 服务器(Server)是网络上一种为客户端计算机提供各种服务的高性能的计算机。服务器根据其在网络中所执行的任务不同可分为:Web服务器、数据库服务器、视频服务器、FTP服务器、Mail服务器、打印服务器、网关服务器、域名服务器等等。对于小型的校园网络,往往把Web服务、FTP服务、数据库服务等集于一台服务器上。 v 工作站 在校园网
8、中,工作站(Workstation)是一台客户机,即网络服务的一个用户。但有时也将工作站当作一台特殊应用的服务器使用,如打印机或备份磁带机的专用工作站。工作站一般通过网卡连接网络,并需安装相关的程序与协议才可以访问网络资源。 v 网络互联设备 (1)集线器(HUB):集线器是计算机网络中连接多个计算机或其他设备的连接设备。HUB主要提供信号放大和中转的功能,把一个端口接收的信号向所有端口分发出去,有些集线器还可以通过软件对端口进行配置和管理。 (2)交换机(Switch):交换机的外形与集线器很接近,也是一个多端口的连接设备,主要区别在于:交换机的数据传送速率通常要比集线器快很多,学校网络中心
9、的核心交换机往往还具有路由功能。(3)路由器(Router):路由器是连接多个网络或网段的网络设备。通常路由器有两大典型功能,即数据通道功能和控制功能,数据通道功能一般由硬件来完成,控制功能一般用软件来实现。 (4)网关(Gateway):网关是网络连接设备的重要组成部分,它不仅具有路由的功能,而且能对两个网络段中使用不同传输协议的数据进行互相的翻译转换,从而使不同的网络之间能进行互联。网关一般是一台专用的计算机,该机器上配置有实现网关功能的软件,这些软件具有网络协议转换、数据格式转换等功能。(5)防火墙(Firewall):是指一种将内部网和公众访问网(如Internet)分开的硬件或软件技
10、术。 v 常见的网络传输媒质(1)双绞线(TwistedPair):是由两根相互绝缘的铜导线按照一定的规格互相缠绕在一起而成的网络传输介质。常用的无屏蔽层双绞线由4对双绞线和一个塑料护套构成。在当前的技术下,传输数据的距离一般限定在100米范围内,双绞线是目前局域网中使用最多的传输媒质。 (2)光纤(Fiber):光纤是以光脉冲的形式来传输信号,材质以玻璃或有机玻璃为主的网络传输介质。它由纤维芯、包层和保护套组成。光纤按其传输方式可分为单模光纤(直线传播)和多模光纤(折射传播)。光纤具有极高的传输带宽,目前技术可以1000Mbps以上的速率进行传输。光纤的衰减极低,抗电磁干扰能力很强,传输距离
11、可达20公里以上。1.2校园网各部分之间的协调v 校园网中的每一部分都是必不可少的,而个部分之间的协调工作保证了校园网的安全运行,服务器是整个校园网的神经中枢,是各个网点的信息保障,防火墙保证了校园网的安全,有效的防止病毒的入侵,保证了信息的安全和计算机的正常工作,路由器,交换机的加入不但保证了网络的正常运行,对其进行设置后还有效的保证了网络的高效性和安全性,光纤是连接各个设备的简单而重要的物件。第二章校园网中存在的安全问题2.1 容易被攻击的网络环节第一,校园网与Internet相连,且速度快和规模大,在享受Internet方便快捷的同时,也面临着遭遇攻击的风险。高校校园网目前普遍使用了百兆
12、到桌面、千兆甚至万兆实现园区主干互联。校园网的用户群体一般也比较大,少则数千人、多则数万人。中国的高校学生一般集中住宿,因而用户群比较密集。正是由于高带宽和大用户量的特点,网络安全问题一般蔓延快、对网络的影响比较严重。第二,开放的网络环境极易受到攻击。由于教学和科研的特点决定了校园网络环境应该是开放的、治理也是较为宽松的。比如,企业网可以限制答应Web浏览和电子邮件的流量,甚至限制外部发起的连接不答应进入防火墙,但是在校园网环境下,至少在校园网的主干不能实施过多的限制,否则一些新应用、新技术很难在校园网内部实施。第三,校园网内部也存在很大的安全隐患。高等学校的学生通常是最活跃的网络用户,对网络
13、新技术布满好奇,勇于尝试。假如没有意识到后果的严重性,有些学生会尝试使用网上学到的、甚至自己研究的各种攻击技术,可能对网络造成一定的影响和破坏。第四,目前使用的操作系统存在安全漏洞,对网络安全构成了威胁。网络服务器安装的操作系统有WindowsNT/2000、UNIX、Linux等,这些系统安全风险级别不同,例如WindowsNT/2000的普遍性和可操作性使它成为最不安全的系统:自身安全漏洞、浏览器的漏洞、IIS的漏洞、病毒木马等。第五,校园网中的计算机系统治理比较复杂。校园网中的计算机系统的购置和治理情况非常复杂,要求所有的端系统实施统一的安全政策是非常困难的。由于没有统一的资产治理和设备
14、治理,出现安全问题后通常无法分清责任。比较典型的现象是,用户的计算机接入校园网后感染病毒,反过来这台感染病毒的计算机又影响了校园网的运行。更有些计算机甚至服务器系统建设完毕之后无人治理,甚至被攻击者攻破作为攻击的跳板、变成攻击试验床也无人觉察。第六,内部用户对Internet的非法访问威胁。如浏览黄色、暴力、反动等网站,以及由于下载文件可能将木马、蠕虫、病毒等程序带入校园内网;内外网恶意用户可能利用利用一些工具对网络及服务器发起DoS/DDoS攻击,导致网络及服务不可用;校园网内针对QQ的黑客程序随处可见。第七,有限的投入造成维护力量不足。校园网的建设和治理通常都轻视了网络安全,非凡是治理和维
15、护人员方面的投入明显不足。在中国大多数的校园网中,通常只有网络中心的少数工作人员,他们只能维护网络的正常运行,无暇顾及、也没有条件治理和维护数万台计算机的安全。 第八,可能会因为校园网内治理人员以及全体师生的安全意识不强、治理制度不健全,带来校园网的威胁。2.2 网络攻击的解决方案从技术上说,网络容易受到攻击的原因主要是由于网络软件不完善和网络协议本身存在安全缺陷造成的。例如我们使用最多的、最著名的TCP/IP网络协议就存在大量的安全漏洞。这是因为在设计TCP/IP协议时,我们只考虑到如何实现信息通信,而没有考虑到有人会破坏信息通信的安全。2.2.1 目标探测一方面,目标探测是防范不法黑客攻击
16、行为的手段之一,另一方面也是黑客进行攻击的第一步。1 目标探测的内容目标探测所包括的内容基本上有以下两类:1外网信息。包括域名、管理员信息、网络地址范围、网络位置、网络地址分配机构信息、系统提供的各种服务和网络安全配置等。2内网信息。包括内部网络协议、拓扑结构、系统体系结构和安全配置等。目标探测主要利用了以下4种检测技术。1基于应用的检测技术。它采用被动的、非破坏性的办法检查应用软件包的设置,发现安全漏洞。2基于主机的检测技术。它采用被动的、非破坏性的办法对系统进行检测。3基于目标漏洞检测技术。它采用被动的、非破坏性的办法检查系统属性和文件属性,如数据库和注册号等。4基于网络的检测技术。它采用
17、积极的、非破坏性的办法来检验系统是否有可能被攻击。2 目标探测的方法1确定目标范围入侵一个目标就要确定该目标的网络地址分布和网络分布范围及位置。C:WINDOWSping Pinging 68.142.226.46 with 32 bytes of data:Reply from 68.142.226.46: bytes=32 time=641ms TTL=42我们还可以利用Whois查询得到目标主机的IP地址分配、机构地址位置和接入服务商等重要信息。Whois查询就是查询域名和IP地址的注册信息。国际域名由设在美国的Internet信息管理中心(InterNIC)和它设在世界各地的认证注册商
18、管理,国内域名由中国互联网络信息中心(CNNIC)管理。2.分析目标网络信息使用专用的工具,如VisualRoute等。这些软件的主要功能包括:快速分析和辨别Internet连接的来源,标识某个IP地址的地理位置,目标网络Whois查询等。3.分析目标网络路由了解信息从一台计算机到达互联网另一端的另一台计算机传播路径是非常重要的,目前最常见的检测工具为Traceroute,它是集成在CyberKit软件包中。目标探测主要利用了以下4种检测技术。1基于应用的检测技术。它采用被动的、非破坏性的办法检查应用软件包的设置,发现安全漏洞。2基于主机的检测技术。它采用被动的、非破坏性的办法对系统进行检测。
19、3基于目标漏洞检测技术。它采用被动的、非破坏性的办法检查系统属性和文件属性,如数据库和注册号等。4基于网络的检测技术。它采用积极的、非破坏性的办法来检验系统是否有可能被攻击。2.2.2 目标探测的方法1确定目标范围入侵一个目标就要确定该目标的网络地址分布和网络分布范围及位置。如:,通过域名可以查看提供该Web服务中的一台服务器地址利用最简单和实用的ping命令就可以获得其中的一台服务器的IP地址。C:WINDOWSping Pinging 68.142.226.46 with 32 bytes of data:Reply from 68.142.226.46: bytes=32 time=64
20、1ms TTL=42还可以利用Whois查询得到目标主机的IP地址分配、机构地址位置和接入服务商等重要信息。Whois查询就是查询域名和IP地址的注册信息。国际域名由设在美国的Internet信息管理中心(InterNIC)和它设在世界各地的认证注册商管理,国内域名由中国互联网络信息中心(CNNIC)管理。2.分析目标网络信息使用专用的工具,如VisualRoute等。这些软件的功能包括:快速分析和辨别Internet连接的来源,标识某个IP地址的地理位置,目标网络Whois查询等。3.分析目标网络路由了解信息从一台计算机到达互联网另一端的另一台计算机传播路径是非常重要的,目前最常见的检测工具
21、为Traceroute,它是集成在CyberKit软件包中。2.2.3 扫描概念和原理计算机扫描就是对计算机系统或者其他网络设备进行与安全相关的检测,以找出安全隐患和可被黑客利用的漏洞。1 扫描器概念扫描器是一种自动检测远程或本地主机安全性的程序。从整个信息安全角度来看的话,可以把扫描器大约分为三类:即:1数据库安全扫描器数据库安全扫描器是针对数据库管理系统的安全评估工具,如Database Scanner。用户可利用它来建立数据库的安全规则,通过运行审核程序来提供有关安全风险和位置的简明报告。2系统安全扫描器系统安全扫描器是针对主机的安全评估工具,如System Scanner。它是基于主机
22、安全评估策略来分析系统漏洞,包括系统错误配置和普通配置信息。用户通过扫描结果对系统漏洞进行修补,直到扫描报告中不再出现任何警告。3网络安全扫描器网络安全扫描器是针对于网络服务、应用程序、网络设备和网络协议等安全评估工具。通常我们将基于网络的扫描称为主动式扫描,基于主机的扫描称为被动式扫描。一个网络扫描器至少应该具备如下三项功能:(1)发现一个主机和网络;(2)发现主机后,扫描它正在运行的操作系统和各项服务;(3)测试这些服务中是否存在漏洞。2 常用端口扫描技术1TCP connect() 扫描这是最基本的TCP扫描,操作系统提供的connect()系统调用,用来与每一个目标计算机的端口进行连接
23、。如果端口处于侦听状态,那么connect( )就能成功。否则,这个端口是不能用的,即没有提供服务。2TCP SYN扫描扫描程序发送的一个SYN数据包,当接收到一个SYN|ACK信息时,表示目标端口处于侦听状态。当接收到一个RST|ACK信息时,表示目标端口是关闭的。如果收到一个SYN|ACK,扫描程序立即发送一个RST信号,就可以关闭这个连接过程。因此,不会在目标计算机上留下记录。3TCP FIN 扫描这种扫描方法是关闭端口时会用适当的RST来回复FIN数据包,打开端口时会忽略对FIN数据包的回复。FIN 扫描通常适用于Unix目标主机,而对WindowsNT无效,所以这种方法可以用来区分目
24、标主机使用的操作系统。4IP段扫描这种方法不是直接发送TCP探测数据包,而是将数据包分成两个较小的IP段。这样就将一个TCP头分成好几个数据包,从而使过滤器很难探测到。5TCP 反向认证扫描这种扫描是利用认证协议,尝试与一个TCP端口建立连接,如果连接成功,扫描器发送认证请求到目标主机的113端口。这种扫描能够看到运行在某个端口上进程的用户名。6FTP 代理扫描FTP 代理扫描是用一个代理的FTP服务器来扫描TCP端口。假设S是扫描机,T是扫描目标,F是一个支持代理选项的FTP服务器,能够跟S和T建立连接,FTP端口扫描步骤如下:(1) S与F建立一个FTP会话,使用PORT命令声明一个选择的
25、端口p-T作为代理传输所需要的被动端口;(2)然后S使用一个LIST命令尝试启动一个到p-T的数据传输;(3)如果端口p-T确实在监听,传输就会成功,返回码150和226被发送回给S。否则S回收到“425 Can build data connection: Connection refused”的应答;(4)S持续使用PORT和LIST命令,直到对T上所有的选择端口扫描完毕为止。这种方法的优点是难以跟踪,能穿过防火墙。主要缺点是速度很慢,有的FTP服务器最终还是能得到一些线索,关闭代理功能。7UDP ICMP端口不能到达扫描这种方法使用的是UDP(User Datagram Protocol
26、)协议,打开的端口对扫描探测并不发送一个确认,关闭的端口也并不需要发送一个错误数据包。2.2.4 网络监听网络监听技术本来是提供给网络安全管理人员进行网络管理的工具,可以用来监视网络的状态、数据流动情况以及网络上传输的信息等,黑客也可以利用网络监听来截取主机口令等。1 网络监听原理以太网(Ethernet)协议的工作方式是将要发送的数据包发往连接在一起的所有主机,在包头中包含有接收数据包的主机的正确地址,因为只有与数据包中目的地址一致的那台主机才能接收到信息包。因此,不管数据包中的目标物理地址是什么,主机都将接收,这就是实现网络监听的基础。如果主机工作在监听模式下,所有的数据包都将被交给上层协
27、议软件处理。当连接在同一条电缆或集线器上的主机被逻辑地分为几个子网的时候,那么只要是有一台主机处于监听模式,它还将可以接收到发向与自己不在同一个子网(使用了不同的掩码、IP地址和网关)的主机数据包,也就是在同一个物理信道上传输的所有信息都可以被接收到。2 网络监听检测与防范1网络监听检测(l)用正确的IP地址和错误的物理地址的ICMP数据包去 Ping它,这样运行监听程序的机器就会有响应。(2)向怀疑有网络监听行为的网络发送大量不存在的物理地址包,由于监听程序要分析和处理大量的数据包,会占用大量的CPU资源,这将导致性能下降。正常系统的反应时间不会有什么变化。(3)许多的网络监听软件都会尝试进
28、行地址反向解析,在怀疑有网络监听发生时可以在DNS系统上看到有没有明显增多的解析请求。(4)向局域网内的主机发送非广播方式的ARP包,如果局域网内的某个主机响应了这个ARP请求,那么我们就可以判断它很可能就是处于网络监听模式了,这是目前相对而言比较好的监测模式。(5)可以利用一些工具软件来发现网络监听,如AntiSniffer等软件。2防范网络监听(1)从逻辑或物理上对网络分段。其目的是将非法用户与敏感的网络资源相互隔离,从而防止可能的非法监听。(2)以交换式集线器代替共享式集线器。交换式集线器代替共享式集线器,使单播包仅在两个节点之间传送,从而防止非法监听。(3)使用加密技术。(4)运用VL
29、AN。运用VLAN(虚拟局域网)技术,将以太网通信变为点到点通信,可以防止大部分基于网络监听的入侵。3 嗅探器Sniffer介绍1什么是SnifferSniffer中文翻译为嗅探器,它是利用计算机网络接口截获数据报文的一种工具。主要功能有:能够分析网络协议、定位网络故障;查找网络漏洞和检测网络性能;分析网络的流量;用来收集有用数据,这些数据可以是用户的帐号和密码,可以是一些商用机密数据等。黑客要想迅速获得他感兴趣的信息,最为有效的手段之一就是使用Sniffer程序。嗅探器可分为软件、硬件两种。2Sniffer工作原理以太网协议是在同一回路向所有主机发送数据包信息。数据包头包含有目标主机的正确地
30、址,一般情况下只有具有该地址的主机会接受这个数据包。如果使一台主机能够接收所有数据包,而不理会数据包头内容,这种方式通常称为“混杂”(promiscuous)模式。在一个实际的系统中,数据的收发是由网卡来完成的。对于网卡来说一般有四种接收模式:(1)广播方式,该模式下的网卡能够接收网络中的广播信息。(2)组播方式,该模式下的网卡能够接收组播数据。(3)直接方式,该模式下只有目标网卡才能接收数据。(4)混杂模式,该模式下的网卡能够接收一切通过它的数据,不管该数据是否传给它的。嗅探器就是通过将以太网卡设置成混杂模式,并置身于网络接口来达到捕获真实的网络报文的目的。通常使用嗅探器的攻击者,都必须拥有
31、基点用来放置嗅探器。他们可以将嗅探器接在网络的某个点上,而这个点通常用肉眼不容易发现。除非人为地对网络中的每一段网线进行检测。3嗅探器的危害(1)嗅探器能够捕获口令等。(2)嗅探器能够捕获专用的或者机密的信息。(3)嗅探器可以用来危害网络邻居的安全,或者用来获取更高级别的访问权限;(4)嗅探器可以分析网络结构,进行网络渗透。(5)嗅探器可以拦截数据包。4如何防范Sniffer(1)Ping 方法。(2)在UNIX系统下可以使用命令ps-auxo。(3)在Windows系统下,可以按下Ctrl+Alt+Del键,查看任务列表。(4)使用SSH(Secure Shell)、IPV6等协议 。(5)
32、使用安全的拓扑结构。(6)可以使用 Antisniff 软件。(7)判断网络是否有Sniffer的经验。如果网络通讯丢包率非常高、某台机器长时间的占用了较大的带宽时就可能有人在监听。对网关、交换机、路由器等区域就应该加强防范,防止在这些区域存在嗅探器。2.2.5 缓冲区溢出1 缓冲区溢出原理缓冲区(buffer)是内存中存放计算机正在处理数据的地方。当数据量超出缓冲区的长度时,多出来的数据就会破坏堆栈中的数据,导致应用程序或整个系统的崩溃等故障;攻击者还可以在溢出数据中加上精心设计的机器代码,当这些代码溢出到缓冲区以外时会被执行,就能达到破坏计算机系统目的,这就是所谓的缓冲区溢出(buffer
33、 overflow)攻击。缓冲区溢出攻击可以通过下面两个方法实现。1通过往程序的缓冲区写超出其长度的内容,造成缓冲区的溢出,从而破坏程序的堆栈,使系统崩溃。例:#includevoid main (int argc,char *argv )char buffer10;strcpy(buffer,argv1);执行该程序,输入字符串长度小于10时,程序正常运行,否则系统崩溃。当缓冲区溢出时,导致程序不能正常工作的原因是:在该例中输入13个A(0x41)时,RET地址变成0x41414141h,而这个地址已不在程序使用的虚拟地址空间范围了,这时系统就会提示“Segmentationg Violat
34、ion”错误。2通过往程序的缓冲区写超出其长度的内容,造成缓冲区的溢出,从而破坏程序的堆栈,使程序转而执行其它指令,以达到攻击目的。例如下面程序:#include #include void function(int a)char buffer5;char *ret;ret = buffer+12 ;*ret += 8;void main( )int x;x =10;function(7);x = 1;coutxendl;程序的运行结果是?程序的实际运行结果是10,而不是1。 为什么?参照图5.7,上段程序的执行过程是:首先依次为形式参数a、RET、EBP分配4字节的内存,最后在为语句char
35、 buffer 5 分配内存时,实际需要5字节的内存。但是对于32位存储器来说,内存的分配是以4个字节为单位来进行的,所以,在为buffer分配的内存一共需要8个字节(需要额外分配3个字节来进行填充)。执行ret = buffer + 12这条语句后,ret恰好指向RET(buffer 地址和RET地址正好相差12个字节)。RET的值恰好是函数function(7)的返回地址,即“x=1”的首地址,但执行*ret + =8语句后就将RET的值加上了8个字节,而x=1这条语句恰好占有8个字节。由于RET存放函数function(7)的返回地址,function(7)执行结束后,将跳过x=1这条语
36、句,直接执行coutxend了,这就是为什么上段程序输出10而不是1的原因。2 缓冲区溢出攻击方法1在程序的地址空间里安排适当的代码(1)植入法。(2)利用已经存在的代码。2控制程序转移到攻击代码(1)激活记录。(2)函数指针。(3)长跳转缓冲区。3代码植入和流程控制攻击者定位一个可供溢出的自动变量,然后向程序传递一个很大的字符串,再引发缓冲区溢出,改变活动记录的同时植入了代码。3 防范缓冲区溢出下面介绍四种基本方法来保护缓冲区免受缓冲区溢出的攻击和影响。1编写正确的代码编写安全代码是防止缓冲区溢出的最有效办法,下面以C语言中的get()函数为例。get()函数的功能是从标准输入读取数据到缓冲
37、区中,错误的使用方式是:char str10while (gets(str)!=NULL)puts(str);memset(str,0,sizeof(str);由于没有严格规定输入到str中的字符长度,很容易产生缓冲区溢出漏洞。正确的方式是使用fgets(char s,int size,FILE *stream),通过严格规定输入数据长度从而安全读取数据,如,利用sizeof(str),使fgets()只能读取112个字符,并在最后加上一个NULL字符。char str10while (fgets(str,sizeof(str),stdin) !=NULL)puts(str);memset(s
38、tr,0,sizeof(str);同样,数组边界问题也是造成缓冲区溢出的一个根本原因,在编写程序时就要对数组边界进行严格限定。2非执行的缓冲区通过使被攻击程序的数据段地址空间不可执行,从而使得攻击者不可能执行被植入到被攻击程序输入缓冲区的代码,这种技术被称为非执行的缓冲区技术。3程序指针完整性检查程序指针完整性检查是在程序指针被引用之前检测到它的改变,这个时候即便是有人改变了程序的指针,也会因为系统早先已经检测到了指针的改变而不会造成指针被利用的。4安装漏洞补丁安装操作系统和应用程序等最新补丁程序也是解决缓冲溢出问题的最有效办法。2.2.6拒绝服务DoS(Denial of Service)通
39、过堵塞网络、占用系统资源等方法,拒绝用户的服务访问,破坏系统的正常运行。1 拒绝服务DoS最基本的DoS攻击就是利用合理的服务请求来占用过多的服务资源,从而使合法用户无法得到服务。DoS攻击的基本原理如图5.8所示。2 分布式拒绝服务DDoS随着计算机的处理能力迅速增长,内存大大增加等,单存的DoS攻击很难凑效,这时侯分布式的拒绝服务攻击(DDoS)就应运而生了。分布式拒绝服务DDoS(Distributed Denial of Service)是借助于客户机/服务器技术,将多个计算机联合起来作为攻击平台,对一个或多个目标发动DoS攻击,从而成倍地提高拒绝服务攻击的威力。DDoS攻击分为3层:
40、攻击者、主控端、代理端,三者在攻击中扮演着不同的角色。3 DDoS攻击的步骤DDoS攻击的步骤如下:1. 搜集攻击目标了解被攻击目标主机数目、地址情况,目标主机的配置、性能、目标的带宽等。2占领傀儡机黑客通过扫描工具等,发现互联网上那些有漏洞的机器,随后就是尝试攻击。攻击成功后,就可以占领和控制被攻击的主机,即傀儡机。黑客可以利用FTP等把DDoS攻击用的程序上传到傀儡机中。傀儡机包括主控端和代理端主机,其中一部分主机充当攻击的主控端,一部分主机充当攻击的代理端。在攻击机上,会有一个DDoS的发包程序,黑客就是利用它来向受害目标发送恶意攻击包的。准备好一定数量的傀儡机是一个必要的条件。3. 实
41、际攻击黑客登录到作为控制台的攻击机,向所有傀儡机发出命令,这时候埋伏在傀儡机中的DDoS攻击程序就会响应控制台的命令,一起向受害主机以高速度发送大量的数据包,导致受害主机死机或是无法响应正常的请求。4 防范DDoS攻击的策略1及早发现系统存在的攻击漏洞,及时安装系统补丁程序。2要经常检查系统的物理环境,禁止那些不必要的网络服务。3充分利用防火墙等网络安全设备,配置好它们的安全规则,过滤掉所有可能伪造的数据包。4请网络服务商帮助你实现路由的访问控制和对带宽总量的限制。5当发现自己正在遭受DDoS攻击时,要尽可能快的追踪攻击包,并且要及时联系ISP和有关应急组织,从而阻挡从已知攻击节点的流量。6使
42、用DDoS检测工具find_ddos和反病毒软件等,定期检查系统是否有DDoS攻击工具软件。7如果出现网络的通讯量突然急剧增长,或网站的某一特定服务总是失败等,应及时分析这些情况,防患于未然。2.2.6 欺骗攻击与防范欺骗攻击本身不是进攻的目的,而是为实现攻击目的所采取的的手段,这类攻击最终破坏了主机与主机之间的信任关系。1 IP欺骗攻击与防范所谓IP欺骗(IP-Spoofing)就是伪造某台主机的IP地址的技术,其实质就是让一台主机来扮演另一台主机。1. IP欺骗原理IP欺骗是利用了主机之间的正常信任关系来发动的。2. IP欺骗攻击过程(1)假设黑客C已找到要攻击的主机A(2)C发现与A有关
43、的信任主机B(3)利用某种方法攻击B,使其瘫痪(4)对A的ISN号进行取样和分析(5)用ISN号进行尝试链接(6)链接成功,则执行命令,留下后门3防止IP地址欺骗(1)抛弃基于地址的信任策略(2)进行包过滤(3)使用加密方法(4)使用随机的初始序列号2.2.7 IP地址盗用与防范由于IP地址位数有限,IP地址也是一种紧缺资源,IP地址的盗用也就成为很常见的问题。利用IP地址盗用的办法,可以逃避网络计费,还可以隐藏自己的身份。1IP地址盗用常用方法(1)静态修改IP地址对于任何一个TCP/IP实现来说,IP地址都是其用户配置的必选项。如果用户在配置TCP/IP 或修改TCP/IP配置时,使用的不
44、是授权机构分配的IP地址,就形成了IP地址盗用。(2)成对修改IP-MAC地址如果将一台计算机的IP地址和 MAC地址都改为另外一台合法主机的IP地址和MAC地址,即成对修改IP-MAC地址,那么用静态路由技术防止IP地址盗用也就无能为力了。(3)动态修改IP地址对于一些黑客高手来说,直接编写程序在网络上收发数据包,绕过上层网络软件,动态修改自己的IP地址(或IP-MAC地址对),达到IP欺骗也并不是一件很困难的事。2防范IP盗用(1)交换机控制使交换机的每一个端口只允许一台主机通过该端口访问网络,任何其它地址的主机的访问被拒绝。(2)路由器隔离采用路由器隔离的办法其主要依据是MAC地址作为以
45、太网卡地址全球唯一不能改变原理。(3)防火墙与代理服务器使用这样的办法是将IP防盗放到应用层来解决,变IP管理为用户身份和口令的管理。3 DNS欺骗与防范1. DNS原理域名服务器DNS主要用来将Internet的IP地址映射为具有一定含义的符号,也就是计算机的域名,实现域名与IP地址的转换。在DNS服务器中主要存放着计算机的域名和IP地址相关联的数据库。DNS服务器在收到传来的网址以后,首先查询本地的数据库,查看数据库中是否有和该网址对应的记录。2. DNS欺骗原理如果可以冒充域名服务器,然后把查询的IP地址设为攻击者的IP地址,这样的话,用户上网时只能看到攻击者的主页,而不是用户想要去的网站的主页了,这就是DNS欺骗的基本原理。例如,某用户在浏览器地址栏中输入“”,如果黑客想用假的DNS域名服务器进行欺骗,就要在真正的域名服务器(202.205.144.71)返回响应之前,黑客给用户送出一个伪造的DNS信息包。要使发送伪造的DNS信息包不被识破,就必须伪造出正确的ID。3. DNS欺骗的防范直接用