4. 身份攻击面建模

身份攻击面建模的目标,是把散落在目录、云平台、业务系统和运维工具中的账号、凭据、权限与信任关系,整理成一张可分析、可验证、可更新的“身份攻击路径图”。它回答的不是“有多少个账号”,而是“攻击者从哪个低权限身份出发,经过哪些跳板,最终能触达哪些高价值资源”。

与网络攻击面不同,身份攻击面的核心对象是“身份—凭据—权限—资源”四元关系。一个账号本身不构成风险,真正危险的是它同时具备三个条件:可被外部或低信任主体控制、拥有可横向移动的权限、能访问高价值目标。因此建模时应先定义高价值目标,再反向梳理可达路径,而不是从账号清单正向罗列。

建模四步法:① 确定高价值目标(域控、云管账号、核心数据库、CI/CD 发布权限、密钥管理服务);② 枚举身份主体(用户、服务账号、应用注册、外部来宾、API Key);③ 标注权限边(成员关系、委派、角色分配、信任、令牌获取);④ 合并为攻击路径图并标注可利用条件。

下面这张图展示了一个典型企业环境中的身份攻击路径。左侧是攻击者可能控制的低信任入口,中间是四类关键账号及其权限跳板,右侧是高价值资源。箭头表示“可获取凭据或权限继承”的方向,虚线表示需要额外条件(如密码复用、未启用 MFA、ACL 配置错误)才能成立。

身份攻击路径图:从低信任入口到高价值资源 低信任入口 关键身份主体 高价值资源 外部来宾账号 Guest / B2B 协作 钓鱼获取的普通用户 员工终端 / 弱口令 泄露的 API Key 代码仓库 / 日志 影子账号 未纳管 / 离职遗留 特权账号 域管 / 云 Owner / DBA 服务账号 应用 / 定时任务 / 中间件 外部账号 供应商 / 合作方 / 来宾 影子账号 本地管理员 / 未登记账号 Active Directory 域控 DCSync / 黄金票据 云平台管理控制台 订阅 / 租户级权限 核心数据库 客户数据 / 交易记录 CI/CD 发布流水线 生产部署 / 密钥注入 直接凭据获取或权限继承 需额外条件(密码复用 / 未启用 MFA / ACL 错误) 低信任入口 关键身份主体 高价值资源

图中四类账号的风险特征差异明显,识别方法也各不相同。

特权账号是攻击路径的终点,也是建模的锚点。识别时不能只看“Domain Admins”这类显式组,还要关注间接特权:对域控拥有 WriteDACL 权限的普通账号、云平台上被授予 Owner 但未纳入 PAM 的账号、数据库中以 sysadmin 身份运行的应用账号。建议以“能否直接或间接修改高价值资源的访问控制”为判据,而不是以账号名称是否含 admin 为准。

服务账号是横向移动最常用的跳板。它们通常具有三个危险属性:密码长期不变、权限范围过大、以交互式登录方式运行。识别时应从三个数据源交叉比对:目录中设置了 SPN 的账号、应用配置文件中出现的连接字符串、以及计划任务和服务中配置的登录身份。一个典型示例是:某备份服务账号在 12 台服务器上拥有本地管理员权限,且密码三年未轮换,一旦该账号被读取,攻击者即可批量控制服务器。

外部账号的风险在于信任边界模糊。供应商账号、B2B 来宾、测试合作方往往被授予了超出必要范围的访问权,且离职或合作结束后未及时清理。识别时应重点检查:来宾账号是否被加入了内部安全组、外部应用注册是否拥有 Graph API 的读写权限、以及跨租户信任是否允许外部主体访问内部资源。

影子账号是最容易被忽略的一类。它们不在正式账号清单中,却真实存在并可登录。常见来源包括:本地管理员账号在多台机器上使用相同密码、离职员工账号被禁用但未删除且仍保留权限、测试环境遗留的数据库账号、以及云平台上由个人创建但未登记的服务主体。识别影子账号不能依赖人工申报,而应通过“账号清单与实际登录日志、权限分配记录”的差集来发现。

建模时的实用判据:对每个身份主体,依次回答四个问题——① 谁能控制它(外部可达?弱口令?凭据泄露?);② 它能访问什么(资源范围、权限级别);③ 它能否获取其他凭据(读取配置、委派、令牌);④ 它是否被监控(登录日志、权限变更告警)。四个问题中“是”越多,该主体在攻击路径图中的权重越高。

完成路径图后,应将其转化为可执行的治理动作。对于图中每条边,标注其成立条件,并给出对应的收敛措施:若边依赖“密码复用”,则推动服务账号密码轮换与唯一化;若边依赖“未启用 MFA”,则对特权账号和外部账号强制 MFA;若边依赖“ACL 配置错误”,则修正目录对象的访问控制;若边依赖“影子账号未纳管”,则建立账号发现与登记流程。路径图不是一次性交付物,而应随账号变更、权限调整和人员流动持续更新。

最后需要强调,身份攻击面建模的产出不是一张静态图片,而是一份可查询的关系数据。建议至少保留以下字段:主体标识、主体类型、控制条件、可访问资源、权限级别、获取凭据方式、监控状态、收敛措施、责任人、复核时间。这样在发生安全事件时,才能快速回答“这个账号能到哪里”以及“切断哪条边最有效”。