网络安全扫描技术原理及建议
来源:黑基 更新时间:2012-04-13
摘要:

  随着互联网络的飞速发展,网络入侵行为日益严重,网络安全成为人们的关注点。网络安全扫描技术是网络安全领域的重要技术之一,对其概念、分类进行了概述,并对其中的两种主要技术——端口扫描技术和漏洞扫描技术以及它们的原理分别进行了详细阐述,比较了它们的优缺点,介绍了漏洞扫描各种技术的实现原理,并对漏洞扫描存在的一些问题提出了一些完善化的建议。

  1、引言

  随着Internet的不断发展,信息技术已成为促进经济发展、社会进步的巨大推动力:当今社会高度的计算机化信息资源对任何人无论在任何时候、任何地方都变得极有价值。不管是存储在工作站中、服务器里还是流通于Internet上的信息都已转变成为一个关系事业成败关键的策略点,这就使保证信息的安全变得格外重要。

  安全扫描技术是一类重要的网络安全技术。安全扫描技术与防火墙、入侵检测系统互相配合,能够有效提高网络的安全性。通过对网络的扫描,网络管理员可以了解网络的安全配置和运行的应用服务,及时发现安全漏洞,客观评估网络风险等级。网络管理员可以根据扫描的结果更正网络安全漏洞和系统中的错误配置,在黑客攻击前进行防范。如果说防火墙和网络监控系统是被动的防御手段,那么安全扫描就是一种主动的防范措施,可以有效避免黑客攻击行为,做到防患于未然。

  安全扫描技术主要分为两类:主机安全扫描技术和网络安全扫描技术。网络安全扫描技术主要针对系统中不合适的设置脆弱的口令,以及针对其它同安全规则抵触的对象进行检查等;而主机安全扫描技术则是通过执行一些脚本文件模拟对系统进行攻击的行为并记录系统的反应,从而发现其中的漏洞。

  2、网络安全扫描技术简介

  2.1 网络安全扫描技术的概述

  网络安全扫描技术是一种基于Internet远程检测目标网络或本地主机安全性脆弱点的技术。通过网络安全扫描,系统管理员能够发现所维护的Web服务器的各种TCP/IP端口的分配、开放的服务、Web服务软件版本和这些服务及软件呈现在Internet上的安全漏洞。网络安全扫描技术也是采用积极的、非破坏性的办法来检验系统是否有可能被攻击崩溃。它利用了一系列的脚本模拟对系统进行攻击的行为,并对结果进行分析。这种技术通常被用来进行模拟攻击实验和安全审计。网络安全扫描技术与防火墙、安全监控系统互相配合就能够为网络提供很高的安全性。

  2.2 网络安全扫描步骤和分类

  一次完整的网络安全扫描分为3个阶段:

  (1)第1阶段:发现目标主机或网络。

  (2)第2阶段:发现目标后进一步搜集目标信息,包括操作系统类型、运行的服务以及服务软件的版本等。如果目标是一个网络,还可以进一步发现该网络的拓扑结构、路由设备以及各主机的信息。

  (3)第3阶段:根据搜集到的信息判断或者进一步测试系统是否存在安全漏洞。

  网络安全扫描技术包括有PING扫射(Ping sweeP)、操作系统探测(Operating system identification)、如何探测访问控制规则(firewalking)、端口扫描(Port scan)以及漏洞扫描(vulnerability scan)等。这些技术在网络安全扫描的3个阶段中各有体现。

  PING扫射用于网络安全扫描的第1阶段,可以帮助我们识别系统是否处于活动状态。操作系统探测、如何探测访问控制规则和端口扫描用于网络安全扫描的第2阶段,其中操作系统探测顾名思义就是对目标主机运行的操作系统进行识别;如何探测访问控制规则用于获取被防火墙保护的远端网络的资料;而端口扫描是通过与目标系统的TCP/IP端口连接,并查看该系统处于监听或运行状态的服务。网络安全扫描第3阶段采用的漏洞扫描通常是在端口扫描的基础上,对得到的信息进行相关处理,进而检测出目标系统存在的安全漏洞。

  端口扫描技术和漏洞扫描技术是网络安全扫描技术中的两种核心技术,并且广泛运用于当前较成熟的网络扫描器中,如著名的Nmap和Nessus。鉴于这两种技术在网络安全扫描技术中起着的举足轻重作用,本文将对这两种技术及相关内容做详细的阐述。

