从像素化屏幕截图中恢复密码

学号:17020150056   姓名:张伟航

【嵌牛导读】超神项目,一天获得 4k+ star 的马赛克密码还原——Depix 是一个从像素化/马赛克的截图中恢复密码的工具,它用线性盒式过滤器实现像素化图像还原。在它开源后的一周内,获得了 10.1k star,可见它的神奇之处。

【嵌牛鼻子】马赛克   解马赛克   性盒式过滤器  图像还原 

【嵌牛正文】

参考  https://www.linkedin.com/pulse/recovering-passwords-from-pixelized-screenshots-sipke-mellema

简介

像素化在许多领域被用来模糊图像中的信息。我见过一些公司在内部文档中用像素化的方式显示密码。没有工具可以从这样的图像中恢复密码,所以我创建了一个。本文介绍了去像素化的算法和类似的研究。

该工具在Github上可用,下图显示了其中一个测试结果。


什么是像素化?


像素化,也称为马赛克化。描述了部分降低图像分辨率以筛选信息的过程。本算法的实现采用了普通的线性盒滤波器。线性框过滤器获取一个像素框,并用框中所有像素的平均值覆盖这些像素。它的实现简单,工作速度快,因为它可以并行处理多个块。

下图显示了线性框过滤器的示例。图释的图像分为四个块。块的平均颜色覆盖块的像素,从而生成最终的像素化表情。



去模糊工具、历史和研究

图像可以通过多种方式进行模糊处理,通常称为模糊处理。像素化与盒过滤器可以看作是一个子集模糊技术。大多数模糊算法倾向于分散像素,因为它们试图模仿由抖动的相机或聚焦问题引起的自然模糊。

有许多消除模糊的工具,如锐化模糊的照片。不幸的是,我使用的像素化密码只有几块高,所以没有什么可磨的。

人工智能的最新发展引起了一些花哨的头条新闻,比如“研究人员已经发明了一种可以完全消除面部关系的工具”。然而,人工智能却不这么做。最近的PULSE算法类似于谷歌2016年的raiser算法。人工智能会生成像素化后产生相同图像的人脸,但它恢复的人脸不是原始人脸。

像PULSE这样的算法似乎是新的,但它们源于一系列很长的去模糊工具。M. W. Buie在1994年写了一个工具生成“Plutos”,对其进行模糊处理,并将其与观察到的图像进行匹配。

在2006年的一篇广为人知的文章中,D.Venkatraman解释了一种恢复像素化信用卡号码的算法。想法很简单:生成所有信用卡号码,将其像素化,并将结果与像素化的数字进行比较

2019年,S.Sangwan解释了如何利用Photoshop为OSINT恢复人脸,方法是锐化图像并通过Google Images进行查找。它与其他技术类似,它使用谷歌对图片中的脸部进行“暴力”处理。

注意上述解决方案之间的相似之处。如果没有足够的信息将图像平滑到一起,那么可以选择的技术是将相似的数据像素化并检查是否匹配。从屏幕截图中恢复密码也是我的算法基础

算法描述

由于线性盒滤波器是一种确定性算法,因此将相同的值像素化总是会得到相同的像素化块。像素化相同的文本,使用相同的块位置,将导致相同的块值。我们可以尝试对文本进行像素化以找到匹配的模式。每一个块或块的组合都可以被视为一个子问题。

我没有选择创建潜在字体的查找表。该算法要求在同一背景下具有相同的文本大小和颜色。现代的文本编辑器还添加了色调、饱和度和亮度,允许使用大量的潜在字体设置来拍摄屏幕截图。

这个解决方案非常简单:取一个De Bruijn sequence 的字符序列,将其粘贴到同一个编辑器中,然后制作一个屏幕截图。该截图用作类似块的查找图像。例如:


此序列包括预期字符的所有2字符组合。使用两个字符的组合很重要,因为有些块可以重叠两个字符。

要找到合适的匹配,需要在搜索图像中存在相同配置的像素块。在测试图像中,我的算法找不到“o”的一部分。我注意到这是因为在搜索图像中,搜索块还包括下一个字母的一部分(“d”),但在原始图像中有一个空格。


创建一个带有空格的 De Bruijn 字母序列显然会带来相同的问题:该算法无法为连续字母找到合适的块。同时包含空格和近距字母的图像搜索时间较长,但会产生更好的结果。

对于大多数像素化图像,该工具似乎可以找到块的单个匹配结果。它假设这些是正确的。然后将周围多个匹配块的匹配进行比较,使其与像素化图像中的几何距离相同。这些匹配也被视为正确的。

当正确的块不再有几何匹配后,它将直接输出所有正确的块。对于多匹配块,它输出所有匹配的平均值。它的输出并不完美,但性能相当好。下图显示了一个带有随机字符的测试图像。大多数字符都能正确读懂。


结束语

始终要从图像中完全删除敏感信息,因为模糊处理技术可能会泄露原始值的可恢复部分。

如果有其他工具可以从像素化的图像中恢复密码,我想了解一下。请先在Github存储库中的测试映像上测试它们,然后再声明它们可以工作。我还对其他技术感兴趣,比如像素化块的模式识别。

上面提到的技术完美地链接到了密码学中易受攻击的模式。它类似于散列破解,利用ECB和已知的明文攻击。使用保护数据的最佳做法。假设模式不能被破坏,仅仅因为实现者不知道如何破坏,这是信息安全中常见的陷阱。

我认为人工智能既可以帮助选择正确的方块匹配,也可以看到一般的模式。示例图像显示了一些字符如何突出在顶部,表示像“l”或“h”等字符。此外,像“m”这样的字符会生成更多的暗方块,因为它们有更多压缩的暗像素。因为这些特性,一个为特定字体或模式训练的人工智能应该提高准确性。

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 216,651评论 6 501
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,468评论 3 392
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 162,931评论 0 353
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,218评论 1 292
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,234评论 6 388
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,198评论 1 299
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,084评论 3 418
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,926评论 0 274
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,341评论 1 311
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,563评论 2 333
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,731评论 1 348
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,430评论 5 343
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,036评论 3 326
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,676评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,829评论 1 269
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,743评论 2 368
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,629评论 2 354

推荐阅读更多精彩内容