打过码的图片等于没打!用Windows的要小心了

上周有外媒爆出了一个和谷歌隐私安全有关的小瓜。

事儿本身不大,但聊一聊还是蛮有意思的。

报道讲说,谷歌自家的Pixel手机系统内置的 “ Markup ” 截图工具,存在一个严重的隐私漏洞。

只要你通过这个截图工具来剪辑PNG 格式的图片,就有一定概率还原出原图被截掉的其他信息。

打过码的图片等于没打!用Windows的要小心了

首先说明一下,这个 Bug 的真正原因,并不是 PNG 透明通道( RGBA中的A )的问题。

这个有歧义的新闻让我原地研究半小时,下为原文:

打过码的图片等于没打!用Windows的要小心了
打过码的图片等于没打!用Windows的要小心了

简单来说,这个 Bug 的本质,其实是因为截图工具没有删除旧图片数据,而是直接把新图片,覆盖写入在了旧图片的开头。

所以只要新的图片文件体积小于旧文件,没完全用数据把原图覆盖掉,就留下了可恢复的旧图像数据。

打过码的图片等于没打!用Windows的要小心了

标准的 PNG 解码器,在读到新 PNG 文件尾的时候,就不会再读下去了,所以剩余的旧数据,会被解码器直接忽略。

打过码的图片等于没打!用Windows的要小心了

这也是用户很难发现旧图片数据泄露的原因:不用特别手段,一般人根本看不出。

打过码的图片等于没打!用Windows的要小心了

不过,虽说问题的本质一样,但这两个大厂出问题的理由却并不相同。

谷歌是因为 Android 9 到 Android 10 的时候,读写文件相关的一个接口发生了变动,而且没有记载在文档和更新日志里。

打过码的图片等于没打!用Windows的要小心了

祖传的代码在旧接口上会正确删除旧文件,不会留下只因脚。

然而在新版本下,同样的代码就只能覆盖写入旧文件,只要新文件小于旧文件,旧文件的残余部分就会留下来。

打过码的图片等于没打!用Windows的要小心了

微软这边的问题可能要更大些。

根据微软的 API 规则,程序员在调用覆盖文件的接口时,如果没有额外的特别指示 Windows 把旧文件删掉,那么新文件就会直接从头开始覆盖旧文件,然后留下一堆旧文件的残余。

但凡程序员在写的时候没注意到这个规则,就会有安全风险。

至于微软为何要把这种不安全的行为作为接口的默认值,我只能说,或许这就是国际大厂对编程的精妙理解吧。

好消息:微软的接口一直都没变过;坏消息:但是设计的和狗屎一样。

打过码的图片等于没打!用Windows的要小心了

严重的是,随着这个漏洞原因的公开,已经有人在更加常用的 JPG 格式的图像上发现了类似的问题。

考虑到大多数截屏和手机拍照都是 JPG 直出,漏洞扩展到 JPG 后,这个问题其实是是扩散了。

而且由于 JPG 和 PNG 的压缩方式不同,文件头部被覆盖的 JPG 旧文件,搞不好还能实现几乎完美的还原。

打过码的图片等于没打!用Windows的要小心了

为了清除这些可能有风险的无关数据,同时节约服务器流量和存储,一般网站都会先用解码器读取图片,然后重新编码成低质量的 JPG。

这样,即使是用户上传的图片里有额外数据( 比如这次 Bug 留下来的旧图 ),也不会出现在其他用户那里。

打过码的图片等于没打!用Windows的要小心了

但也有例外。

比如说,微信和 Discord 就提供下载原图的选项,而且提供的是真正的原图。这样,那些无关数据就还是公开了。

按照安全原则,他们应当提供 “ 伪原图 ”

打过码的图片等于没打!用Windows的要小心了

总结一下,谷歌和微软这次的 Bug,是两个影响相当广泛、原因极其简单、后果控制不好可能会严重的漏洞。

其中一个从 Android 10(2019)开始,影响所有 Pixel 手机;

另一个从 Windows 10 (2015)开始,影响所有使用系统自带截图工具的用户。

更离谱的是,这两个漏洞前几天才刚刚修复。。

我觉得,考虑到时间跨度、受害者数量和形成原因,这两个漏洞完全有资格参与“ 年度最弱智漏洞 ”的竞争。

但不管怎么样,在关系到用户隐私信息这一块的问题,谷歌和微软确实应该加强代码的检查。

各家互联网平台运营商,也应该以此为戒,避免在公共场合分发原始图片的原文件,这不仅可能损害自家服务器的安全,而且还可能暴露用户的隐私。

原图信息中甚至还能有地点定位信息

打过码的图片等于没打!用Windows的要小心了

从咱们用户自己的角度来说,我的建议也很简单:

在任何公开平台都不要上传原图!不要上传原图!不要上传原图!

打过码的图片等于没打!用Windows的要小心了

当图片经过在本地完成解码 —— 重新编码上传的过程,原图上的信息自然也就会被处理。

安全这块儿,还得是自己把住最后一关。

樱花号文章内容来源于网络,只做分享,不修改内容中任何文字。发布者:小樱,本文标题:打过码的图片等于没打!用Windows的要小心了,本文地址:https://www.yinghuahao.net/archives/44327,转载请注明出处!

Like (0)
Donate 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
小樱小樱
Previous 2023-04-02
Next 2023-04-02

相关推荐

发表回复

Please Login to Comment