← 最新论文
💻 computer science

eMicro: Real-Time Multi-Hop Access Control for Microservices with eBPF

本文提出了 eMicro,一种高效的、基于 eBPF 的路径感知防御系统,它通过将安全策略编码为确定性有限状态自动机,为微服务实施实时多跳访问控制,从而以极低的运行时开销来防止复杂的多跳攻击。

原作者: Rizky Ramadhana Putra, Osama Bajaber, Saimon Amanuel Tsegai, Teryl Taylor, Frederico Araujo, Yuede Ji, Peng Gao

发布于 2026-08-07
📖 1 分钟阅读☕ 轻松阅读

原作者: Rizky Ramadhana Putra, Osama Bajaber, Saimon Amanuel Tsegai, Teryl Taylor, Frederico Araujo, Yuede Ji, Peng Gao

原始论文采用 CC BY 4.0 许可(http://creativecommons.org/licenses/by/4.0/)。 这是对下方论文的AI生成解释。它不是由作者撰写或认可的。如需技术准确性,请参阅原始论文。 阅读完整免责声明

想象一下,互联网是一座繁忙的大都市,其中的每一栋建筑都是一个被称为“微服务”的微小、专门化的工作者。这里没有一个做所有事情的庞大工厂,而是由这些工作者互相传递便条来完成一项工作。有时,一张便条会从面包店传到银行,然后传给保安,最后传到保险库。这就是现代应用程序的工作方式:它们由成千上万个这样的微服务组成,进行着复杂的舞蹈式对话。

但棘手的地方在于:保安通常只检查站在他们面前的那个人。如果面包店向银行发送了一张便条,保安会检查面包店是否有权与银行交谈。他们不会去查看面包店是如何到达那里的。这创造了一个隐蔽的漏洞。一个坏人可以诱骗面包店向银行发送便条,而银行可能会想:“哦,面包店正在跟我说话,没问题!”却没意识到面包店实际上是被黑客强迫的。这被称为“多跳攻击”(multi-hop attack),即坏人从一个合法的工人跳转到另一个工人,构建了一条看起来在每一步都合法、但从头到尾其实都是灾难性的信任链。

你即将阅读的这篇名为 eMicro 的论文,正是针对这一问题。它在问:我们如何在不减慢速度、也不强迫每个工人背负沉重历史记录的情况下,阻止这些狡猾的链条?作者们是来自弗吉尼亚理工大学、IBM 等机构的研究人员,他们构建了一个系统,就像一个超级聪明、隐形的交通警察。这个警察不仅仅是检查门口的人,它还知道便条整个旅程的故事。它使用了一种名为 eBPF 的特殊技术(这能让程序安全地在计算机的核心引擎中运行),可以在不需要改变工人制服的情况下追踪路径。他们还使用了一个巧妙的数学技巧——DFA(一种流程图类型)来高效地记住规则,几乎不占用空间。结果是,该系统能够实时拦截这些狡猾的攻击,运行速度极快,并且能够毫不费力地融入大规模云系统中。

狡猾的连锁反应

假设你有一个照片共享应用。它有一个前门(nginx)、一个照片编辑器(media)、一个储藏室(cloud)和一个用于密码的保险库(creds)。在正常的一天里,用户向前门请求一张照片。前门询问编辑器,编辑器询问储藏室,然后——“砰”的一声——你得到了你的照片。这是一条安全的路径。

现在,想象一下黑客在前门发现了一个微小的裂缝。他们诱骗前门去向密码保险库索要一把钥匙,假装这只是一个正常的请求。传统的安全守卫会看着前门和密码保险库说:“嘿,前门有时是可以和保险库交谈的,所以请进!”守卫忽略了事实:前门本应该是在和照片编辑器交谈,而不是保险库。黑客成功地“扭曲”了工作流。

这就是“多跳”问题。攻击不是一次巨大的爆炸,而是一系列看似合法的小步骤,最终导致灾难。论文解释说,旧的安全系统就像只看眼前人的守卫。他们并不关心那个人是否在五步之前被陌生人推搡过。

eMicro 登场:故事的记录者

论文作者构建了 eMicro 来解决这个问题。把 eMicro 想象成一个为每一次请求提供“故事标签”的系统。当一个请求开始时,它会得到一个微小的标签。当它从前门移动到编辑器时,标签会更新为:“我来自前门。”当它移动到储藏室时,标签会变成:“我来自前门,然后经过了编辑器。”

如果黑客试图诱骗前门直接前往密码保险库,标签就会出错。它会显示:“我是前门”,但保险库期望的标签是:“我在与编辑器交谈之后,现在是前门。”系统会发现这种不匹配并立即拦截请求。

但问题在于:为每一个请求携带完整的历史故事会非常沉重且缓慢。想象一下,每次你发短信时,都必须附上一份关于你之前联系过的所有人的 50 页传记。那会堵塞网络。

神奇的流程图 (DFA)

为了解决“沉重背包”的问题,研究人员使用了一个巧妙的数学技巧,称为确定性有限自动机 (DFA)。系统不再书写整个故事,而是将规则转化为一个高效的巨大流程图。

想象一个流程图,你走的每一步都会让你移动到一个新的圆圈:

  • 圆圈 0:开始。
  • 圆圈 1:你与前门交谈了。
  • 圆圈 2:你与前门交谈了,然后与编辑器交谈了。
  • 圆圈 3:你与前门交谈了,接着是编辑器,然后是储藏室。

系统并不携带“前门、编辑器、储藏室”这些文字。它只携带你当前所在的圆圈编号(例如,“圆圈 3”)。如果你试图从圆圈 1 直接跳到密码保险库,流程图会说:“等等,圆圈 1 到保险库之间没有连线!”从而拦截你。

这极其高效。论文显示,虽然用“标准”方式记录历史可能需要数百个比特(比如一长串 1 和 0),但这种流程图方法将其缩减到了仅有的几个比特。在测试中,他们仅用 100 MB 的空间就存储了 5000 万 条安全规则。这就像把一座包含数百万本书的图书馆装进了一部智能手机。

隐形的交通警察 (eBPF)

eMicro 如何在不要求每个计算机程序更改代码的情况下如此快速地更新这些标签?答案是 eBPF

把 eBPF 想象成一个特殊的工具,它允许你在计算机的引擎(内核)内部运行微小的、安全的程序。通常,为了追踪发生的事情,你需要要求每个应用都安装一个追踪器,这对于开发者来说是一场噩梦。eMicro 并没有这样做。相反,它将自己的微型程序附加到网络管道和计算机的内部进程上。

当一个请求数据包离开一个服务时,eBPF 程序会捕捉它,更新“圆圈编号”(标签),然后让它通过。这个过程发生得极快,以至于请求甚至察觉不到。论文测量了这一点,发现 eMicro 为检查请求增加的时间不到 1 微秒(即一百万分之一秒)。这比人类眨眼的动作还要快。

他们的发现

团队通过几种不同的方式测试了 eMicro,以确保它确实有效:

  1. 拦截攻击: 他们模拟了三种类型的狡猾攻击,包括诱骗服务进行错误交谈以及使用恶意软件扫描网络。eMicro 拦截了 100% 的此类攻击。相比之下,旧的“检查邻居”式的安全方法只能捕捉到其中极小的一部分。例如,在一个 6 步的链条中,旧方法只能捕捉到 0.3% 的错误路径,而 eMicro 拦截了一切。
  2. 速度: 他们让 1200 万 个请求通过该系统。eMicro 保持了流量顺畅,几乎没有产生延迟。它比那些尝试做同样事情但每次都必须向中央主管请求许可的旧式中心化系统快了 35%
  3. 空间: 如前所述,他们在 100 MB 的内存中存储了 5000 万 条策略。这与需要数 GB 空间的旧方法相比是一个巨大的进步。
  4. 可靠性: 他们甚至测试了如果网络中的一台计算机崩溃会发生什么。eMicro 使用名为 Raft 的系统来确保所有计算机对规则达成一致。如果其中一台崩溃,其他机器会接替工作,系统能在不到 4 秒 的时间内恢复。

为什么这很重要

论文得出结论,eMicro 是一个实用的、现实世界的解决方案。它不需要重写世界上所有的软件,也不会降低速度。它证明了你可以拥有一个了解每个请求完整故事的保安,而不只是看眼前的人。

作者们谨慎地指出,虽然他们的系统对于微服务非常出色,但它并不是解决所有安全问题的万灵药。它假设计算机的核心引擎(内核)是安全的。如果黑客完全控制了计算机的大脑,他们就可以关闭这个保安。但对于绝大多数试图在服务间缝隙中潜入的云端攻击,eMicro 填补了这些漏洞。

简而言之,eMicro 将现代应用的复杂、隐形的网络变成了一套清晰、快速且坚不可摧的规则。它将一个混乱的工人城市变成了一个组织严密的团队,每个人都清楚自己应该与谁交谈,没有人能从后门溜进来。

您所在领域的论文太多了?

获取与您研究关键词匹配的最新论文每日摘要——附技术摘要,使用您的语言。

试用 Digest →