利用基于 eBPF 的网络可编程性提升网络安全:范式、新兴技术、未解决的问题及研究方向

《Computer Science Review》:Empowering network security with eBPF-based networking programmability: Paradigms, emerging techniques, open issues, and research directions

【字体: 大 中 小 】 时间:2026年10月31日 来源:Computer Science Review 17.5

编辑推荐:

  • 调查基于eBPF的网络安全性技术,用于攻击检测和缓解。• 构建了一个STRIDE分类法,将eBPF防御措施分为六类攻击类型。• 从设计、实现、评估和限制等方面回顾了eBPF技术。• 识别了eBPF的安全漏洞及其未来的验证方向。 引言 现代生产网络通常是多租户的,即多个租户同

  • 调查基于eBPF的网络安全性技术,用于攻击检测和缓解。• 构建了一个STRIDE分类法,将eBPF防御措施分为六类攻击类型。• 从设计、实现、评估和限制等方面回顾了eBPF技术。• 识别了eBPF的安全漏洞及其未来的验证方向。

引言
现代生产网络通常是多租户的,即多个租户同时在同一网络上部署和运行他们的网络服务,并共享资源[1]、[2]、[3]、[4]、[5]、[6]、[7]、[8]。在这些网络中,服务器的资源被划分为独立的单元,即虚拟机(VMs)和容器。一个虚拟机或容器运行特定租户发布的网络应用程序,包括深度学习训练[9]、股票交易[10]以及网络功能虚拟化[11]、[12]。此外,一台服务器通常支持数百个虚拟机或容器[13]、[14],而一个网络则由数千台服务器组成[5]、[15]、[16]。因此,同时运行的应用程序数量非常多[4]、[17]、[18]、[19]、[20]、[21]。这些应用程序产生了大量的流量,共同形成了高速网络流量,对网络管理提出了多样化的要求。特别是,确保多租户网络的安全性是一个关键要求。具体来说,管理员需要采取两个步骤来满足这一要求。首先,他们需要跟踪网络异常情况,以便尽快检测到攻击。例如,他们需要测量实时流量以确定哪些流量是恶意的(例如,分布式拒绝服务流量[18]和超级传播器[22])。其次,必须做出相应的网络管理决策来对抗正在进行的攻击,从而减轻其影响。例如,对于已识别的攻击流量,典型的决策是立即丢弃它们,同时记录它们的特征以帮助识别恶意流量。

然而,传统的网络构建方法是设计静态网络,其中网络设备是单调的黑箱。因此,它们只能执行有限的预配置的安全策略(例如,基于黑名单的数据包丢弃)。这种方法无法应对从使用更多资源来测量 increasing 入站速率到将当前中等安全策略更改为更激进策略(例如,检查每个数据包)等动态需求。

软件定义网络(SDN)集中了网络控制,并提供了全网络范围内的流量可见性,而网络功能虚拟化(NFV)则在普通服务器上部署可编程的网络功能[1]、[14]、[23]、[24]、[25]。这两者共同实现了灵活的全网络范围监控和安全策略执行。然而,它们并不直接提供对终端主机内数据包处理的细粒度可见性。这种差距激发了使用eBPF在终端主机内核中进行可编程监控和执行的需求。

尽管使用SDN和NFV有许多好处,但这两种范式主要关注全网络范围内的可见性,即监控网络中发生的情况,而终端主机内的可见性(即监控终端主机中数据包的情况)却缺失了。因此,管理员仍然需要依赖传统方法来满足攻击检测和缓解的安全需求。更准确地说,这些方法可以归类为四类。在图1中,我们总结了它们在执行用户指定的安全策略时在效率、安全性和准确性方面的不足。

1. 基于系统调用的方法[26]、[27]、[28]、[29]通过在用户空间发出系统调用来获取数据包处理日志。通过分析这些日志,它们根据安全策略监控异常情况。然而,频繁的系统调用不可避免地会导致非微不足道的CPU消耗,这会影响租户应用程序,因此被认为是不可接受的。
2. 基于路径追踪的方法[30]、[31]、[32]、[33]通过网络堆栈中的仪器点收集实时流量统计信息。Linux跟踪点是在选定的内核位置静态定义的探针站点。跟踪框架和eBPF程序可以附加回调到这些站点,以在用户空间中收集事件数据进行分析[34]。为许多高频事件启用回调并导出结果事件流可能会导致高CPU开销。自定义跟踪代码也可能引入安全风险,因为它在内核空间执行,可能包含漏洞。
3. 基于采样的方法[35]、[36]、[37]、[38]通过选择一小部分传入的数据包作为样本并仅测量样本的数据来改进上述两种类型的方法,从而减少CPU消耗。然而,采样牺牲了终端主机流量的完全可见性,因此可能会错过攻击流量,从而使其攻击检测不准确。
4. 基于离线回放的方法[39]、[40]、[41]、[42]在运行时将堆栈中测量的数据包处理数据收集到外部数据库中。当一个完整的测量周期结束时,它们会对所有数据进行全面分析以定位异常情况。然而,它们的分析是离线的,因此只能在攻击发生后才能检测到攻击。

