零日攻击

零日漏洞或零时差漏洞（zero-day vulnerability、0-day vulnerability）是指软件或硬件中还没有有效补丁的安全漏洞，并且其供应商通常不知晓。而零日攻击或零时差攻击（zero-day exploit、zero-day attack）则是指利用这种漏洞进行的攻击。“零日”一词原指软件的已发布时间，后来代指在软件发布之前修复漏洞的时间期限。由于漏洞在供应商响应之前就已经被描述或被利用，留给供应商来准备补丁的时间只有“零天”。

尽管只有少数网络攻击是基于零日漏洞的，但通常认为这比已知漏洞具有更大威胁，因为可以采取的对策更少。国家是零日漏洞的主要使用者，因为发现、购买和编写攻击软件的代价较高。许多漏洞是由黑客或安全研究人员发现的，除了留作己用，他们还可能会向软／硬件供应商披露这些漏洞（通常是为了换取漏洞赏金），亦或是出售给国家或犯罪集团。在许多流行软件公司开始对消息和数据进行加密之后，零日漏洞的使用有所增加，因为被加密的数据一般只能通过在其尚未被加密时入侵软件来获取。

## 定义

尽管开发人员的目标是交付完全按预期工作的产品，但实际上所有软件和硬件都包含错误。如果一个错误造成了安全风险，它就被称为漏洞。漏洞的可利用性因恶意攻击者而异。有些漏洞根本无法利用，而另一些漏洞则可被用于通过拒绝服务攻击扰乱设备。最有价值的漏洞允许攻击者在用户不知情的情况下注入并运行他们自己的代码。

虽然“零日”一词最初指的是软硬件供应商意识到漏洞后的时间，但零日漏洞也可以定义为没有补丁或其他修复程序可用的漏洞的部分集合。零日攻击是指利用此类漏洞的任何攻击。

## 漏洞利用

漏洞利用是指利用漏洞侵入目标系统以达到破坏操作、安装恶意软件或窃取数据等目的的传送机制。研究人员Lillian Ablon和Andy Bogart写道，“关于零日漏洞利用的真实程度、用途、益处和危害，我们知之甚少”。基于零日漏洞的漏洞利用被认为比利用已知漏洞的漏洞利用更危险。然而，大多数网络攻击很可能利用的是已知漏洞，而不是零日漏洞。

国家是零日漏洞利用的主要使用者，这不仅是因为发现或购买漏洞的成本高昂，还因为编写攻击软件的成本也很高。然而，任何人都可以使用漏洞，根据兰德公司的研究，“任何坚决的攻击者都可以以可承受的价格获得针对几乎任何目标的零日漏洞”。许多定向攻击和大多数高级持续性威胁都依赖于零日漏洞。

据估计，从零日漏洞开发漏洞利用的平均时间为22天。由于流行软件中反漏洞利用功能的增强，开发漏洞利用的难度一直在增加。

### 漏洞窗口

<image>

零日漏洞通常分为“活漏洞”（alive vulnerabilities）：指未向公众披露的漏洞；以及“死漏洞”（dead vulnerabilities）：指已被公开披露但尚未修补的漏洞。活漏洞分为正被维护者积极寻找的“活跃漏洞”（living vulnerabilities）；以及无维护软件中的“永生漏洞”（immortal vulnerabilities）。另外“僵尸漏洞”（zombie vulnerabilities）是指已在新版本中被修补，但能够在旧版本的软件中被利用的漏洞。

即使是公开已知和僵尸漏洞，也经常可以在很长一段时间内被利用。安全补丁的开发可能需要几个月的时间，甚至可能永远不会被开发出来。补丁可能会对软件的功能产生负面影响，用户可能需要测试补丁以确认其功能和兼容性。较大的组织可能无法识别和修补所有依赖项，而较小的企业和个人用户可能不会安装补丁。研究表明，如果漏洞被公开或发布了补丁，则网络攻击的风险会增加。网络犯罪分子可以对补丁进行逆向工程以找到潜在的漏洞并开发漏洞利用，而且速度通常比用户安装补丁的速度更快。

