Skip to content

第 8 章:登录成功,为什么系统仍应怀疑是攻击者? ​

本章主线:从一次使用合法会话的攻击,理解 ITDR 如何关联认证、权限、资源访问和响应动作。

开场:没有失败登录的账号接管 ​

小安查一个数据下载事件:没有密码错误,没有 MFA 失败,token 也有效。攻击者复用了已经被窃取的浏览器会话,随后新增恢复方式并读取敏感数据。

检测若只盯登录失败,就看不到合法凭证的非法使用。身份威胁分析要沿会话、权限变化和资源动作构建完整时间线。

学习目标 ​

能建立身份遥测 schema;把攻击假设写成规则;评估低基率检测;调查合法会话滥用;设计分级响应;用演练验证检测与恢复闭环。

8.1 ITDR 的位置 ​

Identity Threat Detection and Response 关注身份基础设施、凭证、权限和会话的异常。它不能替代预防控制,也不能只靠买一个告警产品。

闭环:资产/身份库存 → 遥测 → 检测 → 调查 → 控制动作 → 恢复 → 复盘 → 控制改进。

8.2 攻击链视角 ​

图 8-1: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 风险引擎

图 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 的价值不在告警数量,而在缩短从异常到可信恢复的闭环。检测必须能解释、可演练、能触发与风险相称且可回滚的动作。