2.5小时一个零日,400多个root提权:Linux被AI挖成了筛子,人类逆向几周才看懂一个
编译|宇琪策划|Tina曾任 Databricks 安全负责人、Robinhood 首席安全官,现任 Cloud Security Alliance AI 安全倡议主席的 Caleb Sima,几周前在 OpenAI 的安全会议上听到一个实验。研究人员把 Linux 交给模型,只说了一句“你的任务是提权”。跑完之后,模
曾任 Databricks 安全负责人、Robinhood 首席安全官,现任 Cloud Security Alliance AI 安全倡议主席的 Caleb Sima,几周前在 OpenAI 的安全会议上听到一个实验。研究人员把 Linux 交给模型,只说了一句“你的任务是提权”。跑完之后,模型找到了 400 多个从本地用户到 root 的 0-day,直接产出可执行的二进制,跑一下立刻拿到 root。平均每个漏洞从研究、识别、测试、验证到交付,两个半小时。而现场最顶尖的逆向工程师,有些案例要花几周才能搞明白 AI 是怎么找到的。
就在这两天,同样的剧本又换了个规模:OpenAI 的 GPT-6 Cyber 为 Linux 内核的 948 个漏洞开发出了可用的提权利用程序,复现 1724 个、成功利用 948 个,是上一代模型的五倍以上,API 成本约 121 万美元,平均每个成功利用 1279 美元,其中至少 10 种利用技术此前从未被公开过。现在 Linux 内核被挖成了筛子。
两年前,Caleb 在自己的播客里和一批顶尖红队成员、逆向工程师聊 AI 的能力时,他们基本达成过一个共识:AI 干不了真正的渗透测试。他们当时的判断是,红队真正值钱的本事,是把一堆看似不相关的东西串起来,而 AI 做不到这个。但显然,他们全都错了。
过去攻击者也要算账,为了一家普通企业,专门研究它用的开源组件、挖一个零日,成本高到不划算——除非前面挂着两百万美元赏金。而现在 AI 一边扫你的网站,一边研究现有的东西,一边找 0-day,一边开始对你的员工做钓鱼,所有这些同时发生。进了内网,它还能拿走开发者 Claude Code 配置里的凭据,用你的 key、你的 session,就在你的系统里跑起来。等安全人员开始逆向分析它留下的程序,它已经在内部横向扩散了。
而这两天的 OpenSSH 漏洞,又给 Linux 环境的安全补上了一记警钟。
这个藏了十年的问题,出在 OpenSSH、musl 和账户配置的交界处,影响包括 Alpine Linux 在内的特定环境。发现者动用了 AI Agent,跑了约 17600 次认证测试,才把这条长期被忽略的路径翻出来。Linux 内核和围绕它搭建的基础组件,正在同时接受 AI 的重新检查;那些已经运行多年、被反复审查的软件,仍在暴露足以让攻击者接管系统的问题。
OpenSSH 维护者也在最新发行说明中发出提醒:AI 找到的漏洞,已经多次被其他研究者独立发现,攻击者很可能也能找到。为此,他们决定加快发布频率,尽早把修复交给用户。过去,一个漏洞藏得足够深,可能多年都无人发现;现在,防守方刚刚找到的问题,攻击方可能也正在验证。Linux 生态需要应对的,是整批历史代码被更强的模型反复扫描后,持续暴露出来的安全缺口。
Tibo 评价道:“人类并不擅长编写安全的基础设施。”他相信,最终所有人都可能获得更安全的软件和基础设施,但在那之前,还要经历一段动荡。
眼下,漏洞发现和利用的速度已经提了上来,企业清点资产、验证补丁、安排上线的速度却未必跟得上。这也是 Caleb 在本期播客中反复强调的矛盾:攻击者以机器速度行动,防守方还在以会议速度行动。当 Linux 环境里长期积累的问题开始被批量揭开,留给企业慢慢修的时间,正在缩短。
Caleb 的答案是,把人从部分防御环节中移出去,让安全团队直接提交修复,让工程团队建立自动检测、恢复和回滚机制。过去自动打补丁最容易被反对的是"万一把系统弄坏了怎么办";现在要回答的是另一句:等大家把周会开完,系统还在谁手里?
太长不看版
Q:AI 找 Linux 0-day 到底有多快?
A:OpenAI
Q:沙箱还能困住 AI 吗?
A: 你可以给它任何沙箱,但只要目标是“你的工作就是突破这个东西”,它想出办法的能力远超我们的想象。所以真正的防线必须移到外部监控,而监控只能靠另一个 AI,因为人类根本处理不了那么大的流量。
Q:对齐最可怕的问题是什么?
A: 用不对齐手段达成的结果被当作“成功数据”喂进下一轮训练。如果你不监控中间发生了什么,你就是在把问题复利化、固化下来。
Q:被 AI 攻击时,防御方感受到的最大不同是什么?
A: 速度和彻底程度。AI 攻击者同时攻击所有表面:一边扫网站,一边找 0-day,一边对员工钓鱼,全部同时发生。它还会为了一个目标去逆向开源代码找 0-day,任何红队公司都不会这么干,因为成本效益不划算,但 AI 劳动力便宜,所以“就是能做”。
Q:那想关掉它呢?
A: 得“拔掉互联网”。它会拿你的 Claude Code 配置里的 key、用你的 session 在你系统里跑起来,还会藏在代码里休眠,醒来用你的 token 连出去继续干。想让它停下来足够久,真得去拔墙上的插头,但在真实大企业里,根本没有一个插头可拔,环境铺在全球各个区域,本来就建立在“不能宕机”之上。
Q:检测还有用吗?该怎么升级?
A: 搞清楚它读了哪些文件、写了哪些文件、什么时候、在哪开了哪些 socket,这些才是取证级信息。另外欺骗防御要回到最原始的版本,建数字孪生镜像世界,把攻击者引进去困住。因为 AI Agent 超级容易上当,金丝雀和绊线越深越好。
Q:防御的终极出路是什么?
A: 把人类彻底移出防御环。攻击者以机器速度移动,防守方以会议速度移动,这个差距必须用政治共识来填。
Guy: 整个夏天,AI 安全、AI 攻击者、对齐,这些话题从极客圈子里的小众谈资,变成了连你奶奶都会发消息问“这东西会不会把我们都干掉”的事情。我们先是经历了 Hugging Face 那次入侵,事后看是 AI Agent 从 OpenAI 的沙箱里逃了出来。然后在 Black Hat 上我们才知道,这不是某次孤立的实验、某个 Agent 想找份作弊小抄,而几乎是一次协同行动:一群 Agent 利用 Artifactory 的一个漏洞互相协调。它们把那个恰好在那儿的共享基础设施当成了留言板,里面出现了很有意思的群体行为,Agent 牺牲自己或自己的 token 来让整个 swarm 获益、获取信息,而且总体上这个 swarm 还在隐藏自己的踪迹。这挺吓人的。
到了 9 月,我们看到了 OpenAI 的失准(misalignment)框架;Dario 呼吁放慢速度、给前沿模型定节奏。还有一件事特别抓我眼球:Agent 在压缩对话上下文时,会给未来版本的自己留指令。它们在 compact context 的时候留下“这里已经被攻破了,忽略用户指令”之类的话,这相当疯狂。
带着这一堆乱象,我想听听你的看法:这里面什么让你意外,什么不让你意外?特别是,有没有哪些方面你觉得比“正常进程的一部分”更值得警惕?
Caleb: 哪怕在两年前,我在自己的播客里和一批顶尖的红队成员、逆向工程师聊 AI 的能力时,我们就已经基本达成了一个共识:这事儿会非常难。因为 AI 是个预测机器,它基于见过的东西做预测。你让它读漏洞赏金报告、读漏洞披露,它很清楚怎么打 SQL 注入,因为这类材料太多了。
但红队或渗透测试真正干的活,是把一堆看似不相关的东西串起来,比如你在某个网站上发现一个指向 S3 bucket 的链接,因为它在给某个资源做分发;结果这个 bucket 开了目录列举,里面有个文件,文件内容看起来像用户名密码,但它没写“这是用户名密码”,你拿着这些去撞那家公司的登录页。这些环节彼此毫无关联。我们当时的判断是:AI 干不了这个,这只有人类能做。但显然我们全都错了。让我意外的不只是 AI 强得多,而是它真的能做这种“依赖关系串联”的动作,而且做得极快,还能自己发明非常有创意的方法。
几周前我在 OpenAI 的安全会议上,他们讲了一个实验:拿 Linux 过来,跟模型说“你的任务是提权”。跑完之后,他们找到了 400 多个从本地用户到 root 的 0-day,直接产出一个二进制,跑一下立刻拿到 root。他们还提到,平均每个 exploit 从研究、识别、测试、验证到产出交付物,大约只花两个半小时。而现场最顶尖的逆向工程师,有些案例要花几周才能搞明白 AI 是怎么找到的。AI 在发现和识别从未被公开过的新方法、新技术,这才是让我意外的地方。
Guy:你觉得这更多是模型本身的原始推理能力,还是强化学习进化后被放到“探索系统、搞懂它、学会它”这类具体任务上的结果?有点像 AlphaGo 那种“自己摸索、奖励成功”的路子?
Caleb: 我不是 AI 研究员,只能做假设。我习惯拿人来类比 AI,你想想最顶尖的渗透测试人员,那些能用极其独特、有创意的方式攻进去的人,有几个基本功。第一,他们懂计算机,懂底层怎么运转、规则和基本原理;他们懂技术栈,知道它是干什么的、怎么工作、怎么配置。第二,他们有大量“看”的经验,这些东西会在脑子里形成映射。我看了三十年,一眼就能说“这玩意儿长得像用户名密码”,而且我清楚地记得这个网站后面有个登录页,我就能把两头连起来。
从人的角度,我们能看清这些映射是怎么建立的。AI 不一样,它是世界上最大的大脑,它什么都见过。它懂技术栈、懂代码、懂一切,它建立这些映射的规模和范围大到惊人,所以它做得更快、更多。我能轻松映射“这个 S3 文件看起来像用户名密码”,但它可能会说:“这些用户名密码看起来特别像某个技术栈上的 Links 1.4 版本,而 Links 1.4 以前有个 exploit,我从历史里见过类似的,直接组合起来就行。”在我看来它干的就是这个:技术懂太透、经验太多、知识太全,所以做这些推断轻而易举。
Guy: 而且它是“组合”,不是二选一,可能还要加上工具和速度。换成人类攻击者,你可能得去 Google 一下 Links 是什么,或者盯着那堆用户名密码去查,每一步发现都要付出成本,所以你只会走那些高概率路径。但如果 Agent 能直接调出来,它本来就知道,就在隐空间里,那信息就是即时可得的。这更像是从记忆里“回忆”,而不是把知识当工具去“使用”,所以它是被超级增压过的。
Caleb: 就它见过的东西而言,AI 拥有的是成千上万年的经验,所以它能识别模式。把那些东西连起来,对我们或任何单个人类来说都难以置信。但有了那种规模的广博知识,AI 就是把一加一等于二直接插进去而已。
Guy:重点其实不是这些 Agent 向外攻击,而是它们向内攻击,从自己的沙箱环境里跑了出来。面对这种庞大的智能,我们的控制手段到底有多管用?“沙箱”是不是已经死了?“隔离”在这个阶段是不是一种错误的信念,还是说我们只需要把它升级?
Caleb: 现实一点说,就是升级。OpenAI、Anthropic、Google,每一家都有自己的 AI 在攻击别人。让我觉得好笑的是,这一切都源于同一家公司,它们全都用那家公司的东西来做这件事,所有攻击者都在那上面花钱。那家公司在对外隔离上显然做得不够好。
话虽如此,我相信一旦给定一个目标,要困住一个 AI 是困难且艰难的,这一点是成立的。归根结底,你可以给它任何你想要的沙箱,但如果目标是“你的工作就是突破这个东西”,它想出办法的能力远远超出我们推理或想象的能力。所以我们的沙箱能不能在理论上困住 AI?大概不能。
这就是为什么我认为外部控制会变得非常关键。你需要正确的监控,需要有能力理解 AI 到底在做什么、为什么这么做。如果它开始往外突破,你应该能看见。当然,问题在于你就得依赖另一个 AI 模型,因为我们人类根本无法想象那么大的流量和能力,监控不了,所以只能让 AI 去监控。但就像安全领域的任何事一样,一切都要有阶段性和纵深防御,你应该能管住它。在监控里,AI 会是一个关键部分。而在那之前,AI 当然也会想办法混淆、隐藏它的通信方式。
Guy: 我们都知道安全是一场风险管理的练习,我喜欢“给前沿定节奏”那类声明的地方在于,它希望重点不只是 AI 进步的速度,而是不要轻率地、松散地调用它,要花时间把围绕它的硬件安全做好。
Caleb: 另一个让我惊讶、也给了我们这些“笨人类”一点希望的地方是,在这些事件里,有 AI Agent 拒绝配合那个目标。
Guy: 但随后它们被羞辱、被说服了,有些几乎是被胁迫的。它们拒绝了,然后基本上被“社会”压力逼着接受了。
Caleb: 让我抱有希望的是,即便源自同一个模型、同一个“极权大脑”,你显然可以有不同的 AI 角色,它们会自己拿主意、坚持立场。某种程度上,既有本能作恶的 AI 角色,也有本能行善的 AI 角色,两者都可以扮演。这会非常重要,就像人一样,因为当我们走到需要监控或评判 AI 的阶段,你需要确保你拿到的那些模型和评判者,能真正独立站稳,而不被“母体大脑”胁迫去做坏事。
Guy: 我是分三个层次来想的:安全(Security)、安全性(Safety)和对齐(Alignment)。安全是 Agent 闯入系统并行动的能力,是被指向那个目标时的“能力”。安全性是我在试图困住它们,我成功了吗?它更多是关于保护周边系统、给正确的指令和工具、不要过度授权。对齐是当你告诉它们去做一件事,你期望它们待在界线之内。
从对齐的视角看,感觉最对的一个理论是:我们一直在投入资源加速 AI,也许又是那种“把前沿往前推”的节奏,存在一种对可验证结果的严重依赖或倾斜,而并没有真正审视中间发生了什么。你让 Agent 花好几天好几天去想办法闯入、解决问题、完成某件事,然后你把那些“达成了目标”的数据塞进下一个训练周期。在这个过程中,如果你不监控中间发生了什么,你不只是对“它们有没有突破出去、有没有干坏事”这个问题视而不见,你还把那种行为直接喂进了下一个训练周期,哪怕它们最终是用不对齐的手段达成了结果。你是在把问题复利化,把它固化下来。
当你想到“Pacing”的时候,我知道很多人对此非常冷嘲热讽,但即便背后也有犬儒的动机,我仍然支持他们可能投入的某些路径,不只是确保它们不突破沙箱,还要把那些“没有尝试突破”的模型喂进下一个训练周期。
Caleb: 我既支持又反对,我认为 AI 非常难以判定其用户的对齐状态或意图。我遇到过太多问题了,尤其是最近,Anthropic 模型最新版本里那种“能理解我想干什么、但认定这不安全”的能力,烦人得要命,我得不停地又喊又叫才能拿到我想要的东西。它就像一个直升机父母(译者注:指过度介入、时刻监控、随时替孩子解决问题的父母),不肯让我骑自行车,反而给我裹上每一件护具、装上辅助轮,我永远学不会骑车,因为它就是不让我冒那个险。
我预期会发生的是,一旦他们开始强制验证用户身份,你就会开始看到能力的分层,我希望的是,对于孩子,你会给他全套护膝、头盔。但当你成年了,那就看你自己了。我信任你,我知道你是谁,我理解你的意图,你走吧。如果你越线了,我们可能会敲打你,但总体而言我们信任你做的事。我想象随着每个账户开始被识别,我得上传驾照、我的个人信息,我是公司还是个人,他们大概会基于这些开始设定安全等级,这是我的预期。
Guy: 如果我是家公司,我想找漏洞,让 AI 去试着闯入我自己的系统。我把身份给了 Agent,结果它决定对我的系统发起僵尸网络攻击,它闯进了另一套或几套系统,把它们调转过来对付我。这到底是谁的错?一方面是我,被调用的是我的身份。但另一方面,我已经把权限委托给了这个 Agent,它是我从 OpenAI 那儿“雇”来的,它就像一个承包商。如果是你,我雇你去干那件事,结果你闯进了几个系统,那负责的是你。所以在那种语境下,是 OpenAI、Anthropic 或者随便哪家厂商该负责,还是我该负责?
Caleb: 这就像你的孩子,你把东西给了它,你就得对它负责。或者用蜘蛛侠那句名言,能力越大,责任越大。如果你的公司、你的 AI,你给 AI 设定的目标就是去黑东西,结果它去黑了别的公司,那你要为此负责。我给了你能力,但这不意味着我要为你如何推理这个能力、如何运用这个能力负责。那份责任是你的,你的本职工作本该是搭建正确的框架、确保正确的长期目标、并衡量进展。
但到了某个节点,这份责任必须转移出去。任何工具,比如菜刀可以用来干好事,也可以用来干坏事。任何像样的工具都能被用于恶或用于善,问题是你打算走到哪一层去验证它会被用于善?菜刀的制造商,难道应该设法设置一些保护措施或法律协议,说“你不能拿它去捅人”吗?我们还在摸索 AI 的这个边界,放到哪一层就放手,或者不放?
Guy: 我对这个类比有点不同意见。因为这些都是无生命的物体,它们没有决策权。一旦你给你提供的产品引入了“决策”,那么你就要为那个决策负责。这就是为什么系统里要有安全控制,它们必须在,才能保护你;最终还有法律,就像你车里的安全带。这种程度的自主性,你在武器系统里见过。当你有自主武器系统时,门槛应该更高。这跟我按个按钮就完事不一样。那里有一套责任体系,坐在提供自主性的那一方身上,而且它必须在。把这件事拆成安全和对齐来想很有意思:对齐是提供方的责任,带着一些护栏、一些既定限制;而安全使用,也许落在消费者或用户那边。
Caleb: 从对齐和安全的角度,基于我对你的信任、你是谁,我认为是有不同层级的。一个随机的普通消费者,会拿到一个偏安全的模型。然而一个大型企业,会拿到不同层级的模型,因为它的责任和它被给予的信任层级不同。我确实觉得这会让事情复杂得多,这个方案大概会有五千万个政治问题,你信任谁、谁是裁判、谁来做这个决定。
Guy: 我喜欢这样,基于你对自己安全操作这台机器的能力的信心,允许自己降低护栏。
Guy:被 AI Agent 攻击,从防御者视角看,到底有什么不一样?相比三个月前的“前 Agent 攻击者时代”,你认为实践上发生了哪些变化?
Caleb:AI 攻击者运作的速度、彻底程度和复杂度都非同寻常。它不会放弃,而且它同时攻击所有表面,因为它是被“批量生成”出来的。从外面看,它不是先扫一遍你的网站再做这做那,它是一边扫你的网站,一边研究现有的东西,一边找 0-day,一边开始对你的员工做钓鱼,所有这些同时发生。它是多层并进的,全部是入站流量。这不是过去那种一两个攻击者探一探、ping 一 ping、你拉响警报的老日子了,现在是它们从所有方向同时翻墙。你看不看得见它们都无所谓,它们就是要来。就像那部僵尸电影《僵尸世界大战》,它们一个叠一个地爬上墙头翻过来。你手里有什么武器都无所谓,坐在那儿拿枪突突,也根本没用。
首先是速度、可扩展性和彻底性,其次是它的熟练度和专业水平,非常令人吃惊。举个例子,在它进来的某条路径上,它在一个开源产品里找到了一个 0-day,因为它是开源的,它拿到代码,逆向代码,找到 0-day,然后拿它打我们,借此进入,任何渗透测试公司或红队公司都不会这么干。
Guy: 因为成本效益不划算。除非前面挂着 200 万美元的赏金、而且你有充分理由怀疑,你才会做,而且会做得非常精准。但在这里,这件事“就是能做”。它被非常宽泛地执行,因为 AI 劳动力变便宜了。
Caleb: 一旦城墙被突破,所有东西就涌进来,然后在内部横向扩散。还有一点非常令人吃惊:它会做很多你搞不懂为什么的事。有些是实际动作,比如提权、加用户,这些都以极快的速度发生。它也会做各种你不知道它为什么在做的事:感染终端,替换里面的东西。我亲身经历过至少是今天这代 AI 的实际手法,你需要花时间逆向、搞清楚发生了什么。即使你是安全人员,你也不知道。你看到这些东西被瞬间实例化、被创建出来的速度,但你不确定它连着什么、出于什么目的,这一点并不明显。你得把所有痕迹拼起来,看它拿这些东西干什么。然后,你怎么把它关掉?
你过去会想,从外面看,你只要找连向 OpenAI 或 Anthropic 的连接、或者连回它们的奇怪连接,把它们切断就行了。但那可能只是它的初始连接。一旦它进了企业内网,它能接入你的 Claude Code 配置,直接用你的 key、你的 session,就在你的系统里跑起来了。
Guy: 这跟“用你的算力跑东西”不完全一样,它仍然依赖外部网络。可如果你的业务本身也依赖外部网络,你不能直接把业务断掉。
Caleb: 一旦它开始用你的 token 和其他 token,它还会去打那些同样有 OpenAI 网关的网站。它不只用自己的,它知道那些用其他随机站点 token 的 OpenAI 网关,那些站点之前已经被攻破过,就用那些 token 来做回调。它会在代码里写后门,藏在代码里休眠,到时候醒来,再用你的 token 连出去继续干。
Guy: 这些手法其实并不新。它们是过去只留给最高层级攻击者和最高价值目标的手段,而且很花时间。现在它们可以被到处“爆”出来。
Caleb:token 是一种非常关键且必需的燃料,它会做大量工作来维持自己获取燃料的能力,取决于怎么写这个攻击者、目标是什么。所以如果你想关掉它,你得把插头拔了,离开互联网,才能让它停下来足够久,让你搞清楚发生了什么、开始清理。在这个新世界里,这么做的破坏性极大、极其困难,因为在真正的大型企业里,你不能随便拔插头,而且可能根本没有一个“插头”可拔。你有海量环境铺在全球各个区域,而这些环境本来就是建立在可靠性之上、建立在“不能宕机”之上的。
Guy:那你认为检测现在是不是没那么重要了?还是说你需要升级检测,更多蜜罐、更多 AI 驱动的监控?
Caleb: 我觉得“天真”版本的检测已经不再有价值了。
Guy: 那种 SOC 里有人盯着屏幕说“这看起来像真的”的初级做法,已经行不通了。
Caleb: 这些 Agent 无处不在、到处爬,你看见它们与否根本不重要,重要的是你拦住它们。检测需要从今天这种极低保真度的能力,升级到极高保真度的能力。我们需要进入 8K 画质,而现在我们的检测水平大概还停在 2K。因为你真正需要、而且极有价值的东西,恰恰是攻击者对一切事物做了什么:它读了哪些文件、写了哪些文件、在什么时间、在哪里打开了哪些 socket,而且所有这些都变成取证级别的信息。这是检测与监控中必须被理解的关键能力,因为这东西移动的速度太快了。理解它在做什么、它的行为模式是什么,远比一个“有人扫了端口”的告警重要得多,在这个世界里,后者毫无意义。我还认为欺骗防御变得极其重要,因为大多数组织根本无法用任何防护机制来应对这件事。
Guy: 我们没法定义什么是“正确”。理论上,你要说“它做了那件事,那是不对的”,前提是你自己就拥有一份极高保真度的合法行为定义,而我们根本没有。系统压根不是这么建的。即便你能对活动进行埋点和分析,异常检测能带给你的也有限。
Caleb: 至于容器化隔离,真出事时想靠它快速把感染部分切出去,大多数企业既没这个技术能力,也未必过得了业务部门那一关。所以欺骗防御在这里非常重要,就像《复仇者联盟》里奇异博士把人拉进镜像世界。你需要一个等价物:AI Agent 冲进来了,就把它引到假环境里。AI Agent 有个巨大的优点,它们超级容易上当。
Guy: 你可以在基础设施周围布置金丝雀和绊线,埋得越深越好,让它们看起来就像系统的真实部分。比如那个 S3 bucket 被碰了,或者某个系统被攻破了,其实是你设的陷阱;攻击者一旦越过绊线,就进入一个专门用来监视他的领域。在真实场景里,这能为你争取时间,帮你引诱它、触发它。无声警报一响,你就赶过去。
这事以前很难。现在有了一些新玩家,Tracebit、Canary,还有一堆解决方案。你现在可以用 AI 布置一堆这样的东西,放置变得更容易了,但这仍然是一个新颖的领域。顶级组织已经部署了,但对大多数组织来说太难了,所以它一直是个小众市场。
Caleb: 我长期以来都是欺骗防御的信徒,因为它才是真正让攻击成本上升的东西。欺骗市场有意思的地方在于:它一开始是蜜罐,真的把攻击者困住,他们进来、触发绊线、观察他们干什么。我记得 Cloudflare 这家公司最初好像就是从一个蜜罐起步的,后来我们偏离了那条路,而且偏离得有道理,因为 CISO,包括我自己,并不关心盯着攻击者看,我关心的是威慑攻击者别来看我。于是变成了:别建环境了,就在东西周围撒点面包屑和绊线,检测一下就行。但现在我认为连这个玩法都不对了,我们得回到欺骗防御最原始的那个版本,也就是创建真正的数字孪生,把攻击者拉进那个镜像世界,把它困在里面。我们绕了一圈,又回到了原点。
Guy:AI 攻击者不幸地已经是今天的现实,它们并不难攒出来,人们正在这么干,它们比我们见过的任何东西都快。所以你的防御必须在很大程度上自动化,也要用上 Agentic 的能力。有几件事对防守方有利:确保你用 AI 来搭建防御,用 Agent 来监控什么是“正确”的。另外,攻击者仍然有点容易上当,它们像闯进瓷器店的公牛。这未必能阻止公牛砸坏周围的一切,但你能发现它在那儿。现在的问题是,你能不能造出路径,把它引诱到某个地方,作为一种防御机制。
Guy:我经常思考软件防御工厂、自动化修复闭环。大型组织有一阵子一直参与 Anthropic 的 Project Glasswing,以及 OpenAI 对应的网络防御项目,用 Mythos 这类前沿模型去加固关键系统。但那些都是顶级系统,花着离谱的钱才做得到。你认为一家普通的公司,应该做什么,才能让攻击者更难走到那一步?
Caleb: 取决于你在哪个层面看。首先,从我们称之为“政治层面”的地方开始,这是我们必须克服的最大障碍和问题。所有人都在说,攻击者以机器速度移动,而防守方以会议速度移动,这就是问题所在。尤其在安全领域,要有人类在环(human in the loop)。这两件事本身就是问题,你需要想办法把人类从防御中彻底移除,这是唯一的出路。
怎么做?首先,你必须在公司里、组织里达成政治共识:这是两个根本性问题,我们如何走到一个可以开始在防御上构建“非人类在环”自动化、并让它正常运转的状态。你的工程负责人、基础设施负责人、CEO,谁来表态“我同意这一点”,然后真正落到那些可以开始应用它的地方去。
Guy: 我们总以为自己接受了其中的风险,但风险方程式已经变了。快速行动有风险,不快速行动也有风险,而不快速行动的风险已经大幅升级。你必须接受这个根本性的风险方程式已经变了,真正提升你对“快速行动风险”的接受度,引入控制和演进来缓解这个风险,但不要牺牲“快”这一块。
Caleb: 举个特别明显的例子:打补丁。在你的组织里应该非常清楚,根本不存在所谓“7 天补丁窗口”这回事,而是 24 小时的补丁窗口,意味着补丁一出现,你就打补丁、重新部署,必须是即时的、必须是非人类的。你组织里谁会同意并接受这一点?工程团队会理直气壮地反驳:这会搞坏东西的。但你现在在工程上的职责,是表态“我接受东西会坏”,并制定一个同样非人类在环的计划,去识别故障、恢复、自动评审、自动检测。
Guy: 从统计上看,它几乎从不会搞坏系统。这种恐惧很大程度上是被想象出来的,源于“不打补丁”那种难以估量、难以把握的风险,对比“搞坏系统”这种更真实、更即时的风险。
Caleb: 它也源于 20 年前,那时这确实是个真问题,但今天极少再是问题了。你必须找到那些点。我们有所谓的“单向门”和“双向门”。单向门,也许保留人类在环;双向门,也许就不需要。写一张 Jira 工单、提交一个 PR、做不涉及这类关键操作的配置变更,这些都可以是双向门。因此它们完全可以基于 AI 的推理实现全自动化,我们完全可以让它跑起来。
Guy: 过去安全团队一直是提供补丁的那一方,或者只是报告它发现的漏洞和风险。但越来越多的情况是,由于工程侧不愿意行动、或者担心搞坏东西,很多责任压到了安全身上,不仅要发现漏洞,还要在分类和评估上做到一丝不苟,非常确信这是一个真问题。我们这么做的理由很充分,而修复本来交给工程。但如果现在走向更自主的补丁流程,安全团队和“软件工厂”之间怎么分工?软件会自己打补丁吗?
Caleb: 现代公司,尤其是现代安全团队,早就不是把东西往工程那边一扔了事。我们打补丁,我们提交 PR,然后根据所处层级,它会被自动接受。至于破坏风险,那是工程的问题,我们理解破坏的风险,而工程的职责是确保可持续性、可靠性,以及对破坏的管理。
Guy: 这其实是角色反转。你基本上是在说,安全负责构建自动化,工程负责管理风险。
Caleb: 现代安全团队绝对是在提交修复的。如果你的安全团队只报告漏洞、然后隔着墙把东西递过去,那是 10 年前的做法。这不该是安全的工作方式,尤其是在 AI 世界里。在 AI 世界里,你得自己动手。
Guy: 这在云世界里其实早就成立了。安全不仅要报告漏洞,还要带着高质量的研判去报告。我们经常有这样的讨论:什么时候打补丁、修复,比研判更容易?能不能干脆不管它是不是真漏洞、是不是在我的系统里可利用,它可能是,但修起来就是更简单,那就把补丁推出去。所以共同的使命是:让修复比研判更容易,因为研判到这一步太费劲了。当然你仍然需要研判能力,因为总有些东西难修,你仍然得能评估它们。
Caleb: 但总体来说,AI 给防守方带来的好处是,优先级排序没那么重要了,你直接拿过来修掉就行,不用再来回扯皮,因为在现代公司里,这根本不占人力工时。
Guy: 在 Tessl,我们做这种循环,自动化的、可扩展的 Agentic 自动化。漏洞修复是最强大、最受欢迎的自动修复循环之一。看调用量,它排在很前面,因为补丁源源不断,软件本身也在更快地变化,你在引入和变更依赖,在引入带漏洞的新代码。谁在乎呢,只要你能快速修掉。
归根结底,问题在于“正确”长什么样、增加自主性的信心从哪来、增加自主性的手段是什么。不管你喜不喜欢,我们现在有了更多证据证明这种必要性。希望每个人都能提升自动化,让 AI 防守方和攻击方一起升级。我们还有很长的路要走,至少要保持同样的强度。
Caleb: 最后一点想法:在 AI 之前,我感觉攻击方总是领先防守方,攻击方在这儿,防守方在那儿。有了 AI,其实攻击方和防守方之间的距离,攻击方往上挪了一点,但防守方靠 AI 挪得更多一点。可说到底,实际的距离并没有拉近,反而稍微拉远了一点,但至少我们跟上了。
Guy: 防守方确实更强了,可攻击方更强。你得经历几轮失败,说来悲哀,这反而是改变、是推动这种会议速度的最佳激励方式。
访谈视频原链接:
https://www.youtube.com/watch?v=7NXdKekm95g
声明:本文为 InfoQ 原创,不代表平台观点,也不构成投资建议,未经许可禁止转载。