随着人工智能 (AI) 的发展,企业和政府都在争相寻找 AI 的最佳应用场景。虽然 ChatGPT 和其他大型语言模型 (LLM) 已经吸引了媒体的关注,但 AI 的潜在用途远不止文本生成。其中一个适用领域是安全:尤其是大规模识别软件漏洞的重复性任务。
但是,AI 的作用是好是坏,取决于用它来识别漏洞的实体和目标。
软件中的某些缺陷本质上无关紧要。但有些缺陷(也就是“漏洞”)可能让那些利用漏洞的人在系统中有了立足之地,从而导致系统遭到入侵。很大一部分网络安全实践致力于识别和修补这些漏洞。
利用漏洞并导致系统遭到入侵的示例数量众多,难以一一列举,以下是一些备受瞩目的事件:
2017 年的 Equifax 数据泄露事件,始于一个未修补的漏洞
2022 年的 LastPass 数据泄露事件,部分原因是第三方软件中的一个漏洞
挪威政府的 IT 系统在 2023 年遭到了黑客入侵,原因是黑客利用了零日漏洞
漏洞利用的后果可能非常严重,例如数据泄露、勒索软件感染,后者会导致企业系统冻结。企业需要尽快识别并修补漏洞,以避免此类事件发生。
分析复杂的软件程序以寻找错误是一项重复性任务,这似乎正适合自动化。著名技术专家 Bruce Schneier 曾指出:“如果我们能教会计算机识别什么是漏洞,那么逐行检查代码正是计算机擅长的那种单调乏味的任务。”
事实上,机器学习(AI 功能的一个子集)长期以来一直用于查找代码中的潜在漏洞。例如,GitHub 将机器学习融入其代码扫描功能,用于识别代码中的安全漏洞。当然,这种方法有时会产生误报,但如果与手动分析结合使用,训练有素的机器学习模型则可以加速漏洞识别。
随着人工智能突飞猛进的发展,训练这项技术以便更有效地发现漏洞的可能性也随之出现。事实上,美国国防高级研究计划局 (DARPA) 在 2023 年宣布了启动一项计划,即:安全工具智能生成计划 (IGOTS)。值得注意的是,DARPA 正好是创建了互联网的前身 ARPANET 的机构。
该计划“旨在利用由程序分析和人工智能驱动的新技术来评估漏洞,从而在攻击者可以利用漏洞之前,识别并修复高危、链式漏洞”。IGOTS 会寻找“现代化的复杂系统,例如 Web 浏览器和移动操作系统”中的漏洞。
但 AI 是否真的擅长发现漏洞?DARPA 的目标是找到这个问题的答案,但其计划在某种程度上仍处于探索阶段。
早在 2016 年,DARPA 就主办了“网络挑战赛”,当时七个工程师团队分别创建了自动化 AI 黑客程序,然后在一场名为“夺旗”的数字游戏中相互较量。初衷是检验自动化程序入侵安全系统的能力有多强。几个小时之后,由卡内基梅隆大学某团队设计的“Mayhem”程序在比赛中胜出。
那时候 DEF CON 2016 大会正在附近举办,“Mayhem”程序受邀参加了 DEF CON 举办的夺旗赛,与人类黑客一较高下。Mayhem 最终垫底,与人类黑客的差距不小。
自那之后,AI 取得了长足的进步,而且研究人员也不断发布用于漏洞发现的机器学习模型。但即便是采用最新的机器学习模型来调查软件漏洞,依然需要人工审核,以免出现误报或漏报。
不可否认,AI 可以发现漏洞。但人工渗透测试似乎仍有一席之地。随着 AI 变得更加强大,这种情况未来可能会发生变化。
修补漏洞需要编写代码,以更正错误。AI 工具当然可以生成代码。但要做到这一点,它们需要由人类用户生成的特定提示。
即使是 INGOTS 也不打算完全依赖于自动化流程来修复漏洞,而是致力于“创建计算机-人类交互流程,无缝允许人工干预来修复高危漏洞”。
但同样需要注意的是:随着 AI 的日益进步,未来它也许能够快速、高效地生成补丁。
不可避免的是,如果一种工具或技术被广泛使用,那么一方会利用它来保护系统免受攻击,而另一方会利用它来发起攻击。
如果 AI 可以有效地发现并修补软件中的漏洞,攻击者肯定会利用它在这些漏洞被修补之前,找到这些漏洞并编写漏洞利用程序。
并非所有网络攻击者都能够访问此类资源。但那些可以访问资源的人,可能会毫无顾虑地将其 AI 发现的漏洞或编写的漏洞利用程序出售给暗网上的最高出价者。恶意软件编写者已将 AI 融入其工具中,而且随着 AI 的不断优化,他们肯定会继续这样做。
合法软件开发人员与恶意攻击者之间由 AI 驱动 的“军备竞赛”可能会不断升级,其中漏洞几乎瞬间被识别和利用,或者(有望)同样迅速地得到修补。
当然,攻击者已经在梳理代码以寻找未被发现的漏洞,这类“零日漏洞”极具价值,漏洞发现者可能会将其用于入侵系统,也可能在地下市场以高价出售。AI 的恶意使用可能会改变网络安全威胁的格局,但网络攻击背后的核心动机仍然没有改变。
与修补程序一样,这是可能的,但这个流程仍然需要人为指导。因此,这实际上可能并未节省攻击者投入的精力或资源;不管怎样,许多攻击者会购买漏洞利用工具包,而不是自己编写代码。
答案可能在 10 年甚至 5 年内发生变化,安全团队应做好准备,迎接一波针对其系统的全自动化漏洞利用攻击浪潮。
所有网络都容易遭受攻击,事实上,只要攻击者获得充足的时间且意志坚定,攻击将不可避免。
即使 AI 为希望保护系统安全的一方带来了全新的漏洞发现方式,攻击者仍会使用相同的方法来尝试首先发现漏洞,或至少在修补漏洞之前发现它们。AI 正在成为攻击者的工具箱中的 又一个工具,就像防御方用它来抵御威胁一样。
有远见的企业首先会假设已发生入侵事件:安全措施可能失效,数据面临风险,以及攻击者可能已经潜入网络内部。
企业假定自己面向外部的安全措施并非总是完美无缺,因此,对网络进行微分段,让攻击方无法将攻击范围扩展到其访问的分段网络之外。想象一下:如何将轮船密封在单独的防水隔间,以防止泄漏蔓延;理想情况下,安全团队可以使用相同方法来遏制攻击。
我们称之为 Zero Trust 方法,这种理念的采用率不断增长有充分的理由。随着 AI 工具使漏洞利用不断升级,Zero Trust 安全方法有助于确保始终将这些漏洞利用限制在网络的某个小角落,确保攻击者永远不会获得足够大的立足之地来造成真正的破坏。
漏洞利用发现的速度可能会加快,但 Zero Trust 提供了最有希望的可行方法。Cloudflare 是唯一将 Zero Trust 技术(例如安全 Web 网关、DNS 过滤,以及数据丢失防护 (DLP))整合到单个平台的供应商,这个平台不仅提供统一的仪表板,而且在全球各地设有接入点。Cloudflare 的分布式网络,使其能够对云端和本地应用实施精细化、默认拒绝的访问控制,且不会增加延迟而影响用户体验。
事实上,Cloudflare 已经采用了 Zero Trust 方法来保护其网络和员工免受攻击。进一步了解 Cloudflare 如何帮助企业采用这种安全方法。
本文来自有关影响当今技术决策者的最新趋势和主题的系列文章。
阅读《Zero Trust 架构路线图》白皮书,进一步了解 Zero Trust。
阅读本文后,您将能够了解:
为什么 AI 非常适合发现漏洞,以及一些注意事项
安全战的双方如何使用自动化来利用或修补漏洞
为什么假设入侵是最安全的方法