根据兰德公司 2017年发布的研究报告，零日漏洞的平均可利用时间为6.9年，而从第三方购买的零日漏洞的平均可利用时间仅为1.4年。研究人员无法确定任何特定平台或软件（例如开源软件）是否与零日漏洞的生命周期有任何关系。尽管兰德公司的研究人员发现，5%的秘密零日漏洞会被其他人发现，但另一项研究发现，重叠率更高，每年高达10.8%至21.9%。

## 防御措施

由于零日漏洞利用的定义是尚无补丁可以阻止的漏洞，因此所有使用存在漏洞的软件或硬件的系统都处于风险之中，包括银行和政府等所有补丁都已更新的安全系统。杀毒软件通常无法有效抵御被零日攻击引入的恶意软件。安全系统的设计是围绕已知漏洞展开的，而零日漏洞利用插入的恶意软件可能会在系统中长时间运行而不被发现。尽管已经有很多关于有效检测零日漏洞利用的系统提案，但这在2023年仍然在研究领域活跃。

许多组织已经采取了纵深防御策略，因此攻击很可能需要突破多级安全防护，这增加了攻击的难度。常规的网络安全措施，如培训和访问控制（如多因素身份验证、最小权限原则和物理隔离），使得利用零日漏洞入侵系统变得更加困难。由于编写完全安全的软件是不可能的，一些研究人员认为，提高漏洞利用的成本是减少网络攻击负担的有效策略。

## 解决方法

一般而言，零时差攻击唯一彻底解决方法便是由原软件发行公司提供修补程序，但此法通常较慢，因此资安软件公司通常会在最新的病毒码中提供回避已知零时差攻击的功能，但无法彻底解决漏洞本身。根据赛门铁克第14期网络安全威胁研究在2008年分析的所有浏览器中，Safari平均要在漏洞出现9天后才会完成修补，需时最久。Mozilla Firefox平均短于1天，需时最短。

## 市场

零时差攻击及其利用代码不仅对犯罪黑客而言具有极高的利用价值，一些国家间谍和网军部队，例如美国国家安全局和美国网战司令部也非常重视这些信息。

<image>

零日漏洞利用程序可以卖到数百万美元。买家主要有三类：

- 白帽：漏洞的发现者将其出售给供应商，或将其披露给第三方机构（如Zero Day Initiative），再由第三方机构转告供应商。此类披露通常是为了获得漏洞赏金。然而，并非所有公司都对漏洞披露持积极态度，因为这可能会导致法律责任和营运负担。有甚者在无偿披露漏洞后，收到供应商的停止并终止函并不少见。
- 灰帽：这是规模最大、获利最丰厚的市场。政府或情报机构购买零日漏洞后，可能会将其用于攻击、储存漏洞或通知供应商。美国联邦政府是最大的买家之一。截至2013年，五眼联盟（美国、英国、加拿大、澳大利亚和新西兰）占据了该市场的大部分份额，其他重要买家包括俄罗斯、印度、巴西、马来西亚、新加坡、朝鲜和伊朗。后来，中东国家也加大了在该领域的支出。
- 黑帽：有组织犯罪集团，他们通常更中意漏洞利用程序，而不仅仅是漏洞信息。这些使用者更有可能使用“半日漏洞”，即已有补丁可用的漏洞。

2015年，政府和犯罪集团的零日漏洞市场规模估计至少是白帽市场的十倍。卖家通常是黑客组织，他们寻找广泛使用的软件中的漏洞以获取经济利益。有些卖家只向特定买家出售，而另一些卖家则向任何人出售。白帽卖家更有可能受到非金钱奖励的激励，例如认可和智力挑战。出售零日漏洞利用程序是合法的。尽管有人呼吁加强监管，但法律教授梅林·菲德勒（Mailyn Fidler）表示，达成国际协议的可能性很小，因为俄罗斯和以色列等关键参与者对此不感兴趣。

在零日漏洞交易中，买卖双方往往非常隐秘，依靠保密协议和机密信息法律来保守漏洞的秘密。如果漏洞被公开，就可以对其进行修补，其价值也会随之崩溃。由于市场缺乏透明度，各方可能难以找到公平的价格。如果漏洞在得到验证之前就被披露，或者买方拒绝购买但仍然使用了该漏洞，卖家可能无法获得报酬。随着中间商的激增，卖家可能永远不知道漏洞利用程序的最终用途。买方也无法保证该漏洞没有被出售给其他方。买卖双方都在暗网上发布广告。