3、端口扫描技术

  一个端口就是一个潜在的通信通道,也就是一个入侵通道。对目标计算机进行端口扫描,能得到许多有用的信息。通过端口扫描,可以得到许多有用的信息,从而发现系统的安全漏洞。它使系统用户了解系统目前向外界提供了哪些服务,从而为系统用户管理网络提供了一种手段。

  3.1 端口扫描技术的原理

  端口扫描向目标主机的TCP/IP服务端口发送探测数据包,并记录目标主机的响应。通过分析响应来判断服务端口是打开还是关闭,就可以得知端口提供的服务或信息。端口扫描也可以通过捕获本地主机或服务器的流入流出IP数据包来监视本地主机的运行情况,它仅能对接收到的数据进行分析,帮助我们发现目标主机的某些内在的弱点,而不会提供进入一个系统的详细步骤。

  3.2 各类端口扫描技术

  端口扫描主要有经典的扫描器(全连接)以及所谓的SYN(半连接)扫描器。此外还有间接扫描和秘密扫描等。

  3.2.1 全连接扫描

  全连接扫描是TCP端口扫描的基础,现有的全连接扫描有TCP connect()扫描和TCP反向ident扫描等。其中TCP connect()扫描的实现原理如下所述:

  扫描主机通过TCP/IP协议的三次握手与目标主机的指定端口建立一次完整的连接。连接由系统调用connect开始。如果端口开放,则连接将建立成功;否则,若返回-1则表示端口关闭。建立连接成功:响应扫描主机的SYN/ACK连接请求,这一响应表明目标端口处于监听(打开)的状态。如果目标端口处于关闭状态,则目标主机会向扫描主机发送RST的响应。

  3.2.2 半连接(SYN)扫描

  若端口扫描没有完成一个完整的TCP连接,在扫描主机和目标主机的一指定端口建立连接时候只完成了前两次握手,在第三步时,扫描主机中断了本次连接,使连接没有完全建立起来,这样的端口扫描称为半连接扫描,也称为间接扫描。现有的半连接扫描有TCPSYN扫描和IP ID头dumb扫描等。

  SYN扫描的优点在于即使日志中对扫描有所记录,但是尝试进行连接的记录也要比全扫描少得多。缺点是在大部分操作系统下,发送主机需要构造适用于这种扫描的IP包,通常情况下,构造SYN数据包需要超级用户或者授权用户访问专门的系统调用。

