马赛克背后的“秘密”

越是刻意隐藏的信息往往越是容易吸引人的注意。

人们总是对编辑过或是刻意隐藏的信息充满好奇,并且会试图还原编辑和解码隐藏信息。

1000美元比特币的故事

法国电视台曾在2017年播出过一部关于比特币的纪录片。

片中采访了被称为比特币耶稣(Bitcoin Jesus)的Roger Ver,他决定赠送1000美元的比特币给观众,先(看)到先得。

然而,纪录片在播出的时候,由于电视台没有获得电视转播赠送金钱奖品的授权,分享的比特币钱包二维码和私钥被打了码。

△电视节目播出画面△被打码的二维码

故事本来到这里就结束了——这1000美元可能没有观众拿到,唯一有机会领取的只有录制采访的工作人员。

但或许是不想让观众失去这1000美元。在采访的最后,节目中展示了清晰的二维码的一小部分。

△露出一部分的二维码

两名研究人员通过不同摄像机镜头透露的微小信息,结合关于二维码编码方案的知识,经过16小时的手动逆向工程,成功恢复了被模糊掉的私钥并领取了奖金。

虽然这种二维码的破解比较特别,并且结合了不同的技术,但更多通用的恢复模糊信息的方法也已经公布了。

比如人工智能领域。早在2016年,就有研究提出一种基于GAN的超分辨率和文本识别算法TextSR,用来识别低分辨率的文本。

杜克大学也提出了一种新型超分辨率算法PULSE,可以从低分辨率的图像中恢复高分辨率的人脸图像。

该算法根据输入的模糊图像,使用GAN生成人脸,并对其进行调整(downscale,降频),直到调整后的版本与输入图像相匹配。

由于模糊的图像也可以看作是低分辨率的图像,任何基于人工智能的图像“超分辨率算法”都可能适合用来做模糊图像还原处理。(例如ISR或TecoGAN(具有时序一致性的GAN))

△TecoGAN(第1行:参考,第2行:TecoGAN输出,第3行:TecoGAN输入)

这些算法的表现看上去都很好,但由于涉及到了人工智能的创造力,它们生成的结果并不完全可信。杜克大学在PULSE算法的介绍中也明确表示了这一点:

“我们注意到很多人担心PULSE将被用于识别脸部被模糊的个人。我们想强调的是,这是不可能的——PULSE做出不存在的人的假想脸,不应该与真实的人相混淆。它不会帮助识别或重建原始图像。”

但是对于黑客来说,他们仍然可以通过这种方式发现编辑过的二维码或信用卡号码,并通过校验检查其有效性。

所以,目前我们常用和常见的一些信息打码的方式其实是不安全的,比如马赛克。

下面是两种常见的模糊信息的方式。

1)马赛克/像素化/线性盒滤波:多个像素被合并成一个更大的像素,其颜色是原始像素值的平均值。这种方法处理后的信息都是像素化的方块。

2)高斯模糊(或类似的):使用一个特定的内核,每个像素的新颜色都受到其周围像素的影响(通过加权平均)。这种方法处理后的信息看起来就像隔着一层毛玻璃一样模糊。

这里主要讨论第一种方式。

先说结论,用马赛克模糊信息并不可靠,隐藏的信息极易被泄露。

由于线性盒滤波是一种确定的算法,对相同的数值进行像素化,所以会产生相同的像素化块。

基于该算法的特性,对相同的文本进行像素化,使用相同位置的块,将产生相同的块值。利用这一点可以尝试对文本进行像素化以找到匹配的模式。

这样一来,还原像素化信息的核心就在于,对潜在的输入数据进行像素化处理,然后比较结果。与字典攻击(Dictionary Attack)类似,只对可能的输入进行比较,大大提高了暴力破解的效率。

这些方法还利用了马赛克“哈希函数”的缺失雪崩效应。当输入图像中的一个细节发生变化时,这只会影响到输出图像中的一个小区域。

因此,可以将问题划分为更容易解决的子问题,只搜索较小区域的匹配。

GitHub上一个还原像素化图像信息的工具Depix,用的就是这种方法来恢复文本的。

使用Depix需要一个具有预期字符的De Bruijn序列,其字体设置与被模糊图像相同(如文字背景、大小和颜色)。

△De Bruijn序列

其破解过程是:取一个预期字符的De Bruijn序列,将其粘贴在同一个编辑器中,并对其截图。该截图被用作类似区块的查询图像,通过比较和匹配,一步步还原文本。

对于大多数像素化的图像,该工具似乎能找到单一匹配块的结果。

它假定这些结果是正确的,然后比较周围多匹配块的匹配结果,使其与像素化图像中的几何距离相同。这些匹配结果也被视为正确。

在正确的块没有更多的几何匹配后,它将直接输出所有正确的块。对于多重匹配的块,它输出所有匹配的平均值。

虽然这种方法还原的文本大多数字符都可以辨认,但其限制条件较多,还原的效果也并不是很好,很多地方还是糊的。

Jumpsec Labs的一位研究员指出,由于现实世界中的例子总是有一些细微的变化和噪音,很容易给识别带来麻烦,所以实际上Depix并没有想象中的好用。

于是,他们发起了一个挑战,如果能够破解下面被打码图片中的信息,就可以领取奖励。

网络安全公司Bishop Fox的首席研究员Dan Petro接受了这个挑战。他开发了一个名为Unredacter的工具,仅用了几分钟就成功破译了图片中模糊掉的信息。

Unredacter输出的结果(已做模糊处理)

再把输出的结果打码(见下图)。

△上图:挑战赛原始图片(按灰度处理,底排固定) 下图:Unredacter的猜测结果

可以看到,这个结果跟原始的图片是非常接近的。

Jumpsec Labs的回复也证实了Unredacter输出的结果是正确的。

△Jumpsec Labs回复Dan的邮件

值得注意的是,Dan的算法相较Depix更具有通用性。无论是在GiMP、Photoshop或其它编辑器中,用类似涂抹的方式打马赛克,其结果都是一样的。

最后,在Dan的帖子中,他提出了一种相比马赛克更安全的打码方式,那就是用黑色条来遮挡重要信息。

发表回复

相关推荐

不可思议的裸藻——拥有“水中虫草”的美誉

藻类,一种“简单而纯粹的”的存在,却蕴藏着无限的能量。在经历了各种严苛的生存条件考验及漫长的时光积淀后,飞速发展的现代 ...

· 58秒前

有傷口,要當心!破傷風的正確預防方式,請收藏!

生活中,難免磕磕絆絆會遇到一些意外,造成身體的創傷。比如,煮飯切菜割破手指;做傢務幹農活兒被劃傷紮傷;蹦蹦跳跳跌倒擦...

· 1分钟前

坚持党的领导 首先是坚持

中国共产党的领导是中国特色社会主义最本质的特征,是中国特色社会主义制度的最大优势。坚持党中央的集中统一领导,是坚持党 ...

· 5分钟前

簡短的睡前可愛小故事

這個秋天要結束瞭,冬天就要來臨瞭。熊媽媽對著小灰熊說:“冬天就要到瞭,你去找一些自己喜歡的東西。” 小灰熊下想著就出...

· 5分钟前

8款减脂瘦身三明治做法,瘦身就这么简单

每一款都是低卡哦,很适合当减脂期的早餐 三明治内酱料: 通常可以加番茄酱,黑胡椒酱,蛋黄酱,都是减脂专用不含糖0脂肪! ...

· 5分钟前