Safeware Glasswall APAC Partner
Book a demo
洞察

Zero Trust Issues · #004

你删除的内容仍然在文件里

微软于 9 月 25 日对 Storm-3168 入侵事件的说明,关键在于一个已被删除却仍被读取的凭据,这个凭据来自某个公开 issue 的编辑历史。Office 文档和 PDF 以同样的方式保留历史,原因也相同,而几乎没有任何在文件离开组织时检查它的工具,会去看历史实际存放的位置。

Reviewed September 2026

图表标题:控制措施移除了什么,以及它仍然在哪里。两列,左侧是已执行的操作,右侧是内容仍然存在的位置。第一行用红色框出:从公开 issue 中编辑掉的机密,箭头,公开的编辑历史。接下来还有四行,灰色。段落被删除,文档已保存,箭头,同一文件中的修订标记。审阅者评论已解决,箭头,评论存储及其作者。图像被裁剪以隐藏边缘,箭头,未裁剪的原始图像。文本上方绘制了黑色矩形,箭头,矩形下方的文本。下方一行写着:这里的每一行都是同一容器内的一次编辑,它们都不是移除。说明文字:第一行的来源,Microsoft Security Blog,Storm-3168,2026年9月25日,其余部分说明了这些格式的工作方式。

2026 年 9 月 25 日,Microsoft 发布了其对一次入侵事件的说明,该事件被其追踪为 Storm-3168,由 JADEPUFFER 执行。Sysdig 于 2026 年 7 月发现了该行为者,并将其报告为首个有记录的 agentic ransomware operation。该说明的大部分内容都在讲云租户内部以机器速度发生了什么:大约十五个半小时的枚举,超过三百次成功的读取操作,随后是一段大约七分钟的破坏序列,涉及一百多次删除存储账户的尝试。

值得借鉴的部分在开头,在那之前的所有内容都不是重点。

攻击者掌握了某个 service principal 的 client ID、client secret 和 tenant ID。这些信息此前以明文形式发布在受影响组织一名员工创建的公开 GitHub issue 中。用 Microsoft 的话说,"the issue was later edited to remove the secret, but the secret remained accessible through the issue's public edit history"。

相关人员都没有做什么特别的事。issue tracker 之所以保留编辑历史,是因为人们想查看一个讨论串是如何变化的。移除 secret 的人只是把它从视图中移除了。把它从容器中移除是另一回事,而这个操作并没有按钮。

文档也是同样的道理

这不是 issue tracker 的特性,而是任何会保存自身历史的东西的特性,而你所在组织运行的文档格式,从设计上就充满了历史。

带跟踪的删除会被存储,而不是丢弃。 在开启更改跟踪的情况下删除 Word 文档中的一段文字,文本会作为修订标记保留在文件里,以便之后审阅或恢复。这正是该功能的全部意义。等文件带着这些修订离开公司时,它就不再只是一个功能了。

已解决的评论仍然是评论。 将审阅者的备注标记为已处理,并不会把备注本身、作者姓名,或说明有人在流程多晚阶段提出异议的时间戳一并移除。

裁剪只是显示指令。 裁剪照片以移除边缘内容时,默认情况下,原始图像数据仍保留在文件中:裁剪只是告诉应用程序显示哪一部分。Office 之所以单独提供压缩选项,正是因为删除被裁掉的区域是一个需要人为选择的独立操作。

PDF 允许追加,而不是重写。 该格式支持增量更新:更改可以写到文件末尾,同时保留较早的对象,这就是签名和批注能够在不重写整份文档的情况下工作的原因。可见的结果是新版本,但较早的版本仍可能在同一个文件里。

黑色矩形就是一个矩形。 在姓名上方绘制一个填充形状,可以把它从读者那里遮住,但对其他人并没有同样效果。其下方的文本对象仍然是文本,仍可被选中,任何读取 content stream 的库都仍可提取它。

这些都不晦涩,也都不是漏洞。之所以存在这些行为,是因为有人合理地希望它们存在。它们共同指向一个发布流程很少会考虑的事实:你发送的文档,不是你正在看的那份文档。

为什么出站控制抓不到它