扩展的伯克利数据包过滤器(eBPF)[43]支持终端主机中的轻量级流量测量和动态数据包处理,用于网络攻击检测和缓解。用户编写eBPF程序来定义网络安全功能和策略以保护终端主机服务。这些程序被编译成字节码,内核验证器在加载之前会分析这些字节码,以确定它们是否符合内核的执行和内存安全规则[44]。通过这一检查后,程序被认为在验证器模型下是可接受的;开发者仍需对其逻辑和安全策略的正确性负责。经过验证的字节码被解释或JIT编译成机器代码,并附加到内核网络堆栈中的特定挂钩上。在运行时,经过这些挂钩的数据包会触发程序来测量流量并执行安全策略。可以更新逻辑和策略,而不干扰其他内核函数或租户应用程序。eBPF使用现有的Linux网络组件,包括内核协议堆栈。DPDK绕过内核并在用户空间处理数据包,因此基于DPDK的应用程序必须在那里重新实现网络协议处理逻辑。这需要大量的工程工作,并可能影响系统稳定性。

因此,本文认为eBPF是一种强大的网络工具,可以启用现有技术在终端主机中编程网络安全策略。我们提出了利用eBPF进行网络安全的优势如下:
- 在加载eBPF程序之前,内核验证器会检查其字节码并拒绝那些无法证明其执行符合内核安全规则的程序[45]、[46]、[47]、[48]。这一检查防止了许多不安全的操作到达运行时,同时程序逻辑和政策行为仍由开发者负责。
- 可编程性。eBPF使用户能够使用高级编程语言(如C和Python[49]、[50]、[51]、[52])自定义所需的安全功能来测量流量。
- 动态运行时。eBPF提供动态运行时,允许用户动态地将eBPF程序加载到内核中或更改正在进行的流量测量逻辑[53]、[54]、[55]。
- 全面覆盖。eBPF程序可以直接插入内核空间中的大量挂钩中,从而可以测量主机内和主机间的流量[56]、[57]、[58]。
- 低开销。eBPF程序避免了频繁的系统调用,同时避免了插入大量跟踪点以保持其流量测量可见性,使其具有低开销[53]、[56]、[58]。

鉴于上述优势,eBPF长期以来已被工业界和学术界采用用于攻击检测和缓解。示例包括Meta中的负载均衡[59]、Netronome中的状态防火墙[60]、Cloudflare中的分布式拒绝服务(DDoS)攻击缓解[61]以及Google Kubernetes的安全策略日志[62]。此外,最近的报告[63]表明,采用eBPF增强Kubernetes的全球云网络的收入将达到数百亿美元。这展示了eBPF在现代生产网络中的丰富实际应用场景和巨大价值。

现有的综述从多个角度研究了eBPF,包括可编程数据平面[64]、[65]、[66]、终端主机网络服务[67]和eBPF内存安全[69]。然而,它们并没有按照所针对的攻击类型来组织基于eBPF的网络安全技术,也没有以一致的方式比较它们的动机、设计、实现、评估和限制。

本调查涵盖了基于eBPF的技术,这些技术用于防御通过网络传递到应用程序、服务和主机系统的攻击。在后一种情况下,网络携带恶意输入或允许远程操作,而最终目标可能是数据机密性、应用程序完整性或系统权限。我们还考虑了保护这些防御措施所依赖的eBPF执行环境的机制。

为了解决上述问题,本文提供了基于eBPF的安全技术的综合调查,以帮助广泛的读者群体,从希望使用基于eBPF技术的管理员到试图设计下一代技术的学术研究人员,深入了解采用eBPF在网络安全中的优势和限制以及改进基于eBPF技术的最新进展。该调查帮助读者为特定攻击选择或设计基于eBPF的防御措施。将攻击类别映射到防御方法,使实践者能够识别相关方法并在部署限制下进行评估,同时帮助研究人员找到需要新设计的保护漏洞。

贡献
总之,我们作出了三项贡献:
- 我们系统地总结了使用eBPF实现网络安全技术的概述。首先,我们的概述以逐步的方式提供了一个实现基于eBPF的防火墙的直观示例,该防火墙可以在终端主机内核中过滤掉恶意流量。其次,它详细阐述了基于eBPF的技术的基本架构。
- 我们回顾了现有的基于eBPF的网络安全技术。我们采用STRIDE模型[70],将这些技术分为六类,根据它们检测和缓解特定类型网络攻击的目的进行分类。对于每种技术,我们介绍了其背景、动机、设计原则和实现。此外,我们还讨论了在实践中采用每种技术的优缺点。
- 根据我们的调查和对现有技术的分析,我们总结了不同技术所表现出的共同限制。对于每个限制,我们突出了解决这一限制的挑战和未来机会。接下来,我们总结了在基于eBPF的网络安全背景下其他可能的研究方向,以揭示利用eBPF在网络安全中的更多可能性。

