模 模界数智

从三份日志到风险事件链:把 DLP 告警变成可举证的调查结论

客户
某证券机构,需求来自其数据安全运营中心建设
阶段
原型验证
结果
三层数据模型与规则引擎跑通;规则、场景映射、打分算子全部配置化,改配置即生效无需改代码
涉及能力
日志治理风险建模规则引擎证据链回溯LLM 报告生成

阅读说明:这是一个原型/演示系统,用于验证方法与展示能力,尚未在客户生产环境部署。 客户名称与可识别的业务标识已全部隐去;文中的方法、结构与数字为真实记录。

从三份日志到风险事件链:把 DLP 告警变成可举证的调查结论的项目过程示意图

背景

企业里负责数据安全运营的团队,每天面对的是几个互不相通的控制台:上网行为审计一个、邮件安全网关一个、终端 DLP 一个,有的还有即时通讯审计。

每个控制台都在产告警。告警很多,但没有一个能回答业务上真正的问题——这个员工最近到底有没有在往外带数据?

问题

告警是碎片,不是故事。 上网日志记录了访问,DLP 记录了文件操作,邮件网关记录了外发。三者各说各话,时间线对不上,字段口径不一致,人要在三个界面之间来回切换才能拼出一个大概。

单条告警的风险等级没有意义。 访问一个云盘是低风险,插一次 U 盘是低风险,发一封带附件的邮件是低风险。但同一个人在两小时内做完这三件事,且涉及同一批文件,那是另一回事。

结论无法举证。 即使人工拼出了判断,要向管理层或合规部门说明「为什么认为这是风险」,还得再回三个系统去捞证据。

原有方式为什么不行

常见做法是做一个统一日志平台,把三类日志汇总到一起,做搜索和统计报表。

这解决了「查得到」的问题,但没解决「看得懂」的问题——它把三个控制台变成了一个更大的控制台。分析师面对的仍然是原始记录,只是现在它们堆在同一张表里。

把日志聚合起来不等于把风险识别出来。 中间缺的是一层业务语义。

关键约束

  • 原始日志必须 1:1 全量留存不裁剪——最终举证依赖原始记录,任何加工都不能破坏它
  • 规则、场景、算子、文案全部配置化——安全场景变化快于发版速度
  • 每个结论必须可逐级下钻回原始记录
  • 需要覆盖多员工、多部门、跨月份的分析,不能只做单人单日

做法

一、三层数据模型

第一层  原始日志       上网行为 / 邮件网关 / 终端 DLP / IM 通讯
                       1:1 全量留存,不裁剪,可反查
          ↓
第二层  标准化事件     统一字段:事件时间 · 员工 · 部门 · 日志源 · 场景
                       · 子场景 · 动作 · 敏感类型 · 文件名 · 外发目标
                       · 风险分值 · 风险等级
          ↓
第三层  风险事件链     把时间接近、行为相关、对象相近的事件聚合成 Case
                       每条链可下钻至全部构成事件与原始记录

第二层是关键。 它把「日志」翻译成「事件」——原始日志描述的是系统动作(一次 HTTP 请求、一次文件写入),标准化事件描述的是业务行为(谁、在什么场景、对什么敏感数据、做了什么、风险多大)。

二、场景与子场景:把通道说清楚

内置七大风险场景——邮件外发、Web 访问、IM 通讯、云盘上传、远程控制、终端外设、打印输出——以及四十余个子场景,覆盖 U 盘拷贝、VPN 接入、堡垒机、各类远程控制工具、各类网盘服务。

场景映射规则全部配置化存储,支持精确、模糊、正则三种匹配方式。新增一个应用或通道不需要改代码。

三、可配置的打分引擎

风险分值不是拍脑袋,而是几类算子的组合:

  • 敏感词典命中累加(可设单项权重与上限)
  • 通道风险枚举查表
  • 处置动作映射(放行 / 阻断 / 记录 / 投递 / 隔离)
  • 时间窗口内同场景聚集异常检测
  • 跨日志源共现关联加分

最后一类是三层模型真正发挥作用的地方——同一批文件在 Web 和终端 DLP 里同时出现,这个共现本身就是信号。

单事件分值封顶 100,按可配置阈值划分高中低三级,阈值可在线调整。

四、零硬编码

规则、枚举、界面文案、提示词全部存在数据库,代码只解释执行。改数据即生效,支持热重载。

这条约束在实现上有代价(很多东西不能写死会让代码复杂),但它决定了这个系统交付之后是否还能被运营团队自己维护。

五、LLM 只用在叙事层

大模型在这个系统里不做判断,只做三件事:

  • 把一条风险事件链的构成写成可读的调查分析
  • 生成面向管理层的周报摘要
  • 支持自然语言问答

风险识别、打分、分级全部由确定性规则引擎完成。 模型不参与定级,因为定级结论要经得起追问,而且要能在没有模型的情况下复现——系统在未配置模型时走规则模板兜底,功能完整。

验证方式

原型基于三份真实日志样本(上网行为、终端 DLP、邮件网关)构建。为了验证多员工、跨部门、跨月份的分析能力,在保留真实样本的前提下,用可复现的合成数据扩展到 12 个部门、60 名员工、6 个月的规模。

必须说明:除三份真实样本外,规模化数据是合成的(固定随机种子,可复现)。合成数据能验证模型、规则引擎与聚合逻辑在规模下的正确性和性能,不能代表真实企业的行为分布。真实环境的风险基线必须用真实日志重新建立。

真实样本对应的风险事件链被固化为回归测试——输入固定,输出的 Case 集合必须固定。

结果

项结果
数据模型三层(原始日志 / 标准化事件 / 风险事件链)跑通,逐级可下钻
风险场景7 大场景 + 40 余个子场景,映射规则全部配置化
打分引擎5 类算子可自由组合,阈值在线可调
数据规模12 部门 / 60 员工 / 6 个月 / 约 95 万事件 / 约 1.7 万风险事件链
硬编码零——规则、枚举、文案、提示词全部在库
交付形态高管驾驶舱、事件链中心、员工画像、部门风险报告、规则管理

经验与边界

一条可迁移的经验:安全运营的难点不在检测,在聚合。

单点检测能力(DLP、邮件网关、上网审计)市场上都很成熟,企业往往已经买齐了。真正缺的是把它们的输出翻译成同一种语言,再按业务逻辑聚合成可调查、可举证的对象。这一层几乎没有厂商愿意做,因为它高度依赖客户自己的组织结构、敏感数据定义和业务流程。

另一条:让模型远离定级。 风险等级是要写进报告、可能影响到人的结论,它必须由确定性规则产出、可复现、可解释。模型适合做的是把已经确定的结论讲清楚。

边界:

  • 这是原型,不是生产系统。 规模化数据为合成,未在客户生产环境部署
  • 敏感数据识别目前依赖词典与规则,尚未接入语义级的分类分级能力——这是与数据分类分级产品结合的自然接口
  • 事件链聚合规则基于时间窗口与对象相似度,对刻意规避(长时间跨度、小批量分散)的检测能力有限

相关文章

在做类似的项目?

可以从一个真实业务场景开始,先判断值不值得做、数据是否具备条件、安全和权限问题在哪里,再决定是否进入 PoC。

预约 30 分钟交流