呼吁更好的协调漏洞披露
多年来,我们的客户在日益复杂的数字环境中一直处于抵御网络攻击的前线。我们与您同在,其他人也是如此。我们不会离开。有些势力常常试图破坏技术和人员,试图削弱人们依赖和信任的设备和服务。正如恶意行为是经过策划的一样,像微软这样的公司也会实施对策。这些努力旨在保护每个人免受各种活动的侵害,从专注于社会工程技巧的网络钓鱼诈骗,到持续且坚定的对手发起的复杂攻击。(是的,人们也有责任——使用强密码、良好的策略和实践、尽最大努力保持更新、检测和响应等。但这些话题我们改天再谈)。
在所有这些情况下,现在是安全研究者和软件公司团结起来的时候,而不是在重要的保护策略上分裂,例如漏洞的披露和修复。
就整个软件行业和每个参与者的责任而言,我们相信协调漏洞披露(CVD)。这是安全技术专业多年来一直在争论的话题。最终,研究者和供应商之间的漏洞协作是为了限制机会领域,以便客户及其数据更好地受到保护,免受网络攻击。
那些支持完全公开披露的人认为,这种方法推动软件供应商更快地修复漏洞,并使客户采取行动保护自己。我们不同意。在没有上下文或进一步保护路径的情况下发布信息,会给已经复杂的技术环境带来不必要的压力。有必要全面评估潜在的漏洞,设计并针对更广泛的威胁环境进行评估,并在向公众(包括那些可能利用漏洞策划攻击的人)披露之前发布“修复”。我们属于后一阵营。
CVD的理念和行动在今天正在上演,因为一家公司——谷歌——发布了一个微软产品中的漏洞信息,比我们计划修复的时间早了两天,尽管我们请求他们避免这样做。具体来说,我们请求谷歌与我们合作,保护客户,将细节保留到1月13日星期二,届时我们将发布修复。尽管遵循了谷歌宣布的披露时间表,但这一决定感觉不像原则,而更像“抓到了”,客户可能是受害者。对谷歌正确的事情并不总是对客户正确。我们敦促谷歌将保护客户作为我们共同的主要目标。
微软长期以来认为协调披露是正确的做法,可以最小化客户的风险。我们相信,那些在修复广泛可用之前完全披露漏洞的人是在对数百万人们及其依赖的系统造成损害。其他公司和个人认为完全披露是必要的,因为它迫使客户保护自己,尽管绝大多数人没有采取行动,主要依赖软件提供商发布安全更新。即使对于那些能够采取准备步骤的人来说,公开宣布网络犯罪分子可能用来策划攻击的信息也会显著增加风险,并假设那些会采取行动的人已经意识到问题。通过协调披露实践私下披露并由所有软件供应商每年修复的漏洞中,我们发现在向客户提供“修复”之前,几乎没有一个被利用,即使在“修复”公开可用之后,也只有极少数被利用。相反,在受影响产品的修复可用之前公开披露的漏洞的记录要差得多,网络犯罪分子更频繁地针对那些没有或无法保护自己的人策划攻击。
CVD辩论的另一个方面与时间有关——特别是研究者在广泛传播漏洞存在之前可接受的时间量。关于这一点的意见差异很大。我们的方法,也是我们倡导他人采用的方法,是研究者与供应商合作,在发布漏洞细节之前提供保护客户的更新。当然,有些情况下供应商缺乏响应会挑战这一计划,但重点仍应放在保护客户上。您可以通过我们自己的安全专家看到我们的价值观在行动,他们发现并报告许多公司产品中的漏洞,其中一些我们获得认可,许多未被公开认可。我们不认为让我们的安全研究者在竞争对手的产品中发现漏洞,施加压力要求在一定时间范围内进行修复,然后在创建修复之前公开披露可能被用来利用漏洞和攻击客户的信息是正确的。
响应安全漏洞可能是一个复杂、广泛且耗时的过程。作为软件供应商,我们在这方面有多年的经验。时间讨论中的一些复杂性源于我们作为安全专业人员必须考虑的各种环境:客户环境中的实际影响、问题存在的支持平台数量以及修复的复杂性。漏洞并不都是平等的,也没有按照明确定义的标准制造。而且,在线服务的更新可能具有与软件产品修复不同的复杂性和依赖性,数万人构建应用程序的十年旧软件平台或硬件设备也是如此。深思熟虑的协作会考虑这些属性。
为了达到重要安全策略保护客户的目的,我们必须共同努力。我们欣赏并认可与许多安全参与者正在进行的积极协作、信息共享和结果导向。我们请求研究者私下向软件提供商披露漏洞,与他们合作,直到修复可用之前才公开分享任何细节。正是在这种合作中,客户受益最大。限制或忽视这种合作的政策和方法不会使研究者、软件供应商或我们的客户受益。这是一个零和游戏,所有各方最终都会受伤。
让我们面对现实,没有软件是完美的。它毕竟是由人类制造的。微软有责任以客户的最佳利益为重,快速、全面地解决安全问题,并以继续支持提供技术以积极影响人们生活的庞大生态系统的方式。软件是有机的,使用模式和实践会变化,新系统建立在测试(在某些情况下超出)其原始设计限制的产品之上。在许多方面,这就是我们生活的快速演变世界中软件的令人兴奋的部分。陈述这些点绝不是推卸责任。我们的工作是构建尽可能最好的软件,并尽最大努力持续保护它。我们全力以赴。
Chris Betz
高级总监,MSRC
可信计算