目前,市场上有很多隐患扫描工具,按照不同的技术(基于网络的、基于主机的、基于代理的、C/S的)、不同的特征、不同的报告方法,以及不同的监听模式,可以分成好几类。不同的产品之间,漏洞检测的准确性差别较大,这就决定了生成的报告的有效性上也有很大区别。
选择正确的隐患扫描工具,对于提高你的系统的安全性,非常重要。
1、漏洞扫描概述
在字典中,Vulnerability意思是漏洞或者缺乏足够的防护。在军事术语中,这个词的意思更为明确,也更为严重------有受攻击的嫌疑。
每个系统都有漏洞,不论你在系统安全性上投入多少财力,攻击者仍然可以发现一些可利用的特征和配置缺陷。这对于安全管理员来说,实在是个不利的消息。但是,多数的攻击者,通常做的是简单的事情。发现一个已知的漏洞,远比发现一个未知漏洞要容易的多,这就意味着:多数攻击者所利用的都是常见的漏洞,这些漏洞,均有书面资料记载。
这样的话,采用适当的工具,就能在黑客利用这些常见漏洞之前,查出网络的薄弱之处。如何快速简便地发现这些漏洞,这个非常重要。
漏洞,大体上分为两大类:
① 软件编写错误造成的漏洞;
② 软件配置不当造成的漏洞。
漏洞扫描工具均能检测以上两种类型的漏洞。漏洞扫描工具已经出现好多年了,安全管理员在使用这些工具的同时,黑客们也在利用这些工具来发现各种类型的系统和网络的漏洞。
2、隐患扫描工具的衡量因素
决定是否采用隐患扫描工具来防范系统入侵是重要的第一步。当您迈出了这一步后,接下来的是:如何选择满足您公司需要的合适的隐患扫描技术,这同样也很重要。以下列出了一系列衡量因素:
① 底层技术(比如,是被动扫描还是主动扫描,是基于主机扫描还是基于网络扫描);
② 特性;
③ 漏洞库中的漏洞数量;
④ 易用性;
⑤ 生成的报告的特性(内容是否全面、是否可配置、是否可定制、报告的格式、输出方式等);
⑥ 对于漏洞修复行为的分析和建议(是否只报告存在哪些问题、是否会告诉您应该如何修补这些漏洞);
⑦ 安全性(由于有些扫描工具不仅仅只是发现漏洞,而且还进一步自动利用这些漏洞,扫描工具自身是否会带来安全风险);
⑧ 性能;
⑨ 价格结构
2.1 底层技术比较漏洞扫描工具,第一是比较其底层技术。你需要的是主动扫描,还是被动扫描;是基于主机的扫描,还是基于网络的扫描,等等。一些扫描工具是基于Internet的,用来管理和集合的服务器程序,是运行在软件供应商的服务器上,而不是在客户自己的机器上。这种方式的优点在于检测方式能够保证经常更新,缺点在于需要依赖软件供应商的服务器来完成扫描工作。
扫描古城可以分为"被动"和"主动"两大类。被动扫描不会产生网络流量包,不会导致目标系统崩溃,被动扫描工具对正常的网络流量进行分析,可以设计成"永远在线"检测的方式。与主动扫描工具相比,被动扫描工具的工作方式,与网络监控器或IDS类似。
主动扫描工具更多地带有"入侵"的意图,可能会影响网络和目标系统的正常操作。他们并不是持续不断运行的,通常是隔一段时间检测一次。
基于主机的扫描工具需要在每台主机上安装代理(Agent)软件;而基于网络的扫描工具则不需要。基于网络的扫描工具因为要占用较多资源,一般需要一台专门的计算机。
如果网络环境中含有多种操作系统,您还需要看看扫描其是否兼容这些不同的操作系统(比如Microsoft、Unix以及Netware等)。
2.2 管理员所关心的一些特性
通常,漏洞扫描工具完成一下以下?功能:扫描、生成报告、分析并提出建议,以及数据管理。在许多方面,扫描是最常见的功能,但是信息管理和扫描结果分析的准确性同样很重要。另外要考虑的一个方面是通知方式:当发现漏洞后,扫描工具是否会向管理员报警?采用什么方式报警?
对于漏洞扫描软件来说,管理员通常关系以下几个方面:
① 报表性能好;
② 易安装,易使用;
③ 能够检测出缺少哪些补丁;
④ 扫描性能好,具备快速修复漏洞的能力;
⑤ 对漏洞及漏洞等级检测的可靠性;
⑥ 可扩展性;
⑦ 易升级性;
⑧ 性价比好;
2.3 漏洞库
只有漏洞库中存在相关信息,扫描工具才能检测到漏洞,因此,漏洞库的数量决定了扫描工具能够检测的范围。
然而,数量并不意味着一切,真正的检验标准在于扫描工具能否检测出最常见的漏洞?最根本的在于,扫描工具能否检测出影响您的系统的那些漏洞?扫描工具中有用的总量取决于你的网络设备和系统的类型。你使用扫描工具的目的是利用它来检测您的特定环境中的漏洞。如果你有很多Netware服务器,那么,不含Netware漏洞库的扫描工具就不是你的最佳选择。
当然,漏洞库中的攻击特性必须经常升级,这样才能检测到最近发现的安全漏洞。
2.4 易使用性
一个难以理解和使用的界面,会阻碍管理员使用这些工具,因此,界面友好性尤为重要。不同的扫描工具软件,界面也各式各样,从简单的基于文本的,到复杂的图形界面,以及Web界面。
2.5 扫描报告
对管理员来说,扫描报告的功能越来越重要,在一个面向文档的商务环境中,你不但要能够完成你的工作,而且还需要提供书面资料说明你是怎样完成的。事实上,一个扫描可能会得到几百甚至几千个结果,但是这些数据是没用的,除非经过整理,转换成可以为人们理解的信息。这就意味着理想情况下,扫描工具应该能够对这些数据进行分类和交叉引用,可以导到其他程序中,或者转换成其他格式(比如CSV,HTML,XML,MHT,MDB,EXCEL以及Lotus等等),采用不同方式来展现它,并且能够很容易的与以前的扫描结果做比较。
2.6 分析与建议
发现漏洞,才完成一半工作。一个完整的方案,同时将告诉你针对这些漏洞将采取哪些措施。一个好的漏洞扫描工具会对扫描结果进行分析,并提供修复建议。一些扫描工具将这些修复建议整合在报告中,另外一些则提供产品网站或其它在线资源的链接。
漏洞修复工具,它可以和流行的扫描工具结合在一起使用,对扫描结果进行汇总,并自动完成修复过程。
2.7 分析的准确性
只有当报告的结果是精确的,提供的修复建议是有效的,一份包含了详细漏洞修复建议的报告, 才算是一份优秀的报告。一个好的扫描工具必须具有很低的误报率(报告出的漏洞实际上不存在)和漏报率(漏洞存在,但是没有检测到)。
2.8 安全问题
因扫描工具而造成的网络瘫痪所引起的经济损失,和真实攻击造成的损失是一样的,都非常巨大。一些扫描工具在发现漏洞后,会尝试进一步利用这些漏洞,这样能够确保这些漏洞是真实存在的,进而消除误报的可能性。但是,这种方式容易出现难以预料的情况。在使用具备这种功能的扫描工具的时候,需要格外小心,最好不要将其设置成自动运行状态。
扫描工具可能造成网络失效的另一种原因,是扫描过程中,超负荷的数据包流量造成拒绝服务(DOS,Denial Of Service)。为了防止这一点,需要选择好适当的扫描设置。相关的设置项有:并发的线程数、数据包间隔时间、扫描对象总数等,这些项应该能够调整,以便使网络的影响降到最低。一些扫描工具还提供了"安全扫描"的模板,以防止造成对目标系统的损耗。
2.9 性能
扫描工具运行的时候,将占用大量的网络带宽,因此,扫描过程应尽快完成。当然,漏洞库中的漏洞数越多,选择的扫描模式越复杂,扫描所耗时间就越长,因此,这只是个相对的数值。提高性能的一种方式,是在企业网中部署多个扫描工具,将扫描结果反馈到一个系统中,对扫描结果进行汇总。
3、隐患扫描工具的价格策略
商业化的扫描工具通常按以下几种方式来发布器授权许可证:按IP地址授权,按服务器授权,按管理员授权。不同的授权许可证方式有所区别。
3.1 按IP段授权
许多扫描其产品,比如eEye的Retina和ISS(Internet Security Scanner)要求企业用户按照IP段或IP范围来收费。换句话说,价格取决于所授权的可扫描的IP地址的数目。
3.2 按服务器授权
一些扫描工具供应商,按照每个服务器/每个工作站来计算器许可证的价格。服务器的授权价格会比工作站高很多,如果有多台服务器的话,扫描工具的价格会明显上升。
3.3 按管理员授权
对于大多数企业而言,这种授权方式,比较简单,性价比也较好。
4、总结
在现在的互联网环境中,威胁无处不在。在1-3季度,CERT协调中心就收到超过114,000个漏洞事件报告,这个数字超过2002年的总和,这表明,此类事件在不断增长中。为了防范攻击,第一件事就是在黑客发动攻击之前,发现网络和系统中的漏洞,并及时修复。
但是,漏洞扫描工具在特性、精确性、价格以及可用性上差别较大,如何选择一个正确的隐患扫描工具,尤为重要。