跳转至内容

专业性/软件漏洞披露

来自维基教科书,开放的书籍,为开放的世界

软件很少完美。庞大的网络安全人员短缺以及程序员的安全教育不足,为不安全系统的开发创造了完美的环境。[1] 商业竞争将公司的重点从质量转移到速度,导致软件缺陷漏网。这些缺陷可能在系统被许多用户积极使用时重新出现。

软件漏洞披露是指将应用程序安全缺陷的详细信息发布给特定受众的行为。在行业中,这些缺陷通常被称为“零日漏洞”(或当被武器化时称为“零日漏洞利用”)。根据通信方式和受众的不同,这种披露可能导致完全不同的结果。这些缺陷的知识可以带来价值,将其转化为“漏洞价值”。

实际考量

[编辑 | 编辑源代码]

漏洞的重新发现率很高。研究人员估计,每年至少有 15% 到 20% 的漏洞会被独立发现两次以上,超过之前的预期。[2] 某些披露方法或缺乏披露可能会导致漏洞得不到修复,从而使该系统的每个用户都面临重大风险。

在最近的过去,许多组织认为,只要没有人看到代码内部,它就是安全的。这被称为“通过模糊来保证安全”。[3] 如果有人发现了漏洞,通常的做法是忽略研究人员或以法律诉讼威胁他们,从而使漏洞得不到修补。2011 年,一位澳大利亚安全专家帕特里克·韦伯斯特 (Patrick Webster) 曾在警察局担任安全分析师,他发现了 First State Super 公司拥有的软件中的一个严重安全漏洞。在使用该系统时,他发现了一个漏洞,允许用户从该网站所有 770,000 名用户(包括警察和政客)中提取全名、地址、年龄、保险信息、资金金额、受益人和雇主信息。发现后,他立即通知了公司,认为自己是在做好事。几天之内,他的账户被禁用,电脑被没收,他被指控对修复该漏洞的任何费用负责。[4] 在某种程度上,发现漏洞意味着你攻击了该系统。如果没有明确的书面许可或“漏洞赏金”计划,这些发现将研究人员置于法律灰色地带。韦伯斯特的错误在于,他在查看漏洞时实际上将数据下载到了自己的电脑上,这一点被 First State 公司用来攻击他。这种报复会导致研究人员害怕报告他们发现的漏洞的负面影响。幸运的是,新的法律正在颁布,保护这些告密者的权利。[5]

披露后,供应商往往缺乏行动。保加利亚的安全研究员詹姆斯·格伦 (James Glenn) 在思科视频监控系统中发现了一个漏洞。在向他的主管和思科的事件响应团队提交详细报告后,没有采取任何行动。在跟踪并会见思科代表后,他在 3 天内被解雇。这个问题直到几年后美国政府对思科提起诉讼才得到解决。[6]

披露选项

[编辑 | 编辑源代码]

在有意或无意地发现错误后,研究人员有多种选择和披露路径。

  • 不做任何事。 这会让每个使用该系统的人都面临风险。如果研究人员被黑客攻击,攻击者可以窃取漏洞并自行使用。这发生在美国等政府身上,他们囤积漏洞,理由是将来可能需要这些漏洞。[7]
  • 向供应商报告漏洞。 这会将研究人员置于公司的掌控之下,该公司可能会奖励他们或起诉他们。与其他买家相比,货币奖励通常较少。公司致力于保护其数据的安全,而数据泄露会严重损害其声誉,但它们往往低估了风险。
  • 公开发布漏洞。 这显然有负面影响,因为现在任何人都可以(即使是没有安全经验的人,被称为“脚本小子”)利用这个漏洞并使用它,因为还没有现成的补丁。更糟糕的是,其中一些漏洞需要很长时间才能修复。
  • 在灰色/黑市上出售漏洞。 这会将漏洞利用掌握在可能想要执行其议程的国家或恶意行为者手中。收益通常最高,但研究人员会失去对漏洞如何使用的控制权。

