Redian新闻
>
打过码的图片等于没打,用Windows的要小心了。

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

科技


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


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


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


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


发现这个漏洞的程序员 Simon Aarons,还写了一个可以检测这个漏洞的程序 Acropalypse。

只要你把 Pixel 手机的机型和用 Markup 裁出的上传上去,就能得到原图的其他信息。


世超拿 Pixel 4 试了一下,效果拔群。。。


一石激起千层浪啊,谷歌这事儿被爆出来之后,被一群码农大佬们顺藤摸瓜,发现类似的 Bug,微软似乎也有份。


他们直接使用 Windows 系统重的截图工具,也重现了和谷歌Pixel 一样的问题。


这下问题就大条了。


要说 Pixel 手机用的人少和咱们关系也不大,可 Windows 的截图工具,可是大伙儿经常会摸到的常用工具。


数以十亿计的用户,可能在自以为隐私部分已经抹掉了的情况下,把截图发了出去。


但凡有什么个人隐私信息,想想都觉得后脊背发凉。


那世超就好奇了,两家大厂,在两个毫不相关的系统上,出现了一模一样的严重错误。。。


难道是 PNG 的标准实在是太老被钻了漏洞,或者是什么基础软件有问题?


世超怀着揣揣不安的心情,深入调查了一下这件事儿的来龙去脉。


先说结论啊:并不是图像处理和储存的标准出了问题,而是谷歌微软同时以不同的方式犯了傻。


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


还原的JPG图像只是比原图多了点噪点


这 Bug,好像有那么点刹不住车了。。。


好消息是,如今信息安全的概念已经深入人心,在我们的隐私完全漏勺之前,其实还有一道防线。


世超在当年试图成为一个程序猿的时候,学到的第一课,就是绝对不能信任用户提交的数据。


用户试图删掉网站的用户数据表


一些技术人员甚至可以利用解码器 “ 只读取文件尾之前数据 ” 的特性,在一张正常图片的尾部附带恶意代码,从而攻击网站服务器或其他用户。


之前在贴吧里流行过的图种也是类似原理。


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


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


但也有例外。


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


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


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


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


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


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


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


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


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


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


从咱们用户自己的角度来说,世超的建议也很简单:在任何公开平台都不要上传原图!不要上传原图!不要上传原图!



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


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



撰文:鹤然   编辑:jihao   封面焕妍


图片、资料来源:

David Buchanan, Exploiting aCropalypse: Recovering Truncated PNGs

Twitter:@wdormann

Twitter: @David3141593

Wikipedia:PNG


微信扫码关注该文公众号作者

戳这里提交新闻线索和高质量文章给我们。
相关阅读
孙燕姿回应“AI孙燕姿”;阿里云回应裁员7%;微软CEO宣布:Windows的“AI时刻”来了;中国批准微软收购动视暴雪丨邦早报国产内存,成了压倒“游戏版”Windows的最后一根稻草。纽约华人车上发现这个?那你可要小心了!微距蒲公英,杂技印象元月硬核观察 #938 勒索软件正在从 Windows 转向 Linux聊一款能玩3A大作的Windows掌机【波士顿精品门户社区】【本科友好】【South End/Chinatown/Downtown】【$3195】【现房+9/1排位】第一批会用Wind的留学生,已经赚到钱了!Deepin V23上线新功能:实现与 Windows 系统跨端协同澳洲严查假留学,半工半读要小心了!签证被拒哪里出来问题?今日最佳:Windows XP错误窗口。Windows 11 发布重大更新:ChatGPT 版 Bing 集成到任务栏中,可快速访问 AI 聊天功能短视频平台“重拳出击”,那些打着医生旗号的网络丐帮要小心了!去澳门没吃过它,等于没去(不是蛋挞)惨烈车祸!2死!悉尼西南区这里出事!现场图片流出,这条路开车要小心!在任务栏开始与ChatGPT版必应聊天,Windows 11发布重大更新我打过新冠疫苗,也感染过新冠,多久可以放心了?【自然】杂志给出答案!2022年自制多款美食Agustín Hernández:中美洲建筑背景下的未来主义巨构Build 2023亮点汇总:Windows原生支持rar格式、发布Windows Copilot...美国费城,城市地标紧急扩散!近期有在8大道、法拉盛及华埠汇钱吗?那你可要小心了...加拿大近期56宗火灾皆因同一款空气炸锅!用这个要小心了......Windows 11 全解读,发布两年半后的今天,它值得升级丨有用功北美诈骗花样百出,一不小心分文不剩!身在海外的你要小心了!第一批会用Wind的英国留学生,已经赚到钱了!私募圈重磅!这类产品,迎“最严”备案要求!托管机构也要小心了中国人要小心了!这家美国银行突然宣布破产!天赋“易昺(bǐng)”,创造历史!紧急扩散!近期有在8大道、法拉盛及华埠汇钱的要小心!!!看不完的车展和野生动物[歪解] Rolling down car windowsWindows重磅更新!ChatGPT全面植入Windows系统!如何在Windows 10中截屏
logo
联系我们隐私协议©2024 redian.news
Redian新闻
Redian.news刊载任何文章,不代表同意其说法或描述,仅为提供更多信息,也不构成任何建议。文章信息的合法性及真实性由其作者负责,与Redian.news及其运营公司无关。欢迎投稿,如发现稿件侵权,或作者不愿在本网发表文章,请版权拥有者通知本网处理。