2. 风险数据基础

在压力场景下做风险数据聚合演练,第一步不是写脚本、不是拉接口,而是把“数据本身”看清楚。风险数据的类型决定了聚合口径,来源决定了可信度与时效,结构决定了清洗与关联成本,质量维度决定了聚合结果能不能支撑决策。本节围绕这四件事展开,并给出可落地的采集方式与检查清单。

一、核心原理:风险数据的四层认知

风险数据不是单一表格,而是一个从“原始信号”到“决策指标”的加工链条。理解这条链条,才能避免在聚合时把不同粒度、不同口径的数据直接相加。

  • 类型层:按语义分为资产类、脆弱性类、威胁类、事件类、控制措施类与业务影响类。类型决定字段结构与关联主键。
  • 来源层:分为内部系统、外部情报、人工填报与第三方接口。来源决定更新频率、可信权重与合规边界。
  • 结构层:分为结构化、半结构化与非结构化。结构决定解析方式与存储模型。
  • 质量层:完整性、准确性、一致性、时效性、唯一性与可用性六个维度共同决定数据能否进入聚合计算。

关键判断:聚合前必须回答三个问题——这条数据的主键是什么?它的时间戳代表“发生时间”还是“入库时间”?它的风险值口径是概率、评分还是等级?答不上来,聚合结果必然失真。

二、风险数据的类型与来源

压力场景下最常聚合的六类风险数据及其典型来源如下表所示。表中“聚合主键”一列是实战中最容易被忽略、却最影响关联成功率的关键字段。

数据类型 典型字段 常见来源 聚合主键 更新频率
资产类 资产ID、IP、归属系统、责任人 CMDB、云平台、主机Agent asset_id / ip 日级
脆弱性类 CVE、CVSS、端口、组件版本 漏扫、镜像扫描、SBOM cve + asset_id 周级/触发式
威胁类 IOC、TTP、组织标签、置信度 威胁情报平台、行业共享 ioc_value 小时级
事件类 告警ID、时间、源IP、规则名 SIEM、EDR、WAF日志 alert_id 秒级/分钟级
控制措施类 策略ID、覆盖范围、生效状态 防火墙、IAM、基线平台 control_id 日级
业务影响类 业务系统、等级、影响金额 业务台账、人工填报 service_id 月级/变更时

来源越多,口径冲突越明显。例如同一台主机在CMDB中标记为“测试”,在漏扫中却属于“生产网段”;同一IP在情报中置信度为高,在内部日志中却从未出现。这些冲突必须在聚合前通过“来源优先级”规则显式处理,而不是靠人工临时判断。

三、结构特征与采集方式

风险数据的结构差异直接决定采集管道的设计。结构化数据适合批量抽取,半结构化需要解析器,非结构化往往只能先做特征提取再入湖。

# 典型采集配置片段(伪代码)
source:
  type: syslog
  protocol: tcp
  port: 514
  parser: cef
  fields:
    - name: event_time
      format: "%Y-%m-%dT%H:%M:%S%z"
    - name: src_ip
      type: ip
    - name: severity
      mapping: {low: 1, medium: 2, high: 3, critical: 4}
  quality_gate:
    require: [event_time, src_ip, severity]
    dedup_key: [src_ip, rule_id, event_time]

常见采集方式可归纳为四类:

  1. 主动拉取:通过API、数据库只读账号、SFTP定时抽取,适合资产、漏洞、控制措施类数据。
  2. 被动接收:通过Syslog、Kafka、Webhook接收日志与告警,适合事件类与威胁类数据。
  3. 代理采集:在主机或容器内安装Agent,采集进程、端口、文件哈希等细粒度数据。
  4. 人工填报:通过表单或工单系统补充业务影响、责任人等系统无法自动获取的字段。

采集设计要点:每条数据进入聚合层前,必须打上“来源标签”和“采集时间戳”。来源标签用于后续加权,采集时间戳用于判断时效性,二者缺一不可。

四、质量维度与实战检查清单

质量维度不是抽象概念,而是可以写成校验规则的硬约束。以下清单可直接用于演练前的数据准入检查:

  • 完整性:关键字段非空率是否达到阈值?例如资产类要求asset_id与ip非空率≥99%。
  • 准确性:IP格式、CVE编号、时间格式是否通过正则校验?
  • 一致性:同一资产在不同来源中的归属系统是否冲突?冲突率是否超过5%?
  • 时效性:事件类数据延迟是否超过15分钟?威胁情报是否超过24小时未更新?
  • 唯一性:是否存在重复告警?去重键是否覆盖主要场景?
  • 可用性:字段是否可直接参与计算?例如“高危”能否映射为数值3?

常见误区:把“数据量大”等同于“数据质量高”。在压力场景下,大量低质量数据会放大噪声,导致聚合评分被少数异常源拉偏。宁可先接入少量高可信来源,再逐步扩展。

五、场景复盘:一次聚合演练的数据准备

假设演练目标是“在30分钟内聚合全网高危风险并输出Top 20资产”。数据准备阶段发现三个问题:漏扫数据缺少asset_id,只有IP;CMDB中部分IP已回收;威胁情报的IOC字段与日志中的目标IP格式不一致。处理方式为:先用IP+时间窗口做模糊关联,再对回收IP标记“不可信”并降权,最后统一IOC格式为小写无掩码。经过这三步,关联成功率从62%提升到91%,聚合结果才具备参考价值。

风险数据聚合前的质量过滤与关联路径 CMDB / 云平台 资产类 漏扫 / SBOM 脆弱性类 SIEM / EDR 事件类 威胁情报平台 威胁类 质量门 完整性 · 准确性 一致性 · 时效性 唯一性 · 可用性 不通过 → 退回/降权 通过 → 进入关联 关联引擎 asset_id + ip cve + asset_id ioc_value 归一化 时间窗口对齐 来源优先级加权 聚合结果 Top 20 资产 风险评分 处置优先级

回到本节的核心:风险数据基础不是背概念,而是建立“来源—质量—关联—聚合”的因果链。只有把类型、来源、结构与质量四个维度同时管住,压力场景下的聚合演练才不会变成“数据越多、结论越乱”的无效劳动。