博客

截图模糊后还安全吗?我们尝试把文字还原回来

作者 InSnap · 发布于 · 截图打码, 马赛克, 模糊, 隐私, 截图

截图模糊后还安全吗?我们尝试把文字还原回来

我们用 InSnap 对一段真实的设备编号做了模糊和马赛克,再用 OCR 和反卷积尝试还原。哪些强度守住了,哪些漏了,以及该用什么替代。

轻度模糊并不安全。在我们的测试中,强模糊和马赛克都扛住了,但只针对我们实际尝试的那一种攻击。我们用 InSnap 自带的马赛克和模糊功能处理了一段真实字符串,再尝试把它读出来。模糊强度调低时,文字能被读回来;用默认值时则读不出来。

这并不意味着模糊适合用来藏机密。它只说明了某个样本的悬崖在哪里,而一个真正较真的攻击者手里的工具比我们用的多得多。凡是绝对不能泄露的内容,都应该遮盖或裁掉。

测试方法

我们用的字符串来自 InSnap 本身:设置里的设备编号(A1B2-C3D4-E5F6-7890),以 Retina(2 倍)截图的形式渲染,界面文字为常规大小。

  1. 用 InSnap 自带的马赛克分别以强度 5、8、10、15 和 25 处理,用模糊分别以强度 1、2、3、5、8 和 12 处理。默认值是马赛克 15、模糊 3。
  2. 裁出打码后的那一行,就像截图分享时会做的那样。
  3. 用 InSnap 的 OCR 识别。这是「按原样分享」的结果。
  4. 对于模糊,我们尝试把它还原。使用的是维纳反卷积(Wiener deconvolution),这是一种标准的图像复原方法,并把模糊的确切尺寸告诉攻击者。之后又把打码后的裁切图保存为 JPEG(质量 85)再试一次。

马赛克没有对应的还原步骤。它的每个色块只保留了一个平均值,所以唯一的途径是猜测候选文字,这一点我们没有尝试。

打码文字还原的结果

测试结果

处理方式强度按原样分享时经过还原尝试之后
马赛克5 到 25(默认 15)读不出任何内容不适用
模糊1完整字符串完整字符串
模糊2读不出任何内容还原出 65% 的字符串,复原后的图像肉眼基本能认清
模糊3(默认)读不出任何内容读不出任何内容
模糊5、8、12读不出任何内容读不出任何内容

JPEG(质量 85)几乎没有改变结果:模糊 1 仍然被完整还原,模糊 2 给出了相近的部分结果,模糊 3 及以上则没有还原出来。

有两点很突出。模糊 1 根本算不上打码,文字按原样分享时就能读出来。另外,模糊 2 在 OCR 看来读不出来,但一次复原处理却把大部分字符找了回来。OCR 只是攻击者能读到的下限,而不是上限。

这个结果说明了什么,又没说明什么

  • 只测了一个样本。 文字越大、字符串越短、背景越干净,就越容易还原;小字加上嘈杂的背景则更难。请把具体的强度数字当作示例,而不是一条安全线。
  • OCR 是个能力有限的读取者。 人或专门设计的工具能做得更好,模糊 2 那一行就是例子。
  • 我们没有攻击马赛克。 像 Depix 这样的工具会在已知字体中匹配候选字符,以还原像素化的文字,据报道可用于方块平均式的像素化。「OCR 什么也没读出来」并不等于「无法还原」。
  • 默认值守住了,弱设置没守住。 风险在于为了让截图看起来好看,把滑块调低了。

应该改用什么

你要隐藏的内容应该用
密码、令牌、API 密钥、卡号纯色遮盖,或者把这块区域裁掉
姓名、邮箱、订单数据纯色遮盖。只有低风险或编造的数据,才可以使用默认强度或更高强度的马赛克
人脸高强度的马赛克或模糊,或者裁掉

在 InSnap 里,选择形状,画一个矩形,把样式设为填充,再选一个不透明的颜色:下面的文字不会出现在导出的图片里。裁剪则会把像素整个去掉。智能擦除会用周围的背景替换这块区域,在纯色和渐变背景上效果很好,属于 Pro。完整流程(包括一次给指南的每一步都打码)见怎样在截图里隐藏敏感信息。

InSnap 中的马赛克与模糊

打码之后,把视图放大到 100% 再读一遍结果。如果你还能猜出某个字符,攻击者也能猜出来。

常见问题

在截图里模糊文字安全吗?

单靠模糊并不安全。在我们的测试里,轻度模糊按原样分享时就能读出来,温和的设置也能部分还原。纯色填充或裁剪会把像素去掉,这是保护机密唯一可靠的做法。

马赛克比模糊更安全吗?

在我们的测试里,每个马赛克强度都让 OCR 失效,而且马赛克无法通过反卷积还原。但像素化的文字仍然可以通过在已知字体中猜测候选字符来攻击,所以它不是用来遮盖密码或密钥的安全手段。

有人能用软件把模糊还原吗?

有时可以。如果模糊很轻,即使图片已经保存为 JPEG,软件仍然可能把它锐化回来。更强的模糊会破坏更多细节,但对于机密内容,你不能指望这一点。

如果必须用模糊,该用多大的强度?

尽量用你能设置的最高强度,并在 100% 下检查结果。凡是敏感内容,请改用填充形状或裁剪。

下一张截图,只需一个快捷键。

macOS 14.4+(Apple 芯片和 Intel)· Windows 10+(64 位)