随着Internet的不断发展,信息技术已经对经济发展、社会进步产生了巨大的推动力。当今社会高度的计算机化信息资源对任何人无论在任何时候、任何地方都变得极有价值。不管是存储在工作站、服务器中还是流通于Internet上的信息,都已转变成为一个关系事业成败的策略点,因此,保证信息资源的安全就显得格外重要。目前,国内网络安全产品主要是以硬件为主,其中包括防火墙、入侵检测系统(IDS)、入侵防御系统(IPS)、防病毒网关、虚拟专用网(***)以及物理隔离卡等产品,其中防火墙、入侵检测系统、***应用较为广泛。漏洞扫描系统也是网络安全产品中不可缺少的一部分,有效的安全扫描是增强计算机系统安全性的重要措施之一,它能够预先评估和分析系统中存在的各种安全隐患。换言之,漏洞扫描就是对系统中重要的数据、文件等进行检查,发现其中可被黑客所利用的漏洞。随着黑客入侵手段的日益复杂和通用系统不断发现的安全缺陷,预先评估和分析网络系统中存在的安全问题已经成为网络管理员们的重要需求。漏洞扫描的结果实际上就是系统安全性能的一个评估报告,它指出了哪些攻击是可能的,因此成为网络安全解决方案中的一个重要组成部分。
漏洞扫描技术的原理
漏洞扫描系统是用来自动检测远程或本地主机安全漏洞的程序(安全漏洞通常指硬件、软件、协议的具体实现或系统安全策略方面存在的安全缺陷)。漏洞扫描按功能大致可分为:操作系统漏洞扫描、网络漏洞扫描和数据库漏洞扫描。若针对检测对象的不同,漏洞扫描还可分为网络扫描、操作系统扫描、WWW服务扫描、数据库扫描以及最近出现的无线网络扫描。目前,漏洞扫描,从底层技术来划分,也可以分为基于网络的扫描和基于主机的扫描这两种类型。
漏洞扫描主要通过以下两种方法来检测目标主机是否存在漏洞:在端口扫描后得知目标主机开启的端口以及端口上的网络服务,将这些相关信息与网络漏洞扫描系统提供的漏洞库进行匹配,查看是否有满足匹配条件的漏洞存在(如***1所示);通过模拟黑客的攻击手法,对目标主机系统进行攻击性的安全漏洞扫描,如测试弱势口令等。一旦模拟攻击成功,则表明目标主机系统存在安全漏洞,下面列出两种漏洞扫描实现的方法。
(1) 漏洞库的特征匹配方法
基于网络系统漏洞库的漏洞扫描的关键部分就是它所使用的漏洞特征库。通过采用基于规则的模式特征匹配技术,即根据安全专家对网络系统安全漏洞、黑客攻击案例的分析和系统管理员对网络系统安全配置的实际经验,可以形成一套标准的网络系统漏洞库,然后再在此基础之上构成相应的匹配规则,由扫描程序自动进行漏洞扫描。若没有被匹配的规则,系统的网络连接是禁止的。
因此,漏洞库信息的完整性和有效性决定了漏洞扫描系统的性能,漏洞库的修订和更新的性能也会影响漏洞扫描系统运行的时间。因此,漏洞库的编制不仅要对每个存在安全隐患的网络服务建立对应的漏洞库文件,而且应当能满足前面所提出的性能要求。
(2)功能模块(插件)技术
插件是由脚本语言编写的子程序,扫描程序可以通过调用它来执行漏洞扫描,检测出系统中存在的一个或多个漏洞。添加新的插件就可以使漏洞扫描软件增加新的功能,扫描出更多的漏洞。插件编写规范化后,甚至用户自己都可以用Perl、C等脚本语言编写的插件来扩充漏洞扫描软件的功能。这种技术使漏洞扫描软件的升级维护变得相对简单,而专用脚本语言的使用也简化了编写新插件的编程工作,使漏洞扫描软件具有很强的扩展性。
基于网络的漏洞扫描技术
基于网络的漏洞扫描器,就是通过网络来扫描远程计算机中TCP/IP不同端口的服务,然后将这些相关信息与系统的漏洞库进行模式匹配,如果特征匹配成功,则认为安全漏洞存在;或者通过模拟黑客的攻击手法对目标主机进行攻击,如果模拟攻击成功,则认为安全漏洞存在。
网络漏洞扫描系统(简称扫描器),是指通过网络远程检测目标网络和主机系统漏洞的程序,它对网络系统和设备进行安全漏洞检测和分析,从而发现可能被入侵者非法利用的漏洞。漏洞扫描器多数采用基于特征的匹配技术,与基于误用检测技术的入侵检测系统相似。扫描器首先通过请求/应答,或通过执行攻击脚本,来搜集目标主机上的信息,然后在获取的信息中寻找漏洞特征库定义的安全漏洞,若匹配成功,则认为安全漏洞存在。可以看到,安全漏洞能否发现很大程度上取决于漏洞特征的定义。基于网络的漏洞扫描器,一般有以下几个主要模块组成(如***2所示):
漏洞数据库模块:漏洞数据库包含了各种操作系统的各种漏洞信息,以及如何检测漏洞的指令。由于新的漏洞会不断出现,该数据库需要经常更新,以便能够检测到新发现的漏洞。
扫描引擎模块:扫描引擎是扫描器的主要部件。根据用户配置控制台部分的相关设置,扫描引擎组装好相应的数据包,发送到目标系统,将接收到的目标系统的应答数据包与漏洞数据库中的漏洞特征进行比较,来判断所选择的漏洞是否存在。
扫描知识库模块:通过查看内存中的配置信息,该模块监控当前活动的扫描,将要扫描的漏洞的相关信息提供给扫描引擎,同时还接收扫描引擎返回的扫描结果。
结果存储器和报告生成工具:报告生成工具,利用当前活动扫描知识库中存储的扫描结果,生成扫描报告。扫描报告将告诉用户配置控制台设置了哪些选项,根据这些设置,扫描结束后,在哪些目标系统上发现了哪些漏洞。
基于主机的漏洞扫描技术
主机漏洞扫描器则通过在主机本地的程序对系统配置、注册表、系统日志、文件系统或数据库活动进行监视扫描,搜集他们的信息,然后与系统的漏洞库进行比较,如果满足匹配条件,则认为安全漏洞存在。比如,利用低版本的DNS Bind漏洞,攻击者能够获取root权限,侵入系统或者攻击者能够在远程计算机中执行恶意代码。使用基于网络的漏洞扫描工具,能够监测到这些低版本的DNS Bind是否在运行。一般来说,基于网络的漏洞扫描工具可以看作为一种漏洞信息收集工具,根据不同漏洞的特性,构造网络数据包,发给网络中的一个或多个目标服务器,以判断某个特定的漏洞是否存在。
漏洞扫描技术中存在的问题
网络安全扫描产品的核心功能在于检测目标网络设备存在的各种网络安全漏洞,针对发现的网络安全漏洞提供详尽的检测报告和切实可行的网络安全漏洞解决方案,使系统管理员在黑客入侵之前将系统可能存在的各种网络安全漏洞修补好,避免黑客的入侵而造成不同程度的损失。
网络漏洞扫描系统发展迅速,产品种类繁多,且各具特点,在功能和性能上存在着一定的差异。漏洞扫描系统大多采用软件产品来实现,也有厂家采用硬件产品来实现漏洞扫描。通常以三种形式出现:单一的扫描软件,安装在计算机或掌上电脑上,例如ISS Internet Scanner;基于客户机(管理端)/服务器(扫描引擎)模式或浏览器/服务器模式,通常为软件,安装在不同的计算机上,也有将扫描引擎做成硬件的,例如Nessus;其他安全产品的组件,例如防御安全评估就是防火墙的一个组件。在安全扫描中,硬件设备的资源能够承受多数量的主机。与通常的软件扫描器相比,由于承载的硬件嵌入系统平台经过特别优化,其扫描效率远远高于一般的安全扫描软件。本文分别介绍了基于网络的漏洞扫描工具和基于主机的漏洞扫描工具,现有的漏洞扫描系统基本上是采用上述的两种方法来完成对漏洞的扫描,但是这两种方法在不同程度上也各有不足之处,主要表现在:
(1)系统配置特征规则库问题
网络系统漏洞库是基于漏洞库的漏洞扫描的灵魂所在,而系统漏洞的确认是以系统配置特征规则库为基础的。但是,这样的系统配置特征规则库存在其局限性。专家建议,系统配置特征规则库应能不断地被扩充和修正,这样也是对系统漏洞库的扩充和修正,但这些又需要专家的指导和参与才能够实现。
(2)针对漏洞库信息要求
漏洞库信息是基于网络系统漏洞库的漏洞扫描的主要判断依据。如果漏洞库信息不全面或得不到即时的更新,不但不能发挥漏洞扫描的作用,还会给系统管理员以错误的引导,从而对系统的安全隐患不能采取有效措施并及时消除。专家建议,在按照某一标准设计漏洞库的同时,还应该让漏洞库信息具备完整性、有效性、简易性等特点,这样即使是用户自己也易于对漏洞库进行添加配置,从而实现对漏洞库的即时更新。
结束语
漏洞扫描技术是一门新兴的技术,它从另一个角度解决网络安全问题。具体来讲,防火墙技术是被动防御,而漏洞扫描技术则是主动防御。与防火墙、入侵检测等技术相比,它从另一个角度来解决网络安全上的问题。本文就网络安全扫描技术与其包含端口漏洞扫描技术的一些具体内容进行了阐述和分析。随着网络的发展和内核的进一步修改,新的扫描技术及对入侵性的漏洞扫描的新防御技术还会诞生,而到目前为止还没有一种完全成熟、高效的漏洞扫描防御技术;同时,漏洞扫描面向的漏洞包罗万象,而且漏洞的数目也在持续地增加。就目前的漏洞扫描技术而言,将结合人工智能、模式识别等知识逐渐地被提高,但是自动化的漏洞扫描无法得以完全实现,而且新的难题也将不断涌现,因此网络安全扫描技术仍有待更进一步地研究和完善。
总之,网络安全扫描系统,是维护网络安全所必备的系统级网络安全产品之一,其存在的重要性和必要性正被广大用户所接受和认可。
转载请注明出处学文网 » 浅析网络安全中的漏洞扫描技术