4、漏洞扫描技术

  4.1 漏洞扫描技术的原理

  漏洞扫描主要通过以下两种方法来检查目标主机是否存在漏洞:在端口扫描后得知目标主机开启的端口以及端口上的网络服务,将这些相关信息与网络漏洞扫描系统提供的漏洞库进行匹配,查看是否有满足匹配条件的漏洞存在;通过模拟黑客的攻击手法,对目标主机系统进行攻击性的安全漏洞扫描,如测试弱势口令等。若模拟攻击成功,则表明目标主机系统存在安全漏洞。

  4.2 漏洞扫描技术的分类和实现方法

  基于网络系统漏洞库,漏洞扫描大体包括CGI漏洞扫描、POP3漏洞扫描、FTP漏洞扫描、SSH漏洞扫描、HTTP漏洞扫描等。这些漏洞扫描是基于漏洞库,将扫描结果与漏洞库相关数据匹配比较得到漏洞信息;漏洞扫描还包括没有相应漏洞库的各种扫描,比如Unicode遍历目录漏洞探测、FTP弱势密码探测、OPENRelay邮件转发漏洞探测等,这些扫描通过使用插件(功能模块技术)进行模拟攻击,测试出目标主机的漏洞信息。下面就这两种扫描的实现方法进行讨论:

  (1)漏洞库的匹配方法

  基于网络系统漏洞库的漏洞扫描的关键部分就是它所使用的漏洞库。通过采用基于规则的匹配技术,即根据安全专家对网络系统安全漏洞、黑客攻击案例的分析和系统管理员对网络系统安全配置的实际经验,可以形成一套标准的网络系统漏洞库,然后再在此基础之上构成相应的匹配规则,由扫描程序自动的进行漏洞扫描的工作。

  这样,漏洞库信息的完整性和有效性决定了漏洞扫描系统的性能,漏洞库的修订和更新的性能也会影响漏洞扫描系统运行的时间。因此,漏洞库的编制不仅要对每个存在安全隐患的网络服务建立对应的漏洞库文件,而且应当能满足前面所提出的性能要求。

  (2)插件(功能模块技术)技术

  插件是由脚本语言编写的子程序,扫描程序可以通过调用它来执行漏洞扫描,检测出系统中存在的一个或多个漏洞。添加新的插件就可以使漏洞扫描软件增加新的功能,扫描出更多的漏洞。插件编写规范化后,甚至用户自己都可以用perl、c或自行设计的脚本语言编写的插件来扩充漏洞扫描软件的功能。这种技术使漏洞扫描软件的升级维护变得相对简单,而专用脚本语言的使用也简化了编写新插件的编程工作,使漏洞扫描软件具有强的扩展性。

  4.3 漏洞扫描中的问题及完善建议

  现有的安全隐患扫描系统基本上是采用上述的两种方法来完成对漏洞的扫描,但是这两种方法在不同程度上也各有不足之处。下面将说明这两种方法中存在的问题,并针对这些问题给出相应的完善建议:

  (1)系统配置规则库问题

  网络系统漏洞库是基于漏洞库的漏洞扫描的灵魂所在,而系统漏洞的确认是以系统配置规则库为基础的。但是,这样的系统配置规则库存在其局限性:

  ①如果规则库设计的不准确,预报的准确度就无从谈起;

  ②它是根据已知的安全漏洞进行安排和策划的,而对网络系统的很多危险的威胁却是来自未知的漏洞,这样,如果规则库要新不及时,预报准确度也会逐渐降低;

  ③受漏洞库覆盖范围的限制,部分系统漏洞也可能不会触发任何一个规则,从而不被检测到。

  完善建议:系统配置规则库应能不断地被扩充和修正,这样也是对系统漏洞库的扩充和修正,这在目前仍需要专家的指导和参与才能够实现。

  (2)漏洞库信息要求

  漏洞库信息是基于网络系统漏洞库的漏洞扫描的主要判断依据。如果漏洞库信息不全面或得不到即时的更新,不但不能发挥漏洞扫描的作用,还会给系统管理员以错误的引导,从而对系统的安全隐患不能采取有效措施并及时的消除。

  完善建议漏洞库信息不但应具备完整性和有效性,也应具有简易性的特点,这样即使是用户自己也易于对漏洞库进行添加配置,从而实现对漏洞库的即时更新。比如漏洞库在设计时可以基于某种标准(如CVE标准)来建立,这样便于扫描者的理解和信息交互,使漏洞库具有比较强的扩充性,更有利于以后对漏洞库的更新升级。

  5、结束语

  网络安全扫描技术和主机安全扫描技术都是新兴的技术,与防火墙、入侵检测等技术相比,它们从另一个角度来解决网络安全上的问题。本文就网络安全扫描技术与其包含的端口扫描技术和漏洞扫描技术的一些具体内容进行了阐述和分析。随着网络的发展和内核的进一步修改,新的端口扫描技术及对入侵性的端口扫描的新防御技术还会诞生,而到目前为止还没有一种完全成熟、高效的端口扫描防御技术;同时,漏洞扫描面向的漏洞包罗万象,而且漏洞的数目也在继续的增加。就目前的漏洞扫描技术而言,自动化的漏洞扫描无法得以完全实现,而且新的难题也将不断涌现,因此网络安全扫描技术仍有待更进一步的研究和完善。