【深度解析】ConditionalAccess的隐藏裂缝:当Exclude不再只是“白名单”,而是系统复杂性的入口"

admin 2026-10-24 00:17:25 网络安全文章 来源:ZONE.CI 全球网 0 阅读模式

cover_image

【深度解析】Conditional Access 的隐藏裂缝:当 Exclude 不再只是“白名单”,而是系统复杂性的入口

云梦DC
云梦DC

云梦安全

2026年6月27日 14:25
河南

在小说阅读器读本章

去阅读

在 Entra ID 的安全体系里,Conditional Access(条件访问)一直被视为零信任落地的核心控制点。
但最近安全社区围绕“resource exclusion(资源排除)”展开的一系列讨论,让很多管理员开始重新审视一个问题:
我们以为的“例外”,真的只是例外吗?


在企业落地 Microsoft Entra ID 的过程中,条件访问策略几乎是标配能力:

  • 强制 MFA
  • 限制登录位置
  • 控制设备合规性
  • 统一访问策略

为了兼顾业务兼容性,一个非常常见的配置就是:

“All cloud apps + 排除某个业务应用”

看起来很合理,但问题恰恰就出现在这里。


01 一个被长期忽视的现实:CA 并不是“单点决策引擎”

很多人默认认为:

只要命中了 CA policy,就一定统一执行 MFA 或阻断

但实际情况要复杂得多。

在 Microsoft Entra ID 内部,CA evaluation 是一个多路径决策系统:

  • OIDC 登录路径
  • OAuth token 颁发路径
  • Resource token minting 路径
  • First-party 应用特殊路径

这些路径在某些历史兼容场景下,并不是完全统一执行的。


02 复杂性来源:Graph token 是“第二条隐式路径”

在现代 SaaS 登录中,一个应用通常不会只请求一个资源:

  • 登录本身(OIDC / openid)
  • 用户基础信息(User.Read)
  • 组织数据访问(Microsoft Graph)

而 Microsoft Graph API 在这里扮演了一个特殊角色:

它既是资源 API,也是几乎所有微软服务的“数据总入口”。

问题就在于:

Graph token 的获取,往往发生在“主登录流程之外”。


03 真正的风险点:CA policy 评估上下文丢失

在“All apps + exclusion”配置下,问题不是简单的绕过,而是:

部分 Graph token 请求没有完整继承主 CA policy 上下文

换句话说:

  • 主登录流程是被 CA 控制的
  • 但附带的 Graph token 请求可能进入不同评估路径

这会导致一种现象:

同一个登录会话中,不同 token 的策略执行结果可能不一致


04 public client 与 low-privilege scope 的特殊行为

在现实攻击面分析中,有一个关键因素经常被忽略:

public client(公共客户端)

例如移动端或微软自家应用:

  • 无 client secret
  • 完全依赖用户交互登录
  • 更依赖系统级 trust model

在某些 legacy 兼容逻辑中:

low-privilege scope(如 openid、profile、User.Read)可能被视为“低风险访问”

这就引出了一个安全设计权衡:

为了避免业务中断,系统可能对低风险 Graph token 采用不同的 CA enforcement 逻辑


05 更真实的问题:不是“绕过 MFA”,而是“策略不一致”

需要强调一点:

网络上流传的“绕过 MFA”说法往往过于简化。

更准确的描述是:

在特定 resource exclusion 场景下,CA enforcement 在 Graph token issuance 上存在一致性差异。

表现为:

  • 某些 low privilege token 不触发预期的 CA control
  • 部分 first-party client 行为更“宽松”
  • 策略日志可能显示 Not Applied

06 Microsoft 的应对:从 legacy behavior 到统一 enforcement

微软实际上已经意识到这一类“路径不一致问题”,并在逐步推进新的模型:

  • 统一 token issuance evaluation
  • 强化 Continuous Access Evaluation(CAE)
  • 收紧 Graph token 与 CA policy 的绑定关系
  • 减少 legacy compatibility 分支

在部分租户中,已经可以看到所谓:

