Rootkit 深度检测
内核级和用户级Rootkit全面检测,
穿透隐藏技术的"X光透视",发现传统安全工具无法看到的隐藏威胁
🩻 可见 vs 隐藏 对比
用户态视图与内核态视图的差异,暴露被Rootkit隐藏的恶意对象
🟢 内核态直接扫描 (eBPF)
- 检测到 291 个运行进程
- 扫描全部内核模块 (LKM)
- 检测到 4 个被隐藏的内核符号
- 发现 1 个未注册的设备文件 /dev/.hidden
- 检测到 2 个 IDT/SSDT 表项被挂钩
🔴 用户态工具可见 (ps/ls/proc)
- 仅显示 287 个进程(少了4个)
- 无法发现隐藏的内核模块
- 无法检测被Hook的内核符号
- 隐藏设备文件不可见
- 被篡改的IDT/SSDT表无法感知
🔬 四大检测 技术
多维度交叉验证,确保Rootkit无所遁形
进程交叉比对
同时从/proc(用户态)、eBPF(内核态)、task_struct链表三个维度获取进程列表并两两比对
内核符号校验
比对sys_call_table的实际地址与预期地址,检测因LKM rootkit导致的系统调用表Hook
端口交叉比对
同时通过netstat/ss(用户态)和/proc/net/tcp(内核态)获取端口列表,发现隐藏的网络监听
文件隐藏检测
通过直接读取磁盘inode与文件系统VFS遍历结果对比,发现被LKM rootkit在VFS层隐藏的文件
🦠 Rootkit 类型库
系统已知Rootkit家族的识别签名
LKM Rootkit
以内核模块形式加载,可hook系统调用、隐藏进程/文件/端口。代表:Diamorphine, Reptile, Suterusu
LD_PRELOAD Rootkit
通过环境变量劫持libc函数,欺骗用户态工具(ps, ls, netstat),代表:Jynx2, Azazel
Bootkit
感染MBR/UEFI引导程序,在操作系统启动前加载恶意代码,比LKM Rootkit更难检测和清除
固件Rootkit
感染BIOS/UEFI/网卡固件,即使重装系统也无法清除。需要通过固件完整性校验来检测
内存Rootkit
直接修改内核内存而不通过LKM,无文件、无模块,仅存在于内存中。检测:内存取证+代码签名校验
用户态Rootkit
替换系统工具(如/bin/ps, /bin/netstat)为被篡改版本,简单但有效。检测:文件哈希比对
💡 常见问题
Q: Rootkit检测需要重启服务器吗?
不需要。所有检测均在运行时进行,无需重启。eBPF探针在不影响业务的情况下穿透Rootkit的隐藏层。
Q: 发现Rootkit后如何处理?
系统提供一键应急响应:隔离主机网络、终止可疑进程、卸载恶意内核模块、备份取证数据。清理后建议从已知干净备份恢复系统。
Q: 对内核版本有什么要求?
基本检测支持 Linux 3.10+,eBPF深度检测需要 4.15+,推荐 5.4+以启用全部检测能力。