网络安全防御者令人同情。偶尔,行业必须在某款广泛使用的软件意外曝出漏洞后迅速采取行动。然而,极少需要在同一周内多次这样做。
PITY THE cyber-defenders. Occasionally, the industry must burst into action following the unheralded revelation of a vulnerability in some widely used software. Rarely, however, must they do so several times in the same week.
10月20日,主流网页浏览器的安全团队收到一封不同寻常的电子邮件。邮件内容为“我们这边有个问题”,并附带一个文件,里面包含八个私有安全密钥:用于加密整个互联网通信的随机生成数字。此类密钥应长达116位数字以确保安全。邮件中的密钥最初由一家印度机构签发,最长不过三位数字。其中一个私有密钥仅为“4”。更令人啼笑皆非的是,邮件落款仅署名“Wayne”。
On October 20th the security teams at major web browsers received an unusual email. It read “we have a problem here” and was accompanied by a file containing eight private security keys: randomly generated numbers used to encrypt communications across the entire internet. Such keys should be 116 digits long to ensure security. Those in the email, originally issued by an Indian authority, were no longer than three. One was a private key of just “4”. To top things off, the email was signed simply “Wayne”.
从重要的中央数据库撤销此类密钥尚属可控。难的是检查每个系统是否已相应更新。主流网页浏览器保持其黑名单为最新状态,但许多联网系统无法如此轻松调整。一些系统(如许多Linux系统)需要主动进行软件更新;另一些(如MacOS上的某些命令行工具)则必须人工修复。
Revoking such keys from important central databases is manageable. Checking every system has updated accordingly is hard work. Major web browsers keep their blacklists up-to-date, but many internet-connected systems do not adjust so easily. Some, like many Linux systems, require an active software update; others, like some command-line tools on MacOS, must be manually fixed.
防御者们正忙着堵塞这些漏洞,10月21日上午,另一个问题又来了。一对漏洞在PHP中被曝光,PHP是一种历史悠久的编程语言,支撑着数千万个Web应用程序,包括论坛、金融门户和政府网站。补丁承诺当天下午发布。在此期间,受影响组织获政府建议让其系统完全下线——这一指示并非轻率发出。欧洲多个政府网站随之瘫痪。
Defenders were busily plugging those gaps when, on the morning of October 21st, another problem arrived. A pair of vulnerabilities had been exposed in PHP, a venerable programming language which underpins tens of millions of web applications, including message boards, financial portals and government websites. A patch was promised for the same afternoon. In the meantime, affected organisations were advised by governments to take their systems offline entirely—an instruction not issued lightly. Several government websites in Europe went dark.
该建议被证明是合理的。在漏洞消息曝光数小时后,且距离补丁发布还有逾12小时之际,其详情泄露了出来。该漏洞严重程度极高:它是一份未经授权的远程代码执行(RCE)攻击指南,可让攻击者控制运行PHP的机器。正如至少一个广泛传播的概念验证所演示的那样,利用该漏洞非常简单。
The advice proved to have been reasonable. Hours after news of the vulnerability broke, and with over 12 hours before a patch was due, its details leaked. The vulnerability was as bad as it gets: a recipe for unauthorised remote code execution (RCE), letting an attacker take control of machines running PHP. Exploiting the vulnerability, as demonstrated by at least one widely shared proof-of-concept, was simple.
这两个弱点之间没有直接联系,但存在一种强关联:两个漏洞似乎都是由AI发现的。PHP漏洞由一家美国公司OpenAI牵头的AI网络安全联盟的两名成员独立发现。据颁发这些有问题安全密钥的印度公司eMudhra称,那些密钥“可能”也是利用AI发现的。可以肯定的是,披露方式表明了一种不同寻常的研究方法。
There is no direct link between the two weaknesses, but one strong relationship: both vulnerabilities seem to have been discovered by AI. The PHP vulnerability was found independently by two members of an AI cyber-defence consortium led by OpenAI, an American firm. The dodgy security keys were “possibly” found using AI too, according to eMudhra, the Indian company which issued them. Certainly, the method of disclosure suggests an unusual approach to research.
到10月22日,又有两个漏洞被公开。软件开发工具GitLab宣布修补一个影响12年发布版本的弱点,该弱点可能允许其自身的RCE,在十点制严重等级中被评为十分。数据公司Oracle修复了其广泛使用的编程语言Java中的类似弱点,并将严重程度评为9.1分。AI很可能也被用于发现这些缺陷。
By October 22nd two further vulnerabilities had been published. GitLab, a software development tool, announced a patch for a weakness affecting 12 years of releases that could allow its own RCE, ranking it ten on a ten-point severity scale. Oracle, a data firm, fixed a similar weakness in Java, its widely used programming language, and ranked the severity 9.1. AI was probably used to uncover these flaws, too.
这些事件凸显了AI驱动的网络安全面临的一个令人不安的现实:修复一个问题会为其被利用启动倒计时。PHP漏洞在补丁发布前18小时被公布,旨在让防御者有时间迅速安装更新。但一个演示该漏洞的视频意外发布,让其他人借助AI对问题进行逆向工程,从而弄清如何加以利用。随后不久,一家安全公司提前六小时发布了其版本的修复方案,使得任何攻击者都能精确考察修复了什么内容,从而在未打补丁的系统中挖掘出更多弱点细节。
The episodes illustrate an uncomfortable reality of AI-powered cyber-security: fixing an issue sets a timer for its exploitation. The PHP bug was announced with 18 hours notice before a patch was released, in an effort to prepare defenders to install the update with alacrity. But an accidental release of a video demonstrating the vulnerability allowed others, ai in hand, to reverse-engineer the problem and work out how to exploit it. Shortly after, a security company published its version of the fix six hours early, allowing any attacker to examine exactly what was fixed, and therefore uncover more details of the weakness in unpatched systems.
过去,防御者面临的棘手问题是:如何在攻击者之前发现自家软件中的缺陷。如今,他们面临的是另一个挑战:随着人工智能暴露出大量弱点,他们该如何将修复补丁的消息传递给用户,同时又不泄露给敌人?
Defenders once faced the difficult problem of finding the flaws in their own software before attackers did. Now they have a different challenge: with AI exposing a plethora of weaknesses, how can they spread news of the fixes to their users, without tipping off their enemies in the process?