这些选项中的每一个都有不同的副作用。可以努力快速修复漏洞,发财,或者保持现状,避免任何职业风险。这些选项中的每一个都有自己的负面后果,因此必须权衡利弊。根据自己的目标和对道德的理解,每位研究人员都必须自己做出选择,几乎所有上述选择都可以被证明是合理的。这些心态可以归类为三种一般动机:利他主义、利润或政治。

公开披露

[编辑 | 编辑源代码]

如今,研究人员可以选择在网上发布零日漏洞。这通常是为了吹嘘,而不是出于恶意。如果研究人员对漏洞没有得到足够的关注或重视,也可能会选择这种披露方式。亚利桑那州的母亲米歇尔·汤普森 (Michele Thompson) 就遇到了这种情况,她在尝试联系这家科技巨头几天后,在推特上发布了苹果 FaceTime 应用程序中的一个漏洞。汤普森的 14 岁儿子发现了一种方法,可以通过这种方法使用 FaceTime 在不提醒被叫手机的情况下接收来自远程来源的音频。[8] 当她意识到自己的电话没有得到回应时,汤普森转向推特,揭露了这个安全问题,这迅速提高了苹果对该问题的重视程度。虽然这不像负责任的披露那样常见,但公开披露代表了一种让关键问题声名大噪的可行方法。这种方法确实让研究人员有可能面临公司的潜在法律诉讼,声称研究人员非法入侵了他们的产品。

负责任的披露

[编辑 | 编辑源代码]

目前,披露零日漏洞最常见的方法是一种类似谈判的方式,研究人员与相关方签订合同。这份合同会给公司一定的时间(通常是 90 天,这是由谷歌的“Project Zero”项目设立的先例),用于复制和解决漏洞。时间期限过后,研究人员可以自由发布漏洞,以获得吹嘘权或任何其他目的。理想情况下,这能让客户在漏洞发布并可能被滥用之前有时间修复问题。然而,在某些情况下,负责任的披露协议可能无法为公司留出足够的时间来修复更复杂的漏洞,或者客户可能认为漏洞优先级过低,不值得处理。对于研究人员来说,负责任的披露流程也可能十分繁琐,他们可能要经过数天或数周的乏味沟通才能看到结果。一些公司为在系统中发现漏洞的研究人员提供常设奖金。微软目前为 Azure 云服务的漏洞提供高达 30 万美元的奖金。但这可能导致公司要筛选大量复杂的漏洞报告,不可避免地会遗漏一些。负责任的披露实践自然而然地催生了规模更大的公司,它们创建了自己的漏洞定价模式和时间框架,能让客户避免与研究人员进行艰难的漏洞价格谈判。这些项目,如 Zerodium 和 Project Zero,让负责任的披露更有条理。

不负责任的披露

[编辑 | 编辑源代码]

不负责任的披露是指以除通知负责该软件的公司或供应商以外的任何方式披露漏洞。它可以有多种形式,通常是研究人员为了个人利益(无论是通过支付还是吹嘘权)而采取的行动。这就是软件漏洞披露的伦理问题所在,研究人员面临着道德行为或为了个人利益而采取不道德行为的选择。一位绰号为“SandboxEscaper”的安全研究人员在推特上发布了一个利用 Windows 缺陷的零日漏洞。她似乎对微软的漏洞赏金计划感到沮丧,这表明公司必须拥有可用的漏洞报告系统。公司也曾犯下不负责任的披露错误。MedSec 是一家网络安全公司,发现圣犹达医疗设备中的漏洞。他们没有通知圣犹达,而是与一家投资公司合作,在披露此漏洞之前做空圣犹达股票,从而从发现中获利。[9] 许多安全领域人士反对此举,因为协议规定 MedSec 应该在发现漏洞后首先通知圣犹达。

未披露

[编辑 | 编辑源代码]

在某些情况下,研究人员或组织发现漏洞后,选择不以任何形式披露,而是自己利用漏洞。这种情况的常见案例是政府机构或公司发现漏洞,并发现可以利用漏洞获取自身利益的机会,通常是收集更多关于竞争对手/国家的信息。NSA 就是一个著名的例子。NSA 发现了一个影响多个 Windows 版本的严重漏洞。他们没有通知微软,而是将该漏洞用于名为 EternalBlue 的工具中,并将其用于秘密目的长达近五年。[10] 2017 年,该工具的代码被泄露,并被用于名为 WannaCry 的勒索软件攻击中,这成为有史以来规模最大的网络攻击之一。[11] NSA 只是在代码泄露后才通知微软该漏洞,并遭到了科技界的强烈批评。

