带有厚代码的聊天截图是不安全的。大师写了一个算法,分分钟给你还原。讲一个恐怖的故事。早上和一个同事微信聊天,说起一个女同事最近的变化。结果他反手把文字打马赛克,把截图丢进群里:我还欠了一刀:@XXX,他说你坏话~没想到这位同事霸道的过来了,没想到直接点了关于“密文”的内容。当时我是这样的:老师看到这个,又加了一句:什么年代了,你以为我马赛克的时候认不出来了?分分钟还原!……虽然我很好奇,但我立即对这项技术展开了“调查”。(PS:聊天原图见文末)如何恢复马赛克文字?更不用说,一家外企的首席研究员DanPetro(以下简称Dan),就在这两天发布了这样的帖子。他直接指出重点:马赛克(像素化)是一种非常糟糕、不安全的方法,会泄露敏感数据。为了验证他的说法,Dan自己编写了一个名为Unreacter的工具。然后我现场演示了这个工具是如何一点一点还原被马赛克文字的:从上面的例子不难看出,即使原来的文字被厚厚的马赛克覆盖,看起来还是“裸奔”是一样的。也许你会说,这东西操作起来会很复杂吧?不不不。很简单,就两步:使用npminstall安装依赖,使用npmstart启动,恢复马赛克图像但是一个很现实的问题是Depix恢复的文字在视觉效果上不是很好:Depix恢复的文字在某些地方仍然很模糊。因此,国外JumpsecLab的研究员指出了这个问题,并附上了一个比较有趣的挑战:如果破解密码,请联系我们。这样的挑战引起了Dan的极大兴趣,这也是他开发Unredacter的原因。于是,在Unreacter的加持下,Dan成功突破了这个挑战:Dan随后联系了研究人员,在邮件回复中,也证实了Dan的结果是正确的:不仅如此,Dan还说,像马赛克一样通过涂抹制作,无论是在GiMP、Photoshop还是其他编辑器中,结果都是一样的。因此,他的破解方法应该具有一定的通用性。当然,我们在生活中或多或少都有“编码”的需求。既然马赛克不安全,有没有更好的办法呢?丹对此的回答是:用黑条挡住它。还有马赛克图片的修复。其实,“还原马赛克”这件事,AI领域早就在研究了。比如杜克大学提出的PLUSE就是其中之一,也登上了CVPR的榜首。但它修复的不是文本,而是人像,例如:从原理上看,它本质上是一个生成对抗网络(GAN)。PLUSE主要是根据模糊的马赛克像素“绘制”出不存在的新人脸,然后将其压缩回马赛克状态与原图进行对比,然后显示相似版本。当然,这项技术并不完美,也有翻车的时候。比如网友用马里奥试了一下,结果……emmm……这“味道”不一般。在OneMoreThing的结尾,让我们揭晓开篇故事的答案。真是惨痛的教训……项目地址:https://github.com/bishopfox/unredacter
