切换深色模式
第 8 章:登录成功,为什么系统仍应怀疑是攻击者?
本章主线:从一次使用合法会话的攻击,理解 ITDR 如何关联认证、权限、资源访问和响应动作。
开场:没有失败登录的账号接管
小安查一个数据下载事件:没有密码错误,没有 MFA 失败,token 也有效。攻击者复用了已经被窃取的浏览器会话,随后新增恢复方式并读取敏感数据。
检测若只盯登录失败,就看不到合法凭证的非法使用。身份威胁分析要沿会话、权限变化和资源动作构建完整时间线。
学习目标
能建立身份遥测 schema;把攻击假设写成规则;评估低基率检测;调查合法会话滥用;设计分级响应;用演练验证检测与恢复闭环。
8.1 ITDR 的位置
Identity Threat Detection and Response 关注身份基础设施、凭证、权限和会话的异常。它不能替代预防控制,也不能只靠买一个告警产品。
闭环:资产/身份库存 → 遥测 → 检测 → 调查 → 控制动作 → 恢复 → 复盘 → 控制改进。
8.2 攻击链视角
图 8-1:8.2 攻击链视角 · 可编辑 Mermaid 源码
不要只检测登录失败。成熟攻击者可能用合法 token 和正常 API。需要关联认证、设备、目录变更、授权决策、云控制面、PAM 和数据访问。
8.3 常见攻击与控制
| 攻击 | 关键迹象 | 主要控制 |
|---|---|---|
| 撞库 | 多账号、泄漏密码、代理池 | Passkey、泄漏密码、分层限速 |
| 密码喷洒 | 少量常见密码跨账号 | 账号+全局关联、智能锁定 |
| MFA fatigue | 短时多次 Push、异常来源 | 数字匹配、限速、Passkey |
| 会话窃取 | 新环境复用 token、异常操作 | token 绑定、短期、连续风险 |
| OAuth consent phishing | 新应用请求高 scope | 管理员同意、应用治理、最小 scope |
| 权限提升 | 角色/策略/组异常变更 | JIT、双人审批、变更检测 |
| 服务账号滥用 | 新来源、调用模式漂移 | 工作负载身份、基线、短期凭证 |
| Golden SAML/签名钥失陷 | 异常断言、IdP 密钥操作 | HSM、职责分离、密钥审计/轮换 |
8.3.1 从单点信号到攻击链
单个“新 IP”通常不足以阻断。组合更有意义:新 ASN 登录 → 读取大量目录组 → 新增 OAuth 凭据 → 承担高权角色 → 批量导出。每一步单看可能合法,时间和主体关联后风险显著增加。
规则要保留中间证据,调查员能看到为何串成一条链,而不是只收到一个不可解释分数。
8.4 遥测设计
统一事件 schema:event_time, ingest_time, tenant, actor, subject, credential, session, source, device, action, resource, decision, reason, risk, trace_id。
事件时间和摄取时间分开以处理延迟;ID 使用稳定内部值;IP/设备等个人信息要有用途和留存控制;高价值审计防篡改且访问隔离。
8.4.1 Schema 版本与质量
事件包含 schema_version;字段改名或语义改变必须兼容迁移。实时质量指标包括:事件量突降、关键字段缺失、延迟分位数、重复率、未知枚举和时钟偏差。
检测依赖也要声明。例如“异常地理速度”需要可信事件时间、来源位置和上次成功登录;任一字段质量下降时,规则应降级或标记低置信,而非悄悄产生大量误报。
8.4.2 隐私最小化
分析通常只需稳定伪名 ID、粗粒度位置和网络属性,不必让所有分析员看到邮箱、姓名或完整 IP。调查升级后按权限解封更详细数据,并审计查询。
8.5 检测工程
从可解释规则开始:不可能旅行、休眠管理员突然使用、新建 OAuth 应用高权限同意、服务账号从新云区域登录、短时大量失败后成功、离职身份仍访问。
每条规则包含:威胁假设、数据依赖、逻辑、阈值、抑制、严重度、调查步骤、响应、owner、测试和退役条件。
8.5.1 规则样例
text
name: dormant_privileged_identity_used
when:
identity.privileged == true
and days_since_last_success > 60
and event.action in HIGH_RISK_ACTIONS
severity: high
enrich: owner, recent_role_changes, source_reputation, device_state
response: require_step_up + open_investigation阈值 60 天需要用历史分布验证。服务账号可能按季度运行,应按身份类型和业务日历分层,避免一刀切。
8.5.2 检测测试
保存最小正例、近似正常反例、数据缺失、事件乱序、阈值边界和重复事件。上线前回放 30–90 天数据,估算每日告警和调查容量。
8.6 基线、ML 与图分析
- 统计基线:用户/服务在时间、来源、资源、频率上的偏离。
- 监督学习:有可靠标签时预测账号接管/欺诈。
- 无监督:发现未知异常,但误报通常高。
- 图分析:寻找权限提升路径、异常关系和横向移动。
模型不能替代业务规则;攻击样本稀少且分布变化。按时间切分评估,报告 precision/recall、PR-AUC、每千用户误报和检测延迟。
8.6.1 Peer group 风险
“与同岗位不同”需要可靠岗位与团队数据。新员工、跨区域支持和 incident responder 天然行为不同。peer group 只提供证据,不直接证明恶意;分群过细会泄漏或过拟合个人。
8.6.2 图路径
构建 user → group → role → resource、service → can_assume → role。寻找通往高价值资源的短路径、可写身份系统的主体和循环信任。路径存在不等于可利用,还需条件、时间和实际可达性验证。
8.7 风险引擎
图 8-2:8.7 风险引擎 · 可编辑 Mermaid 源码
动作应可解释、可回滚、与风险匹配。先影子运行,再提示、加验、限权、阻断逐级上线。
8.8 调查方法
调查员建立时间线:首次异常、认证器、会话、设备、权限变化、访问资源、下游动作。区分 actor 与 subject;验证事件是否来自同一攻击链;保全证据。
问题顺序:是否真实恶意?影响哪些身份/资源?攻击者是否仍有会话/持久化?如何控制且不破坏证据?如何恢复用户与业务?
8.8.1 调查时间线模板
text
T-30d 认证器/角色最近正常变化
T0 首个可疑认证或 token 使用
T+5m 目录/权限枚举
T+12m 新增凭据或恢复方式
T+20m 高价值资源访问
T+25m 检测、响应与残余会话确认每条事件标记“事实、推断、待确认”。不要把模型摘要当原始证据;始终保留可回到原始事件的 ID。
8.9 响应动作
低风险:通知、要求重认证。中风险:撤销会话、禁用认证器、限制敏感动作。高风险:冻结身份、隔离设备、撤销 token/密钥、关闭特权会话、启动事件响应。
封禁需考虑攻击者可借机造成拒绝服务;恢复需重新建立可信身份,而非只改密码。机器身份事件还要轮换下游依赖和检查供应链。
8.9.1 响应依赖顺序
高危身份被接管时,先建立安全调查/恢复身份,避免攻击者观察和干扰;再阻断会话与凭证;移除持久化;验证资源影响;重新证明主体;恢复最小权限;持续监控。
若直接改密码但 refresh token、Passkey 或 OAuth grant 仍存在,攻击者会立刻回来。
8.10 演练与指标
桌面演练场景:IdP 签名密钥疑似泄漏、管理员 Passkey 被盗、SCIM 错误禁用全员、Agent 工具 token 外传。
指标:检测覆盖、MTTD、MTTR、准确率、告警到有效调查比例、自动化成功率、受影响主体、残余会话、同类事件复发率。
8.10.1 指标防误读
MTTR 下降可能因为事件提前关闭,而非真正恢复;自动化率提高可能扩大错误处置。为指标定义完成条件:所有已知会话失效、持久化移除、主体重新证明、影响确认和事后行动创建。
8.11 本章实验与验收
生成合成登录/权限事件,写五条检测;用回放测试误报;为一条高风险检测接 step-up 和撤销;写调查 runbook。
验收:解释 accuracy 在极不平衡数据上为何误导;会话撤销后还需查什么;怎样区分正常管理员批量操作与攻击。
8.11.1 实验验收证据
提交事件生成器、schema、五条规则、回放报告、precision/recall、每日告警量、一个完整调查时间线、自动响应的 dry-run 与回滚记录。至少证明一条攻击在登录完全成功的情况下仍能被后续行为发现。
工程复盘:没有失败登录,调查从哪里开始
被盗会话通过了所有登录检查,小安最初搜索 login_failed 自然一无所获。导师让他放下“找一条异常日志”的想法,按主体、会话、设备、权限变化和资源动作重建时间线。
text
09:12 旧设备完成正常登录
10:03 新 ASN 复用同一会话
10:05 新增恢复方式
10:08 下载敏感报表
10:11 创建长期 API Key单个事件都可能合理,组合起来却形成清晰的接管链。团队为每个检测写明攻击假设、必要遥测、预期误报、处置动作和验证方式;高风险响应先冻结敏感动作、撤销会话和新凭证,再根据证据决定是否永久封禁。
上线后,小安不再只汇报“触发了多少告警”,而是报告攻击链覆盖、准确率、调查时间、撤销时间、用户影响和演练结果。检测真正有价值的时刻,是它能推动一个及时、可恢复且有证据的动作。
面试与设计评审
- ATO 为什么可能没有失败登录?会话窃取、refresh token、授权应用和恢复绕过都可能使用合法材料。
- 一条检测规则应包含什么?威胁假设、数据、逻辑、阈值、抑制、调查、响应、测试和 owner。
- 撤销会话后结束了吗?还要移除持久化、轮换凭证、检查权限/恢复方式、确认影响并恢复主体信任。
本章小结
ITDR 的价值不在告警数量,而在缩短从异常到可信恢复的闭环。检测必须能解释、可演练、能触发与风险相称且可回滚的动作。