金磊 發(fā)自 凹非寺
量子位 | 公眾號(hào) QbitAI
講個(gè)恐怖的故事。
早上跟同事在微信上閑談,聊起了一位女同事最近的變化。
結(jié)果他反手就把文字打上馬賽克,截圖丟進(jìn)了群里:
還欠欠兒地補(bǔ)了一刀:
@XXX,他說你壞話了呦~
萬萬沒想到,這位同事氣勢(shì)洶洶地走了過來,竟然直接點(diǎn)出了“秘密文字”的內(nèi)容。
當(dāng)時(shí)的我是這樣的:
見狀,這位老師補(bǔ)充道:
都什么年代了,以為打馬賽克我就認(rèn)不出來了?分分鐘還原好吧!
……
好奇如我,馬上對(duì)這個(gè)技術(shù)展開了一番“調(diào)查”。
(PS:聊天原圖在文末揭曉)
如何還原打了馬賽克的文字?
還別說,國(guó)外一家公司的首席研究員Dan Petro(下文簡(jiǎn)稱Dan),這兩天就發(fā)布了這么一篇帖子。
他直接點(diǎn)出了重點(diǎn):
打馬賽克(像素化),是一種非常不好、不安全,而且會(huì)泄露敏感數(shù)據(jù)的方法。
為了驗(yàn)證他的說法,Dan親自下場(chǎng)寫了一個(gè)名為Unredacter的工具。
然后現(xiàn)場(chǎng)演示了一下,這個(gè)工具是如何一點(diǎn)一點(diǎn)把打了馬賽克的文字還原的:
從上面的示例中,不難看出,即便原文打了厚厚的一層馬賽克,在這個(gè)工具面前依舊像“裸奔”一樣。
或許你會(huì)說,這玩意兒操作起來會(huì)很復(fù)雜吧?
不不不。
非常之簡(jiǎn)單,僅僅是2個(gè)步驟:
用npm install安裝依賴項(xiàng)
用npm start來啟動(dòng)
還有還原打了馬賽克的圖片
但一個(gè)非?,F(xiàn)實(shí)的問題就是,Depix還原的文字,從視覺效果上并不是很好:
Depix還原出來的文字,有些地方的還是糊糊的。
因此,國(guó)外Jumpsec Lab的一位研究員指出了這個(gè)問題,并且還附上了一道比較有意思的挑戰(zhàn):
如果你破解了密碼,請(qǐng)聯(lián)系我們。
這樣的挑戰(zhàn)便引起了Dan極大的興趣,這也就是他開發(fā)Unredacter的原因。
于是,在Unredacter的加持下,Dan順利攻破了這項(xiàng)挑戰(zhàn):
而后Dan聯(lián)系上了這位研究員,在郵件的回復(fù)中,也證實(shí)了Dan的結(jié)果是正確的:
不僅如此,Dan還介紹說,像類似用涂抹方式來打的馬賽克,無論是在GiMP、Photoshop或者其它編輯器中,結(jié)果都是一樣的。
因此,他的破解方法應(yīng)當(dāng)是具備一定的通用性。
當(dāng)然,生活中我們或多或少都會(huì)有“打碼”的需求,既然馬賽克不安全,那有沒有更好的方式呢?
Dan對(duì)此的答復(fù)是:
用黑色條來遮擋。
還有還原打了馬賽克的圖片
其實(shí)“還原馬賽克”這件事,AI界早就有所研究。
例如杜克大學(xué)提出的PLUSE便是其中之一,還登頂了CVPR。
但它修復(fù)的并不是文字,而是人像,例如:
從原理角度來看,它本質(zhì)上是生成對(duì)抗網(wǎng)絡(luò)(GAN)。
PLUSE主要是根據(jù)模糊的馬賽克像素,“畫”出新的一張張不存在的人臉,再壓縮回馬賽克狀態(tài)跟原圖比一比,把相似的版本拿出來展示。
當(dāng)然,這項(xiàng)技術(shù)也并非完美,也有翻車的時(shí)候。
例如網(wǎng)友就拿馬里奧試了試,結(jié)果……
Emmm……這“味道”,不一般。
One More Thing
最后,來揭曉一下開頭故事的答案。
著實(shí)是個(gè)慘痛的教訓(xùn)了……
項(xiàng)目地址:
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
關(guān)鍵詞: 聊天截圖厚碼也不安全 大神寫了算法分分鐘給你還原