聊天截圖厚碼也不安全,大神寫了算法分分鐘給你還原

講個恐怖的故事。
早上跟同事在微信閑談,聊起了一位女同事最近的變化。結果他反手就把文字打上馬賽克,截圖丟進了群里:

聊天截圖厚碼也不安全,大神寫了算法分分鐘給你還原

還欠欠兒地補了一刀:

@XXX,他說你壞話了呦~

萬萬沒想到,這位同事氣勢洶洶地走了過來,竟然直接點出了“秘密文字”的內容。

當時的我是這樣的:

聊天截圖厚碼也不安全,大神寫了算法分分鐘給你還原

見狀,這位老師補充道:

都什麼年代了,以為打馬賽克我就認不出來了?分分鐘還原好吧!

……

好奇如我,馬上對這個技術展開了一番“調查”。

(PS:聊天原圖在文末揭曉)

如何還原打了馬賽克的文字?

還別說,國外一家公司的首席研究員Dan Petro(下文簡稱Dan),這兩天就發布了這麼一篇帖子。

他直接點出了重點:

打馬賽克(像素化),是一種非常不好、不安全,而且會泄露敏感數據的方法。

為了驗證他的說法,Dan親自下場寫了一個名為 Unredacter 的工具。

然後現場演示了一下,這個工具是如何一點一點把打了馬賽克的文字還原的:

聊天截圖厚碼也不安全,大神寫了算法分分鐘給你還原

從上面的示例中,不難看出,即便原文打了厚厚的一層馬賽克,在這個工具面前依舊像“裸奔”一樣。

或許你會說,這玩意兒操作起來會很複雜吧?

不不不。

非常之簡單,僅僅是2個步驟:

用npm install安裝依賴項

用npm start來啟動

聊天截圖厚碼也不安全,大神寫了算法分分鐘給你還原

雖然在Dan之前,已經有類似的工具存在了,例如 Depix。

但一個非常現實的問題就是,Depix還原的文字,從視覺效果上並不是很好:

聊天截圖厚碼也不安全,大神寫了算法分分鐘給你還原

Depix還原出來的文字,有些地方的還是糊糊的。

因此,國外Jumpsec Lab的一位研究員指出了這個問題,並且還附上了一道比較有意思的挑戰:

如果你破解了密碼,請聯繫我們。

聊天截圖厚碼也不安全,大神寫了算法分分鐘給你還原

這樣的挑戰便引起了Dan極大的興趣,這也就是他開發Unredacter的原因。

於是,在Unredacter的加持下,Dan順利攻破了這項挑戰:

聊天截圖厚碼也不安全,大神寫了算法分分鐘給你還原

而後Dan聯繫上了這位研究員,在郵件的回復中,也證實了Dan的結果是正確的:

聊天截圖厚碼也不安全,大神寫了算法分分鐘給你還原

不僅如此,Dan還介紹說,像類似用塗抹方式來打的馬賽克,無論是在GiMP、Photoshop或者其它編輯器中,結果都是一樣的。

因此,他的破解方法應當是具備一定的通用性。

當然,生活中我們或多或少都會有“打碼”的需求,既然馬賽克不安全,那有沒有更好的方式呢?

Dan對此的答覆是:

用黑色條來遮擋。

還有還原打了馬賽克的圖片
還有還原打了馬賽克的圖片

其實“還原馬賽克”這件事,AI界早就有所研究。

例如杜克大學提出的 PLUSE便是其中之一,還登頂了CVPR。

但它修復的並不是文字,而是人像,例如:

聊天截圖厚碼也不安全,大神寫了算法分分鐘給你還原

聊天截圖厚碼也不安全,大神寫了算法分分鐘給你還原

從原理角度來看,它本質上是生成對抗網絡(GAN)。

PLUSE主要是根據模糊的馬賽克像素,“畫”出新的一張張不存在的人臉,再壓縮回馬賽克狀態跟原圖比一比,把相似的版本拿出來展示。

當然,這項技術也並非完美,也有翻車的時候。

例如網友就拿馬里奧試了試,結果……

聊天截圖厚碼也不安全,大神寫了算法分分鐘給你還原

Emmm……這“味道”,不一般。

One More Thing

最後,來揭曉一下開頭故事的答案。

聊天截圖厚碼也不安全,大神寫了算法分分鐘給你還原

着實是個慘痛的教訓了……

項目地址:
項目地址:

https://github.com/bishopfox/unredacter

參考鏈接:

[1]https://bishopfox.com/blog/unredacter-tool-never-pixelation

[2]https://labs.jumpsec.com/can-depix-deobfuscate-your-data/

[3]https://arxiv.org/abs/2003.03808

(0)
上一篇 2022-02-17 15:03
下一篇 2022-02-17 15:04

相关推荐