补丁管理最佳实践已经规定:在对关键的IT资产和至关重要的业务流程安装补丁前进行严格的测试。但是当遇到需要缓解零日漏洞的紧迫补丁时,这个建议显得有些矛盾。Gartner有限公司的John Pescatore写道,在未来,比起彻底地测试补丁,迅速地实施它们显得更加重要。一些企业遇到零日漏洞时采用了“先打补丁,后修补”的方法,但是,对于一个现代企业的补丁管理流程来说这是最佳的实践吗?要抛弃测试吗?这就是本文我们要讨论的内容。
快速修补的危险是,如果你的组织安装了未经测试的补丁,并且它中断了至关重要的应用,相比于补丁要预防的攻击,补救工作可能给业务造成更多的破坏。补丁造成的问题并不少见,但是调查显示,只有很小比例的系统宕机是由于未经测试的补丁引起的。
这意味着,如果你运行相对最新和标准的操作、且不是关键任务,但可能会成为黑客的目标,那么你应该安装马上能解决零日漏洞的补丁,而不是进行测试,以后再处理任何影响。然而,如果你有老式或是老化的基础设施在过去曾经受到补丁的影响——也就是众所周知的脆弱资产——或系统是至关重要的,那么你应该在安装前继续进行补丁测试。尽可能避免对脆弱的资产进行变更,要么直到解决让它们脆弱的问题要么换掉它们。
谢天谢地,大多数的厂商意识到了打补丁的沉重负担。他们会定期地发布补丁、并提供建议性的服务来提醒你什么时候会发布带外补丁(out-of-band patch),以便企业做好准备。此外,运行虚拟测试实验室的成本已大幅下降,所以许多生产系统能够在测试实验室复制,并对补丁的效果进行可靠的测试和评价。
核查某个零日漏洞是否确实会影响你的系统总是值得的。最近许多严重的Adobe漏洞对于已创建的应用来说不值得关注,比如PDF格式发票(PDF invoices),但是千万不要打开PDF文档。配置设置,其它的安全控制,或是不可靠的、不切实际的漏洞可能意味着在你的特殊的系统上无法利用该漏洞。检查这种情况的一个方法是,充分利用Metasploit框架应用来测试你的系统。了解某个漏洞是否会对你的网络引起风险很重要,这使得你可以对打补丁、升级和变更防火墙及IDS进行优先顺序安排。
另一个选择是虚拟化补丁。虚拟化补丁的目的是通过控制受影响应用的输入或输出来改变或消除漏洞。它可能是降低风险的极具价值的技术,该风险是由厂商发布补丁以及公司无法定期地测试补丁和回滚之间的时间间隔所造成的。
对大多数管理员和IT组织来说,比起彻底的测试补丁,迅速的实施它们更为重要。然而对于其他人来说,考虑到进行测试并发现与现有配置可能存在的冲突、以及确保可预知的回滚方案所需的时间,冒着风险运行暴露在外的系统仍然是值得的。这种情况下,一个虚拟的测试实验室是必不可少的。这样能够进行虚拟化补丁并使用像Metasploit这样的工具来查明真正的风险,从而可以进行更为彻底的测试而无需让系统暴露在外。
最后,肯定没有放之四海而皆准的补丁管理流程。大都依赖于单个系统的关键性以及IT部门处理日常维护工作可使用的资源。