新颖性
此外,与文献中最相关的调查相比,我们的调查提供了几个新的见解:
- 据我们所知,这是首次专注于基于eBPF的网络安全技术的调查。相比之下,之前的调查要么仅将eBPF识别为相关技术,同时关注其他主题(如服务计算),要么考虑了一些基于eBPF的技术,但缺乏进一步的分析。为此,我们的调查通过提供全面的分类法和基于网络安全的eBPF技术的深入分析填补了这一空白。
- 我们的调查全面回顾了最先进的基于eBPF的网络安全技术。对于每种技术,我们描述了其背景、动机(即为什么引入该技术)、设计原则(即使用了什么设计以及为什么选择该设计)以及实现方式(即如何实现)。然后我们讨论了每种技术的优点和缺点。
- 我们的调查强调了现有技术的未来工作以及在利用eBPF进行网络安全方面的潜在研究方向。首先,我们将现有技术的限制总结为几个共同问题。每个问题在各种现有技术中都存在。其次,除了现有技术所涵盖的方向外,我们还列出了其他跨学科且富有前景的方向。

大纲
我们按照图2组织了我们的调查。
- 在第2节中,我们详细解释了我们的调查与先前调查之间的差异,以突出我们调查的新颖性。
- 在第3节中,我们介绍了基于eBPF的网络安全技术的初步知识。
- 在第4节中,我们使用众所周知的STRIDE模型将现有技术分为几类。这些类别分别针对欺骗攻击、篡改攻击、否认攻击、信息泄露攻击和特权提升攻击。
- 在第5节中,我们讨论了现有技术的问题和未来工作,并总结了基于eBPF的网络安全的可行研究方向。附录A(表A.1)列出了本调查中使用的缩写。

与先前调查的深入比较
在本节中,我们回顾了专注于eBPF的先前调查,并讨论了它们的局限性。我们将我们的调查与它们的调查进行比较,以突出我们工作的新颖性。我们按出版年份的升序讨论了这些调查。表1总结了先前调查的特点以及它们与我们调查之间的差异。我们逐一讨论相关的调查,并探讨它们与我们调查之间的差异。Gebai和Dagenais [56] 回顾并分析了基于eBPF的安全技术的设计、实现等方面。在本节中,我们旨在回顾相关文献之前,提供构建基于eBPF的网络安全技术所需的必要基础知识。首先,我们通过一个简单直观的示例来说明如何基于白名单构建基于eBPF的防火墙以丢弃恶意数据包,帮助读者更好地理解如何利用端主机网络工具eBPF来实现网络安全。其次,我们从宏观角度概述了利用eBPF构建网络安全技术的整个范式。

在本节中,我们对利用eBPF优势进行攻击检测和缓解的网络安全技术进行了全面调查。我们首先解释了从文献中收集相关论文的方法以及使用广泛使用的STRIDE模型来组织调查的方法。然后,根据STRIDE提出的六个主题,将现有技术分为六大类,即可伪造技术、篡改技术、否认技术等。

在本节中,我们讨论了在所审查的技术中使用eBPF进行网络安全的开放性问题,并提出了需要进一步研究以解决这些问题的未来工作方向。

随着基于eBPF的技术的出现,人们能够采用创新的方法来缓解网络攻击。eBPF通过其在内核中的指令集和执行环境,允许使用高级编程语言定制安全策略。内核中的动态加载和修改功能使得安全策略的实施更加灵活和响应迅速。基于eBPF的安全技术的成功可以通过其在生产网络中的广泛应用得到证明。

作者声明:作者们没有已知的可能会影响本文所述工作的竞争性财务利益或个人关系。

本文得到了沙特阿拉伯利雅得King Saud大学正在进行的科研资助项目(ORF-RICSP-2026-4)、中国国家自然科学基金(项目编号62602005)以及福建省科技计划(项目编号2025H6007)的支持。

作者列表:林胜瑞 | 朱龙龙 | 陈翔 | 郑琳英 | 杜鸿阳 | 孔德章 | 刘轩 | 张建山 | 杨旭 | 刘洪艳 | 张东 | 吴春明 | 易迅 | Ibrahim Khalil | Albert Y. Zomaya | Muhammad Khurram Khan
相关新闻
生物通微信公众号
微信
新浪微博
  • 搜索
  • 国际
  • 国内
  • 人物
  • 产业
  • 热点
  • 科普

热点排行

    今日动态 | 人才市场 | 新技术专栏 | 中国科学人 | 云展台 | BioHot | 云讲堂直播 | 会展中心 | 特价专栏 | 技术快讯 | 免费试用

    版权所有 生物通

    Copyright© eBiotrade.com, All Rights Reserved

    联系信箱:

    粤ICP备09063491号