问一问,究竟是什么在文档离开组织时对它进行检查。

数据丢失工具会匹配模式,主要针对文件呈现的文本, 例如账号、国民身份证号码、分类标记、关键词。人工审阅者会打开文件并阅读渲染后的页面。审批工作流会记录某位指定人员已对其所见内容签字确认。

这些都在读取视图。视图正是被移除内容绝不会出现的地方,因为不在视图中,正是大家一直努力实现的“已移除”的定义。

有一种民间偏方,坦白说,这一点值得诚实面对。导出为扁平化的 PDF 确实会丢掉相当一部分这类内容,这也是为什么许多发布流程最终都会 以打印为 PDF 这一步收尾。它也会破坏工作文件, 公式、图层、 坐标,以及下游系统或交易对手自己的工具所需要的结构。可预见的结果是,接收方会要求提供原始文件,而原始文件又会在本应由扁平化步骤代为控制的范围之外被发送出去。

APAC 视角

两个地区把这一后果具体化了,而且它们都不关心发送方原本想表达什么。

新加坡。《个人数据保护法》将保护义务施加于组织,涵盖其持有或控制下的个人数据,未经授权的披露就是未经授权的披露,不论是否有人有意披露。投标响应文件如果在修订历史中带有上一位投标人的数据,就已经构成了披露。

韩国。 修订后的《个人信息保护法》于 2026 年 3 月作为第 21445 号法案公布,其主要条款于 2026 年 9 月 11 日生效。根据 Hunton Andrews Kurth 对该修订的分析,在严重案件中,该法授权处以最高可达公司总收入 10% 的行政罚款,这改变了组织愿意让多少个人数据继续留在文档中的计算方式。要求某些控制者必须取得 ISMS-P 认证的条款将于 2027 年 7 月 1 日起实施,这为能够证明技术保障措施而不是仅仅声称其存在设定了明确的截止日期。

两者更完整的控制映射都在我们的国家页面上: Singapore 和 South Korea。

哪些有帮助,哪些没有

控制必须在文件层而不是视图层发挥作用,这在实践中意味着两件事。

第一,是移除格式默认保留的内容, 元数据、修订历史、评论、文档属性。Glasswall Find and Redact 会在文档存储或共享之前移除其中命名的数据模式,这解决的是组织可以提前描述的内容。

第二,是重建。Content Disarm and Reconstruction 会将文件分解为其组成部分,依据制造商公布的规范逐一验证,然后基于该中间表示生成一个新文件。原始字节不会穿过这个过程,这就是重建与清理之间的区别,也是输出不会继承规范中没有位置容纳的结构的原因。

现在说说诚实的限制,因为一篇论证人们过度信任其控制措施的文章,不应该以要求你过度信任我们的控制措施收尾。两种控制都不会判断什么是敏感信息, 一段本不该写入的可见文本是人的问题,而且仍然是人的问题。把文档中的个人数据移除,并不构成任何法律意义上的匿名化,任何人都不应把它当作匿名化去向监管机构陈述。而且,控制措施只会作用于被路由经过它的文件,而在大多数组织中,这个集合比图示所暗示的要小得多。

它移除的是没人知道存在的那部分。根据文档实际离开组织的情况来看,正是那一部分总会跑到不该去的地方。

值得拿去问负责发布流程的人的是一个足够具体、可以在本周回答的问题:当文档离开时,谁在检查它,而这项检查是在读取文件,还是在读取页面?

Safeware 销售文件安全软件,而本文的结尾部分提到了我们所销售进入的一个产品类别,因此请据此理解。事件细节引自 Microsoft 已发布的说明,而不是根据二手报道概括而来。所描述的格式行为是 Office 和 PDF 格式已发布规范中的属性,不是我们的发现,且具体行为取决于应用程序及其设置。对 PDPA 以及韩国修订后的 PIPA 的解读,是我们对已发布法规文本的理解,并已按所示审阅日期进行核对,不构成法律建议。请就相关地区向法律顾问确认您自身的义务。

See it against your own files

We will bring the engine, you bring the documents that matter. Contracted, deployed and supported in-region by Safeware.

Talk to us