网络安全技术教案(第2章).doc_第1页
网络安全技术教案(第2章).doc_第2页
网络安全技术教案(第2章).doc_第3页
网络安全技术教案(第2章).doc_第4页
网络安全技术教案(第2章).doc_第5页
免费预览已结束,剩余16页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊1.攻击者的概念.2.常用网络攻击手段和技术.3.网络攻击一般过程.4.常用网络安全防范技术简介.教学重点1.网络攻击一般过程.2.木马攻击原理与防范.啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊网络安全技术教案(第2章)啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊网络安全技术教案(第2章)教学内容第2章 计算机网络安全概述教材章节2.12.4教学周次第3、4、5周教学课时5授课对象计算机科学与技术教学环境多媒体教室教学目标理解黑客的概念、分类,掌握网络入侵的步骤;.了解扫描的种类,每类的特点,掌握扫描工具的使用;了解网络监听技术的原理;掌握各种漏洞攻击以及防御手段;掌握各种缓冲区溢出攻击的手段以及防御的手段;掌握如何使用常用的木马进行远程控制。教学内容1.攻击者的概念。2.常用网络攻击手段和技术。3.网络攻击一般过程。4.常用网络安全防范技术简介。教学重点1.网络攻击一般过程。2.木马攻击原理与防范。3.网络扫描与网络监听原理。4.分布式拒绝服务攻击的概念及攻击原理。教学难点1.网络监听原理。2.分布式拒绝服务攻击原理。教学过程本章分3次讲述,共5学时,讲授思路和过程如下:第1次:1.介绍攻击者的概念,并说明黑客行为的发展趋势。2.介绍扫描和监听两种攻击的攻击原理及工具。3.使用扫描软件演示扫描过程,强调两类工具的双刃箭的作用,给出相应的防范措施。第2次:1.通过实例说明口令的重要性和存在的不安全,引出口令破解的方法。2.介绍口令破解的方法、工具和防范措施(使用工具演示口令破解过程)。3.介绍缓冲区溢出攻击的原理及防范方法。4.介绍木马攻击的原理、隐身、清除及防范方法。5.介绍欺骗类攻击的原理及防范方法。第3次:1.介绍拒绝服务攻击的类型。2.介绍分布式拒绝服务攻击的原理、步骤,以及防范措施。3.介绍攻击的一般过程。4.简单介绍防范的主要技术。作业与要求作业内容:实验1、2、3、4、5、6 要求:1.熟悉相应工具、准备实验数据。2.记录实验步骤及结果。3.撰写并提交总结报告。备注本提交文档内容与次序与实际讲课内容与次序有不一致的地方。第2章 网络攻击与防范前面介绍了网络面临的威胁主要是来自于:对硬件实体的威胁和攻击、对信息的威胁和攻击、同时攻击软、硬件系统、网络犯罪。分析了造成这些威胁的主要原因是:自然威因素、人为因素和系统本身因素。黑客针对系统中存在的各种各样问题,对系统进行各种各样攻击,像特洛伊木马、后门隐蔽通道、计算机病毒、拒绝服务攻击、内外部泄密、蠕虫、逻辑炸弹、信息篡改销毁等。入侵者的攻击可以说是无处不在。归纳一下,攻击的内容和手段主要是三个方面,即信息收集类攻击、入侵类攻击、拒绝服务类攻击。本章,重点介绍这些攻击手段。但在介绍具体之前,应先了解有关攻击者的概念。2.1 攻击者的概念2.1.1攻击者的概念由于攻击网络的目的不同,攻击者也有多种。可以划分为黑客、入侵者、间谍、不满或者被解雇的雇员等四种。1. 黑客黑客是英文Hacker的译音,原意为热衷于电脑程序的设计者,指精通网络、系统、外围设备及软硬件技术的人(黑客自我定义)。黑客大都是程序员,他们具有操作系统和编程语言方面的高级知识,乐于探索可编程系统的细节,并且不断提高自身能力,知道系统中的漏洞及其原因所在,他们不断地追求更深的知识,并公开他们的发现,与其他人分享。黑客出于改进的愿望编写程序去检查远程机器的安全体系,这种分析过程是创造和提高的过程。专业黑客都是很有才华的源代码创作者。当然很多人认为黑客是一群好奇的人和受出风头的人。2. 入侵者入侵者指怀着不良的企图,闯入甚至破坏远程机器系统完整性的人。入侵者利用获得的非法访问权,破坏重要数据,拒绝合法用户服务请求,或为了自己的目的制造麻烦。入侵者的行为是恶意的,而且是危害网络安全的。入侵者很少自己编写程序,通常下载或者盗用他人的软件工具。他们使用这些工具不是为了提高系统的安全,相反是为了破坏它,所以一个入侵者没有创造只有破坏。有些人可能既是黑客,也是入侵者,正因为这种人的存在,模糊了对这两类群体的划分,而在多数人眼里黑客就是入侵者。所以,现在人们通常将入侵网络的人统称为黑客(黑客普通定义)。3. 间谍这类攻击者是那些以故意破坏为目的的人。他们可能将取得的专用数据提供给别的公司或企业,以获得利益。当前间谍正呈上升趋势,所盗取的重要信息包括生产和产品信息、销售和价格信息、客户名单以及研究和计划信息。间谍有些是政府或组织雇用来窃取秘密数据的人;有时也是指组织中使用计算机的员工,为个人的发展在计算机上寻找数据。4. 不满或被解雇的雇员企业中可能有些人员由于种种原因对企业不满或被企业解雇。这类人员虽然极少,但对企业网络系统会构成非常大的威胁。因为,这些人非常了解企业的内部情况,如企业的网络结构、安全问题、数据库等等。因此,他们往往能够比较顺利地获取企业的内部数据,或对企业的网络系统进行破坏。上面介绍的这些人都可能对网络的安全构成威胁,因此要进行防范。在以后的讨论中,我们不再区分这几类人,用我们大家都习惯的叫法,将他们统称为攻击者(黑客)。2.1.2 黑客行为的发展趋势网站被黑可谓是家常便饭,在世界范围内,美国和日本的网站一般比较难以入侵,韩国、澳大利亚等国家的网站比较容易入侵。黑客行为的发展趋势主要表现在以下三个方面:1.手段高明化黑客界已经意识到单靠一个人力量远远不够了,已经逐步形成了一个团体,利用网络进行交流和团体攻击,互相交流经验和自己编写的工具。2.活动频繁化做一个黑客已经不再需要掌握大量的计算机和网络知识,学会使用几个黑客工具,就可以在互联网上进行攻击活动,黑客工具的大众化是黑客活动频繁的主要原因。3.动机复杂化黑客的动机目前已经不再局限于为了国家、金钱和刺激,已经与国际政治化、经济变化紧密结合在一起。根据全国网络信息安全状况调查分析,目前常见的黑客攻击手段主要有信息收集类攻击、入侵类攻击、欺骗类攻击和拒绝服务类攻击等几大类,下面我们就分别介绍这几大类攻击。2.2 黑客常用的攻击手段2.1.2 信息收集类攻击信息收集类攻击并不直接对目标系统本身造成危害,这类攻击被用来为进一步入侵收集有用的信息。比如,利用“嗅觉器”来捕获网络中传输的用户口令、金融帐号等数据(像前面提到的虞天健他就是利用这类工具通过网络窃取到他人的上网账号和密码,进行上网消费的)。信息收集类攻击的具体形式包括:网络扫描、网络监听等。1.网络扫描常常应用的网络扫描有端口扫描、地址扫描和漏洞扫描。端口是目标系统向外提供服务的窗口,是一个潜在的通信通道,当然也就能够成为一个入侵的通道。对目标主机进行端口扫描,能得到许多有用的信息,能够发现系统的安全漏洞。对端口进行扫描,是黑客常常采用的方法。地址扫描就是判断某个IP地址上有无活动主机,以及某台主机是否在线。最简单的是使用ping命令,用ping命令去连接某台主机,如果ping不到某台主机,就表示它不在线。漏洞扫描是指检测远程或本地系统中存在的安全缺陷。其原理是采用模拟攻击的形式对工作站、服务器、交换机、数据库应用等各种对象可能存在的已知安全漏洞进行逐项检查,根据扫描结果形成安全性分析报告。漏洞扫描的结果实际上就是系统安全性能的一个评估,它指出了哪些攻击是可能的,因此成为安全漏洞扫描方案的一个重要组成部分。如果按照端口对应的协议来划分,又分为TCP端口和UDP端口。像21、23、80等这些都是TCP端口,他们都是TCP协议使用的端口。一般黑客知道了要攻击目标主机的IP地址后,还要知道通信的端口号,只要扫描到相应的端口被打开着,就能知道目标主机上运行着什么样的服务,就可以有针对性的采取攻击手段。比如,测到目标主机的端口号是21,那么主机上正在提供的是FTP服务,测试到目标主机的端口号是80,提供的就是HTTP服务等等。一般来说,端口扫描的目的是:第一,判断目标主机中开放了哪些服务;第二,判断目标主机的操作系统。很显然,如果要想了解端口的开放情况,必须知道端口是如何被扫描的。在端口扫描的具体实现中,扫描软件将尝试与目标主机的某些端口建立连接,如果目标主机的该端口有回复,则说明该端口开放。与端口建立连接的主要方法有:(1) TCP connect( )这是最基本的TCP扫描技术,这种方法很容易实现。如果目标主机能够进行connect操作,就说明有一个相应的端口打开。否则,这个端口是不能用的,即没有提供服务。使用这种方法可以检测到目标主机开放了那些端口。在执行这种扫描方式时,不需要对目标主机拥有任何权限。不过,这种扫描是最原始和最先被防护工具拒绝的一种方法。因为在扫描时往往被远程系统记入日志,所以非常容易被发觉,并且被过滤掉。 (2) TCP SYN扫描为了克服这一缺陷,便产生了TCP SYN扫描。这种扫描是向远程主机某端口发送一个只有SYN标志位的TCP数据包(也就是发出一个连接请求),如果收到了远程目标主机的SYN/ACK数据包,那么说明远程主机的该端口是打开的;而若没有收到远程目标主机的SYN/ACK数据包,而收到的是RST数据包,则说明远程主机的该端口没有打开。这样对于扫描要获得的信息已经足够了,这种扫描的特点是不会在目标主机的日志中留下记录。(3) TCP FIN扫描由于上述扫描的广泛应用,使得防火墙和路由器都采取了相应的措施,会对端口扫描进行完全记录。有些入侵扫描系统也能检测到这类扫描,许多过滤设备能过滤SYN数据包。于是端口扫描开始另辟蹊径,采用FIN扫描。FIN是中断连接的数据包,很多日志不记录这类数据包。TCP FIN扫描的原理是向目标端口发送FIN数据包,如果收到了RST的回复,表明该端口没有开放,反之该端口是开放的,因为打开的端口往往忽略对FIN的回复。这种方法还可以用来区别操作系统是Windows,还是UNIX。但是,有的系统不管端口是打开与否,一律回复RST。这时,FIN扫描就不适用了。(4) IP段扫描这种方法不直接发送TCP探测数据包,而是预先将数据包分成两个较小的IP数据包传送给目标主机(这样就将一个TCP头分成好几个数据包,从而使过滤器很难探测到)。目标主机收到这些IP段后,会把它们组合还原为原先的TCP探测数据包。将数据包分片的目的是使他们能够通过防火墙和包过滤器,将一个TCP分为几个较小的数据包,可能会穿过防火墙而到达目标主机。(5) UDP ICMP端口不能到达扫描这种方法与上面几种方法的不同之处在于,此方法使用的是UDP协议。由于这个协议很简单,反而使扫描相当比较困难。这是由于打开的端口对扫描探测并不发送一个确认,关闭端口也并不需要发送一个错误数据包。但是许多主机在你向一个未打开的UDP端口发送一个数据包时,会返回一个ICMP_PORT_UNREACH错误。这样,你就能发现哪个端口是关闭的。这种扫描,UDP和ICMP错误都不保证能到达,因此,这种扫描器必须在一个包在看上去是丢失的时候才能实现重新传输。这种扫描是很慢的,因为RFC对ICMP错误消息的产生速率做了规定。扫描软件无论是端口扫描还是漏洞扫描,都离不开扫描软件,这里所说的扫描软件有的只能做端口扫描,有的只能做漏洞扫描,还有的能全面地分析系统的情况,做全面的端口和漏洞扫描。GetNtuser:主要功能:扫描出NT主机上存在的用户名、自动猜测空密码和与用户名相同的密码、可以使用指定密码字典猜测密码、可以使用指定字符来穷举猜测密码等。PortScan:可以得到对方计算机开放的端口,该工具软件可以将所有端口的开放情况做一个测试,通过端口扫描,可以知道对方开放了哪些网络服务,从而根据某些服务的漏洞进行攻击。Shed:通过该工具软件来扫描对方主机,得到对方计算机提供了哪些目录共享。X-Scan(X-Scan-v2.3):是国内最著名的综合扫描器之一,它主要进行漏洞检测。扫描内容包括远程操作系统类型及版本;标准端口状态、IIS漏洞、CGI漏洞、SQL-SERVER、FTP-SERVER、注册表信息等。SuperScan:这是非常著名的端口扫描软件。该软件是一个集端口扫描、ping、主机名解析于一体的扫描器。主要功能有:检测主机是否在线;IP和主机名之间的相互转换;通过TCP连线试探目标主机运行的服务;扫描指定范围内的主机端口;支持使用文件列表来指定扫描主机范围。该软件可以查看一台主机的端口开放情况,同时也可以查看一段连续IP地址的端口开放情况,这对分析整个网络的端口开放情况很有用处。其实该软件还可以自定义端口范围,并附带一些常用网络工具。(使用扫描软件演示扫描过程)网络扫描实际上是一把双刃箭,既可以用来攻击,也可以用来防范。攻击者和系统管理员都要对网络系统进行网络安全扫描,二者都是为了查找系统安全漏洞,如果发现安全漏洞,攻击者将实施攻击,而系统管理员将修补漏洞。所以说它是一把双刃箭。针对漏洞扫描的防范措施安装防火墙,禁止访问不该访问的端口安装入侵检测系统,检测漏洞扫描行为安装评估系统,先于入侵者进行漏洞扫描,以便及早发现问题并解决提高安全意识,经常给操作系统和应用软件打补丁2. 网络监听网络监听也称嗅探(Sniffer),其目的是截获通信的信息。也就是说,当信息在网络中进行传播时,利用监听工具,将网络接口设置为监听模式,这样便可以将网络中正在传播的信息截获,然后进行攻击。(1) 监听(嗅探、窃听)器能干什么通过使用监听器,黑客可以得到:获得正在网络上传输的密码和帐号。许多计算机用户和公司对于传送密码的警惕性不高,认为在网上传输非常安全,而实际上,黑客可以轻松截获网络上传输的未经加密的密码和帐号。获得两台主机之间的网络接口地址、远程网络接口IP地址、IP路由信息和TCP连接的字节顺序号码等。(2) 监听器的工作原理对于一个进行网络攻击的人来说,能攻破网关、路由器、防火墙的情况比较少见,因为在这些地点,系统管理员可以安装一些设备对网络进行监控,来防止非法的访问。然而对于单个上网用户而言,黑客完全可以不为任何人所发现来进行监听。监听非常消耗CPU资源。在一个任务繁重的计算机中进行监听,可以立即被系统管理员发现,因为计算机的响应时间会变得非常的慢。在以太网中进行监听,只需要安装一个监听软件就可以了。以太网的工作方式为将要发送的数据包发送到连接到一起的所有主机上。在数据包头中包含着应该接收数据包的主机的正确地址。因此,只有与数据包中目标地址一致的那一台主机才能接收数据包。但是,通过使用数据包,可以使主机接收任何目标地址为其他主机的数据包,而不管数据包中的物理地址是什么。监听器工作在网络环境中的底层,它会拦截所有的正在网络上传送的数据包,并且通过相应的软件处理,可以实时分析这些数据的内容,进而分析所处的网络状态和整体布局。值得注意的是:使用监听器进行监听时需要保存大量的信息,因此在进行监听时,正在监听的主机对用户的请求响应很慢。(3) 常用的监听器目前常用的监听工具有:Sniffer Pro(一个非常著名的网络监听工具,但不能有效提取有效的信息)、Win Sniffer(专门用来监听局域网内的密码)、Pswmonitor(用于监听基于Web的邮箱密码、POP3收信密码和FTP登录密码等。(4)针对网络监听(嗅探)攻击的防范措施F 安装VPN(虚拟专用网)网关,防止对网间网信道进行嗅探F 对内部网络通信采取加密处理F 采用交换设备进行网络分段2.1.3 入侵类攻击入侵类攻击是一类试图直接对目标主机进行控制的攻击,非授权的获取被攻击主机的有关核心数据,进行非法操作。最常见的攻击形式有:1.口令攻击口令是保护信息系统安全最基本的手段。目前,绝大多数系统都是将口令作为数据访问的第一道屏障。当然,对攻击者来说,攻破了这道屏障,就意味着获得了进入系统第一道大门的资格。所以,口令攻击是攻击者最常用的攻击手段。口令攻击一般从破解口令或屏障口令保护两方面来进行。这里重点讨论窃取口令的方法。窃取口令的方法主要有强制口令破解、获取口令文件、网络监听等。(1) 强制破解法以字母、数字、特殊字符所有的组合破解口令。这种方式是通过穷举的方法来破解,称为穷举破解法,也叫强制口令破解法。比如,先从字母a开始,尝试aa、ab、ac等等,然后尝试aaa、aab、aac、(2) 字典猜测破解法攻击者基于某些知识,编写出口令字典,然后对字典进行猜测攻击。下表为字典的构造方法。序号口令类型实例序号口令类型实例1规范单词computer18医药词汇vitamin2反写规范单词retupmoc19技术词汇Ruter3词首正规大写Computer20商品beer4反拼写与反大写computeT21用户标识符woodc5缩写TCP22反写用户标识符cdoow6缩写后带点T.C.P23串接用户标识符woodc-woodc7略写etc.24截短用户标识符woo8专有名词缩写,带点ph.D25串接用户标识符并截短woodcwood9专有名词缩写,不全大写kHz26单字符构成串bbbbbb10姓Bush27键盘字母asdfgh11名Tom28文化名人Beethoven12所有格Bobs29年月日06022313动词变化see,sees,saw,seen30电话号码6597645314复数books31邮政编码10002615法律用语legal32证件号码158516地名BeiJing33门牌号码AB357917生物词汇Dog34车牌号码京H-K1234目前,Internet上已经提供了一些口令字典,从一万到几十万条,可以下载。此外,还有一些可以生成口令字典的程序。(3) 组合破解法字典猜测破解法破解速度快,但只能发现字典中的口令;强制破解法能发现所有的口令,但破解时间长。由于实际的口令常常很弱,可以基于字典中的口令,然后在口令串的尾部串接几个字母和数字。这就是组合破解法。(4) 获取口令文件以UNIX操作系统为例,用户基本信息都存放在password文件中,并处于严密的保护之下,但由于系统可能存在缺陷或人为产生的错误,攻击者仍然有机会获取口令文件。一旦得到口令文件,攻击者就会用专解DES(数据加密标准)加密法的程序来破解口令。(5) 口令防护措施针对前面讲解的口令攻破方法,作为用户应该采取什么样的措施来保护口令的安全。应注意以下几方面:C 系统配置防护(P44)C 系统管理防护(P45)C 用户口令防护(P45)设置安全的口令。所谓安全的口令就是应该有以下特点:u 位数6位u 大小写字母混合。如果只使用了一个大写字母,既不要放在开头,也不要放在结尾。u 应尽可能把数字无序地加在字母中。u 系统用户一定要使用8位口令,而且有!#$%&*?:”等符号。2. 缓冲区溢出缓冲区是程序运行时在内存中为保存给定类型的数据而开辟的一个连续空间。这个空间是有限的。当程序运行过程中要放入缓冲区的数据太多时,就会产生缓冲区溢出。攻击者可能过向程序的缓冲区写超出其长度的内容,造成缓冲区的溢出,从而破坏程序的堆栈,使程序转而执行其他命令,以达到攻击的目的。早在1988年,美国康奈尔大学的计算机科学系研究生,23岁的莫里斯利用了UNIX fingered程序不限制输入长度的漏洞使缓冲区溢出。缓冲区漏洞是一种很普遍的漏洞,程序员在编写程序时稍有疏忽,就容易产生此类漏洞。另外,由于使用的语言本身存在的不安全性也容易带来此类漏洞。比如C语言中的标准C库函数存在许多非安全字符串操作函数,如gets()等。看下面一段程序:#include main () char name5; printf(“Please input you name:”); gets(name); printf(“you are %s”,name);这是一个很简单的程序,运行这个程序可以发现,当输入的字符数少时,程序运行正常;当输入的字符数太多时(超过8个),程序就不能正常结束,这就是缓冲区溢出所造成的。值得关注的是,缓冲区溢出攻击不是一种窃密和欺骗的手段,而是从计算机系统的最底层发起的攻击。因此,在它的攻击下系统的身份验证和访问权限等安全策略就形同虚设了。同时,由于攻击者传输的数据分组并无异常特征,没有任何欺骗,且用来实施缓冲区溢出攻击的字符串非常多样化,无法与正常数据有效进行区分,因而传统安全工具(像防火墙)对这种攻击方式也无能为力。也不能说没有办法进行防御,还是有的,具体措施是:C 安装安全补丁C 编写正确的代码。缓冲区溢出攻击的根源在于编写程序的机制。因此,防范缓冲区溢出首先应该确保在系统上运行的程序代码的正确性,避免程序中有不检查变量、缓冲区大小不一及边界等情况存在。C 基于一定的安全策略设置系统。攻击者攻击某一个系统,必须事先通过某些途径对要攻击的系统做必要的了解,如版本信息等,然后再利用系统的某些设置直接或间接地获取控制权。因此,防范缓冲区溢出攻击就要对系统设置实施有效的安全策略。具体的安全策略有一些,这里不做详细介绍,如果同学们有兴趣,可以看看我们为大家推荐的参考书,也可以到网上找一找。3. 特洛伊木马攻击特洛伊木马,据说这个词来源于古希腊的神话木马屠城记。古希腊大军围攻特洛伊城,久久无法攻下。于是有人献计制造一只大木马,让士兵藏匿于巨大的木马中,大部队假装撤退而将木马丢弃在特洛伊城下。城内的人高兴地将木马作为战利品拖入城内,全城饮酒狂欢。到午夜时分,整个城市进入了梦乡,而藏于木马中的将士溜出木马,开启城门并四处纵火,部队里应外合焚屠特洛伊城。后世就称这只大木马为“特洛伊木马”。如今,黑客程序借用此名,有“里应外合”之意。那什么是特洛伊木马呢?(1) 什么是特洛伊木马特洛伊木马是把有预谋的功能藏在公开的功能之中,掩盖其真实的企图的程序,是一种程序。特洛伊木马程序是未经授权的,它一般包含在合法用户的程序中。这个程序表面上看是完成某一功能,比如登录、编辑或游戏等,而实际上却完成的是其他操作,例如删除文件、窃取口令或格式化磁盘等。一般来说,特洛伊木马是在合法用户的程序运行时,悄悄地进行非法操作,而且一般不易被察觉。因此,它是一种极为危险的攻击手段。(2) 木马攻击原理完整的木马程序同远程控制软件一样,一般由两个部分组成,一个是服务器程序(服务器端),一个是控制器程序(客户端)。服务器端安装在被控制的计算机中,它一般通过电子邮件或其他手段让用户在其计算机中运行,以达到控制该用户计算机的目的。客户端程序是控制者所使用的,用于对受控的计算机进行控制。服务器端程序和客户端程序建立起连接就可以实现对远程计算机的控制了。木马运行时,首先服务器端程序获得本地计算机的最高操作权限,当本地计算机连入网络后,客户端程序可以与服务器端程序直接建立起连接,并可以向服务器端程序发送各种基本的操作请求,并由服务器端程序完成这些请求,也就实现对本地计算机的控制了。因为木马发挥作用必须要求服务器端程序和客户端程序同时存在,所以必须要求本地机器感染服务器端程序。服务器端程序是可执行程序,可以直接传播,也可以隐含在其他的可执行程序中传播,但木马本身不具备繁殖性和自动感染的功能。 木马程序不能算是一种计算机病毒,但越来越多的新版杀毒软件已可以查杀一些木马程序了,所以也有不少人称木马程序为木马病毒,不少杀毒软件直接提供检测和清除木马程序的功能。不过,为区别传统意义上的计算机病毒以及木马程序的特点,还是将木马程序单独列为一类比较合适。木马其实质只是一个通过端口进行通信的网络客户机/服务器程序。与木马有关的概念有:C 控制端(客户机):对服务端进行远程控制的一方。C 服务端(服务器):被控制端远程控制的一方。C 控制端程序:控制端用以远程控制服务端的程序。C 木马程序:潜入服务端内部,获取其操作权限的程序。C 木马端口:即控制端和服务端之间的数据入口,通过这个入口,数据可直达控制端程序或木马程序。(3) 特洛伊木马的隐身方法C 在任务栏中隐藏自己。一般一个应用程序运行后,都会一个窗口按钮显示在任务栏上,比如打开Word后,就会在任务栏中看见Word窗口按钮。黑客的做法是将窗口的Visible属性设为False(不可见)、ShowInTaskBar属性设为False(在任务栏上不显示),这样程序在运行时就不会出现在任务栏中了。我们学过VFP,这两个属性都用过。C 在任务管理器(CTRL+ALT+DEL可打开任务管理器)中隐形。上面方法只能保证在运行时不被发现,但在不运行时还会通过任务管理器看到,因此黑客们将程序设为“系统服务”,这样就可以将其伪装起来(PID:进程标识符)。C 隐身在win.ini文件中。我们知道,Windows系统在启动时通过win.ini文件中来启动一些服务程序,往往是在WINDOWS下面的run命令和load命令中加载。同样这两个命令也是加载特洛伊木马程序的途径,一般情况下,它们的等号后面什么都没有。如果发现后面跟有的路和文件名不是你熟悉的启动文件,那么这台计算机就可能中了木马了。除此之外,有时它们也会将一些木马(比如说AOL Trojan木马)伪装成command.exe文件,如果不注意,可以不会发现它不是真正的系统启动文件。C 隐身在system.ini文件中。在system.ini文件中的BOOT下面有个“shell=文件名”命令。正确的文件名应该是explorer.exe(资源管理器),如果是shell=explorer.exe文件名,后面跟着的文件名就是木马程序,就说明该计算机已经中了木马。C 隐身在注册表中。这是最复杂的情况了。木马可以隐藏在HKEY_LOCAL_MACHINESoftwareMicrosoftWindowsCurrentVersionRun、HKEY_CURRENT_USERSoftwareMicrosoftWindowsCurrentVersionRun或HKEY_USERS*SoftwareMicrosoftWindowsCurrentVersionRun等这些目录中,文件名的扩展名为.exe,看上去很像一个系统文件,实际是一个木马程序。也就是要看看是否有自己不熟悉的文件名。(打开注册表编辑器的命令是regedit)(4) 特洛伊木马的清除清除特洛伊木马与清除病毒非常相似,第一步是定位,即使用系统的检测机制检测出它的存在,并进行定位。第二步是清除,如果在定位时完全确定并找到了被感染特洛伊木马的文件,则只需替换被感染的文件即可;如果在定位时完全确定有特洛伊木马,但没有找到感染的文件,就要重新恢复系统。C 手工清除。这种方法主要是通过查看并修改注册表来完成。C 使用工具清除。C (6) 特洛伊木的防范要想不让自己的计算机中着,不是经常检测并及时清除就可以了,事实上最重要的是要防范。木马程序的攻击能力确实很强,但是其攻击的实现还是依赖于在目标计算机中运行的服务器端,如果本机的安全措施到位,没有让服务器端植入的机会,那么木马其实并不可怕。不过,由于网络环境比较复杂,因此,为避免造成木马侵入,还要多做防范比较好。木马基本的防范策略有:C 必须提高防范意识。木马程序传播时一般是通过电子邮件或文件下载的形式,因此对陌生人的邮件或带有附件的邮件要格外小心。建议在没安装杀毒软件的情况下,不要打开任何附件,不要执行任何来历不明的程序,不要随意下载来历不明的软件,最好是在一些知名的网站下载软件,在安装软件时最好先用杀毒软件查看有没有病毒,之后再进行安装。C 使用杀毒软件或木马专杀工具。现在国内的杀毒软件都推出了清除某些木马的功能,如端星等,它们可以不定期地在脱机的情况下进行检查和清除木马。另外,有的杀毒软件还提供网络监控功能,这一功能可以在黑客从远程端执行用户至上机器中的文件时,提供报警或让执行失败,使黑客在向用户机器上载可执行文件后无法正确执行这些文件,从而避免了进一步的损失。但是要记住,它不是万能的,而木马专杀工具在这方面可以做得更好。C 观察系统异常,及时断开网络。一旦感觉有被木马攻击的迹象,在没清除前,建议断开网络。例如发现有些软件正使用不常见的端口(一般大于1024)与用户通信时,这一端口很可能就是木马的通信端口;在c:windows或c:windowssystem下如果有只有文件名却没有图标的可执行程序或是注册表被修改等,当性由述可疑迹象后,应立即断开网络,然后对硬盘进行认真的检查,确认其中是否有木马。C 及时修补漏洞并关闭可疑端口。一般木马都是通过系统漏洞在系统中打开端口、留下后门,以便上传木马程序和可执行代码。因此在把漏洞修补上的同时,需要对端口进行检查,把可疑端口关闭。C 运行实时监控程序。在上网时最好运行反木马实时监控程序和个人防火墙,并定时对系统进行病毒检查。经常升级系统和更新病毒库,经常关注厂商网站的安全公告,这些网站通常 都会及时地将系统漏洞、木马和更新公布出来,并在第一时间发布系统补丁和新的病毒库等。2.1.4 欺骗类攻击电子欺骗是与认证和信任相联系的一个概念。认证是网络上的计算机相互间进行识别的过程。信任是经过认证获准连接的相互关系。信任有程度之分,有高度信任关系的两台计算机进行连接,一般不需要严格的认证;而信任程度较低的两台计算机之间进行连接,就需要进行严格的认证。电子欺骗就是在两台建立了信任关系的计算机之间,冒充其中一台,对另一台进行欺骗性连接,而后对其发起攻击。这种欺骗可以通过不同的网络协议漏洞进行。电子欺骗的种类很多,下面仅举几个常见的例子加以介绍。1. IP欺骗IP欺骗就是依靠别的计算机的IP地址用于欺骗第三者。假定有两台主机S(设IP地址为1)和T(设IP地址为2),并且它们之间已经建立了信任关系。攻击者X要对T进行IP欺骗攻击,就可以假冒S与T进行通信。(1) IP欺骗原理确认攻击目标。实施IP欺骗的第一步是确认攻击目标。所以,要研究哪些系统容易被攻击(找漏洞)。实际上,IP欺骗最容易得手的是对一些特定服务进行。比如,运行Sun RPC(Sun Remote Procedure Call,Sun远程过程调用)的设备、基于IP地址认证的任何网络服务等。使计划要冒充的主机无法响应目标主机的会话。当X要对T实施IP欺骗时,就要假冒S(称为被利用者,现在地址为1)与目标主机T进行通信。但是,X并不是地址1的实际拥有者。因此,虽然X可以用伪造的地址1与T通信,但2(T)的所有回应信息都要发回到实际拥有1的S主机,而不是X。那它不是瞎忙活了,它无法知道自己的操作是否被T接受,也不知道T发给自己的数据包是什么内容,更糟糕的是,由于1(S)会对2(T)的数据包产生反应,而使自己的攻击露馅。为此,X一定要先设法使1(S)瘫痪,使之无法响应目标主机2(T)的数据包。使S瘫痪的办法是对其实施拒绝服务(这种服务在后面会为大家介绍)。通常,黑客会用一个虚假的IP地址(可能该合法IP地址的服务器没有开机)向目标主机TCP端口发送大量的SYN(连接)请求。受攻击的服务器则会向该虚假IP地址发送响应。自然得不到回应,得到的是该服务器不可到达的消息。而目标主机的TCP会认为这是暂时的不通,再继续尝试连接,直到砍无法连接。不过这已经为黑客进行攻击提供了充足的时间。猜测来自目标请求的正确序列数。X为了使自己的攻击不露馅的另一个措施是取得被攻击目标T主机的信任。由于TCP是可靠传输协议,每台主机要对自己发送出的所有字节分配序列编号(序号),供接收端确认并据此进行数据包装配。在通过三次握手建立TCP连接的过程中,客户端首先要向服务器发送序号x;服务器收到后通过确认要向客房端送回期待的序号(x+1)和自己的序号。由于序号的存在,给IP欺骗攻击增加了不少难度,要求攻击者X必须能够精确地猜测出来自目标主机的序号,否则也会露馅。那么,如何精确地猜测来自目标机的序号呢?需要知道TCP序号的编排规律,这里我们不再详细介绍了。C 冒充受信主机连接到目标主机C 根据猜出的正确序号,向目标主机发送回应IP包。C 进行系列会话。(2) IP欺骗的防范利用IP欺骗进行的攻击比较普遍,而且产生的危害性很大。下面是IP欺骗的一些预防策略:C 放弃基于IP地址的信任策略。IP欺骗是基于IP地址信任的,而IP地址很容易伪造。因此,阻止这类攻击的一种非常简单的方法是放弃以IP地址为基础的验证。比如,不允许R*类远程调用命令的使用、删除.rhost文件的使用等,这样迫使所有的用户使用其他远程通信手段,如telnet等。C 对付IP欺骗攻击的第二种方法是包过滤,如果网络是通过路由器接入Internet的,那么可以利用路由器来进行包过滤。确信只有内部LAN(局域网)可以使用信任关系,而LAN以外的主机要慎重处理。路由器可帮助过滤掉所有来自于外部而希望与内部建立连接的请求。C 对付IP欺骗的第三种方法是使用加密法。阻止IP欺骗的另一种明显的 的是在通信时要求加密传输和通信验证。C 配置服务器,降低IP欺骗的可能。分析自己的服务器,看哪些服务容易遭受IP欺骗攻击,并考虑这些服务有无保留的必要。2. DNS欺骗DNS(域名系统)是一种用于TCP/IP应用程序的分布式数据库,它提供主机名字和IP地址之间的转换信息。DNS有两个重要特性,一是DNS对于自己无法解析的域名,会自动向其他DNS服务器查询;第二是为提高效率,DNS会将所有已经查询到的结果存入缓存。正是这两个特点,使得DNS欺骗成为可能。不过,还是先看一下DNS的正常工作过程。(1) DNS的工作过程A向B发一个DNS查询请求,要求B告诉的IP地址,以受到影响与之通信。B查询自己的DNS数据库,找不到的IP地址,向其他DNS服务器求援,逐级递交DNS请求。某个DNS服务器查到了的IP地址,向B返回结果。B将这个结果保存在自己的缓存中。B将结果告诉A。A得到了C的地址,就可以访问C了(比如,向C发出连接请求等。在上述过程中,如果B在一定的时间内不能给A返回要查找的IP地址,就会给A返回主机名不存在的错误信息。(2) DNS欺骗的基本思路实施DNS欺骗的基本思路是,让DNS服务器的缓存中存有错误的IP地址,即在DNS缓存中放一个伪造的缓存记录。为此,攻击者需要做两件事,一是先伪造一个用户的DNS请求;二是再伪造一个查询应答。但是,在DNS的信息格式中还有一个16位的查询标识符,它将被复制到DNS服务器的相应应答中,在多个查询未完成时,用于区分响应。所以,回答信息只有这个查询标识符和IP都吻合才能被DNS服务器接受。因此,进行DNS欺骗攻击,还需要能够精确地猜测出这个标识符。由于标识符每次加1,只要通过第一次向将要欺骗的DNS服务器发一个查询包并监听其标识符,随后再发送设计好的应答包,包内的标识符就是要预测的标识符。结合刚才看到的DNS工作过程,看看一次DNS欺骗的过程。攻击者先向B提交查询的IP地址的请求。B查询自己的DNS数据库,找不到的IP地址,向其他DNS服务器求援,逐级递交DNS请求。攻击者立即伪造一个应答包,告诉的IP地址是4(往往是攻击者的IP地址)。查询应答被B(DNS服务器)记录到缓存中。当A向B提交查询的IP地址请求时,B将4告诉A。2.1.5 拒绝服务类攻击 拒绝服务类(DoS Denial of Service)攻击,是一种最悠久也是最常见的攻击形式,这种攻击是指一个用户占据了大量的共享资源,使系统没有剩余的资源给其他用户使用。拒绝服务的攻击降低了资源的可用性,这些资源可以是磁盘空间、CPU使用的时间、打印机、调制解调器等。这种攻击的结果是使系统降低或者失去服务能力。导致拒绝服务的攻击主要是两种情况引起:C 程序员所编程序的错误造成。由于程序员对程序错误的编制,导致系统不停地建立进程,最终耗尽资源,只能重新启动机器。不同的系统平台都会采取某些方法防止一些特殊的用户占用过多的系统资源,建议尽量采用资源管理的方式降低这种安全威胁。C 由磁盘存储空间引起。假如一个用户有权利存储大量的文件,他就有可能只为系统留下很小的空间用来存储昌志文件等系统信息。这是一种不良的操作习惯,会给系统留下隐患。这种情况下,应对系统配额做出考虑。有基于主机的拒绝服务攻击,也有在网络环境下的拒绝服务类攻击,书上P54P62有较详细的介绍。这里我们只介绍几种典型的拒绝服务的攻击原理。1. UDP“洪水”(UDP Flood)UDP“洪水”由ECHO/CHARGEN服务引起。ECHO/CHARGEN服务是TCP/IP为TCP和UDP提供的一种服务。ECHO的作用就是由接收端将接收到的数据内容返回到发送端,CHARGEN则随机返回字符。这样简单的功能,为网络管理员提供了进行可达性测试、协议软件测试和选路识别的重要工具,也为黑客进行“洪水”攻击提供了方便。当攻击者假冒一台主机向另一台主机的服务端口发送数据时,ECHO服务或CHARGEN服务就会自动驾驶仪回复。两台机器之间的互相回送,公形成大量数据包。当多台主机之间相互产生回送数据包,最终会导致系统瘫痪。2. SYN“洪水”(SYN Flood)与Land这是两个利用TCP连接中三次握手过程的缺陷的拒绝服务攻击。正常的TCP握手需要三次包交换来建立。一台服务器一旦接收到客户机的SYN包后,必须回应一个SYN/ACK包,然后等待该客户仙回应给它一个ACK包来确认,才真正建立连接。SYN“洪水”的攻击方法是攻击者用伪造成直接经济损失的地址(网上没有使用的地址)向目标主机发出大量初始化的SYN包。目标主机会因为其SYN/ACK得不到确认,会保持相应的连接直到超时。当这些未代数方程的连接请求超过一定限度时,就会拒绝新的连接请求。Land也是利用三次握手的缺陷进行攻击。但它不是依靠伪造的地址,而是先发出一个特殊的SYN数据包,包中的源地址和目标地址都是目标主机。这样,就会让目标主机向自己回以SYN/ACK包,导致自己又给自己回一个ACK并建立自己与自己的连接。大量这样的无效连接达到一定数量,将会拒绝新的连接请求。3.电子邮件炸弹电子邮件炸弹是黑客常用的一种攻击手段。邮件炸弹的实质是发送地址不详,容量庞大,充满了乱码或骂人话的恶意邮件,也可称之为大容量的垃圾邮件。由于每个人的邮箱是有限的,当庞大的邮件垃圾到达邮箱的时候,就会挤满邮箱,把正常的邮件给冲掉。同时,因为它占用了大量的网络资源,常常导致网络塞车,所以使大量的用户不能正常地工作。(1) 邮件炸弹的概念具体地说,邮件炸弹指的是邮件发送者利用特殊的电子邮件软件,在很短的时间内连续不断地将邮件邮寄给同一个收信人,在数以千万计的大容量信件的袭击下收件箱肯定不堪重负,而最终“爆炸身亡”。(2) 邮件炸弹的危害干扰用户的正常电子邮件系统,影响邮件系统所在的服务器系统的安全,造成整个网络系统瘫痪。可以大量消耗网络资源,导致网络塞车,使大量用户不能正常工作。(3) 防范措施(P50)C 向ISP求援C 采用过滤功能C 使用转信功能C 谨慎使

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论