2. 企业系统架构与信任边界

威胁建模的第一步不是画攻击树,而是把系统“看清楚”。如果连数据从哪来、经过哪些组件、在哪里跨越了信任级别都说不清,后续的 STRIDE 分析、攻击面评估都会变成凭感觉猜测。本节围绕四个相互咬合的问题展开:企业系统通常如何分层、业务流与数据流如何区分、信任边界画在哪里、资产如何分类并映射到安全等级。

一、典型企业系统分层架构

企业系统虽然形态各异,但绝大多数可以抽象为五层结构,从外到内依次是:接入层、应用层、服务层、数据层、基础设施层。接入层负责用户与外部系统的入口,包括 Web 前端、移动 App、API 网关、反向代理;应用层承载业务编排,如订单服务、审批引擎;服务层提供可复用的领域能力与集成能力,如用户中心、支付网关、消息总线;数据层包括关系库、缓存、对象存储、数据仓库;基础设施层则是主机、容器编排、网络、密钥管理。

分层的价值在于:每一层对外暴露的接口不同,被攻破后的影响半径也不同。接入层被攻破通常影响单个会话,数据层被攻破则可能造成批量数据泄露。因此分层不是画着好看,而是为后续“按层设防”提供依据。

二、业务流与数据流:两条必须分开画的线

初学者常把业务流和数据流混为一谈。二者的区别是:业务流描述“谁在什么条件下触发了什么业务动作”,数据流描述“数据在组件之间如何移动、被谁读写”。以“员工报销”为例,业务流是:员工提交 → 主管审批 → 财务复核 → 打款;数据流则是:报销单从移动端 POST 到 API 网关,网关转发给报销服务,报销服务写入报销库,同时把附件写入对象存储,审批通过后向支付系统发送打款指令。

威胁建模更依赖数据流,因为攻击者关心的是数据在哪里、谁能读、传输是否加密、是否跨越了信任级别。业务流则帮助我们判断哪些数据流是关键的、哪些可以降级处理。

三、信任边界识别

信任边界是信任级别发生变化的接口或位置。它不是物理边界,而是逻辑边界。常见的企业信任边界包括:互联网与企业内网之间(DMZ 边界)、用户浏览器与 Web 服务器之间、API 网关与后端服务之间、应用服务与数据库之间、生产环境与办公网之间、企业与第三方 SaaS 之间。

识别方法可以遵循三条规则:第一,跨越不同管理域的位置,例如从自建系统调用外部支付接口;第二,跨越不同信任级别的位置,例如从匿名访问进入需登录区域;第三,跨越不同数据敏感级别的传输,例如从普通业务库导出数据到分析平台。每一条信任边界都应当被视为潜在的攻击入口,需要在图上明确标注并逐一分析。

企业系统分层架构与信任边界示意 外部用户 浏览器 / 移动端 接入层 API 网关 / WAF / 反代 身份认证入口 应用层 业务编排 / 审批引擎 订单 / 报销 / 工单 服务层 用户中心 / 支付网关 消息总线 / 集成服务 数据层 关系库 / 缓存 / 对象存储 / 数据仓库 敏感数据集中区 基础设施层 主机 / 容器 / 网络 密钥管理 / 日志 第三方 支付 / 短信 SaaS 服务 边界① 互联网/内网 边界② 网关/应用 边界③ 应用/数据 边界④ 内网/第三方 图例说明 数据流方向 信任边界(需重点分析) 高敏感数据区 说明:边界①互联网/内网、边界②网关/应用、边界③应用/数据、边界④内网/第三方,均为信任级别变化点,需逐一进行 STRIDE 分析。

四、资产分类与安全等级划分

资产分类的目的是把有限的安全资源投向最关键的资产。企业通常按数据敏感度和业务重要性两个维度划分,形成四级安全等级:

等级典型资产泄露/破坏影响典型控制要求
L1 公开官网内容、公开文档无实质影响完整性校验
L2 内部内部通知、普通工单轻度影响登录访问、审计日志
L3 敏感客户信息、合同、财务数据较大影响,可能触发合规加密存储、最小权限、脱敏
L4 核心密钥、支付凭证、核心算法严重,可能危及企业存续硬件加密、双人审批、强审计

分类完成后,需要把资产等级映射到信任边界上。例如 L4 资产不应出现在边界①外侧,L3 资产跨越边界③时必须加密传输并记录访问日志。这样,信任边界就不再是抽象概念,而是与具体资产等级绑定的控制点。

实践建议:在绘制数据流图时,用颜色区分资产等级(如红色代表 L4、橙色代表 L3),并在每条跨越信任边界的箭头上标注“传输加密方式 + 认证方式”。这样一张图就能同时承载架构、数据流、信任边界和资产等级四类信息,后续威胁建模可以直接在图上逐条标注威胁。