第五章-网络入侵和攻击-精选课件.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《第五章-网络入侵和攻击-精选课件.ppt》由用户(晟晟文业)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 第五 网络 入侵 攻击 精选 课件
- 资源描述:
-
1、第五章第五章 网络入侵与攻击网络入侵与攻击 “黑客黑客”一词是由英文一词是由英文“hacker”音音译来过的,原是指热心计算机技术,水平译来过的,原是指热心计算机技术,水平高超的计算机专家,尤其是程序设计人员。高超的计算机专家,尤其是程序设计人员。他们恪守永不破坏任何系统的原则,检查他们恪守永不破坏任何系统的原则,检查系统的完整性和安全性,并乐于与他人共系统的完整性和安全性,并乐于与他人共享研究成果。享研究成果。5.1 初识黑客初识黑客5.2 黑客攻击的目的及步骤黑客攻击的目的及步骤5.2.1 5.2.1 黑客攻击的目的黑客攻击的目的(1 1)进程的执行)进程的执行 有些程序只能在一种系统中运
2、行,到了另一有些程序只能在一种系统中运行,到了另一个系统将无法运行。攻击者为了攻击的需要,往个系统将无法运行。攻击者为了攻击的需要,往往需要找一个中间站点来运行所需要的程序。此往需要找一个中间站点来运行所需要的程序。此外,假使有一个中间站点能够访问另一个严格受外,假使有一个中间站点能够访问另一个严格受控的站点或网络,入侵者可能会先攻击这个中间控的站点或网络,入侵者可能会先攻击这个中间站点,借助于中间站点主机对严格受控的站点或站点,借助于中间站点主机对严格受控的站点或进行攻击。进行攻击。(2)获取文件和传输中的数据)获取文件和传输中的数据 攻击者的目标是系统中的重要数据。攻击者可通过登上目标主机
3、,或是使用网络监听进行攻击。入侵者也会将当前用户目录下的文件系统中的/etc/hosts或/etc/passwd复制回去。(3)获取超级用户的权限 在局域网中,网络监听程序必需有UNIX系统超级用户的权限。因此,掌握了一台主机的超级用户权限,才可以说掌握了整个子网。有许多的系统是不允许其他的用户访问的,如一个公司、组织的网络。因此,必须以一种非常的行为来得到访问的权力。(4)对系统的非法访问(5)进行不许可的操作 许多的用户都有意无意地去尝试尽量获取超出允许的一些权限,便寻找管理员配置中的漏洞,或者找一些工具来突破系统的安全防线,例如,特洛伊木马就是一种用得很多的手段。(6)拒绝服务 拒绝服务
4、的方式很多,如将连接局域网的电缆接地;向域名服务器发送大量的无意义的请求,使得它无法完成从其他的主机来的名字解析请求;制造网络风暴,让网络中充斥大量的封包,占据网络的带宽,延缓网络的传输。(7)涂改信息 涂改信息包括对重要文件的修改、更换,删除,是一种很恶劣的攻击行为。不真实的或者错误的信息都将对用户造成很大的损失。(8)暴露信息 若攻击者直接发给自己的站点也可能被系统记录下来,暴露自己的身份和地址,于是攻击者窃取信息时,往往将这些信息和数据送到一个公开的FTP站点,或者利用电子邮件寄往一个可以拿到的地方,等以后再从这些地方取走。5.2.2 黑客入侵的一般步骤黑客入侵的一般步骤 基于以上目的,
5、黑客会对计算机网络系统进行各种各样的攻击。虽然他们针对的目标和采用的方法各不相同,但所用的攻击步骤却有很多的共同性。5.2.2 黑客入侵的一般步骤黑客入侵的一般步骤(1)(1)寻找目标主机并分析目标主机寻找目标主机并分析目标主机 在在internetinternet上能真正标识主机的是上能真正标识主机的是IPIP地地址,黑客利用域名和址,黑客利用域名和IPIP地址就可以顺利地找地址就可以顺利地找到目标主机,然后开始惧有关目标主机的有到目标主机,然后开始惧有关目标主机的有用信息。这些信息包括目标主机的硬件信息、用信息。这些信息包括目标主机的硬件信息、操作系统信息、运行的应用程序信息及目标操作系统
6、信息、运行的应用程序信息及目标主机所在网络的信息和用户信息主机所在网络的信息和用户信息(2)登录主机 第一种是获取账号秘码,黑客首先设法盗窃账户文件,然后进行破解,从中获得某些用户帐户和口令,再寻觅合适时机以此身份进入主机。第二种方法是利用某些工具或已知的系统漏洞系统登录目标主机。(3)得到超级用户权限,控制主机 如果黑客取得了普通用户的账号,就可以利用FTP、Telnet等工具进入目标主机。之后黑客会因为普通用户权限有限,而想方获得超级用户权力、进而成为目标主机的主要。(4)清除记录,设置后门 黑客获得目标主机的控制权后,会把入侵系统进的各种登录信息全部删除,以防目标系统的管理员发现。同时黑
7、客还会更改某些系统设置,在系统中置入特洛伊木马或其他一些远程控制程序,作为以后入侵该主机的“后门”。5.3 常见的黑客攻击技术常见的黑客攻击技术5.3.15.3.1口令攻击口令攻击所谓口令攻击是指使用某些合法用户的账号和口令登录到目标主机,然后再实施攻击活动。这种方法的前提是必须首先得到目标主机上某个合法用户的账号,然后再进行合法用户口令的破译。获得普通用户账号的方法很多,如利用目标主机的finger功能查询或从电子邮件地址中收集等。对口令进行破译的方法:(1)暴力破解。暴力破解基本上是一种被动攻击的方式。黑客在知道用户的账户号后,利用一些专门的软件强行破解用户口令,这种方法不受网段限限制,但
8、需要有足够的耐心和时间。这些工具软件可以自动地从黑客字典中取出一个单词一,作为用户的口令输入给远端的主机,申请进入系统。(2)登录界面攻击法。黑客可以在被攻击的主机上,利用程序伪造一个登录界面,以骗取用户的账号和密码。当用户在这个伪造四界面个键入登录信息后,程序可将用户的输入信息记录并传送到黑客的主机,然后关闭界面,给出提示信息“系统故障”或“输入错误”,要求用户重新输入。对口令进行破译的方法:(3)网络监听。黑客可以通过网络监听非法得到的用户口令,这类方法有一定的局限性,但危害性极大。由于很多网络协议根本就没有彩任何加密或身份认证技术,如在telnet、FTP、HTTP、SMTP等传输协议中
9、,用户账号和密码信息都是以文明格式传输的,此时若黑客利用数据包截取工具便可很容易收集到用户的账号和密码。另外,黑客有时还会利用软件和硬件工具时刻监视系统主机的工作,等待记录用户登录信息,从而取得用户密码。对口令进行破译的方法:(4)密码探测。大多数情况下,操作系统保存和传送和密码都要经过一个加密处理的过程,完全看不出原始密码的模样。而且理论上要逆向还原密码的几率几乎为零。但黑客可以利用密码探测的工具,反复模拟编程过程,并将编出和密码与加加密后的密码相比较,如果两者相同,就表示得到了正确的密码。对口令进行破译的方法:5.3.2 漏洞攻击漏洞攻击 漏洞的产生大致可分为有意和无意的两类。漏洞的产生大
10、致可分为有意和无意的两类。前者是在程序编写过程种,编程人员为了达到不前者是在程序编写过程种,编程人员为了达到不可告人的目的,有意的在程序的隐蔽处留下各种可告人的目的,有意的在程序的隐蔽处留下各种各样的后门。后者是由于编程人员的水平问题,各样的后门。后者是由于编程人员的水平问题,经验和当时安全技术加密方法所限,在程序中总经验和当时安全技术加密方法所限,在程序中总会或多或少的有些不足之处,有的影响程序的效会或多或少的有些不足之处,有的影响程序的效率,有的会导致非授权用户的权利提升。率,有的会导致非授权用户的权利提升。1漏洞攻击的位置(1)系统的对外服务,如“冲击波”病毒针对系统的“远程协助”服务;
11、“尼姆达”病毒由系统的“IPC漏洞”(资源共享)感染。(2)集成的应用软件,IE、Outlook Express、MSN Messager、Media Player这些集成的应用程序,都可能成为漏洞攻击的桥梁。2漏洞攻击实例(1)SMB致命攻击 会话消息块协议(Session Message Block,SMB)又叫做NetBIOS或Lan Manager协议,用于不同计算机之间文件、打印机、串口和通讯的共享和在Windows平台上提供磁盘和打印机的共享。利用该协议可以进行各方面的攻击,如可以抓取其他用户访问自己计算机共享目录的SMB会话包,然后利用SMB会话包登录对方的计算机。(2)Unic
12、ode攻击 Unicode漏洞是一个专门攻击IIS的漏洞,也是最容易让入侵者得手的一个漏洞,可以改掉默认主页,重则删除硬盘上的数据,高手甚至可以轻松获取Administrator权限。在Windows NT/2000最主要的Unicode漏洞一共有四种,分别针对不同语言的操作系统。分别为:%c1%1c、%c0%cf、%c1%pc、%c0%9v。3漏洞攻击的防范 防范利用漏洞攻击的最佳方式就是预先打好补丁,只要系统漏洞修复能和安全组织公布的漏洞信息以及厂商的补丁同步,网络内机器受攻击的可能性就越小,安全系数就越高。除了升级的方法外,一些工具软件这些软件一般定向保护系统的应用程序,针对“对外服务”
13、漏洞的较少。5.3.3 拒绝服务攻击拒绝服务攻击 拒绝服务拒绝服务Dos Dos(Denial of ServiceDenial of Service)的攻击是网络黑客)的攻击是网络黑客通过选取一个系统以进行攻击,并通过产生大量的服务需通过选取一个系统以进行攻击,并通过产生大量的服务需求以淹没该系统,并造成被攻击系统的瘫痪。求以淹没该系统,并造成被攻击系统的瘫痪。拒绝服务攻击是指一个用户占据了大量的共享资源,使系拒绝服务攻击是指一个用户占据了大量的共享资源,使系统没剩余的资源给其它用户再提供服务的一种攻击方式。统没剩余的资源给其它用户再提供服务的一种攻击方式。拒绝服务攻击的结果可以降低系统资源
14、的可用性。拒绝服务攻击的结果可以降低系统资源的可用性。5.3.4 放置特洛伊木马程序放置特洛伊木马程序 特洛伊木马的攻击手段,就是将一些“后门“,“特殊通道”隐藏在某软件里,使用该软件的计算机系统成为攻击的控制的对象。它可以直接侵入用户的电脑并进行破坏,它常被伪装成工具程序或都游戏等,诱使用户打开带有特洛伊木马程序的附件或从网上直接下载。从而达到控制用户的计算机的目的。5.3.5 缓冲区溢出攻击缓冲区溢出攻击 利用缓冲区溢出攻击,可以导致程序运行失败、系统当机、重新启动等后果。更为严重的是,可以利用它执行非授权指令,甚至可以取得系统特权,进而进行各种非法操作。1缓冲区溢出的原理 通过往程序的缓
15、冲区写超出其长度的内容,造成缓冲区的溢出,从而破坏程序的堆栈,使程序转而执行其它指令,以达到攻击的目的。造成缓冲区溢出的根本原因是程序中缺少错误检测。1缓冲区溢出的原理 缓冲区溢出攻击之所以成为一种常见安全攻击手段的原因在于缓冲区溢出漏洞太普遍,并且易于实现。而且,缓冲区溢出漏洞给予了攻击者他所想要的一切:植入并且执行攻击代码。被植入的攻击代码以一定的权限运行有缓冲区溢出漏洞的程序,从而得到被攻击主机的控制权。2缓冲区溢出的漏洞和攻击 缓冲区溢出攻击的目的在于扰乱具有某些特权的程序的功能,这样可以使得攻击者取得程序的控制权,如果该程序具有足够的权限,那么整个主机就被控制了。攻击者必须达到两个目
16、标:(1)在程序的地址空间里安排适当的代码 利用已经存在的代码:利用已经存在的代码:有时,攻击者想要的代码已经在被攻击的程序中了,攻击者所要做的只是对代码传递一些参数。比如,攻击代码要求执行“exec(“/bin/sh”)”,而在libc 库中的代码执行的是“exec(arg)”,其中arg 是一个指向一个字符串的指针参数,那么攻击者只要把传入的参数指针改向指向”/bin/sh”就可以。当然这种情况并不是总能遇到,这时候就需要使用一种叫“植入法”的方式来安排攻击代码。植入法:攻击者向被攻击的程序输入一个字符串,程序会把这个字符串放到缓冲区里。这个字符串包含的内容是可以在这个被攻击的硬件平台上运
17、行的指令序列(机器码)。攻击者必须达到两个目标:堆栈(stack):存放当前程序信息和自动变量(就是局部变量,是指在函数内部说明的变量,生命期和函数一样),通常在程序执行时向下朝堆增长。堆(heap):动态分配的内存区,通常在程序执行时向上朝堆栈增长。BSS 段:它包含未初始化的全局可用的数据(例如,全局变量)。数据段:它包含初始化的全局可用的数据(通常是全局变量)。代码段(文本段):它包含只读程序代码。(2)控制程序转移到攻击代码的方法 最基本的就是溢出一个没有边界检查或者具有其它弱点的缓冲区,这样就扰乱了程序的正常的执行顺序。通过溢出一个缓冲区,攻击者可以用暴力的方法改写相邻的程序空间而直
18、接跳过了系统的检查。活动记录(Activation Records):每当一个函数调用发生时,调用者会在堆栈中留下一个活动记录,它包含了函数结束时返回的地址。攻击者通过溢出堆栈中的自动变量,使返回地址指向攻击代码,当函数调用结束时,程序就跳转到攻击者设定的地址,而不是原先的地址。这类的缓冲区溢出被称为堆栈溢出攻击(Stack Smashing Attack)。函数指针(函数指针(Function PointersFunction Pointers):):函数指针可以用来定位任何地址空间。例如:“void(*funcpointer)()”声明了一个返回值为void 的函数指针变量funcpoin
19、ter。所以攻击者只需在funcpointer 函数指针附近找到一个能够溢出的缓冲区,然后溢出这个缓冲区来改写funcpointer 函数指针。长跳转缓冲区(Longjmp buffers):在C 语言中包含了一个简单的检验/恢复系统,称为setjmp/longjmp。意思是在检验点设定“setjmp(buffer)”,用“longjmp(buffer)”来恢复检验点。像函数指针一样,longjmp缓冲区能够指向任何地方,所以攻击者所要做的就是找到一个可供溢出的缓冲区。(3)代码植入和流程控制技术的综合分析 最简单和常见的缓冲区溢出攻击类型就是在一个字符串里综合了代码植入和活动记录技术。攻击者
20、定位一个可供溢出的自动变量,然后向程序传递一个很大的字符串,在引发缓冲区溢出,改变活动记录的同时植入了代码。代码植入和缓冲区溢出不一定要在一次动作内完成。攻击者可以先在一个缓冲区内放置代码,这是不能溢出的缓冲区。然后,攻击者通过溢出另外一个缓冲区来改写程序转移的指针。这种方法一般用来解决可供溢出的缓冲区不够大(不能放下全部的攻击代码)的情况。(3)代码植入和流程控制技术的综合分析 如果攻击者试图使用已经常驻的代码而不是从外部植入代码,他们通常必须把代码作为参数调用。举例来说,在libc(几乎所有的C 程序都要它来连接)中的部分代码段会执行“exec(arg)”,攻击者首先使用缓冲区溢出改变程序
展开阅读全文