资源描述:
《浅析网络安全扫描技术 》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、浅析网络安全扫描技术摘要:网络安全扫描技术是一种有效的主动防御技术,目前已经成为网络安全研究中的热点之一,针对发现漏洞的网络安全扫描技术进行分析和研究具有重要的现实意义。 关键词:安全扫描;漏洞;网络安全 1引言 安全扫描也称为脆弱性评估,它是检测远程或本地系统安全脆弱性的一种安全技术。其基本原理是采用模拟黑客攻击的方式对目标可能存在的已知安全漏洞进行逐项检测,以便对工作站、服务器、交换机、数据库等各种对象进行安全漏洞检测。借助于扫描技术,人们可以发现网络和主机存在的对外开放的端口、提供的服务、某些系统信息
2、、错误的配置、已知的安全漏洞等。故安全扫描技术是一种极为有效的主动防御技术,能发现隐患于未然,如果结合入侵检测系统和防火墙等其他安全技术,能为网络提供全方位的保护。安全扫描技术目前应用非常广泛。 2端口扫描技术 TCP协议和UDP协议是TCPIIP协议传输层中两个用于控制数据传输的协议。 TCP和UDP用端口号来唯一地标识一种网络应用。TCP和UDP端口号用16位二进制数表示,理论上,每一个协议可以拥有65535个端口。因此,端口扫描无论是对网络管理员还是对网络攻击者来说,都是一个必不可少的利器。 TCP/I
3、P协议上的端口有TCP端口和UDP端口两类。由于TCP协议是面向连接的协议,针对TCP扫描方法比较多,扫描方法从最初的一般探测发展到后来的躲避IDS和防火墙的高级扫描技术。针对TCP端口的扫描,最早出现的是全连接扫描,随着安全技术的发展,出现了以躲避防火墙为目的的TCPSYN扫描以及其他一些秘密扫描技术,比如TCPFIN扫描、TCPACK扫描、NULL扫描、XMAS扫描、SYN/ACK扫描和Dumb扫描等。UDP端口的扫描方法相对比较少,只有UDPICMP端口不可达扫描和利用socket函数xecvfrom和writ
4、e来判断的扫描。目前,端口扫描技术已经发展得非常丰富和完善。端口扫描主要可分为开放扫描、半开放扫描、秘密扫描等。 1)TCPconnect扫描 这是最基本的TCP扫描方法。使用操作系统提供的connect()系统调用来与目标主机的TCP端口进行连接。如果connect()连接成功,说明目标端口处于监听状态。若连接失败,则说明该端口没有开放。TCPconnect()方法的最大的优点是,不需要任何特殊权限。系统中任何用户都可以调用connect()函数。另一个优点就是速度快。但TCPconnectU方法的缺点是它很容
5、易被发觉,并且容易被防火墙过滤掉。同时目标主机的日志文件会记录一系列的有关该服务的连接建立并马上断开的错误信息。 2)TCPSYN扫描 该技术通常称为“半开放”的扫描,这是因为扫描程序不需要建立一个完全的TCP连接。扫描程序发送的是一个SYN数据包,就像准备建立一个实际的连接并等待回应一样(TCP通过“三次握手”来建立一个TCP连接)。若返回SYN}ACK数据包则表示目标端口处于监听状态,而若返回RST数据包则表示该端口没有开放。如果收到SYN}ACK数据包,则扫描程序再发送一个RST数据包来终止该连接过程。SY
6、N扫描技术的优点是一般不会在目标主机上留下记录。而该方法的缺点是,必须要有管理员权限自己构造SYN数据包才能使用这种扫描方式。 3)TCPFIN扫描 有时很可能SYN扫描都不够隐蔽。有些防火墙和包过滤系统能监视并限制可以接收SYN的端口,并能检查到这些扫描。相反,FIN数据包可能会没有任何麻烦的通过。这种扫描方法的思想是不开放的端口会用RST来应答FIN数据包。而开放的端口会忽略对FIN数据包的应答。不过,该方法和系统的实现相关。有的系统不管端口是否开放,都回复RST,这样,该扫描方法就不适用了。当然,大多数情况
7、下该方法是有效的。 4)TCP反向ident扫描 ident协议(RFC1413)可以获取任何使用TCP连接进程的运行用户名,即使该进程没有发起连接。因此可以,比如说连接到HTTP端口,然后用identd来获取HTTP服务程序是否以管理员用户运行。该方法需要和目标端口建立了一个完整的TCP连接。 5)FTP返回攻击扫描 FTP协议(RFC959)的一个特性是它支持“代理”FTP连接。可以从本地计算机连接到目标主机FTP协议解释器,以建立控制连接。这样,向目标主机的协议解释器发送建立数据传输进程的请求,就可以请
8、求FTP服务器向Inter上任何地方发送文件。该扫描方法就是使用PORT命令来声明本地的客户数据传输进程正在被动的在扫描目标主机的某个端口监听。然后再试图用LIST命令请求列出当前目录,服务器将结果通过数据传输进程发送到指定扫描目标主机的端口。如果目标主机正在该端口监听,传输就会成功(产生一个150或226的应答)。否则,会出现连接被拒绝错误(