
在數位時代,影片已成為資訊傳播的重要媒介。然而,為了保護隱私、遵守法律或避免不必要的爭議,遮蔽部分的影片內容變得越來越普遍。其中,馬賽克是最常用的手段之一,旨在遮蓋敏感或不宜公開的資訊。但,這種方法真的安全可靠嗎?
開發者傑佛瑞·吉爾林(Jeff Geerling)近期在 YouTube 上發布了一段引人關注的影片,揭示了馬賽克工具背後的漏洞。他展示了如何利用免費軟體,將看似無法辨識的馬賽克圖像還原,暴露出隱藏的訊息。
起因是一位他的訂閱者留言警告吉爾林,表示像素化技術並不能有效地隱藏影片內容。
而為了驗證這一點,吉爾林上傳了一段測試影片,並懸賞 50 美元,徵求能夠辨識出像素化之後這些原本資料夾名稱內容的人。
令人驚訝的是,在短短 24 小時內,就有多位觀眾成功提交了模糊但準確的重建圖像。他表示,匯集了這些回應,至少他們用了三種完全不同的方法,可以還原原本的圖像內容。
而他特別挑了其中一位 GitHub 使用者 KoKuToru ,表示他詳細介紹了如何使用 FFmpeg 和 GIMP 等工具,自動對像素化圖像進行逆向工程。
他指出,關鍵在於影片中的運動。當被遮蔽區域在幀與幀之間移動時,扭曲的像素也會隨之移動,這使得軟體能夠將每幀中的訊息編譯成一幅相對完整的圖像。
KoKuToru 將像素化比喻為一道有很多小縫隙的柵欄。如果濾鏡或被審查的內容移動,隱藏訊息的不同部分就會短暫地顯現出來。隨著時間的累積,可以收集到足夠的碎片來重建原始圖像。然而,如果你只有一張靜止的馬賽克圖片,逆轉馬賽克可能就相當困難,甚至是不可能的。
KoKuToru提供了兩種方法來進行。
方法一:暴力還原(Brute Force Reconstruction)
技術核心概念是將像素化遮罩(Pixelation)視為一種可「逆向」的處理方式,由於影片中畫面有微幅移動,被遮蔽的資訊會在不同幀中呈現不同的像素排列,就可以利用這些細微差異,一幀幀收集底層資訊,就能逐步拼湊出馬賽克背後的原圖。
在實作上,是首先觀察影片中被模糊的區塊(如資料夾名稱)在每一幀的位置是否一致。然後手動截取影片中多幀的相同區域,即使內容被馬賽克處理,也因影片晃動而呈現些微差異。
接下來將這些不同幀的像素資訊重疊比對,將每個格子裡最可能的原始顏色估算出來。最後將這些重疊結果組合起來,即可形成近似於原始畫面的結果。
至於實際上的效果,雖然成果略有模糊,但部分英文字母或單字可清晰辨識。問題就是非常耗時,尤其在影片幀數較多時,手動對齊視窗位置也容易出現誤差。
方法二:自動化還原(FFmpeg + 視窗追蹤)
這個方法是延續暴力還原的邏輯,但將手動步驟自動化,極大提升效率與準確性。主要是透過影片處理工具 FFmpeg,自動提取被馬賽克區域的所有幀,進行疊加與重構。
他使用 FFmpeg 自動提取了 200 個經過馬賽克遮蔽的畫格,並應用了邊緣檢測技術,從而產生了更清晰的圖像。這種方法與遊戲中的時間抗鋸齒技術非常相似,這些技術使用運動數據來提升低解析度畫格的品質。
使用這種方法準確率高、失誤率低。而且幾乎可複製套用於任何類似場景,特別適合影片有穩定遮蔽區域的狀況。而且重構圖像與原圖相似度極高,可辨識完整英文資料夾名稱。
AI 也來助攻:神經網路讓「去馬賽克」變簡單
除了 Kokuru,還有其他觀眾運用了 AI 技術與圖像修復演算法 來參與挑戰。他們利用神經網路推測馬賽克背後的可能內容,就像修補破損照片一樣。
隨著 AI 模型的普及與簡化,這些技術不再是實驗室專利,而是任何有興趣的人都能掌握的工具。
吉爾林也坦言,如果當初他沒讓畫面有任何移動,破解難度或許會高一些,但仍無法保證安全。總之,他對於馬賽克的保密性已經完全失去信心了。
他總結說:「未來若有真正敏感資訊,我會使用純色遮罩取代模糊或馬賽克處理。」
請注意!留言要自負法律責任,相關案例層出不窮,請慎重發文!