阅读量:2
从 dmesg 日志发现恶意软件的实用方法
一、快速定位思路
- 明确目标:dmesg 记录的是内核环缓冲区消息,擅长发现内核级异常(可疑模块、权限/策略拦截、设备异常、资源枯竭、文件系统异常等),不能直接覆盖用户态进程的全部行为。将 dmesg 与 /var/log/auth.log、/var/log/syslog 以及 journalctl 持久化日志联动分析,效果最佳。为防重启丢失,建议持久化:例如运行
dmesg > /var/log/dmesg-$(date +%F).log或使用journalctl -k -b all导出内核日志。实时监控可用dmesg -w;按严重级别筛选可用dmesg -l err,crit,alert,emerg。注意普通用户可能权限不足,需 root 或加入 adm 组/配置/dev/kmsg权限。
二、重点排查信号与示例命令
| 可疑信号 | 典型日志关键词/示例 | 排查要点 |
|---|---|---|
| 未授权内核模块加载或签名校验失败 | “module xxx: signature verification failed”;“insmod: ERROR: could not insert ‘xxx’: Invalid module format” | 立即核对 /proc/modules、lsmod 输出,定位模块文件(如 /lib/modules/**/*.ko),用 modinfo 查看签名与来源,必要时隔离并卸载。 |
| LSM/SELinux/AppArmor 拒绝 | “SELinux: avc: denied { read/write } … comm=“xxx” path=…”;“AppArmor: DENIED { write } …” | 结合进程名与路径判断是否异常访问;若为合法进程策略过严,调整策略;若为可疑进程,视为潜在提权/持久化迹象。 |
| 异常设备接入或驱动异常 | “usb 1-1: new high-speed USB device … error -110”;“device descriptor read/64, error -110” | 排查未知 USB/存储设备;结合 lsusb -v、udev 规则与物理端口检查,防止 BadUSB/嗅探器。 |
| 文件系统与磁盘异常 | “EXT4-fs (sda1): error …”;“I/O error …” | 检查 `dmesg -T |
| 内存错误与 OOM Killer | “EDAC MC#: CE memory read error …”(可纠正错误频发需警惕);“Out of memory: Killed process 1234 (xxx)” | 内存错误频发可能指向硬件问题或被利用的内存破坏;OOM 结合 pmap -x 、smem 与业务基线判断是否异常占用。 |
| 异常重启/崩溃线索 | “Kernel panic …”;“BUG: unable to handle page fault …” | 保存完整 dmesg 与 journalctl -k -b -1 回溯;结合 kdump/vmcore 分析,排查内核漏洞利用或不稳定内核模块。 |
| 以上信号与示例命令可快速筛出高风险线索,并指导后续取证与处置。 |
三、高效排查命令清单
- 实时监控:
dmesg -w -T(按时间显示并持续输出)。 - 只看高危级别:
dmesg -l err,crit,alert,emerg -T | less。 - 关键字聚焦:
dmesg -T | egrep -i "module|signature|selinux|apparmor|usb|i/o|error|fail|panic|oom|edac|ext4-fs" | less。 - 持久化与回溯:
journalctl -k -b all > kernel_all_$(date +%F).log;查看上次启动journalctl -k -b -1 -e。 - 关联用户态登录与认证:
grep -i "invalid user\|failed password" /var/log/auth.log;与 dmesg 时间线对齐分析暴力尝试与内核日志的因果关系。
四、误报甄别与进一步取证
- 区分环境噪声与真实威胁:硬件老化可致 EDAC/磁盘 I/O 报错;驱动兼容问题会触发模块加载失败;合法设备接入会产生 USB 新设备日志。以基线对比、硬件自检与驱动版本核验降低误报。
- 由日志到现场:发现可疑模块后,用
lsmod、modinfo、find /lib/modules -name定位文件;结合进程树.ko pstree -aps、网络连接ss -tulpen | grep与文件完整性校验(如sha256sum)取证;必要时在离线环境做静态分析。 - 加固与恢复:临时隔离网络,卸载可疑模块(
modprobe -r),回滚最近内核/驱动更新;修复策略(SELinux/AppArmor)、更新签名与补丁;完善持久化与审计(开启并审计auditd,集中收集journalctl -k与系统日志到 SIEM/IDS 做关联告警)。
以上就是关于“怎样从dmesg日志中发现恶意软件”的相关介绍,筋斗云是国内较早的云主机应用的服务商,拥有10余年行业经验,提供丰富的云服务器、租用服务器等相关产品服务。云服务器资源弹性伸缩,主机vCPU、内存性能强悍、超高I/O速度、故障秒级恢复;电子化备案,提交快速,专业团队7×24小时服务支持!
简单好用、高性价比云服务器租用链接:https://www.jindouyun.cn/product/cvm