您好,欢迎访问三七文档
第6章网络漏洞扫描技术22:20:40第六章网络漏洞扫描技术网络安全扫描是一项重要的网络安全技术。网络安全主要来自于网络中存在的漏洞。网络安全扫描就是网络漏洞扫描。网络漏洞扫描与防火墙、入侵检测系统互相配合,能够有效提高网络的安全性。通过对网络的扫描,网络管理员可以了解网络的安全配置和运行的应用服务,及时发现安全漏洞,客观评估网络风险等级。如果说防火墙和网络监控系统是被动的防御手段,那么安全扫描就是一种主动的防范措施,可以有效避免黑客攻击行为,做到防患于未然。22:20:40本章内容提要:网络漏洞概述实施网络扫描常用的网络扫描工具不同的扫描策略网络漏洞扫描技术发展趋势第六章网络漏洞扫描技术22:20:40网络漏洞的概念存在网络漏洞的原因6.1网络漏洞概述漏洞的危害公开的网络漏洞信息22:20:40网络漏洞的概念漏洞是在硬件、软件、协议的具体实现或系统安全策略上存在的缺陷,从而可以使攻击者能够在未授权的情况下访问或破坏系统。基于访问控制的定义基于状态的定义基于模糊概念的定义系统中主体对象的访问是通过访问控制矩阵实现的,这个访问控制矩阵就是安全策略的具体实现,当操作系统的操作和安全策略之间相冲突时,就产生了漏洞计算机系统是由一系列描述该系统各个组成实体的当前状态所构成。系统通过状态转换来改变它的状态。DennisLongley和MichaelShain在“Data&ComputerSecurity—DictionaryofStandardconceptsandTerms”一书中对漏洞的定义22:20:40网络漏洞的概念存在网络漏洞的原因6.1网络漏洞概述漏洞的危害公开的网络漏洞信息22:20:40存在网络漏洞的原因网络安全漏洞是“不可避免”,这是由网络系统的高度复杂性所决定的。网络协议漏洞应用软件系统漏洞配置不当引起的漏洞TCP/IP协议族是目前使用最为广泛的网络互连协议族,但TCP/IP协议在设计时是将它置于可信任的环境之下的,并将网络互连和开放性作为首要考虑的问题,而没有过多的考虑安全性,这就造成了TCP/IP协议族本身的不安全性,导致一系列基于TCP/IP的网络服务的安全性也相当脆弱。应用软件系统的漏洞分为两种:一是由于操作系统本身设计缺陷带来的安全漏洞,这种漏洞将被运行在该系统上的应用程序所继承;二是应用软件程序的安全漏洞在一些网络系统中忽略了安全策略的制定,即使采取了一定的网络安全措施,但由于系统的安全配置不合理或不完整,安全机制没有发挥作用。或者在网络环境发生变化后,由于没有及时更改系统的安全配置而造成安全漏洞22:20:40网络漏洞的概念存在网络漏洞的原因6.1网络漏洞概述漏洞的危害公开的网络漏洞信息22:20:40漏洞的危害从以下五个方面来评估漏洞对系统安全特性造成的危害系统的完整性系统的可用性系统的机密性系统的可控性系统的可靠性攻击者利用漏洞入侵系统,对系统数据进行篡改,从而破坏数据的完整性(Integrity)攻击者利用漏洞破坏系统或者网络的正常运行,导致信息或网络服务的可用性(Availability)被破坏,合法用户的正常服务要求得不到满足攻击者利用漏洞给非授权的个人和实体泄露受保护信息。很多时候,机密性(Confidentiality)和完整性是交叠的攻击者利用漏洞使得系统对于合法用户而言是处在“失控”状态,使系统的可控性(Controllability)被破坏攻击者利用漏洞对用户认可的质量特性(信息传递的迅速性、准确性以及连续地转移等)造成危害,使系统的可靠性(Reliability)被破坏22:20:40漏洞的危害【例】据调研公司Aberdeen于2005年7月对162家公司的调查显示,蠕虫、病毒等对互联网产生破坏作用的每起事件对企业造成了近200万美元的收入损失,有83%的公司在过去三年受到了互联网安全问题的影响,大概每年一起,但在三年内给15%的公司业务带来了七次以上的停滞。2003年7月16日,微软发布MS03-26的RPC系统漏洞,随后不久就于2003年8月11日出现利用此漏洞的“冲击波”病毒(W32.Blast.Worm)。因为此漏洞几乎存在于一切Windows系统中,影响范围极广,在全世界范围里迅速传播,造成了巨大的破坏。22:20:40网络漏洞的概念存在网络漏洞的原因6.1网络漏洞概述漏洞的危害公开的网络漏洞信息22:20:40公开的网络漏洞信息漏洞信息的公开可以让系统管理员更有针对性地对自己管理的系统进行配置和管理。另外,也可以促使提供软件或硬件的厂商更快地解决问题。通用漏洞披露BugTraq漏洞数据库ICAT漏洞数据库CERT/CC漏洞信息数据库X-Force数据库中国“国家漏洞库”CVE(CommonVulnerabilities&Exposures,通用漏洞披露)。BugTraq是由SecurityFocus公司维护的一个关于计算机安全漏洞详细信息讨论的邮件列表,讨论内容包括漏洞的描述、漏洞的渗透方法以及漏洞的修补方法等。ICAT是由美国标准技术研究所(NationalInstituteofStandardTechnology,NIST)维护的一个CVE兼容的漏洞信息检索索引。CERT/CC漏洞数据库也是一个CVE兼容的数据库。可以通过名字、ID号、CVE名字、公布日期、更新日期、严重性等方法检索漏洞信息X-Force数据库由ISS公司维护,是一个比较全面的漏洞信息数据库。基于中国的国情,中国建立了自己的漏洞库,即“国家漏洞库”。22:20:406.2实施网络扫描传统的黑客在入侵一个主机前,会先进行下面三项工作:踩点、扫描和查点。而扫描又可以划分为三个不同的阶段,即发现目标、搜集信息和漏洞检测。1)发现目标:发现存活的目标主机。2)搜集信息:发现目标后进一步搜集目标信息,包括目标的操作系统类型、运行的服务以及服务软件的版本等。如果目标是一个网络,还可以进一步发现该网络的拓扑结构、路由设备以及各主机的信息。3)漏洞检测:根据搜集到的信息进行分析、判断或者进一步检测目标是否存在安全漏洞。22:20:40发现目标搜集信息6.2实施网络扫描漏洞检测22:20:40发现目标在这一阶段使用的技术通常称为Ping扫描(PingSweep),包括ICMP扫描、广播ICMP、非回显ICMP、TCP扫描、UDP扫描ICMP扫描作为IP协议一个组成部分,ICMP用来传递差错报文和其他需要注意的信息。日常使用最多的是用户的Ping。ICMP报文和IP报文的关系如图所示,ICMP报文的格式如图所示22:20:40发现目标如果发送者接收到来自目标的ICMP回显应答,就能知道目标目前处于活动状态,否则可以初步判断主机不可达或发送的包被对方的设备过滤掉。使用这种方法轮询多个主机的方式称为ICMP扫描。该扫描的优点是:简单、系统支持。缺点是:很容易被防火墙限制可用于ICMP扫描的工具很多。在UNIX环境中主要有Ping和Fping。在Windows环境中可以使用出自Rhino9的Pinger。22:20:40发现目标广播ICMP与ICMP扫描相同点:广播ICMP也是利用了ICMP回显请求和ICMP回显应答这两种报文。与ICMP扫描不同点:广播ICMP只需要向目标网络的网络地址和/或广播地址发送一两个回显请求,就能够收到目标网络中所有存活主机的ICMP回显应答。缺点:这种扫描方式容易引起广播风暴,如果有很多机器回应的话,甚至会导致网络出现拒绝服务(Dos)现象22:20:40发现目标非回显ICMP1)ICMP时间戳请求允许系统向另一个系统查询当前的时间。2)ICMP地址掩码请求用于无盘系统引导过程中获得自己的子网掩码。3)对于ICMP地址掩码请求报文而言,虽然RFC1122规定,除非是地址掩码的授权代理,否则一个系统不能发送地址掩码应答。22:20:40发现目标TCP扫描传输控制协议(TransmissionControlProtocol,TCP)为应用层提供一种面向连接的、可靠的字节流服务。它使用“三次握手”的方式建立连接。如图所示UDP扫描用户数据报协议(UserDatagramProtocol,UDP)是一个面向数据报的传输层协议。UDP数据报也封装在IP数据报之中,如图所示22:20:40发现目标UDP协议的规则:如果接收到一份目的端口并没有处于侦听状态的数据报,则发送一个ICMP端口不可到达报文,否则不作任何响应。缺点:1)这种方法很不可靠,因为路由器和防火墙都有可能丢弃UDP数据报。2)逐一扫描UDP端口通常是很慢的,因为RFC1812的4.3.2.8节对路由器产生ICMP错误消息的速率作了规定22:20:40发现目标优点:它可以使用IP广播地址,如果向广播地址的高端端口发送一个UDP数据报,在没有防火墙过滤的情况下,将收到很多来自目标网络的ICMP端口不可到达的错误消息。当然,这也可能造成扫描者出现自己的DoS。22:20:40发现目标搜集信息6.2实施网络扫描漏洞检测22:20:40搜集信息搜集信息采用的技术包括端口扫描(PortScanning)、服务识别(ServiceDistinguishing)和操作系统探测(OperatingSystemDetection)。端口扫描端口扫描取得目标主机开放的端口和服务信息,从而为“漏洞检测”作准备。进行端口扫描,可以快速获得目标主机开设的服务。22:20:40搜集信息优点:1)不需要任何特殊权限,系统中的任何用户都有权利使用这个调用。2)可以同时打开多个套接字,从而加速扫描,使用非阻塞I/O还允许设置一个低的时间用尽周期,同时观察多个套接字。缺点:1)端口扫描容易被过滤或记录。2)对于安全管理员而言,使用该方法速度较慢。22:20:40搜集信息常用的端口扫描类型TCPConnect()扫描TCPSYN扫描TCPACK扫描TCPFIN扫描TCPXMAS扫描TCP空扫描TCPConnect()扫描是最基本的TCP扫描方式。Connect()是一种系统调用,由操作系统提供,用来打开一个连接。如果目标端口有程序监听,Connect()就会成功返回,否则这个端口是不可达的地主机向目标主机发送一个SYN数据段,如果目标主机的回应报文中SYN=1,ACK=1,则说明该端口是活动的,那么接着再发一个RST给目标主机,拒绝建立连接。TCPACK并不能确定目标机器开放了哪些端口,但是可以用来试探目标机器上安装的防撞的防火墙的过滤规则。可以确定防火墙是简单的包过滤还是状态检测机制在TCP报文结构中,FIN段负责表示发送端已经没有数据要传输了,希望释放连接。用户会发送一个FIN=1的报文到一个关闭的端口时,该报文会被丢掉,并返回一个RST报文。向目标主机发送一个FIN+URG+PUSH分组,根据RFC793,如果目标主机的相应端口是关闭的,那么应该返回一个RST标志向目标发送一个所有标记位都置0的报文,即关掉所有的标志,如果目标系统所有端口关闭,则返回RST包,如果端口打开则不会返回任何信息22:20:40搜集信息FTP反弹扫描UDP扫描FTP协议的一个特点是它支持代理FTP连接,即入侵者可以将自己的计算机和目标主机的FTP服务器建立一个控制通信连接。当向目标主机的UDP端口发送数据,并不能收到一个开放端口的确认信息或是关闭端口的错误信息。22:20:40搜集信息服务识别扫描端口的目的是为了获取目标主机提供的服务信息,通过服务器开放的端口号,可以参照RFC1700标准推断出目标主机提供的服务用户分析目标主机提供服务的判断出现错误1)该主机将某服务故意开设到了非标准端口。2)该主机开设了RFC1700中未定义的服务。3)该主机被安置了后门程序。22:20:40搜集信息目前两种服务的识别方法如下1)对于主动提供旗标信息或者握手信息的服务可以使用Netcat尝试与目标的该端口建立连接,根据返回的信息作出初步判断2)
本文标题:网络漏洞扫描技术
链接地址:https://www.777doc.com/doc-4662123 .html