
還在用馬賽克的方式隱藏密碼?小心被「看穿」,
像素化(又稱馬賽克)是一種常見的打碼方式,通過降低影像中部磁區域的解析度來隱藏某些關鍵資訊,比如:

再比如:

看圖找馬賽克!(找不到請看右側原圖)
但是,在你想隱藏資訊的同時,有一些技術卻反其道而行之,試圖將圖片還原為原始狀態,
最近,一個名為 Depix 的 GitHub 專案爆火,上線三天 star 量已經高達 6.9k,專案作者 Sipke Mellema 是一名資訊安全顧問,

專案地址:https://github.com/beurtschipper/Depix
很多人學習python,不知道從何學起,
很多人學習python,掌握了基本語法過后,不知道在哪里尋找案例上手,
很多已經做案例的人,卻不知道如何去學習更加高深的知識,
那么針對這三類人,我給大家提供一個好的學習平臺,免費領取視頻教程,電子書籍,以及課程的源代碼!
QQ群:1156465813
Depix 能夠從像素化影像截圖中恢復原圖中包含的文字密碼,該專案適用于使用線性方框濾波器(linear box filter)創建的像素化影像,如下圖所示,專案作者給出了像素化影像、恢復之后的效果和原圖的對比結果:

馬賽克打得夠嚴實了,不過 Depix 還是基本解讀出了被隱藏的資訊,
如何使用?
使用 Depix 從像素化影像截圖中恢復文字密碼,操作也比較簡單:
- 從截圖中分割出矩形像素化 block;
- 在具有相同字體設定(包括文本大小、字體、顏色、hsl)的編輯器中,粘貼待處理字符的德布魯因(De Bruijn sequence),
- 給該序列截圖,盡可能使用和像素化影像相同的截圖工具,
- 執行命令:
python depix.py -p [pixelated rectangle image] -s [search sequence image] -o output.png
Depix 演算法利用線性方框濾波器單獨處理每一個 block 這一事實,它對搜索影像中的每一個 block 執行像素化以尋找直接匹配,
對于大部分像素化影像,Depix 盡量尋找單匹配結果,并假設這些匹配是正確的,至于周圍多匹配 block 的結果被看作像素化影像中相同的幾何距離,并認為這些匹配也是正確的,該程序重復多次,
在正確的 block 沒有更多幾何匹配后,Depix 將直接輸出所有正確的 block,對于多匹配 block,Depix 將輸出所有匹配的平均值,
Depix 背后的演算法
像素化常使用線性方框濾波器實作,線性方框濾波器的實作很簡單,速度很快,可以并行處理多個 block,
由于線性方框濾波器是一種確定性演算法,對同樣的值執行像素化通常會產生同樣的像素化 block,使用同樣位置的 block 對相同文本執行像素化,會得到同樣的 block 值,我們可以嘗試像素化文本來找出匹配的模式,幸運的是,這對于秘密值的一部分同樣奏效,我們可以把每個 block 或 block 組合看作一個子問題,
專案作者沒有選擇創建潛在字體的查找表,該演算法要求在相同背景上具備相同的文本大小和顏色,現代文本編輯器還會添加色調、飽和度和亮度,也就是說存在海量潛在字體,
專案作者給出的解決方案也很簡單:使用待處理字符的德布魯因序列,將其粘貼到相同的編輯器中,然后截圖,該截圖可以用作相似 block 的查找影像,例如:

德布魯因序列包括待處理字符的所有雙字符組合,這很重要,因為一些 block 會重疊兩個字符,找出恰當的匹配需要搜索影像中具備相同像素配置的 block,
在以下測驗影像中,Depix 演算法無法找到「o」的一部分,這是因為在搜索影像中,搜索 block 還包含下一個字母(「d」)的一部分,但在原始影像中這里有個空格,

創建字母的德布魯因序列時加上空格顯然會帶來同樣的問題:演算法無法找到后續字母的恰當 block,有空格又有字母的影像需要更長的搜索時間,但結果也更好,
對于大部分像素化影像而言,Depix 似乎能夠找到 block 的單匹配結果,并假設這是正確的,然后將其周圍多匹配 block 的匹配結果看作在像素化影像中處于相同的幾何距離,并假設這些匹配也是正確的,
在正確的 block 沒有更多幾何匹配后,Depix 直接輸出所有正確的 block,對于多匹配 block,Depix 將輸出所有匹配的平均值,雖然 Depix 的輸出并不完美,但已經算不錯了,
下圖展示了包含隨機字符的測驗影像的去像素化結果,大部分字符被正確讀取:

對這個專案感興趣的讀者,可以自行嘗試,
以后截圖時給敏感資訊打碼,看來不能簡單地用「馬賽克了」,
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/236539.html
標籤:其他
上一篇:TSINGSEE青犀視頻RTSP協議視頻智能分析平臺EasyNVR如何優化HTTP協議請求方式的安全問題?
下一篇:Google dorking