漏洞市场

[编辑 | 编辑源代码]

许多研究人员选择将自己的漏洞出售给第三方市场,通常寻求比负责任地披露漏洞更高的回报。研究人员将这些市场划分为三类:白市、灰市和黑市。白市包括漏洞赏金计划或负责任地向相关方披露漏洞。选择在这些市场上出售的研究人员可以获得丰厚的回报,并且不应该期望漏洞在短期内得到解决。

灰市主要是一个平台,政府机构、国防承包商和其他经纪人可以在此购买软件漏洞。通常,某种实体会充当中间人,让买方和卖方都能保持匿名。在这个市场上进行的交易在技术上是合法的,买方往往支付的价格低于黑市。

黑市性质更加恶劣,通常涉及想要将软件漏洞用于某种非法目的的各方。犯罪组织通常是这个市场的买方,不过一些在灰市无法满足需求的政府机构也可能使用黑市。在这个市场上进行的交易几乎总是违法的,并且发生在暗网上,即不受普通浏览器索引的互联网部分。因此,在这个市场上更容易保持匿名。黑市上的交易平均支付的价格也最高。

参考文献

[编辑 | 编辑源代码]
  1. Crumpler, W., & Lewis, J. A. (2019, January 29). The cybersecurity workforce gap. CSIS. https://www.csis.org/analysis/cybersecurity-workforce-gap
  2. Herr, T., Schneier, B., & Morris, C. (2017, July). Taking Stock: Estimating Vulnerability Rediscovery. Harvard Kennedy School Belfer Center. https://www.belfercenter.org/sites/default/files/files/publication/Vulnerability%20Rediscovery%20%28belfer-revision%29.pdf
  3. SecurityTrails. (2020, February 13). Security through obscurity. https://securitytrails.com/blog/security-through-obscurity
  4. Whittaker, Z. (2018, February 19). Lawsuits threaten infosec research — just when we need it most. ZDNet. https://www.zdnet.com/article/chilling-effect-lawsuits-threaten-security-research-need-it-most/
  5. Rodriguez, K., Opsahl, K., Cardozo, N., Williams, J., Ugarte, R., & Israel, T. (2018, October 16). Protecting security researchers' rights in the Americas. Electronic Frontier Foundation. https://www.eff.org/wp/protecting-security-researchers-rights-americas
  6. Goodwin, B. (2019, August 9). Whistleblowers: James Glenn’s battle with Cisco opens new front on cyber security. Computer Weekly. https://www.computerweekly.com/news/252468089/Whistleblowers-James-Glenns-battle-with-Cisco-opens-new-front-on-cyber-security
  7. Chappell, B. (2017, May 15). WannaCry ransomware: Microsoft calls out NSA for 'stockpiling' vulnerabilities. NPR. https://www.npr.org/sections/thetwo-way/2017/05/15/528439968/wannacry-ransomware-microsoft-calls-out-nsa-for-stockpiling-vulnerabilities
  8. McMillan, R. (2019, January 29). Teenager and his mom tried to warn Apple of FaceTime bug. The Wall Street Journal. https://www.wsj.com/articles/teenager-and-his-mom-tried-to-warn-apple-of-facetime-bug-11548783393
  9. Bone, J. (n.d.). Independent research firm confirms St. Jude security vulnerabilities. MedSec. https://medsec.com/entries/stj-lawsuit-response.html
  10. Burgess, M. (2017, June 28). Everything you need to know about EternalBlue – the NSA exploit linked to Petya. Wired. https://www.wired.co.uk/article/what-is-eternal-blue-exploit-vulnerability-patch
  11. Sherr, I. (2017, May 19). WannaCry ransomware: everything you need to know. Cnet. https://www.cnet.com/news/wannacry-wannacrypt-uiwix-ransomware-everything-you-need-to-know/
华夏公益教科书