密碼打馬賽克已經(jīng)不安全了!這款開源的去“馬賽克“工具一秒還原
如果你認為將密碼或其他私密文本數(shù)據(jù)像素化就能保護它們不被窺見,那你真是太天真了,你的信息并沒有你想象的那么安全。像素化(也稱為馬賽克)是一種常用的手段,可以大幅降低圖像敏感區(qū)域的分辨率來隱藏信息。
近年來馬賽克這項技術(shù)被廣泛使用,但它的好日子已經(jīng)不多了,最近一個新型的人工智能工具“Depix”橫空出世,短短時間就在Github上標星15.5K(Github地址:https://github.com/beurtschipper/)
Depix的開發(fā)人員Sipke Mellema是一個信息安全顧問,他表示:“我見過一些公司把內(nèi)部文件中的密碼像素化,沒有工具可以從這些圖像中恢復密碼,于是我創(chuàng)建了一個。”該工具適用于使用線性方框濾波器(linear box filter)創(chuàng)建的像素化圖像。
Depix的使用
要準備一個用于Depix處理的像素化文本序列,首先以單個矩形格式從截圖圖像中剪切相關(guān)的像素化塊,然后將帶有預期字符的De Bruijn序列粘貼到具有相同字體(文本大小、字體、顏色等)編輯器中。接下來,對序列進行截圖,最好使用之前的序列截圖,盡可能使用和像素化圖像相同的截圖工具。
最后,簡單地運行 python depix.py -p [pixelated rectangle image] -s [search sequence image] -o output.png
恢復之后的效果和原圖的對比結(jié)果:
但是,項目作者沒有選擇創(chuàng)建潛在字體的查找表,只是簡單使用待處理字符的德布魯因序列,將其粘貼到相同的編輯器中,然后截圖。該截圖可以用作相似 block 的查找圖像,例如:
德布魯因序列包括待處理字符的所有雙字符組合。在以下測試圖像中,Depix算法無法找到(o)的一部分。這是因為在搜索圖像中,搜索block還包含下一個字母(「d」)的一部分,但在原始圖像中這里有個空格。
不過對于大多數(shù)像素化的圖像,Depix都可以找個單個的匹配結(jié)果,它假定這些都是正確的。然后將周圍的多個匹配塊匹配,然后再與馬賽克圖像相同的幾何距離進行比較。這些匹配也被認為是正確的。
當正確的塊沒有更多的幾何匹配后,它將直接輸出所有正確的塊。對于多匹配塊,它輸出所有匹配的平均值。它的輸出還遠遠不夠完美,但它的性能相當好。下圖顯示了一個帶有隨機字符的測試圖像,大多數(shù)字符都可以正確破解出來。
Sipke Mellema還表示Depix技術(shù)類似于哈希破解,利用ECB的使用和已知明文攻擊的使用。他建議人們對于敏感數(shù)據(jù)還是盡量不要用Depix。