去 “马赛克” 工具横空出世, 一秒还原!

简介: 如果你认为将密码或其他私密文本数据像素化就能保护它们不被窥见,那你真是太天真了,你的信息并没有你想象的那么安全。像素化(也称为马赛克)是一种常用的手段,可以大幅降低图像敏感区域的分辨率来隐藏信息。

如果你认为将密码或其他私密文本数据像素化就能保护它们不被窥见,那你真是太天真了,你的信息并没有你想象的那么安全。像素化(也称为马赛克)是一种常用的手段,可以大幅降低图像敏感区域的分辨率来隐藏信息。


image.png


近年来马赛克这项技术被广泛使用,但它的好日子已经不多了,最近一个新型的人工智能工具“Depix”横空出世,短短时间就在Github上标星15.5K,Github地址:


https://github.com/beurtschipper/


Depix的开发人员Sipke Mellema是一个信息安全顾问,他表示:“我见过一些公司把内部文件中的密码像素化,没有工具可以从这些图像中恢复密码,于是我创建了一个。”该工具适用于使用线性方框滤波器(linear box filter)创建的像素化图像。


Depix的使用


要准备一个用于Depix处理的像素化文本序列,首先以单个矩形格式从截图图像中剪切相关的像素化块,然后将带有预期字符的De Bruijn序列粘贴到具有相同字体(文本大小、字体、颜色等)编辑器中。接下来,对序列进行截图,最好使用之前的序列截图,尽可能使用和像素化图像相同的截图工具。


最后,简单地运行 python depix.py -p [pixelated rectangle image] -s [search sequence image] -o output.png


恢复之后的效果和原图的对比结果:


image.png


但是,项目作者没有选择创建潜在字体的查找表,只是简单使用待处理字符的德布鲁因序列,将其粘贴到相同的编辑器中,然后截图。该截图可以用作相似 block 的查找图像,例如:


image.png


德布鲁因序列包括待处理字符的所有双字符组合。在以下测试图像中,Depix算法无法找到(o)的一部分。这是因为在搜索图像中,搜索block还包含下一个字母(「d」)的一部分,但在原始图像中这里有个空格。


image.png


不过对于大多数像素化的图像,Depix都可以找个单个的匹配结果,它假定这些都是正确的。然后将周围的多个匹配块匹配,然后再与马赛克图像相同的几何距离进行比较。这些匹配也被认为是正确的。


当正确的块没有更多的几何匹配后,它将直接输出所有正确的块。对于多匹配块,它输出所有匹配的平均值。它的输出还远远不够完美,但它的性能相当好。下图显示了一个带有随机字符的测试图像,大多数字符都可以正确破解出来。


image.png


Sipke Mellema还表示Depix技术类似于哈希破解,利用ECB的使用和已知明文攻击的使用。他建议人们对于敏感数据还是尽量不要用Depix。


相关文章
|
存储 Java 数据库连接
MyBatis-Plus 基础操作指南:实现高效的增删改查
MyBatis-Plus 基础操作指南:实现高效的增删改查
961 0
uniapp 实现加载效果,消息提示框,模态框
uniapp 实现加载效果,消息提示框,模态框
1045 0
|
存储 算法 安全
用户密码到底要怎么加密存储?
作为互联网公司的信息安全从业人员经常要处理撞库扫号事件,产生撞库扫号的根本原因是一些企业发生了信息泄露事件,且这些泄露数据未加密或者加密方式比较弱,导致黑客可以还原出原始的用户密码。
1226 0
用户密码到底要怎么加密存储?
|
3月前
|
存储 弹性计算 应用服务中间件
2026年阿里云服务器配置选型指南:个人与企业用户适配方案
在阿里云服务器选型中,核心是根据用户类型(个人 / 企业)、业务场景(网站搭建、开发测试、生产应用)及性能需求,匹配 CPU、内存、带宽、存储的最优组合。不同用户对成本、稳定性、扩展性的诉求差异显著,个人开发者侧重性价比与易用性,企业用户则需保障性能稳定与业务连续性。本文结合实例规格特性与场景需求,提供从入门到企业级的完整选型参考。
|
12月前
|
数据采集 JavaScript 前端开发
浏览器自动化检测对抗:修改navigator.webdriver属性的底层实现
本文介绍了如何构建一个反检测爬虫以爬取Amazon商品信息。通过使用`undetected-chromedriver`规避自动化检测,修改`navigator.webdriver`属性隐藏痕迹,并结合代理、Cookie和User-Agent技术,实现稳定的数据采集。代码包含浏览器配置、无痕设置、关键词搜索及数据提取等功能,同时提供常见问题解决方法,助你高效应对反爬策略。
1060 1
|
安全 Java 网络安全
Java Socket编程教程:构建安全可靠的客户端-服务器通信
【6月更文挑战第21天】构建安全的Java Socket通信涉及SSL/TLS加密、异常处理和重连策略。示例中,`SecureServer`使用SSLServerSocketFactory创建加密连接,而`ReliableClient`展示异常捕获与自动重连。理解安全意识,如防数据截获和中间人攻击,是首要步骤。通过良好的编程实践,确保网络应用在复杂环境中稳定且安全。
393 0
|
机器学习/深度学习 人工智能 自然语言处理
深度学习的伦理困境:数据隐私与算法偏见
【8月更文挑战第9天】随着深度学习技术的飞速发展,其对个人隐私和数据安全的威胁日益凸显。本文探讨了深度学习在处理敏感信息时可能导致的数据泄露风险,以及训练数据中固有偏见如何影响算法公正性的问题。文章分析了当前隐私保护措施的局限性,并提出了减少算法偏见的方法。最后,本文讨论了如何在保障技术进步的同时,确保技术应用不侵犯个人权益,呼吁建立更为全面的伦理框架以指导深度学习的发展。
|
存储 Windows
技术好文共享:(翻译)libusb
技术好文共享:(翻译)libusb
445 0
|
开发工具 git
git fatal: 拒绝合并无关的历史
记录一个git的错误, 以备以后查看
1124 0

热门文章

最新文章