下面小编为大家带来网络安全技术漏洞扫描,本文共3篇,希望能帮助大家!

篇1:网络安全技术漏洞扫描
1 引言
网洛扫瞄,是基于Internetde、探测远端网洛或主机信息de一种技术,也是保证系统和网洛安全必不可少de一种手段。主机扫瞄,是指对计算机主机或者其它网洛设备进行安全性检测,以找出安全隐患和系统漏洞。总体而言,网洛扫瞄和主机扫瞄都可归入漏洞扫瞄一类。漏洞扫瞄本质上是一把双刃剑:黑客利用它来寻找对网洛或系统发起攻击de途径,而系统管理员则利用它来有效防范黑客入侵。通过漏洞扫瞄,扫瞄者能够发现远端网洛或主机de配置信息、TCP/UDP端口de分配、提供de网洛服务、服务器de具体信息等。
2 漏洞扫瞄原理
漏洞扫瞄可以划分为ping扫瞄、端口扫瞄、OS探测、脆弱点探测、防火墙扫瞄五种主要技术,每种技术实现de目标和运用de原理各不相同。按照 TCP/IP协议簇de结构,ping扫瞄工作在互联网洛层:端口扫瞄、防火墙探测工作在传输层;0S探测、脆弱点探测工作在互联网洛层、传输层、应用层。 ping扫瞄确定目标主机deIP地址,端口扫瞄探测目标主机所开放de端口,然后基于端口扫瞄de结果,进行OS探测和脆弱点扫瞄。
2.1 Ping扫瞄
ping扫瞄是指侦测主机IP地址de扫瞄。ping扫瞄de目de,就是确认目标主机deTCP/IP网洛是否联通,即扫瞄deIP地址是否分配了主机。对没有任何预知信息de黑客而言,ping扫瞄是进行漏洞扫瞄及入侵de第一步;对已经了解网洛整体IP划分de网洛安全人员来讲,也可以借助 ping扫瞄,对主机deIP分配有一个精确de定位。大体上,ping扫瞄是基于ICMP协议de。其主要思想,就是构造一个ICMP包,发送给目标主机,从得到de响应来进行判断。根据构造ICMP包de不同,分为ECH0扫瞄和non—ECHO扫瞄两种。
2.1.1 ECH0扫瞄
向目标IP地址发送一个ICMP ECHOREQUEST(ICMP type 8)de包,等待是否收至UICMP ECHO REPLY(ICMP type 0)。如果收到了ICMP ECHO REPLY,就表示目标IP上存在主机,否则就说明没有主机。值得注意de是,如果目标网洛上de防火墙配置为阻止ICMP ECH0流量,ECH0扫瞄不能真实反映目标IP上是否存在主机。
此外,如果向广播地址发送ICMPECHO REQUEST,网洛中deunix主机会响应该请求,而windows主机不会生成响应,这也可以用来进行OS探测。
2.1.2 non-ECH0扫瞄
向目deIP地址发送一个ICMP TIMESTAMP REQUEST(ICMP type l3),或ICMP ADDRESS MASK REQUEST (ICMP type l7)de包,根据是否收到响应,可以确定目de主机是否存在。当目标网洛上de防火墙配置为阻止ICMP ECH0流量时,则可以用non.ECH0扫瞄来进行主机探测。
2.2端口扫瞄
端口扫瞄用来探测主机所开放de端口。端口扫瞄通常只做最简单de端口联通性测试,不做进一步de数据分析,因此比较适合进行大范围de扫瞄:对指定 IP地址进行某个端口值段de扫瞄,或者指定端口值对某个IP地址段进行扫瞄。根据端口扫瞄使用de协议,分为TCP扫瞄和UDP扫瞄。
2.2.1 TCP扫瞄
主机间建立TCP连接分三步(也称三次握手):
(1)请求端发送一个SYN包,指明打算连接de目de端口。
(2)观察目de端返回de包:
返回SYN/ACK包,说明目de端口处于侦听状态;
返回RST/ACK包,说明目de端口没有侦听,连接重置。
(3)若返回SYN/ACK包,则请求端向目de端口发送ACK包完成3次握手,TCP连接建立。
根据TCP连接de建立步骤,TCP扫瞄主要包含两种方式:
(1)TCP全连接和半连接扫瞄
全连接扫瞄通过三次握手,与目de主机建立TCP连接,目de主机delog文件中将记录这次连接。而半连接扫瞄(也称TCP SYN扫瞄)并不完成TCP三次握手de全过程。扫瞄者发送SYN包开始三次握手,等待目de主机de响应。如果收到SYN/ACK包,则说明目标端口处于侦听状态,扫瞄者马上发送RST包,中止三次握手。因为半连接扫瞄并没有建立TCP连接,目de主机delog文件中可能不会记录此扫瞄。
(2)TCP隐蔽扫瞄
根据TCP协议,处于关闭状态de端口,在收到探测包时会响应RST包,而处于侦听状态de端口则忽略此探测包。根据探测包中各标志位设置de不同,TCP隐蔽扫瞄又分为SYN/ACK扫瞄、FIN扫瞄、XMAS(圣诞树)扫瞄和NULL扫瞄四种。
SYN/ACK扫瞄和FIN扫瞄均绕过TCP三次握手过程de第一步,直接给目de端口发送SYN/ACK包或者FIN包。因为TCP是基于连接de 协议,目标主机认为发送方在第一步中应该发送deSYN包没有送出,从而定义这次连接过程错误,会发送一个RST包以重置连接。而这正是扫瞄者需要de结果— 只要有响应,就说明目标系统存在,且目标端口处于关闭状态。
XMAS扫瞄和NULL扫瞄:这两类扫瞄正好相反,XMAS扫瞄设置TCP包中所有标志位(URG、ACK、RST、PSH、SYN、FIN),而NULL扫瞄则关闭TCP包中de所有标志位。
2.2.2 UDP端口扫瞄
UDP协议是数据包协议,为了要发现正在服务deUDP端口,通常de扫瞄方式是构造一个内容为空deUDP数据包送往目de端口。若目de端口上有服务正在等待,则目de端口返回错误de消息;若目de端口处于关闭状态,则目de主机返回ICMP端口不可达消息。因为UDP端口扫瞄软件要计算传输中丢包de数量,所以UDP端口扫瞄de速度很慢。
2.3 0S探测
OS探测有双重目de:一是探测目标主机de0S信息,二是探测提供服务de计算机程序de信息。比如OS探测de结果是:OS是Windows XP sp3,服务器平台是IIS 4.0。
2.3.1二进制信息探测
通过登录目标主机,从主机返回debanner中得知OS类型、版本等,这是最简单de0S探测技术。
图1 二进制信息
从图l可以看出,在telnet连上FTP服务器后,服务器返回debanner已经提供了serverde信息,在执行ftpdesyst命令后可得到更具体de信息。
2.3.2 HTTP响应分析
在和目标主机建立HTTP连接后,可以分析服务器de响应包得出OS类型。比如响应包中可能包含如下信息:
图2 响应包分析
从图2中对响应包中de数据分析,可以得到serverde信息。
2.3.3栈指纹分析
网洛上de主机都会通过TCP/IP或类似de协议栈来互通互联。由于0S开发商不唯一,系统架构多样,甚至是软件版本de差异,都导致了协议栈具体实现上de不同。对错误包de响应,默认值等都可以作为区分0Sde依据。
(1)主动栈指纹探测
主动栈指纹探测是主动向主机发起连接,并分析收到de响应,从而确定OS类型de技术。
1)FIN探测。跳过TCP三次握手de顺序,给目标主机发送一个FIN包。RFC793规定,正确de处理是没有响应,但有些OS,如MS Windows,CISC0,HP/UX等会响应一个RST包。
2)Bogus标志探测。某些OS会设置SYN包中TCP头de未定义位(一般为64或128),而某些0S在收到设置了这些Bogus位deSYN包后,会重置连接。
3)统计ICMP ERROR报文。RFCl812中规定了ICMP ERROR消息de发送速度。Linux设定了目标不可达消息上限为80个/4秒。0S探测时可以向随机de高端UDP端口大量发包,然后统计收到de目标不可达消息。用此技术进行OS探测时时间会长一些,因为要大量发包,并且还要等待响应,同时也可能出现网洛中丢包de情况。
4)ICMPERROR报文引用。RFC文件中规定,ICMP ERROR消息要引用导致该消息deICMP消息de部分内容。例如对于端口不可达消息,某些OS返回收到deIP头及后续de8个字节,Solaris 返回de ERROR消息中则引用内容更多一些,而Linux比Solaris还要多。
(2)被动栈指纹探测
被动栈指纹探测是在网洛中监听,分析系统流量,用默认值来猜测0S类型de技术。
1)TCP初始化窗口尺寸。通过分析响应中de初始窗口大小来猜测OSde技术比较可靠,因为很多0Sde初始窗口尺寸不同。比如AIX设置de初始窗口尺寸是0x3F25,而Windows NT5、OpenBSD、FreeBSD设置de值是0x402E。
2)Don’t Fragment位。为了增进性能,某些0S在发送de包中设置了DF位,可以从DF位de设置情况中做大概de判断。
3)TCPISN采样。建立TCP连接时,SYN/ACK中初始序列号ISNde生成存在规律,比如固定不变、随机增加 (Solaris,FreeBSD等),真正de随机(Linux 2.0.*),而Windows使用de是时间相关模型,ISN在每个不同时间段都有固定de增量。
2.4脆弱点扫瞄
从对黑客攻击行为de分析和脆弱点de分类,绝大多数扫瞄都是针对特定操作系统中特定de网洛服务来进行,即针对主机上de特定端口。脆弱点扫瞄使用de技术主要有基于脆弱点数据库和基于插件两种。
2.4.1基于脆弱点数据库de扫瞄
首先构造扫瞄de环境模型,对系统中可能存在de脆弱点、过往黑客攻击案例和系统管理员de安全配置进行建模与分析。其次基于分析de结果,生成一套标准de脆弱点数据库及匹配模式。最后由程序基于脆弱点数据库及匹配模式自动进行扫瞄工作。脆弱点扫瞄de准确性取决于脆弱点数据库de完整性及有效性。
2.4.2基于插件de扫瞄
插件是由脚本语言编写de子程序模块,扫瞄程序可以通过调用插件来执行扫瞄。添加新de功能插件可以使扫瞄程序增加新de功能,或者增加可扫瞄脆弱点 de类型与数量。也可以升级插件来更新脆弱点de特征信息,从而得到更为准确de结果。插件技术使脆弱点扫瞄软件de升级维护变得相对简单,而专用脚本语言de使用也简化了编写新插件de编程工作,使弱点扫瞄软件具有很强de扩展性。
2.5防火墙规则探测
采用类似于traceroutedeIP数据包分析法,检测能否给位于过滤设备后de主机发送一个特定de包,目de是便于漏洞扫瞄后de入侵或下次扫瞄de顺利进行。通过这种扫瞄,可以探测防火墙上打开或允许通过de端口,并且探测防火墙规则中是否允许带控制信息de包通过,更进一步,可以探测到位于数据包过滤设备后de路由器。
3 常见漏洞扫瞄程序
通常在制定漏洞扫瞄策略时,扫瞄者会考虑程序de操作系统、所应用de技术、易用性、准确性等因素。其中,程序de可用性是最重要de,也是最基本de,但是可控性和准确性同样不容忽视。
3.1 Unix/Linux平台
3.1.1 hping
hping支持TCP、UDP、ICMP、RAW-IP多种协议。特点在于能进行ping扫瞄、端口扫瞄、0S探测、防火墙探测等多种扫瞄,并能自定义发送deICMP/UDP/TCP包到目标地址并且显示响应信息。
3.1.2 icmpush&icmpquery
icmpush&icmpqueryde特点在于完全应用了ICMP协议,可以定制ICMP包de结构以及种类。扫瞄者可以用这套工具把目标网洛de各个子网全部查找出来,从而可以撇开广播地址而集中扫瞄某几个特定de子网。
3.1.3 Xprobe 2
是专业de端口扫瞄、OS探测程序。特点在于自身de0S特征数据库详细,进行OS探测de可靠性较好。
3.1.4 THC-Anap
OS探测程序。特点在于扫瞄速度快,扫瞄结果可靠。
3.1.5 Whisker
针对CGIde脆弱点探测程序。应用了多线程、多文件扫瞄技术,脆弱点数据库更新频繁,对扫瞄结果自行复核,从而扫瞄结果可靠性好。
3.1.6 Nessus
脆弱点探测程序。应用了主动扫瞄、高速扫瞄技术,可设置扫瞄过程。特点在于支持DMZ区以及多物理分区网洛de大范围扫瞄。
3.1.7 Firewalk
防火墙探测程序。使用类似traceroutede技术来分析IP包de响应,从而测定防火墙de访问控制列表和绘制网洛拓扑图。
3.2 Windows平台
3.2.1 Pinger
是一个图形化deping扫瞄工具。特点在于可以指定要pingdeIP地址,以图形de形式显示扫瞄结果,并保存至文本文件。
3.2.2 Fport
是端口扫瞄程序。特点在于可以把扫瞄出de端口与使用该端口de程序相匹配,扫瞄速度快,匹配程度较好。
3.2.3 SuperScan
可以进行ping扫瞄、端口扫瞄、0S探测,并且白带一个木马端口列表,可以检测目标计算机是否有木马。
3.2.4 GFILANguard
脆弱点探测程序。特点在于集成了网洛审计、补丁管理功能,可以自动生成网洛拓扑图、自动补丁管理。
上述漏洞扫瞄程序及特点如表1所示。
4 结论
一般而言,综合地应用多种扫瞄方法或扫瞄程序可以得到比较满意de结果。但是漏洞扫瞄从其技术原理上分析,有不可忽视de副作用。比如对大范围de IP地址或者端口进行某种扫瞄,反复高速de发出特定de连接请求,所造成de结果就是目标网洛及主机上存在大量de连接请求数据包,可以造成网洛拥塞,主机无法正常使用,这正是DoS攻击de方法及表现。因此若要防范漏洞扫瞄以及可能deDoS攻击,要做到以下三点:
1.在防火墙及过滤设备上采用严格de过滤规则,禁止扫瞄de数据包进入系统。
2.主机系统除了必要de网洛服务外,禁止其它de网洛应用程序。
3.对于只对内开放de网洛服务,更改其提供服务de端口。
此外,网洛扫瞄时发送de数据或多或少都会含有扫瞄者自身相关信息,从而也可以抓取扫瞄时de数据包,对扫瞄者进行反向追踪,这也是一个值得研究de方向。
篇2:浅析四种Web漏洞扫描技术
Web的开放性广受大家的欢迎,但是同时Web系统将面临着入侵攻击的威胁,我们一直希望建立一个安全的Web系统,但是完全安全几乎是不可能实现的,但是相对的安全是可以达到的。其中进行Web漏洞扫描就是建立Web安全的一个重要保障。
四种Web漏洞扫描技术
Web漏洞扫描通常采用两种策略,第一种是被动式策略,第二种是主动式策略。所谓被动式策略就是基于主机之上,对系统中不合适的设置、脆弱的口令以 及其他与安全规则抵触的对象进行检查;而主动式策略是基于网络的,它通过执行一些脚本文件模拟对系统进行攻击的行为并记录系统的反应,从而发现其中的漏 洞。利用被动式策略的扫描称为系统安全扫描,利用主动式的策略扫描称为网络安全扫描。
Web漏洞扫描有以下四种检测技术:
1.基于应用的检测技术。它采用被动的、非破坏性的办法检查应用软件包的设置,发现安全漏洞。
2.基于主机的检测技术。它采用被动的、非破坏性的办法对系统进行检测。通常,它涉及到系统的内核、文件的属性、操作系统的补丁等。这种技术还包括 口令解密、把一些简单的口令剔除。因此,这种技术可以非常准确地定位系统的问题,发现系统的漏洞。它的缺点是与平台相关,升级复杂。
3.基于目标的漏洞检测技术。它采用被动的、非破坏性的办法检查系统属性和文件属性,如数据库、注册号等。通过消息文摘算法,对文件的加密数进行检 验。这种技术的实现是运行在一个闭环上,不断地处理文件、系统目标、系统目标属性,然后产生检验数,把这些检验数同原来的检验数相比较。一旦发现改变就通 知管理员。
4. 基于网络的检测技术。它采用积极的、非破坏性的办法来检验系统是否有可能被攻击崩溃。它利用了一系列的脚本模拟对系统进行攻击的行为,然后对结果进行分 析。它还针对已知的网络漏洞进行检验。网络检测技术常被用来进行穿透实验和安全审记。这种技术可以发现一系列平台的漏洞,也容易安装。但是,它可能会影响 网络的性能。
网络Web漏洞扫描
在上述四种方式当中,网络漏洞扫描最为适合我们的Web信息系统的风险评估工作,其扫描原理和工作原理为:通过远程检测目标主机TCP/IP不同端 口的服务,记录目标的回答,
通过这种方法,可以搜集到很多目标主机的各种信息(例如:是否能用匿名登录,是否有可写的FTP目录,是否能用 Telnet,httpd是否是用root在运行)。
在获得目标主机TCP/IP端口和其对应的网络访问服务的相关信息后,与网络漏洞扫描系统提供的漏洞库进行匹配,如果满足匹配条件,则视为漏洞存 在。此外,通过模拟 的进攻手法,对目标主机系统进行攻击性的安全漏洞扫描,如测试弱势口令等,也是扫描模块的实现方法之一。如果模拟攻击成功,则视为 漏洞存在。
在匹配原理上,网络漏洞扫描器采用的是基于规则的匹配技术,即根据安全专家对网络系统安全漏洞、攻击案例的分析和系统管理员关于网络系统安全配置的实际经验,形成一套标准的系统漏洞库,然后再在此基础之上构成相应的匹配规则,由程序自动进行系统漏洞扫描的分析工作。
所谓基于规则是基于一套由专家经验事先定义的规则的匹配系统。例如,在对TCP80端口的扫描中,如果发现/cgi-bin/phf/cgi- bin/Count.cgi,根据专家经验以及CGI程序的共享性和标准化,可以推知该WWW服务存在两个CGI漏洞。同时应当说明的是,基于规则的匹配 系统有其局限性,因为作为这类系统的基础的推理规则一般都是根据已知的安全漏洞进行安排和策划的,而对网络系统的很多危险的威胁是来自未知的安全漏洞,这 一点和PC杀毒很相似。
这种Web漏洞扫描器是基于浏览器/服务器(B/S)结构。它的工作原理是:当用户通过控制平台发出了扫描命令之后,控制平台即向扫描模块发出相应 的扫描请求,扫描模块在接到请求之后立即启动相应的子功能模块,对被扫描主机进行扫描。通过分析被扫描主机返回的信息进行判断,扫描模块将扫描结果返回给 控制平台,再由控制平台最终呈现给用户。
另一种结构的扫描器是采用插件程序结构。可以针对某一具体漏洞,编写对应的外部测试脚本。通过调用服务检测插件,检测目标主机TCP/IP不同端口 的服务,并将结果保存在信息库中,然后调用相应的插件程序,向远程主机发送构造好的数据,检测结果同样保存于信息库,以给其他的脚本运行提供所需的信息, 这样可提高检测效率。如,在针对某FTP服务的攻击中,可以首先查看服务检测插件的返回结果,只有在确认目标主机服务器开启FTP服务时,对应的针对某 FTP服务的攻击脚本才能被执行。采用这种插件结构的扫描器,可以让任何人构造自己的攻击测试脚本,而不用去了解太多扫描器的原理。这种扫描器也可以用做 模拟 攻击的平台。采用这种结构的扫描器具有很强的生命力,如著名的Nessus就是采用这种结构。这种网络Web漏洞扫描器是基于客户端/服务器(C /S)结构,其中客户端主要设置服务器端的扫描参数及收集扫描信息。具体扫描工作由服务器来完成。
原文出处:infosec
篇3:提高网络安全:选择合适的漏洞扫描工具
对于一个复杂的多层结构的系统和网络安全规划来说,隐患扫描是一项重要的组成元素,隐患扫描能够模拟 的行为,对系统设置进行攻击测试,以帮助管理员在 攻击之前,找出网络中存在的漏洞。这样的工具可以远程评估你的网络的安全级别,并生成评估报告,提供相应的整改措施。目前,市场上有很多隐患扫描工具,按照不同的技术(基于网络的、基于主机的、基于代理的、C/S的)、不同的特征、不同的报告方法,以及不同的监听模式,可以分成好几类。不同的产品之间,漏洞检测的准确性差别较大,这就决定了生成的报告的有效性上也有很大区别。
选择正确的隐患扫描工具,对于提高你的系统的安全性,非常重要。
1、漏洞扫描概述
在字典中,Vulnerability意思是漏洞或者缺乏足够的防护。在军事术语中,这个词的意思更为明确,也更为严重------有受攻击的嫌疑。每个系统都有漏洞,不论你在系统安全性上投入多少财力,攻击者仍然可以发现一些可利用的特征和配置缺陷。这对于安全管理员来说,实在是个不利的消息。但是,多数的攻击者,通常做的是简单的事情。发现一个已知的漏洞,远比发现一个未知漏洞要容易的多,这就意味着:多数攻击者所利用的都是常见的漏洞,这些漏洞,均有书面资料记载。这样的话,采用适当的工具,就能在 利用这些常见漏洞之前,查出网络的薄弱之处。如何快速简便地发现这些漏洞,这个非常重要。
漏洞,大体上分为两大类:
① 软件编写错误造成的漏洞;
② 软件配置不当造成的漏洞。
漏洞扫描工具均能检测以上两种类型的漏洞。漏洞扫描工具已经出现好多年了,安全管理员在使用这些工具的同时, 们也在利用这些工具来发现各种类型的系统和网络的漏洞。
2、隐患扫描工具的衡量因素
决定是否采用隐患扫描工具来防范系统入侵是重要的第一步。当您迈出了这一步后,接下来的是:如何选择满足您公司需要的合适的隐患扫描技术,这同样也很重要。以下列出了一系列衡量因素:
① 底层技术(比如,是被动扫描还是主动扫描,是基于主机扫描还是基于网络扫描);
② 特性;
③ 漏洞库中的漏洞数量;
④ 易用性;
⑤ 生成的报告的特性(内容是否全面、是否可配置、是否可定制、报告的格式、输出方式等);
⑥ 对于漏洞修复行为的分析和建议(是否只报告存在哪些问题、是否会告诉您应该如何修补这些漏洞);
⑦ 安全性(由于有些扫描工具不仅仅只是发现漏洞,而且还进一步自动利用这些漏洞,扫描工具自身是否会带来安全风险);
⑧ 性能;
⑨ 价格结构
2.1 底层技术
比较漏洞扫描工具,第一是比较其底层技术,
你需要的是主动扫描,还是被动扫描;是基于主机的扫描,还是基于网络的扫描,等等。一些扫描工具是基于Internet的,用来管理和集合的服务器程序,是运行在软件供应商的服务器上,而不是在客户自己的机器上。这种方式的优点在于检测方式能够保证经常更新,缺点在于需要依赖软件供应商的服务器来完成扫描工作。扫描古城可以分为被动和主动两大类。被动扫描不会产生网络流量包,不会导致目标系统崩溃,被动扫描工具对正常的网络流量进行分析,可以设计成永远在线检测的方式。与主动扫描工具相比,被动扫描工具的工作方式,与网络监控器或IDS类似。主动扫描工具更多地带有入侵的意图,可能会影响网络和目标系统的正常操作。他们并不是持续不断运行的,通常是隔一段时间检测一次。基于主机的扫描工具需要在每台主机上安装代理(Agent)软件;而基于网络的扫描工具则不需要。基于网络的扫描工具因为要占用较多资源,一般需要一台专门的计算机。如果网络环境中含有多种操作系统,您还需要看看扫描其是否兼容这些不同的操作系统(比如Microsoft、Unix以及Netware等)。
2.2 管理员所关心的一些特性
通常,漏洞扫描工具完成一下功能:扫描、生成报告、分析并提出建议,以及数据管理。在许多方面,扫描是最常见的功能,但是信息管理和扫描结果分析的准确性同样很重要。另外要考虑的一个方面是通知方式:当发现漏洞后,扫描工具是否会向管理员报警?采用什么方式报警?
对于漏洞扫描软件来说,管理员通常关系以下几个方面:
① 报表性能好;
② 易安装,易使用;
③ 能够检测出缺少哪些补丁;
④ 扫描性能好,具备快速修复漏洞的能力;
⑤ 对漏洞及漏洞等级检测的可靠性;
⑥ 可扩展性;
⑦ 易升级性;
⑧ 性价比好;
文档为doc格式