为安全团队撰写,同时也关于我们自己的产品,和其他任何产品一样。
引言
本文发布在一个免费在线文档查看器的博客上。这一点值得在第一行就说明,因为它所属的类型——“免费 PDF 工具的隐藏危害”——通常是一种披着实验服的营销宣传,阅读时请牢记这一点。
因此,这里先做披露。Doconut.app 是一个免费托管的查看器。当您使用它时,您的 PDF 会被上传到我们的服务器,在那里渲染,随后在您的查看会话结束时被删除。以下关于将文档上传到他人基础设施所带来的结构性风险,同样适用于我们。我们不会争辩,而是会具体说明我们做了什么、没有做什么,让您自行决定哪些文档适合在此使用。
1. 风险是结构性的,而非奇特的
有趣的风险并非零日漏洞,而是文件位于您无法控制的地方所带来的普通后果。
上传是真实存在的。 托管的查看器必须接收文档才能渲染。任何声称“文件永不离开您的机器”的托管服务,要么是纯客户端工具,要么描述不准确。 在 Doconut.app 上,上传通过 HTTPS 进行,保障传输过程的安全——随后文件仍然存放在我们的服务器上,因为必须如此。
保留是一种承诺,而非您可以检查的机制。 我们声明会在会话结束时删除文件。这是事实,但您无法从外部验证。这是每个免费查看器(包括本查看器)的核心问题:您需要信任一个没有合同约束的组织。
共享基础设施即共享风险。 免费公共服务在同一基础设施上处理众多客户的文档。这与在您自己的网络内部运行的软件的风险姿态截然不同,无论其运营多么谨慎。
没有协议就没有法律依据。 如果您在 GDPR 下处理个人数据,或在 HIPAA 下处理受保护健康信息,将文件移动到没有数据处理协议(DPA)或业务关联协议(BAA)的处理方,上传瞬间即已产生问题——不论是否真的发生泄露。Doconut.app 与您之间没有 DPA,也没有 BAA。 对于受监管的材料,这就是全部答案,任何加密都改变不了这一点。
2. 我们不做的事
本篇文章所属的类型往往会承诺一切。由于这里的重点是校准,下面列出的是缺失的功能:
- 没有安全认证。 没有 ISO 27001、没有 SOC 2、没有 HIPAA 证明、没有 PCI DSS 评估。免费站点和 SDK 都不具备这些。如果您的供应商问卷要求证书,我们没有。
- 没有审计日志。 Doconut.app 上没有账户,因此没有可归属的访问记录,也没有可提供的审计轨迹。
- 没有元数据剥离。 我们按原样渲染文档。文件中的作者姓名、修订历史和评论会保留——在转发合同前需要注意,这种风险属于文档本身,而非我们。
- 没有静态加密可言。 我们不提供加密存储,因为我们不提供存储。未保存某物的属性比加密更强,但它是不同的属性,供应商常将两者混淆。
- 没有可配置的保留期限。 保留时间由我们决定,您无法自行调整。
3. 我们的做法
- 上传通过 HTTPS 进行。
- 文档在 我们的服务器上 渲染,浏览器收到的是页面而不是源文件。
- 渲染并非执行:Office 文件中的宏不会运行,PDF 动作也不会被触发。查看器只绘制文档。
- 文件在 查看会话结束时被删除。没有库、没有历史记录、没有账号。
- 上传器在发送前 拒绝它无法处理的文件——固定的 70 多种扩展名列表,每种格式都有 5 MB 到 25 MB 的大小上限。
- DICOM 被刻意排除。
.dcm和.ima不被接受,正因为 DICOM 文件在图像旁携带患者标识,而公共上传端点并不适合这种文件。
4. 你可以对任何免费查看器(包括本查看器)进行的测试
与其列出威胁清单,不如用四个问题来区分可用与不可用:
- 它是否明确说明文件会被上传? 如果答案含糊,就假设文件会被上传。
- 它是否以具体措辞说明保留期限? “会话结束时删除”或“60 分钟后移除”算是答案。 “您的文件在我们这里是安全的”则不是。
- 它会签署协议吗? 对受监管数据而言,这唯一重要的问题,而免费服务几乎从不签署。我们也不签。
- 它声称拥有认证吗? 如果有,请求查看证书及其适用范围。此类声称中有很多在请求后会失效。
对 Doconut.app 的应用:是的,它会上传;是的,删除在会话结束时进行;不,我们不会签署 DPA;也不持有任何认证。这个组合对大量文档来说是可以接受的,但对某些文档则不合格。关键是你可以辨别哪种情况。
5. 当托管查看器不是合适工具时
如果文档受合规制度约束、受到客户保密义务保护,或是你在事故复盘中不愿解释的内容,则任何免费托管查看器都不是正确答案——包括我们的。结构性的解决方案是将渲染保留在自己的网络内部。
这正是 Doconut SDK 的用途:与本网站背后相同的 .NET 渲染引擎,部署在你的环境中。它在你的服务器上渲染,且不向我们发起任何调用,因此文档永远不会跨越你尚未评估的边界。
同样要明确 SDK 不 包含哪些功能。它不提供静态加密、密钥管理、身份提供者集成或审计日志,也不能让你的应用符合任何合规要求。这些控制措施仍然是你的责任——这正是重点,因为这些正是你已经能够提供证据的部分。一个在你网络内部运行且不调用外部服务的组件,是一种架构论点,对大多数安全评审而言,比第三方证书更有价值。
结论
免费 PDF 查看器确实有用,而且大多数人处理的文档并不敏感。问题不在于使用它们,而在于在不了解文件所属类别的情况下使用。
对于普通的、只需阅读一次的文档,选择一个不保留任何内容的查看器是合理且安全的选择——比下载文件后用任意已安装的软件打开更安全。Doconut.app 能免费实现这一点,无需账号,且会在之后删除文件。
对于任何受义务约束、需要辩护的情况,请将处理保留在你可控制的硬件上。
立即行动
- 审计 组织内的 PDF 工作流并列出已在使用的免费工具——通常会超出预期。
- 分类 哪些文档类型可以使用托管服务。这是政策决定,而非技术决定。
- 将其余部分内部化,无论是使用 Doconut SDK 还是等效方案,并保留审计员会要求的证据。
