网络安全研究人员近日展示了一款名为"Curing"的概念验证(PoC)Rootkit,该工具利用Linux异步I/O机制io_uring绕过了传统的系统调用监控。
安全工具存在重大盲区
ARMO公司表示,这导致"Linux运行时安全工具存在重大盲区"。该公司在分享给The Hacker News的报告中指出:"该机制允许用户应用程序在不使用系统调用的情况下执行各种操作。因此,依赖系统调用监控的安全工具对仅通过io_uring运行的Rootkit完全'失明'。"
io_uring技术原理
io_uring最早于2019年3月随Linux内核5.1版本引入,是一种Linux内核系统调用接口。它通过在内核与应用程序(即用户空间)之间建立两个环形缓冲区——提交队列(SQ,Submission Queue)和完成队列(CQ,Completion Queue),以异步方式跟踪I/O请求的提交与完成。
Rootkit工作机制
ARMO设计的这款Rootkit实现了命令控制(C2,Command-and-Control)服务器与被感染主机之间的通信,可在不进行任何相关系统调用的情况下获取并执行命令,而是完全依赖io_uring实现相同目标。
主流安全工具检测失效
ARMO对当前主流Linux运行时安全工具的分析显示,由于Falco和Tetragon都严重依赖系统调用挂钩(hooking)技术,它们对基于io_uring的操作完全无法检测。CrowdStrike的Falcon代理同样无法检测通过io_uring执行的系统操作,不过该公司已针对该问题发布修复补丁。而微软的Linux版Defender for Endpoint据称缺乏检测各类威胁的能力,无论是否使用io_uring。
已知安全风险
io_uring带来的安全风险早已为人所知。2023年6月,谷歌就曾表示决定在Android、ChromeOS及其生产服务器上限制使用该Linux内核接口,因其"提供了强大的漏洞利用原语"。
专家观点
ARMO安全研究主管Amit Schendel表示:"一方面需要监控系统调用,另一方面又需要访问内核结构并获得足够的上下文才能有效检测威胁。许多厂商选择了最直接的路径:直接挂钩系统调用。虽然这种方法能快速获得可见性,但也存在局限性。最明显的是,系统调用并不总是会被触发。io_uring可以完全绕过系统调用,就是一个很好的例证。"
参考来源:
Linux io_uring PoC Rootkit Bypasses System Call-Based Threat Detection Tools
4A评测 - 免责申明
本站提供的一切软件、教程和内容信息仅限用于学习和研究目的。
不得将上述内容用于商业或者非法用途,否则一切后果请用户自负。
本站信息来自网络,版权争议与本站无关。您必须在下载后的24个小时之内,从您的电脑或手机中彻底删除上述内容。
如果您喜欢该程序,请支持正版,购买注册,得到更好的正版服务。如有侵权请邮件与我们联系处理。敬请谅解!
程序来源网络,不确保不包含木马病毒等危险内容,请在确保安全的情况下或使用虚拟机使用。
侵权违规投诉邮箱:4ablog168#gmail.com(#换成@)