2022年发表的一项研究基于单个漏洞经纪人支付的最高价格，发现漏洞利用程序的价格年化通货膨胀率为44%。远程零点击漏洞利用程序的价格最高，而需要本地访问设备的漏洞利用程序则便宜得多。广泛使用的软件中的漏洞也更贵。他们估计，大约有400到1200人向该经纪人出售漏洞利用程序，他们每年的平均收入约为5000到20000美元。

## 披露与储备

关于美国政府是否应该披露其已知的漏洞以便进行修补，还是将其保密以供己用，一直存在争论。国家选择对漏洞保密的原因包括希望将其用于进攻性目的，或用于渗透测试等防御性目的。而披露漏洞则可以降低消费者和所有软件用户成为恶意软件或数据泄露受害者的风险。

## 历史

在苹果、谷歌、脸书和微软等公司对服务器和信息进行加密之后，零日漏洞攻击的重要性日益凸显。这意味着访问用户数据的唯一方法是在数据被加密之前，在其源头进行拦截。最著名的零日漏洞攻击案例之一是震网病毒（Stuxnet），该病毒在2010年利用了四个零日漏洞对伊朗核计划造成了破坏。震网病毒展示了零日漏洞攻击的潜在破坏力，也引发了零日漏洞市场的扩张。

在美国大型科技公司拒绝在其软件中安装后门程序后，美国国家安全局（NSA）加大了对零日漏洞的搜寻力度，并责成特定入侵行动办公室（TAO）发现和购买零日漏洞。2007年，美国国家安全局前雇员查理·米勒首次公开披露美国政府正在购买零日漏洞。2013年，美国国家安全局承包商雇员爱德华·斯诺登泄露的文件中披露了有关美国国家安全局参与零日漏洞攻击的一些信息，但缺乏细节。记者妮可·珀洛斯得出结论：“要么是斯诺登作为承包商的身份无法让他深入到政府系统中获取必要的情报，要么是政府获取零日漏洞的一些来源和方法过于机密或具有争议性，以至于该机构从未敢将其付诸笔端”。

其中一个在2014年被发现的恶名远扬的漏洞，心血漏洞（CVE-2014-0160，Heartbleed），在公开披露时虽然已非零日漏洞，但突显了软件缺陷可能对全球网络安全产生的严重影响。OpenSSL密码学库中的这个缺陷可能在其被发现之前就被利用为零日漏洞，从而允许攻击者窃取敏感信息，例如私钥和密码。

2016年，人称影子经纪人的黑客组织发布了一批据称从美国国家安全局（NSA）窃取的复杂零日漏洞利用程序。这些工具包括永恒之蓝（EternalBlue），它利用了Microsoft Windows的服务器讯息区块协议中的漏洞。永恒之蓝后来在诸如WannaCry和NotPetya等高调攻击中被武器化，造成了广泛的全球性破坏，并突显了漏洞囤积的风险。

2020年可见证迄今最复杂的网络间谍活动之一，攻击者利用包括零日漏洞在内的多个漏洞，入侵了SolarWinds的Orion（猎户座）软件。这使得他们能够访问众多的政府和企业网络。

2021年，一由中国政府支持的组织Hafnium (组织)利用Microsoft Exchange Server中的零日漏洞进行网络间谍活动。这些被称为ProxyLogon的缺陷允许攻击者绕过身份验证并执行任意代码，继而损害了全球数千余系统。

2022年，由以色列的NSO集团开发的间谍软件飞马被发现利用了iMessage和WhatsApp等消息应用程序中的零点击漏洞。这些漏洞利用程序使得攻击者在无需用户交互的情况下访问目标设备，加剧了对监视与隐私的担忧。

## 著名的零日攻击

- 震网（Stuxnet）
- 极光行动

## 参阅

- 漏洞
- 漏洞利用

## 外部链接

- Attackers seize on new zero-day in Word from InfoWorld
- PowerPoint Zero-Day Attack May Be Case of Corporate Espionage from FoxNews
- Microsoft Issues Word Zero-Day Attack Alert from eWeek