您好,欢迎访问三七文档
当前位置:首页 > 电子/通信 > 数据通信与网络 > 俞承杭主讲信息安全技术课件 (8)
第8章漏洞扫描技术本章学习目标:掌握漏洞扫描相关概念了解系统的脆弱性掌握漏洞扫描的原理掌握分析漏洞解决漏洞的方法28.1漏洞扫描概述漏洞源自“vulnerability”(脆弱性)。一般认为,漏洞是指硬件、软件或策略上存在的的安全缺陷,从而使得攻击者能够在未授权的情况下访问、控制系统。标准化组织CVE(CommonVulnerabilitiesandExposures,即“公共漏洞与暴露”)致力于所有安全漏洞及安全问题的命名标准化,安全产品对漏洞的描述与调用一般都与CVE兼容。8.1.1漏洞的概念信息安全的“木桶理论”对一个信息系统来说,它的安全性不在于它是否采用了最新的加密算法或最先进的设备,而是由系统本身最薄弱之处,即漏洞所决定的。只要这个漏洞被发现,系统就有可能成为网络攻击的牺牲品。38.1漏洞扫描概述8.1.2漏洞的发现一个漏洞并不是自己突然出现的,必须有人发现它。这个工作主要是由以下三个组织之一来完成的:黑客、破译者、安全服务商组织。每当有新的漏洞出现,黑客和安全服务商组织的成员通常会警告安全组织机构;破译者也许不会警告任何官方组织,只是在组织内部发布消息。根据信息发布的方式,漏洞将会以不同的方式呈现在公众面前。通常收集安全信息的途径包括:新闻组、邮件列表、Web站点、FTP文档。网络管理者的部分工作就是关心信息安全相关新闻,了解信息安全的动态。管理者需要制定一个收集、分析以及抽取信息的策略,以便获取有用的信息。48.1漏洞扫描概述8.1.3漏洞对系统的威胁漏洞对系统的威胁体现在恶意攻击行为对系统的威胁,因为只有利用硬件、软件和策略上最薄弱的环节,恶意攻击者才可以得手。目前,因特网上已有3万多个黑客站点,而且黑客技术不断创新,基本的攻击手法已多达800多种。目前我国95%的与因特网相连的网络管理中心都遭到过境内外攻击者的攻击或侵入,其中银行、金融和证券机构是黑客攻击的重点。国内乃至全世界的网络安全形势非常不容乐观。漏洞可能影响一个单位或公司的生存问题。58.1漏洞扫描概述8.1.4漏洞扫描的必要性帮助网管人员了解网络安全状况对资产进行风险评估的依据安全配置的第一步向领导上报数据依据68.2系统脆弱性分析信息系统存在着许多漏洞,如IIS的安全性、CGI的安全性、DNS与FTP协议的安全性、缓冲区溢出问题、拒绝服务和后门。由于网络的飞速发展,越来越多的漏洞也必将随之出现。8.2.1IIS安全问题Windows的IIS服务器存在着很多漏洞,如拒绝服务、泄露信息、泄露源代码、获得更多权限、目录遍历、执行任意命令、缓冲区溢出执行任意代码等。78.2系统脆弱性分析8.2.2缓冲区溢出Bufferoverflowattack缓冲区溢出攻击–缓冲区溢出漏洞大量存在于各种软件中–利用缓冲区溢出的攻击,会导致系统当机,获得系统特权等严重后果。最早的攻击1988年UNIX下的Morrisworm最近的攻击–Codered利用IIS漏洞–SQLServerWorm利用SQLServer漏洞–Blaster利用RPC漏洞–Sasser利用LSASS漏洞88.2系统脆弱性分析向缓冲区写入超过缓冲区长度的内容,造成缓冲区溢出,破坏程序的堆栈,使程序转而执行其他的指令,达到攻击的目的。原因:程序中缺少错误检测:voidfunc(char*str){charbuf[16];strcpy(buf,str);}如果str的内容多于16个非0字符,就会造成buf的溢出,使程序出错。98.2系统脆弱性分析类似函数有strcat、sprintf、vsprintf、gets、scanf等一般溢出会造成程序读/写或执行非法内存的数据,引发segmentationfault异常退出.如果在一个suid程序中特意构造内容,可以有目的的执行程序,如/bin/sh,得到root权限。108.2系统脆弱性分析对于使用C语言开发的软件,缓冲区溢出大部分是数组越界或指针非法引用造成的。有时并不引发溢出也能进行攻击。现存的软件中可能存在缓冲区溢出攻击,因此缓冲区溢出攻击短期内不可能杜绝。缓冲区溢出的危害很大:–可以植入并运行攻击代码–比大部分DoS攻击危害严重118.2系统脆弱性分析在进程的地址空间安排适当的代码通过适当的初始化寄存器和内存,跳转到以上代码段执行利用进程中存在的代码–传递一个适当的参数–如程序中有exec(arg),只要把arg指向“/bin/sh”就可以了植入法–把指令序列放到缓冲区中–堆、栈、数据段都可以存放攻击代码,最常见的是利用栈128.2系统脆弱性分析8.2.3拒绝服务攻击软件弱点是包含在操作系统或应用程序中与安全相关的系统缺陷,这些缺陷大多是由于错误的程序编制,粗心的源代码审核,无心的副效应或一些不适当的绑定所造成的。根据错误信息所带来的对系统无限制或者未经许可的访问程度,这些漏洞可以被分为不同的等级。典型的拒绝服务攻击有如下两种形式:资源耗尽和资源过载。当一个对资源的合理请求大大超过资源的支付能力时就会造成拒绝服务攻击(例如,对已经满载的Web服务器进行过多的请求。)拒绝服务攻击还有可能是由于软件的弱点或者对程序的错误配置造成的。区分恶意的拒绝服务攻击和非恶意的服务超载依赖于请求发起者对资源的请求是否过份,从而使得其他的用户无法享用该服务资源。错误配置也会成为系统的安全隐患。这些错误配置通常发生在硬件装置,系统或者应用程序中。如果对网络中的路由器,防火墙,交换机以及其他网络连接设备都进行正确的配置会减小这些错误发生的可能性。如果发现了这种漏洞应当请教专业的技术人员来修理这些问题。138.2系统脆弱性分析以下的两种情况最容易导致拒绝服务攻击:由于程序员对程序错误的编制,导致系统不停的建立进程,最终耗尽资源,只能重新启动机器。不同的系统平台都会采取某些方法可以防止一些特殊的用户来占用过多的系统资源,我们也建议尽量采用资源管理的方式来减轻这种安全威胁。还有一种情况是由磁盘存储空间引起的。假如一个用户有权利存储大量的文件的话,他就有可能只为系统留下很小的空间用来存储日志文件等系统信息。这是一种不良的操作习惯,会给系统带来隐患。这种情况下应该对系统配额作出考虑。148.2系统脆弱性分析基于网络的拒绝服务攻击:(1)PingofDeath–发送长度超过65535字节的ICMPEchoRequest数据包–导致目标机TCP/IP协议栈崩溃,系统死机或重启–现有的操作系统基本上都能正确处理这种异常数据包,不会出现问题(2)Teardrop–发送特别构造的IP数据包–导致目标机TCP/IP协议栈崩溃,系统死锁–现有的操作系统基本上都能正确处理这种异常数据包,不会出现问题158.2系统脆弱性分析基于网络的拒绝服务攻击(续)(3)Synflooding–发送大量的SYN包–系统中处于SYN_RECV状态的socket(4)Land–发送一个TCPSYN包,包的SRC/DSTIP相同,SPORT/DPORT相同–导致目标机TCP/IP协议栈崩溃,系统死机或失去响应–现有的操作系统基本上都能正确处理这种异常数据包,不会出现问题168.2系统脆弱性分析基于网络的拒绝服务攻击(续)(5)Smurf–攻击者冒充服务器向一个网段的广播地址发送ICMPecho包–整个网段的所有系统都向此服务器回应一个icmpreply包(6)Winnuke–发送特别构造的TCP包,使得Windows机器篮屏(7)分布式拒绝服务攻击–使得分散在因特网各处的机器共同完成对一台主机攻击的操作,从而使主机看起来好像是遭到了不同位置的许多主机的攻击。178.2系统脆弱性分析8.2.4DNS的安全性对DNS服务器的攻击主要有三种方法:地址欺骗、远程漏洞入侵和拒绝服务。1)地址欺骗。地址欺骗攻击利用了RFC标准协议中的某些不完善的地方,达到修改域名指向的目的。2)远程漏洞入侵。BIND服务器软件的许多版本存在缓冲区溢出漏洞,黑客可以利用这些漏洞远程入侵BIND服务器所在的主机,并以root身份执行任意命令。3)拒绝服务。一种攻击针对DNS服务器软件本身;另一种攻击的目标不是DNS服务器,而是利用DNS服务器作为中间的“攻击放大器”,去攻击其他Internet上的主机。188.2系统脆弱性分析8.2.5FTP协议漏洞分析1)FTP反弹(FTPBounce)。FTP的代理服务特性,形成FTP反弹漏洞。2)有限制的访问(RestrictedAccess)。可能形成控制连接是可信任的,而数据连接却不是。3)保护密码(ProtectingPasswords)。漏洞:①在FTP标准[PR85]中,FTP服务器允许无限次输入密码;②“PASS”命令以明文传送密码。4)端口盗用(PortSteaUng)。漏洞:当使用操作系统相关的方法分配端口号时,通常都是按增序分配。198.2系统脆弱性分析8.2.6后门后门通常是一个服务端程序,它可能由黑客编写,被恶意攻击者通过一定手段放在目标主机上以达到非法目的;也可能是目标主机正在运行的授权应用软件,其本身具有可被攻击者利用的特性。更形象地说,第一种情况是小偷趁主人度假期间,在房主院子后面为自己打造了一个后门,并稍加装饰,使人轻易发现不了他的杰作;第二种情况可能是主人为了方便,本来就在院子后面留有一门,但由于疏忽竟然忘了上锁,这就给小偷以可乘之机。当然,在第一种情况下,若小偷在主人眼皮底下开工,自然需要更高超的技术,通常人们所说的特洛伊木马就是这种情况。很多网管软件也有类似的功能,若被误用或滥用,后果会非常严重。208.1.2漏洞的发现8.2系统脆弱性分析218.3扫描技术与原理扫描是检测Internet上的计算机当前是否是活动的、提供了什么样的服务,以及更多的相关信息,主要使用的技术有Ping扫描、端口扫描和操作系统识别。扫描所收集的信息主要可以分为以下几种:1)标识主机上运行的TCP/UDP服务。2)系统的结构(SPARC、ALPHA、X86)。3)经由INTERNET可以到达主机的详细IP地址信息。4)操作系统的类型。扫描的几个分类Ping扫描:ICMPTCP扫描UDP扫描端口扫描228.4扫描器的类型和组成扫描器的作用就是用检测、扫描系统中存在的漏洞或缺陷。目前主要有两种类型的扫描工具,即主机扫描器和网络扫描器,它们在功能上各有侧重。1.主机扫描器主机扫描器又称本地扫描器,它与待检查系统运行于同一节点,执行对自身的检查。它的主要功能为分析各种系统文件内容,查找可能存在的对系统安全造成威胁的漏洞或配置错误。2.网络扫描器网络扫描器又称远程扫描器,一般它和待检查系统运行于不同的节点上,通过网络远程探测目标节点,检查安全漏洞。远程扫描器检查网络和分布式系统的安全漏洞。238.4扫描器的类型和组成扫描器的组成一般说来,扫描器由以下几个模块组成:用户界面、扫描引擎、扫描方法集、漏洞数据库、扫描输出报告等。整个扫描过程是由用户界面驱动的,首先由用户建立新会话,选定扫描策略后,启动扫描引擎,根据用户制订的扫描策略,扫描引擎开始调度扫描方法,扫描方法将检查到的漏洞填入数据库,最后由报告模块根据数据库内容组织扫描输出结果。用户界面扫描策略扫描引擎扫描方法集漏洞数据库扫描输出报告248.5天镜网络漏洞扫描系统天镜漏洞扫描系统分单机、便携和分布式三种版本,分布式产品组成包含几个部分:1)管理控制中心。负责添加、修改扫描引擎的属性,进行策略编辑和扫描任务制定和下发执行,完成漏洞库和扫描方法的升级,同时支持主、子控设置。2)综合显示中心。实时显示扫描的结果信息。可以进行树形分类察看和分窗口信息察看,显示扫描进度,提供漏洞解释的详细帮助。3)日志分析报表。查询历史扫描结果,提供多种报表模版,形成图、表结合的丰富报表,以多种文件格式输出。4)扫描引擎软件。执行管理控制中心发来的扫描任务,返回扫描结果到综合显示中心显示并存入数据库中。5)扫描对象授权。通过授权许可具体的扫描引擎软件可扫描对象,包括同时扫描的数量,也可以指定那些目标可以扫描或禁止扫描。
本文标题:俞承杭主讲信息安全技术课件 (8)
链接地址:https://www.777doc.com/doc-3322858 .html