引子

在现代网络安全运营中,攻击面管理(ASM)的核心挑战不在于单纯的“扫描”,而在于如何从海量的、碎片化的互联网数据中,构建出一套准确、动态且具备长周期观测能力的资产清单。

传统的漏洞扫描往往是基于“快照”的,而成熟的 ASM 系统架构必须是基于“时间流”的。本文将提出一种基于有限状态机的 ASM 测绘架构设计。

该设计将资产测绘抽象为 5 个明确的生命周期节点,通过严格的状态流转逻辑,确保资产从发现到监控的全流程数据质量,实现对资产变化的精准感知。

一、 时间驱动的资产状态机

本架构设计的核心思想是时间驱动。任何互联网资产都不是静止的,它们随时间产生、存活、变更或消亡。为了系统化地管理这一过程,我们将资产的生命周期抽象为一个包含 5 个状态的闭环系统。

每个状态不仅代表了资产当前的处理阶段,更核心的是为了回答一个明确的战术问题:

  1. DISCOVERED:这个资产存在吗?

  2. VERIFIED:这个资产现在能否连通?

  3. CHARACTERIZED:这个资产是什么?

  4. CANONICAL:这个资产是否具备唯一性?

  5. OBSERVED:这个资产发生了什么变化?

二、 五阶状态测绘流转

1. 阶段一:DISCOVERED(已发现)

核心任务:全量收集

这是系统的入口层,遵循“宁滥勿缺”的原则。在此阶段,系统接入各类数据源(如子域名爆破、证书透明度日志 CT Log、IP 段扩展、Whois 反查等)。

  • 架构设计

    • 将所有捕获到的潜在标识(域名、IP、URL)作为“候选资产”入库。

    • 保持容错,此阶段允许高噪声(假阳性),不进行清洗,只负责“发现”。

  • 状态输出:资产进入待验证队列。

2. 阶段二:VERIFIED(已验证)

核心任务:去伪存真

这是系统的过滤器。目的是确认资产在物理网络层面的可达性,剔除沉没资产或无效记录。

  • 架构设计

    • 执行轻量级存活探测:DNS 解析验证、ICMP/TCP 可达性测试、端口扫描。

    • 异常处理:若资产不可达,将其标记为“暂时失效”或回退状态,避免进入后续高资源消耗的分析流程。

  • 状态输出:仅通过存活验证的资产流转至下一层。

3. 阶段三:CHARACTERIZED(已识别)

核心任务:资产定性

在此阶段,系统对活跃资产进行深度扫描,提取指纹信息,完成“我是谁”的画像构建。

  • 架构设计

    • 协议识别:区分 HTTP/HTTPS、SSH、RDP 等业务协议。

    • 服务指纹:识别 Web 容器(Nginx/Apache)、开发框架(Spring/Django)、WAF 等。

    • 元数据提取:抓取 TLS 证书详情、HTTP Header、Banner 信息。

  • 状态输出:资产具备了丰富的基础属性,标记为“已知类型”。

4. 阶段四:CANONICAL(已归一)

核心任务:消除歧义与唯一ID分配

这是架构设计中最关键的“收敛”步骤。网络资产往往存在多对一的关系(例如多个子域名指向同一个 IP 上的同一个 Web 服务)。

  • 架构设计

    • 实体合并:基于指纹和解析关系,将通过不同路径发现的同一实体合并。

    • ID 分配:分配系统内唯一的 Canonical Asset ID

  • 核心价值:确立了资产的“法律身份”,后续所有的历史记录、漏洞关联、风险评分都将绑定在这个唯一的 ID 上,而非不稳定的 IP 或域名。

5. 阶段五:OBSERVED(已观测)

核心任务:时间线监控

资产进入稳定态,系统开启长周期监控模式。这是 ASM 与单次扫描的本质区别。

  • 架构设计

    • 周期性轮询:基于策略(如每日/每周)对 Asset ID 进行重新验证。

    • Diff 分析:对比当前状态快照与历史快照。

    • 变更捕捉:记录新开放的端口、证书更新、服务组件版本变化等。

  • 状态循环:一旦触发变更或完成一轮周期,资产将根据情况重新进入 VERIFIED 或 CHARACTERIZED 状态,确保持续的准确性。

三、 状态流转规则与系统稳定性

为了保证系统运行的逻辑严密性,必须严格遵守以下流转约束:

1. 线性推进原则

资产数据的处理流水线必须严格遵循:

DISCOVERED -> VERIFIED -> CHARACTERIZED -> CANONICAL -> OBSERVED

每一个后置状态都强依赖于前置状态的数据产出。例如,没有完成归一化(CANONICAL)的资产,无法进行有效的历史变更对比(OBSERVED)。

2. 闭环反馈机制

系统不是单向的管道,而是一个闭环:

  • OBSERVED -> VERIFIED:在监控周期到达时,资产自动回流至验证阶段,重新确认存活。

  • 异常回退:如果在 OBSERVED 阶段发现资产连续不可达,资产状态需降级回退至 DISCOVERED 或失效池,等待下一次被唤醒。

四、 总结

采用基于状态机的 ASM 架构设计,不仅仅是为了通过技术手段扫描端口,而是为了构建一个动态演化、持续更新的资产模型

该架构的优势在于:

  1. 清晰的边界:每个状态只回答一个问题,降低了单一模块的耦合度。

  2. 数据一致性:通过归一化节点,解决了资产重复计算和身份漂移的问题。

  3. 变化感知能力:将“扫描”升级为“观测”,使安全团队能够捕捉到攻击面随时间产生的细微漂移,从而做出更快速的响应。

声明:本文来自先进攻防,版权归作者所有。文章内容仅代表作者独立观点,不代表安全内参立场,转载目的在于传递更多信息。如有侵权,请联系 anquanneican@163.com。