写点什么

ARMO 研究揭示:io_uring Rootkit 技术可绕过 Linux 安全工具

作者:Claudio Masolo

  • 2025-09-18
    北京
  • 本文字数:1528 字

    阅读完需:约 5 分钟

大小:775.24K时长:04:24
ARMO研究揭示:io_uring Rootkit技术可绕过Linux安全工具

ARMO 的安全研究人员发现了 Linux 运行时安全工具中的一个重要漏洞,这个漏洞源于io_uring接口,这是一种异步 I/O 机制,可以完全绕过传统的系统调用监控。研究表明,攻击者可以利用这个盲点在大多数现有安全解决方案无法检测到的情况下进行操作。

 

该团队开发了一个名为“Curing”的概念验证 rootkit,它完全通过 io_uring 操作来运行,成功地避开了包括Falco、Linux 上的Microsoft Defender for Endpoint在内的主要安全工具的检测,并且需要为像 Tetragon 这样的工具进行特殊配置。该 rootkit 展示了完整的命令和控制功能,而没有进行任何安全工具通常会监控的传统系统调用。

 

我们展示了我们的研究,关于如何有效地绕过 Linux 运行时检测工具。这项研究与任何 Linux 环境都相关,特别是在现代云原生环境中。

 

io_uring 接口是在 Linux 内核5.1中引入的,旨在通过用户空间和内核空间之间的共享环形缓冲区来提供高性能的异步 I/O。与传统依赖系统调用的 Unix I/O 操作不同,io_uring 使用这些环形缓冲区作为主要的通信机制,有效地创建了一个绕过传统监控方法的替代路径。

 

这项研究建立在 Daniel Teixeira 的早期工作之上,他在 2022 年首次展示了 io_uring 的规避潜力,但 ARMO 的团队现在已经创建了第一个功能齐全的 rootkit 来证明实际威胁。io_uring 接口目前支持 61 种不同的操作,包括通常会触发安全警报的关键网络和文件系统函数。

 

测试表明,开源和商业安全解决方案都存在广泛的漏洞。Falco,一个广泛用于运行时安全监控的 CNCF 毕业项目,由于依赖系统调用钩子,对基于 io_uring 的操作完全无效。Falco 的维护者已经承认了这个问题,并正在开发基于 LSM 的插件来填补空白。Linux 上的 Microsoft Defender for Endpoint 也显示出了类似的盲点,未能检测到各种恶意活动,包括敏感文件访问、恶意软件部署和通过 io_uring 执行的加密货币挖矿操作。研究人员指出,只有可能会使用到 Fanotify 钩子的文件完整性监控模块提供了一些检测能力。

 

这项研究暴露了当前基于eBPF的安全方法的基本局限性,到许多供应商都已经采用了这种方法。虽然 eBPF 为构建安全代理提供了性能和安全优势,但其验证器约束经常推动供应商采用直接挂接到系统调用的最简单实现方法。

 

这种直接的方法提供了快速的可见性,但假设系统调用将始终被用于安全相关的操作。io_uring 的绕过表明,随着内核接口的发展,这种假设越来越不可靠。研究人员强调,安全供应商需要超越简单的系统调用监控,以保持对现代规避技术的有效防范。

 

ARMO 的研究确定了几种检测基于 io_uring 攻击的方法。最有希望的长期解决方案涉及实施 KRSI(Kernel Runtime Security Instrumentation,内核运行时安全工具),它建立在 Linux 安全模块框架之上,通过 LSM 钩子而不是系统调用监控提供更可靠的覆盖。

 

可选的检测策略包括监控异常的 io_uring 使用模式,因为大多数合法应用程序通常不使用这个接口。然而,这种方法需要仔细实施,以避免在动态环境中产生误报。安全团队还可以识别内核堆栈中的备选钩子点,尽管这需要更深入的内核内部专业知识。研究人员还建议遵循 Windows 安全模型,其中 Microsoft 从不可靠的 SSDT 钩子转向结构化通知例程,以保证回调执行。Linux 的 KRSI 代表了类似的演变,提供了更一致的安全事件覆盖,更难通过创造性的系统调用规避来绕过。

 

这个漏洞对云原生环境具有特别的意义,其中 Linux 构成了容器化基础设施的基础。容器编排平台和微服务架构的广泛部署意味着单一的安全盲点可能会对整个部署产生连锁反应。这项研究强调了安全解决方案需要与不断发展的内核特性保持前向兼容,而不是依赖于传统的监控方法。随着内核接口继续扩展新的异步机制和性能优化,无法适应的安全工具将在保护方面留下越来越大的空白。

 

原文链接:

https://www.infoq.com/news/2025/09/linux-security-rootkit/

2025-09-18 10:035020

评论

发布
暂无评论

Windows、Linux、Apple三大操作系统的主流文件系统包含哪些?

Ethereal

治理有精度,AI赋智加强城市精细化管理

百度大脑

Python 的排序方法 sort 和 sorted 的区别

AlwaysBeta

Python

Kubernetes中API的不同版本, Alpha, Beta, Stable 都是什么?

工程师薛昭君

Kubernetes API

从建好到用好,阿里云原生微服务生态的演进

阿里巴巴云原生

弱监督语义分割:从图像级标注快进到像素级预测

网易云信

安全

TDesign React Starter 发布

TDesign

错误码设计思考

木小风

Java 架构 错误码

Apache ShardingSphere 5.1.0 执行引擎性能优化揭秘

SphereEx

数据库 ShardingSphere SphereEx apache 社区

Go 中的空白标识符(下划线)

宇宙之一粟

Go 语言 3月月更

Java AOT之GraalVM native image介绍以及简单长连接服务实践

BUG侦探

GraalVM java aot native image

地狱开局的2022,穿好你的安全铠甲

脑极体

网络安全入门5天速成教程: WEB安全渗透攻防技术

网络安全学海

网络安全 安全 信息安全 渗透测试 WEB安全

4/8 Serverless 技术实践营成都站持续报名中

阿里巴巴云原生

国家产业政策不断加码,氢能步入加速发展期

易观分析

氢能源 氢能源产业

详细的网站定制步骤有哪些?

源字节1号

网站开发 软件定制

Nginx限速模块初探

喀拉峻

nginx

详细解读开源 PolarDB 三节点高可用的功能特性和关键技术

阿里云数据库开源

数据库 阿里云 开源 polarDB

【图解数据结构】排序全面总结(下)

知心宝贝

数据结构 算法 排序算法 3月月更

ABAP 获取本地路径

Jasen Ye

abap 文件路径

什么是数据恢复?数据丢失的最常见原因有哪些?

Ethereal

产品升级|1-2月合刊:多款重磅产品来袭

百度大脑

浅谈信息熵在数字体验监控领域的应用

博睿数据

自动化知识图谱表示:从三元组到子图

第四范式开发者社区

人工智能 自动化 知识图谱

企业如何挖掘知识“金矿”?这本白皮书讲得够透彻!

百度大脑

延期通知 RocketMQ Summit 议题全揭秘

阿里巴巴云原生

AI+遥感智能解译,赋能智慧城市规划革新

百度大脑

客户画像赋能百度推广生态实践

百度Geek说

前端 后端

Ansible:实战笔记

NChunHisenG.🐰

ansible

提升客户服务体验的技巧

小炮

客户服务 SaaS平台

恒源云(GpuShare)_租卡怎么选?看这一篇就够了!

恒源云

人工智能 GPU服务器

ARMO研究揭示:io_uring Rootkit技术可绕过Linux安全工具_安全_InfoQ精选文章