谛听(Diting)开发W7:检出率从 27% 到 100%,规则包从 19 条扩到 27 条

谛听(Diting)第七周。上周的结尾很难看:全量回归检出率 22.7%,根因是规则加载器把一个 CIS 定义文件当规则吃掉、引擎静默降级为空。这周第一件事就是还债。

还债:让"静默失效"从设计里绝种

上周的翻车值得再复盘一遍:一个 yaml 文件放错了目录,加载器解析失败,然后整个规则引擎安静地变成空的------不报错、不退出。性能测试全绿、单测全过,因为它们都不走这条路径。

这周的修复不是补一个 bug,是立一套规矩,四个动作:

  1. fail-fast:坏文件拒绝启动,报错带文件名和原因,exit=1。加载失败从"悄悄降级"变成"响亮地死"。
  2. inode 自动登记:DSL 里的文件规则现在自动把目标文件的 inode 登记进内核监控表,不再需要先跑一遍基线快照才生效。以前"规则写了但没监控上"是可能的,现在不可能了。
  3. 加载期兜底警告:路径不存在、非绝对路径、含通配符------三类问题各有明确的 warn,告诉你哪条规则在什么情况下会降级。
  4. 单实例锁:flock 保证同一台机器只有一个探针实例在跑,双开直接被拒并告诉你持锁的 pid。

修完的回归:检出率从 27.3% 回到 97.7% (43/44)。

规则包第三批:挖矿与防御规避

规则包从 19 条扩到 27 条,新增两组:

  • 挖矿类:连接已知矿池端口(stratum 的 3333/5555/7777)、矿池域名解析、挖矿二进制名执行(xmrig/kdevtmpfsi 这类老熟人)、/dev/shm 无扩展名执行。目前单事件可判定,三因子关联(进程特征+网络+算力占用)的设计文档已写好,排在 v2。
  • 防御规避类:清安全日志(auth.log/wtmp)、停 auditd/rsyslog、chattr +i 锁文件、kill 安全工具进程。这一组是"攻击者反侦查"的针对性覆盖。

写防御规避规则时踩出了三个真 bug,都是攻击用例逼出来的:pid1 的祖先链豁免逻辑会静默吞掉告警、pkill 杀符号链接进程时匹配不上、rsyslog 的线程 comm 名和主进程不一样。这三个问题靠读代码很难发现,用例库替我发现的------自动化测试是单人项目的测试团队,这话我写在计划里,这周再次被验证。

最终:30 个用例连跑两轮,60/60,检出率 100% 。误报方面记录了 1 条、收紧了 2 条 condition。

Syslog 通道与意外的 RSS

周四加了 Syslog 外发通道(RFC 5424,UDP 514 或本地 /dev/log,severity 映射 syslog level),和 webhook 双通道并存、各自独立路由。这是对接客户 SOC/SIEM 的接口,大客户刚需。

RSS 瘦身专项变成了"复核"------周一修复完一量,内存自己降下来了:W5 基线 139.3MB,现在常态 124.6MB。5 分钟压测峰值 141.6MB、CPU 0.81%,窗口内蠕变 +0.86MB,无泄漏特征。有些性能问题不是优化出来的,是 bug 修好之后自己消失的。

数据

  • 规则包:19 → 27 条 ;攻击用例:22 → 30 个,回归 60/60(100%)
  • CIS 40 项:规则大改后零回归
  • 单测 110 项全过;30 秒冒烟 30 万事件全入库,bus.hi 四路全 0
  • RSS 141.6MB / CPU 0.81%(红线 150MB / 3%)
  • 检出率:27.3%(修复前)→ 97.7%(修复后)→ 100%(本周全量)

下周

W8 转向交付面:等保报告打磨、欠账清零、集成测试预演。v1.0 的范围对焦这周做了复核,缺口清单已出,离定稿不远了。

------ 谛听开源在 GitHub(Apache 2.0),每周一篇开发日志。一个人写内核安全工具,慢,但不停。

相关推荐
帷幕落秋1 小时前
进程服务与文件描述符
linux·运维·面试
帷幕落秋1 小时前
信号、Ctrl 组合键与进程状态
linux·运维·面试
大能嘚吧嘚1 小时前
Debian13系统安装
linux
qetfw1 小时前
grep 文本筛选:匹配、反选与退出状态验证
linux·shell
就像楞次定律2 小时前
【Linux 学习记之一】日常生产力工具与终端流的高效闭环实践(1)
linux
奔跑的架构师2 小时前
[A-51]ARMv9/v8-SCMI系统架构
linux·arm开发·架构·系统架构·arm
小超人诞生日记2 小时前
Linux 进程优先级
linux·运维·服务器
weixin_460443562 小时前
Java+Linux私有化训考平台:服务、数据库与终端部署结构解析
java·linux·数据库·私有化部署·企业培训考试系统·企业考试系统
en.en..3 小时前
MRS/MSR 指令操作 xPSR 寄存器
linux·运维·服务器