大多数公司经常使用安全漏洞扫描软件来清查计算机资产。其想法是,你运行扫描软件后,按危急程度列出每台计算机上的众多安全漏洞,然后逐一修复,因而让贵公司更难被黑客攻击。
只可惜,这种想法很少最后成为现实。本人参观的每家公司最后列出了一长串安全漏洞,可是之后对它们基本上无所作为。我经常看到一些公司存在成千上万个明显的安全漏洞。上个月我就碰到过一家公司存在的安全漏洞居然超过100万个。
为什么大多数公司似乎满足于仅仅发现和登记漏洞安全,而不是随后也修复这些漏洞呢?当然,安全漏洞的绝对数量之多肯定让人头大。我的意思是说,如果贵公司环境中的每台计算机都有数十个至数百个安全漏洞,该从何处开始下手?
从最要紧的抓起
我可以回答这个问题:首先解决那些风险最高、危急程度最高的安全漏洞。先从最关键的服务器和管理员用户的计算机开始查起,然后再查不大关键的计算机和用户。这么做的前提是假设你准确清查了计算机环境,详细列出了最关键的应用程序,而且深入了解它们之间的依赖关系。
比如说,你的人力资源系统可能很关键,但是还需要别的什么系统来支持它?如今,大多数系统需要网络设备、接口、DNS、或许活动目录以及其他基础设施支持服务。关键的用户工作站不仅包括网络和基础设施管理员,还包括人力资源系统的权限提升的用户。
如果你确确实实认真分析了关键业务型系统及它们之间的所有依赖关系,可能会发现,40%或更多的系统被认为是关键型。关键系统不应该含有危急的安全漏洞,是不是?
当然,不是所有被列为“关键”的系统都一样重要。大多数安全漏洞扫描软件程序给安全漏洞排序时使用简单的描述(低风险、中风险、高风险或危急),或者使用数值化评分系统。后者方面最有名的例子之一就是常见通用漏洞评分系统(Common Vulnerability Scoring System),它将安全漏洞按从低值(0.0)到高值(10.0)来进行排序。我尤其喜欢包括其他因素的评分系统,比如修复漏洞需要的工作以及该安全漏洞在外头是否被人积极利用。
清理周边
不管第三方如何看待关键或非关键系统,真正重要的是,贵公司环境易受安全漏洞影响的程度以及它在过去是不是成功闯入了贵公司的系统。你的业务部门及/或基础设施可能有特殊特点,可能会尽量减小或提升某个安全漏洞在贵公司环境的风险系数。
另外,安全漏洞扫描软件经常报告每一个安全漏洞,不管显示该安全漏洞的软件是不是被积极使用。我经常发现有的软件不仅数年来没有运行过,而且不太可能再次运行。大多数安全漏洞扫描软件不会作出这种区别,不过这一点很重要。
牢记一点:连最出色的安全漏洞扫描软件也并不是非常正确。我知道,自己会从厂商那里收到宣称其扫描软件正确无误的电子邮件,但是安全漏洞扫描软件比很不可靠的反恶意软件软件还不可靠。只要我运行安全漏洞扫描软件以便手动评估系统,我总是会发现多出50%的安全漏洞。
这不能怪罪于安全漏洞扫描软件。它只能查找本身旨在可以查找的那些安全漏洞,而计算机异常复杂。一名较出色的取证分析研究人员或黑客会发现安全漏洞扫描软件的“漏网之鱼”――奇怪地方的异常文件名、不应该出现的软件、密码列表,诸如此类;这会导致留下浏览路径记录(breadcrumb trail),只有人类才能跟踪分析。
通常来说,大多数安全漏洞扫描在查找没有打上补丁的软件方面很糟糕。一些最出色的补丁管理软件程序能检测出成千上万个不同的程序。最出色的安全漏洞扫描软件只会查找大约几百个程序。
防御行动
要关注让黑客有机会得以潜入贵公司环境的安全漏洞。太多的人一心想知道不法分子一旦手里已经拿到了“打开王国的钥匙”,会搞什么破坏活动。他们会窃取网络登录信息吗?他们会植入记录击键内容的恶意软件吗?他们会窃取关键信息吗?
一旦不法分子潜入进来,获得了提升的权限,这实际上表明胜负已见分晓:你输定了。所以,而是应当首先致力于阻止入侵者获得访问你网络的权限提升的登录信息。
这就引出了另一个忠告:有些安全漏洞(比如无知的用户)是安全漏洞扫描软件永远发现不了的。大多数公司告诉我,它们的环境最经常被没有打上补丁的软件和社会工程学伎俩钻空子。如果你摈弃了易受攻击的软件,别忘了对你的用户加强安全培训。
如果已经列出了成千上万个安全漏洞,不要坐在那里,什么都不做。要是不堵住其中最危急的安全漏洞,你就无法保护自身环境的安全。
当然,负责运行安全漏洞扫描软件的每个人早已知道这一点。我这是说了一套你本来就了解的。我认识到,不是你不懂这一点,而是管理层不懂这一点。带着我的祝福,将本文链接发给管理层吧。