跳转到主要内容
RaoufResearchOS
中文
澳大利亚悉尼当前悉尼时间—
按 Esc 关闭此窗口。
隐形窗口研究

进攻性安全

隐形窗口研究

这篇 13 页的 IEEE 格式论文记录了 WebRTC 在线监考的结构性缺陷。Windows 的 SetWindowDisplayAffinity 和 macOS 的 NSWindow.SharingType.none 都是有文档支持的 API,可将窗口排除在测试的捕获路径之外,同时保持它在物理屏幕上可见。这挑战了基于捕获的监考系统的信任假设。概念验证在测试的 Windows 和 macOS 实验室配置中达到 100% 规避,包括此前被认为已缓解该问题的 macOS 26。配置为模拟环境,并非商业监考产品;macOS 26 使用原生 CGWindowListCreateImage 和 screencapture,而非浏览器 getDisplayMedia(),Linux 未测试。结果反映截至 2026 年 3 月的测试软件版本,后续补丁可能改变行为。

  • 安全研究
  • Windows
  • macOS
  • WebRTC
  • 负责任披露
  • 概念验证
项目视觉标识静态

01 / 概览

捕获可观测性

屏幕上显示的内容可能与捕获帧不同

选择一个平台,查看研究所述的窗口亲和设置和捕获范围。两个面板始终并列,便于比较。

示意图 · 非录制截图或像素测量
选择已测试的平台

物理显示器

窗口对显示器前的人仍然可见。

捕获帧

Windows 捕获路径

文档所述设置与已测试的捕获范围

Windows · SetWindowDisplayAffinity / WDA_EXCLUDEFROMCAPTURE

研究报告称,在遵循此设置的已测试 Windows 10/11 捕获路径中,窗口会被排除。

研究范围与限制

  • 测试对象是 Windows 10/11 实验室配置;这不代表所有浏览器或商业监考产品的行为。
  • macOS 26 测试使用 CGWindowListCreateImage 和 screencapture;未在 macOS 26 上测试浏览器 getDisplayMedia() 或直接测试 ScreenCaptureKit。
  • 评估使用模拟配置,而非商业监考产品。
  • 未测试 Linux。结论描述截至 2026 年 3 月测试的软件版本,后续补丁可能改变行为。

图示解释文档记录的显示与捕获边界;面板不展示测量或录制输出。

阅读研究预印本查看研究仓库

问题

远程监考通过 WebRTC getDisplayMedia() 捕获考生屏幕以识别违禁内容,隐含假设是捕获帧忠实反映物理屏幕。研究展示了该假设中的缺口:有文档支持的系统显示 API 无需提权或修改内核,就能将窗口排除在测试的捕获路径之外。结论只针对受控、模拟的 Windows 和 macOS 配置,不证明可以绕过所有浏览器或商业监考产品。

解决方案概述

  1. 形式化分析 W3C 屏幕捕获 API 与系统图像合成管线之间的信任边界破坏。
  2. 研究 Win32 SetWindowDisplayAffinity 和 macOS NSWindow.SharingType.none;两者均载于官方 SDK 文档。
  3. 使用 Win32 C 和 Swift 构建概念验证,演示完整的屏幕捕获规避。
  4. 在受控实验室中,用 Windows 10/11 和 macOS 14–26 评估模拟监考配置;未测试商业产品,macOS 26 使用原生捕获而非浏览器 getDisplayMedia()。
  5. 分析视线跟踪、鼠标行为和进程枚举等检测方法的能力与局限。
  6. 提出并评估五项对策,从可部署的标志枚举到长期的硬件证明。
  7. 协调系统厂商披露:Microsoft MSRC(2026 年 2 月 通知,2026 年 4 月 分类)与 Apple Product Security(2026 年 3 月 通知并分类)均给出正式分类。

02 / 证据

证明与验证

  • Windows 10/11 和 macOS 14–26 上规避率为 100%,每种配置测量超过 10,000 帧。
  • 捕获帧中未发现视觉伪影,包括黑色矩形、合成错误或闪烁。
  • 尽管 macOS 15 中有文档记录的 ScreenCaptureKit 变更,macOS 26.3.1 测试的原生捕获路径仍可排除窗口;macOS 26 未直接测试 ScreenCaptureKit 或浏览器 getDisplayMedia()。
  • Linux(X11/Wayland)未评估;结果只适用于测试的 Windows 和 macOS 配置。
  • 在此样本量下,行为检测未呈现显著效果:视线跟踪 p = 0.41、n = 8,统计效能不足;鼠标行为也在正常考试变异范围内。这不证明行为检测在所有场景中都不可能有效。
  • 以 CC BY 4.0 在 Zenodo 发布预印本,DOI 10.5281/zenodo.20376495;IEEE 会议格式,13 页、53 篇参考文献。

研究论文

论文: 1
IEEE 格式预印本CC BY 4.0 预印本

The Invisible Window: Exploiting OS-Level Display Affinity to Bypass WebRTC Proctoring Systems

13 页论文,记录跨平台屏幕捕获规避及与厂商协调披露的过程。

下载论文

03 / 方法

构建

技术栈

  • Win32 C(Windows 概念验证)
  • Swift / AppKit(macOS 概念验证)
  • Python(像素级取证验证)
  • LaTeX(IEEE 会议模板,13 页、53 篇参考文献)
  • Windows 10 v2004+ 的 SetWindowDisplayAffinity + WDA_EXCLUDEFROMCAPTURE 将窗口排除在测试的 Windows 屏幕捕获路径之外,不产生视觉伪影。
  • 在 macOS 14–26 测试的原生捕获路径中验证 NSWindow.SharingType.none 的窗口排除;macOS 26 使用 CGWindowListCreateImage 和 screencapture,未使用浏览器 getDisplayMedia() 或直接测试 ScreenCaptureKit。
  • 像素级取证:Windows 捕获区域像素差异为 80.27%;macOS 的 1,170,560 像素捕获结果完全透明。

安全

  • 发现与验证于 2026 年 1 月 完成。
  • 2026 年 2 月 通知 Microsoft MSRC;2026 年 4 月 被归类为设计行为,而非安全漏洞。
  • 2026 年 3 月 通知 Apple Product Security;当月被归类为符合文档的功能,而非安全问题。
  • 收到系统厂商回复后,于 2026 年 5 月 公开发布。
  • 概念验证代码未公开;经验证的安全研究人员可申请获取。
  • 仅使用用户级、有文档支持的系统 API;无内核利用或提权。
  • 遵循 ACM、IEEE 道德准则及 CISA 协调披露指南。

搜索

查找项目、论文、文章或页面。

30 / 41 · 搜索结果

↑ ↓ 工作空间导航Enter 打开Esc 关闭