“baseline enforcement / modern CA evaluation behavior”


07 对企业的真实影响:不是漏洞,而是“配置风险放大器”

对于企业管理员来说,这类问题真正的风险不在于攻击技巧,而在于:

❗ CA 复杂性被低估

常见误区包括:

  • 认为 Exclude 只是业务例外
  • 认为 MFA 是全局一致执行
  • 认为 Graph API 不受 CA 影响

但现实是:

CA 是一个跨登录链路的分布式策略系统,而不是单点开关


08 企业建议(实战向)

如果你在管理 Entra ID 环境,可以重点关注:

✔ 1. 最小化 Exclude 使用范围

避免 “All apps + 大范围 exclusion”

✔ 2. 检查 Graph 相关登录行为

重点关注:

  • User.Read
  • profile / openid flow
  • third-party + first-party 混合 token

✔ 3. 启用现代 CA evaluation 行为

逐步迁移到新策略模型(CAE / unified evaluation)

✔ 4. 审计 sign-in logs

关注:

  • “policy not applied”
  • token issued without expected control

结语

在零信任体系里,最危险的从来不是某一个“漏洞点”,而是:

看似合理的例外配置,在复杂系统中逐渐演变成不可预期的信任路径差异

Microsoft Entra ID 的 CA 体系并没有“失效”,但它提醒我们:

安全策略的复杂度一旦超过理解能力,配置本身就可能成为风险来源。


    【深度解析】ConditionalAccess的隐藏裂缝:当Exclude不再只是“白名单”,而是系统复杂性的入口" 网络安全文章

    【深度解析】ConditionalAccess的隐藏裂缝:当Exclude不再只是“白名单”,而是系统复杂性的入口"

    本文深度解析MicrosoftEntraID条件访问策略中资源排除配置的潜在风险,指出在多路径决策系统下Graphtoken获取可能存在策略执行不一致问题。关键发现包括publicclient与low-privilegescope的特殊行为可能导致CA策略上下文丢失,建议企业最小化排除范围、启用现代CA评估行为并审计登录日志。
    深度分析|AI编码工具的隐式信任链:CLAUDE.md是否正在成为新的攻击面" 网络安全文章

    深度分析|AI编码工具的隐式信任链:CLAUDE.md是否正在成为新的攻击面"

    本文分析AI编码工具中CLAUDE.md等指令文件存在的安全风险,指出攻击者可通过修改这些自然语言指令文件间接控制AI行为输出,从而引导开发者执行不安全操作。文档系统阐述了四种攻击向量(行为引导、外部引用、路径规则注入、多工具污染),并揭示其与传统供应链攻击的核心差异在于攻击门槛更低且检测机制缺失。最后提出防御建议:开发者应在使用AI工具前主动审查项目中的指令文件以确认信任边界。
    国家网信办等三部门联合公布《网络数据安全风险评估办法》" 网络安全文章

    国家网信办等三部门联合公布《网络数据安全风险评估办法》"

    国家网信办联合工信部、公安部公布《网络数据安全风险评估办法》,自2026年8月20日起施行。办法要求重要数据处理者每年开展风险评估,鼓励一般数据处理者至少每3年评估一次。明确评估机制、机构认证要求及监管措施,规定发现重大风险需及时通知,拒不整改者可被责令停止处理重要数据。
    AI是阿拉丁神灯?AI漏洞挖掘系统上手教程!" 网络安全文章

    AI是阿拉丁神灯?AI漏洞挖掘系统上手教程!"

    该文档系统讲解如何利用AI工具进行漏洞挖掘,强调基本功是AI发挥价值的基础。核心内容包括:根据任务类型选择合适模型(如GPT-5.5初筛、Claude深挖)、推荐使用ClaudeCode工具链管理项目上下文、通过CLAUDE.md文件结构化记录测试进度、利用Skill机制将审计思路转化为可执行规则。文档提供了具体的配置模板和操作示例,旨在帮助安全研究人员高效整合AI能力到实际漏洞挖掘工作中。
    评论:0   参与:  0