安全扫描结果 请保持怀疑态度
来源:硅谷动力 更新时间:2012-04-13
            我经常在视频共享服务soapbox上谈论关于保证信息安全需要如何好的安全检测工具的话题。这一结论尤其适用于深入操作系统、Web应用程序和数据库漏洞扫描器。

  安全检测工具是快速、有效地发现操作系统(operating systems ,OSes)和应用软件安全漏洞的工具,而且,发现相同的安全漏洞可能会花费安全专家几天或几周的时间(我是想说,如果他们可以发现的话)。简单地说,好的漏洞扫描器可以使正在进行的安全评定工作更顺利,同时,它也是为了防止不安全因素的必备工具。不过,你还是要对漏洞扫描器发现的定义为漏洞的结果持怀疑态度。

  漏洞扫描器发现的并不全是真的漏洞。漏洞扫描器会报告商家认为是重要的信息。问题就是许多被发现的漏洞或者许多被标为高级、中级、低级的漏洞并不真的是这种环境下的安全漏洞。

  不过这也是一种偏见或矛盾吧,当一安全核查员进行检测时,他会把任何事都看成是问题。同样,你请来的外部专家在进行独立检测时也是如此。一份发现大量安全漏洞的报告可能会使专家们看起来更尽职,但是,其实企业并不真的想要这样一份报告。

  在安全工具提供商看来,他们应该提供尽量多的安全信息,而不是不充足的信息。这当然是没有错,不过这就需要我们作一些筛选工作。

  在安全检测报告中,我经常发现一些被标为重要安全问题――通常是“5级(Level 5)”或“高优先级(high-priority)”――其实经过测试在运行环境中根本不是什么问题。这些问题包括:

  •   在登陆网络时可以访问Windows 共享。
  •   没有确定补丁或修复的操作系统或网络协议问题。
  •   在Web服务器上发现的对攻击者没有任何价值的默认操作指南和其它“readme”类型文件。
  •   不实际存在的cross-site脚本漏洞和SQL注入漏洞。
  •   当你需要像RPC和ICMP这样的基本网络协议时,不论何事却被标为enabled。
  •   只有以sa account登陆才能访问数据库表、记录文件等其它敏感信息。
  •   当公众何时都可访问电子邮件、FTP和远程登陆banners。
  •   永远都不会在传输中被攻击的与数据相关的加密漏洞。即使真存在这样的加密漏洞,被黑客捕获的小量信息也没有任何价值。进行判断时需要考虑的内容包括――当时正在测试什么,漏洞是从哪里测试到,漏洞是怎样被检测到,谁进行该项操作,为什么存在漏洞以及时候能够修复。

  这时你可以教育其他人(包括你的老板或项目赞助商),过犹不及。也总是会有一些安全问题存在的。

  其中有六项注意事项:

  •   非常了解你的网络和应用程序环境。熟悉网络中每一部分(路由器、防火墙、工作站、服务器、应用程序和数据库)是如何协调工作的。也是就创建、维护复杂的网络图表。
  •   挑选一组优秀的漏洞扫描工具(如,分别为操作系统、Web应用程序和数据库挑选漏洞扫描工具)。坚持使用这些工具,并且不断了解学习相关知识。我使用某一漏洞扫描工具已经有六年多的时间,可我仍然不断了解它的新功能,不断学习怎样处理它的结果报告。
  •   不断提高技术技能。阅读文章、书籍,听网络广播,参加研讨会和会议,使自己了解关于网络协议、操作系统、数据库、甚至是基础软件发展概念(特别是与Web应用程序相关)的技术细节。这样会帮助你理解漏洞扫描器报告的内容。
  •   将注意力放在扫描器发现的重要漏洞上――就是指在最重要系统上的、能立刻产生严重后果的漏洞。解决这些有决定意义的问题。
  •   为下雨天保留一些漏洞,就是说当你没有其它任何事情要作时再解决这些漏洞问题。例如,如果你的检测工具将某一问题标为严重问题,但是不能对此执行任何操作,不能搜集关于该问题的任何信息也不能手动发现这个漏洞,那么这个问题也许并不紧急、并不重要。
  •   如果你对某一漏洞有所怀疑,永远不要执行漏洞扫描器建议的“修复”操作。这会引起比漏洞问题更大的麻烦。

  不论你的安全扫描工具多么智能,也不论工具提供商怎么说,你还是要自己看一下,根据自己关于网络、扫描器和信息安全的知识,大概判断一下哪些问题需要报告,而哪些问题不需要在意。当然,我们需要好的工具,可是最后,什么都不能替代人类的丰富经验。