零日攻击零日漏洞或零时差漏洞(英語:zero-day vulnerability、0-day vulnerability)是指软件或硬件中还没有有效补丁的安全漏洞,并且其供应商通常不知晓,而零日攻击或零时差攻击(英語:zero-day exploit、zero-day attack)则是指利用这种漏洞进行的攻击。由于漏洞已经被描述或被利用,留给软/硬件供应商来准备补丁的时间只有“零天”。[1] 尽管只有少数网络攻击是基于零日漏洞的,但通常认为这比已知漏洞具有更大威胁,因为可以采取的对策更少。 国家是零日漏洞的主要使用者,因为发现、购买和编写攻击软件的代价都很高。许多漏洞是由黑客或安全研究人员发现的,除了留作己用,他们还可能会向软/硬件供应商披露这些漏洞(通常是为了换取漏洞赏金),亦或是出售给国家或犯罪集团。在许多流行的软件公司开始对消息和数据进行加密之后,零日漏洞的使用有所增加,因为被加密的数据一般只能通过在其尚未被加密时入侵软件来获取。 定义尽管开发人员的目标是交付完全按预期工作的产品,但实际上所有软件和硬件都包含错误。[2]如果一个错误造成了安全风险,它就被称为漏洞。漏洞的可利用性因恶意攻击者而异。有些漏洞根本无法利用,而另一些漏洞则可被用于通过拒绝服务攻击扰乱设备。最有价值的漏洞允许攻击者在用户不知情的情况下注入并运行他们自己的代码。[3] 虽然“零日”一词最初指的是软硬件供应商意识到漏洞后的时间,但零日漏洞也可以定义为没有补丁或其他修复程序可用的漏洞的部分集合。[4][5][6]零日攻击是指利用此类漏洞的任何攻击。[3] 漏洞利用漏洞利用是指利用漏洞侵入目标系统以达到破坏操作、安装恶意软件或窃取数据等目的的传送机制。[7] 研究人员 Lillian Ablon 和 Andy Bogart 写道,“关于零日漏洞利用的真实程度、用途、益处和危害,我们知之甚少”。[8] 基于零日漏洞的漏洞利用被认为比利用已知漏洞的漏洞利用更危险。[9][10] 然而,大多数网络攻击很可能利用的是已知漏洞,而不是零日漏洞。[8] 国家是零日漏洞利用的主要使用者,这不仅是因为发现或购买漏洞的成本高昂,还因为编写攻击软件的成本也很高。然而,任何人都可以使用漏洞,[5] 根据兰德公司的研究,“任何坚决的攻击者都可以以可承受的价格获得针对几乎任何目标的零日漏洞”。[11] 许多定向攻击[12] 和大多数高级持续性威胁都依赖于零日漏洞。[13] 据估计,从零日漏洞开发漏洞利用的平均时间为 22 天。[14] 由于流行软件中反漏洞利用功能的增强,开发漏洞利用的难度一直在增加。[15] 漏洞窗口零日漏洞通常分为活漏洞(alive vulnerabilities):指未向公众披露的漏洞;以及死漏洞(dead vulnerabilities):指已被公开披露但尚未修补的漏洞。活漏洞分为正被维护者积极寻找的活跃漏洞(living vulnerabilities);以及无维护软件中的永生漏洞(immortal vulnerabilities)。另外僵尸漏洞(zombie vulnerabilities)是指已在新版本中被修补,但能够在旧版本的软件中被利用的漏洞。[16][17] 即使是公开已知和僵尸漏洞,也经常可以在很长一段时间内被利用。[18][19] 安全补丁的开发可能需要几个月的时间,[20] 甚至可能永远不会被开发出来。[19] 补丁可能会对软件的功能产生负面影响,[19] 用户可能需要测试补丁以确认其功能和兼容性。[21] 较大的组织可能无法识别和修补所有依赖项,而较小的企业和个人用户可能不会安装补丁。[19] 研究表明,如果漏洞被公开或发布了补丁,则网络攻击的风险会增加。[22] 网络犯罪分子可以对补丁进行逆向工程以找到潜在的漏洞并开发漏洞利用,[23] 而且速度通常比用户安装补丁的速度更快。[22] 根据兰德公司 2017 年发布的研究报告,零日漏洞的平均可利用时间为 6.9 年,[24] 而从第三方购买的零日漏洞的平均可利用时间仅为 1.4 年。[14] 研究人员无法确定任何特定平台或软件(例如开源软件)是否与零日漏洞的生命周期有任何关系。[25] 尽管兰德公司的研究人员发现,5% 的秘密零日漏洞会被其他人发现,[24] 但另一项研究发现,重叠率更高,每年高达 10.8% 至 21.9%。 防御措施由于零日漏洞利用的定义是尚无补丁可以阻止的漏洞,因此所有使用存在漏洞的软件或硬件的系统都处于风险之中,包括银行和政府等所有补丁都已更新的安全系统。[26] 杀毒软件通常无法有效抵御被零日攻击引入的恶意软件。[27] 安全系统的设计是围绕已知漏洞展开的,而零日漏洞利用插入的恶意软件可能会在系统中长时间运行而不被发现。[19]尽管已经有很多关于有效检测零日漏洞利用的系统提案,但这在2023年仍然在研究领域活跃。[28] 许多组织已经采取了纵深防御策略,因此攻击很可能需要突破多级安全防护,这增加了攻击的难度。[29] 常规的网络安全措施,如培训和访问控制(如多因素身份验证、最小权限原则和物理隔离),使得利用零日漏洞入侵系统变得更加困难。[30] 由于编写完全安全的软件是不可能的,一些研究人员认为,提高漏洞利用的成本是减少网络攻击负担的有效策略。[31] 解决方法一般而言,零時差攻擊唯一徹底解決方法便是由原軟體發行公司提供修補程序,但此法通常较慢,因此資安軟體公司通常會在最新的病毒碼中提供迴避已知零時差攻擊的功能,但無法徹底解決漏洞本身[32]。根據賽門鐵克第14期網络安全威脅研究在2008年分析的所有瀏覽器中,Safari平均要在漏洞出現9天後才會完成修補,需時最久。Mozilla Firefox平均短於1天,需時最短[33]。 市场零時差攻擊及其利用代码不仅对犯罪黑客而言具有极高的利用价值,一些国家间谍和网军部队,例如美国国家安全局和美国网战司令部也非常重视这些信息[34]。 零日漏洞利用程序可以卖到数百万美元。[5] 买家主要有三类:[35]
2015 年,政府和犯罪集团的零日漏洞市场规模估计至少是白帽市场的十倍。[35]卖家通常是黑客组织,他们寻找广泛使用的软件中的漏洞以获取经济利益。[43] 有些卖家只向特定买家出售,而另一些卖家则向任何人出售。[42] 白帽卖家更有可能受到非金钱奖励的激励,例如认可和智力挑战。[44] 出售零日漏洞利用程序是合法的。[38][45] 尽管有人呼吁加强监管,但法律教授梅林·菲德勒(Mailyn Fidler)表示,达成国际协议的可能性很小,因为俄罗斯和以色列等关键参与者对此不感兴趣。[45] 在零日漏洞交易中,买卖双方往往非常隐秘,依靠保密协议和机密信息法律来保守漏洞的秘密。如果漏洞被公开,就可以对其进行修补,其价值也会随之崩溃。[46] 由于市场缺乏透明度,各方可能难以找到公平的价格。如果漏洞在得到验证之前就被披露,或者买方拒绝购买但仍然使用了该漏洞,卖家可能无法获得报酬。随着中间商的激增,卖家可能永远不知道漏洞利用程序的最终用途。[47]买方也无法保证该漏洞没有被出售给其他方。[48]买卖双方都在暗网上发布广告。[49] 2022 年发表的一项研究基于单个漏洞经纪人支付的最高价格,发现漏洞利用程序的价格年化通货膨胀率为 44%。远程零点击漏洞利用程序的价格最高,而需要本地访问设备的漏洞利用程序则便宜得多。[50]广泛使用的软件中的漏洞也更贵。[51]他们估计,大约有 400 到 1200 人向该经纪人出售漏洞利用程序,他们每年的平均收入约为 5000 到 20000 美元。[52] 披露与储备截至2017年[update],关于美国政府是否应该披露其已知的漏洞以便进行修补,还是将其保密以供己用,一直存在争论。[53]国家选择对漏洞保密的原因包括希望将其用于进攻性目的,或用于渗透测试等防御性目的。[11]而披露漏洞则可以降低消费者和所有软件用户成为恶意软件或数据泄露受害者的风险。[2] 历史在苹果、谷歌、脸书和微软等公司对服务器和信息进行加密之后,零日漏洞攻击的重要性日益凸显。这意味着访问用户数据的唯一方法是在数据被加密之前,在其源头进行拦截。[26] 最著名的零日漏洞攻击案例之一是震网病毒(Stuxnet),该病毒在 2010 年利用了四个零日漏洞对伊朗核计划造成了破坏。[8]震网病毒展示了零日漏洞攻击的潜在破坏力,也引发了零日漏洞市场的扩张。[40] 在美国大型科技公司拒绝在其软件中安装后门程序后,美国国家安全局(NSA)加大了对零日漏洞的搜寻力度,并责成特定入侵行动办公室(TAO)发现和购买零日漏洞。[54] 2007 年,美国国家安全局前雇员查理·米勒首次公开披露美国政府正在购买零日漏洞。[55] 2013 年,美国国家安全局承包商雇员 爱德华·斯诺登 泄露的文件中披露了有关美国国家安全局参与零日漏洞攻击的一些信息,但缺乏细节。[54] 记者妮可·珀洛斯得出结论:“要么是斯诺登作为承包商的身份无法让他深入到政府系统中获取必要的情报,要么是政府获取零日漏洞的一些来源和方法过于机密或具有争议性,以至于该机构从未敢将其付诸笔端”。[56] 著名的零日攻击参考资料
外部連結
参考来源
|