网络安全研究人员近日展示了一款名为"Curing"的概念验证(PoC)Rootkit,该工具利用Linux异步I/O机制io_uring绕过了传统的系统调用监控。
01
安全工具存在重大盲区
ARMO公司表示,这导致"Linux运行时安全工具存在重大盲区"。该公司在分享给The Hacker News的报告中指出:"该机制允许用户应用程序在不使用系统调用的情况下执行各种操作。因此,依赖系统调用监控的安全工具对仅通过io_uring运行的Rootkit完全'失明'。"
02
io_uring技术原理
io_uring最早于2019年3月随Linux内核5.1版本引入,是一种Linux内核系统调用接口。它通过在内核与应用程序(即用户空间)之间建立两个环形缓冲区——提交队列(SQ,Submission Queue)和完成队列(CQ,Completion Queue),以异步方式跟踪I/O请求的提交与完成。
03
Rootkit工作机制
ARMO设计的这款Rootkit实现了命令控制(C2,Command-and-Control)服务器与被感染主机之间的通信,可在不进行任何相关系统调用的情况下获取并执行命令,而是完全依赖io_uring实现相同目标。
04
主流安全工具检测失效
ARMO对当前主流Linux运行时安全工具的分析显示,由于Falco和Tetragon都严重依赖系统调用挂钩(hooking)技术,它们对基于io_uring的操作完全无法检测。CrowdStrike的Falcon代理同样无法检测通过io_uring执行的系统操作,不过该公司已针对该问题发布修复补丁。而微软的Linux版Defender for Endpoint据称缺乏检测各类威胁的能力,无论是否使用io_uring。
05
已知安全风险
06
专家观点
原文始发于微信公众号(FreeBuf):Linux io_uring概念验证Rootkit可绕过基于系统调用的威胁检测工具
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论