打過碼的圖片等于沒打,,用Windows的要小心了

上周有外媒爆出了一個和谷歌隱私安全有關的小瓜,。事兒本身不大,,但聊一聊還是蠻有意思的。
報道講說,,谷歌自家的Pixel 手機系統(tǒng)內置的 “ Markup ” 截圖工具,,存在一個嚴重的隱私漏洞,。
只要你通過這個截圖工具來剪輯 PNG 格式的圖片,就有一定概率還原出原圖被截掉的其他信息,。,。。

發(fā)現(xiàn)這個漏洞的程序員 Simon Aarons,還寫了一個可以檢測這個漏洞的程序 Acropalypse,。

只要你把 Pixel 手機的機型和用 Markup 裁出的上傳上去,,就能得到原圖的其他信息,。
世超拿 Pixel 4 試了一下,效果拔群,。,。。

一石激起千層浪啊,谷歌這事兒被爆出來之后,,被一群碼農(nóng)大佬們順藤摸瓜,,發(fā)現(xiàn)類似的 Bug,微軟似乎也有份,。
他們直接使用 Windows 系統(tǒng)重的截圖工具,,也重現(xiàn)了和谷歌Pixel 一樣的問題。

這下問題就大條了。
要說 Pixel 手機用的人少和咱們關系也不大,,可 Windows 的截圖工具,,可是大伙兒經(jīng)常會摸到的常用工具。
數(shù)以十億計的用戶,,可能在自以為隱私部分已經(jīng)抹掉了的情況下,,把截圖發(fā)了出去。
但凡有什么個人隱私信息,,想想都覺得后脊背發(fā)涼,。那世超就好奇了,兩家大廠,,在兩個毫不相關的系統(tǒng)上,,出現(xiàn)了一模一樣的嚴重錯誤,。。,。
難道是 PNG 的標準實在是太老被鉆了漏洞,,或者是什么基礎軟件有問題?

世超懷著揣揣不安的心情,深入調查了一下這件事兒的來龍去脈,。
先說結論?。?/span>并不是圖像處理和儲存的標準出了問題,而是谷歌微軟同時以不同的方式犯了傻,。

首先說明一下,,這個 Bug 的真正原因,,并不是 PNG 透明通道( RGBA中的A )的問題。這個有歧義的新聞讓世超原地研究半小時,,下為原文


簡單來說,這個 Bug 的本質,,其實是因為截圖工具沒有刪除舊圖片數(shù)據(jù),而是直接把新圖片,,覆蓋寫入在了舊圖片的開頭,。
所以只要新的圖片文件大小小于舊文件,沒完全用數(shù)據(jù)把原圖覆蓋掉,,就留下了可恢復的舊圖像數(shù)據(jù),。

而標準的 PNG 解碼器,,在讀到新 PNG 文件尾的時候,就不會再讀下去了,,所以剩余的舊數(shù)據(jù),,會被解碼器直接忽略。

這也是用戶很難發(fā)現(xiàn)舊圖片數(shù)據(jù)泄露的原因:不用特別手段,,一般人根本看不出。

不過,雖說問題的本質一樣,,但這兩個大廠出問題的理由卻并不相同,。
谷歌是因為 Android 9 到 Android 10 的時候,讀寫文件相關的一個接口發(fā)生了變動,,而且沒有記載在文檔和更新日志里,。

祖?zhèn)鞯拇a在舊接口上會正確刪除舊文件,,不會留下只因腳。然而在新版本下,,同樣的代碼就只能覆蓋寫入舊文件,,只要新文件小于舊文件,舊文件的殘余部分就會留下來,。

而微軟這邊的問題可能要更大些,。,。。
根據(jù)微軟的 API 規(guī)則,,程序員在調用覆蓋文件的接口時,,如果沒有額外的特別指示 Windows 把舊文件刪掉,那么新文件就會直接從頭開始覆蓋舊文件,,然后留下一堆舊文件的殘余,。
但凡程序員在寫的時候沒注意到這個規(guī)則,就會有安全風險,。,。。
至于微軟為何要把這種不安全的行為作為接口的默認值,,世超只能說,,或許這就是國際大廠對編程的精妙理解吧。
好消息:微軟的接口一直都沒變過,;壞消息:但是設計的和狗屎一樣,。

嚴重的是,,隨著這個漏洞原因的公開,,已經(jīng)有人在更加常用的 JPG 格式的圖像上發(fā)現(xiàn)了類似的問題。
考慮到大多數(shù)截屏和手機拍照都是 JPG 直出,,漏洞擴展到 JPG 后,,這個問題其實是是擴散了。
而且由于 JPG 和 PNG 的壓縮方式不同,,文件頭部被覆蓋的 JPG 舊文件,,搞不好還能實現(xiàn)幾乎完美的還原。,。,。還原的JPG圖像只是比原圖多了點噪點

這 Bug,,好像有那么點剎不住車了。,。,。好消息是,如今信息安全的概念已經(jīng)深入人心,,在我們的隱私完全漏勺之前,,其實還有一道防線。
世超在當年試圖成為一個程序猿的時候,,學到的第一課,,就是絕對不能信任用戶提交的數(shù)據(jù)。
用戶試圖刪掉網(wǎng)站的用戶數(shù)據(jù)表
一些技術人員甚至可以利用解碼器 “ 只讀取文件尾之前數(shù)據(jù) ” 的特性,,在一張正常圖片的尾部附帶惡意代碼,,從而攻擊網(wǎng)站服務器或其他用戶。
之前在貼吧里流行過的圖種也是類似原理,。

為了清除這些可能有風險的無關數(shù)據(jù),,同時節(jié)約服務器流量和存儲,一般網(wǎng)站都會先用解碼器讀取圖片,,然后重新編碼成低質量的 JPG,。
這樣,即使是用戶上傳的圖片里有額外數(shù)據(jù)
( 比如這次 Bug 留下來的舊圖 ),,也不會出現(xiàn)在其他用戶那里,。

但也有例外,。比如說,,微信和 Discord 就提供下載原圖的選項,而且提供的是真正的原圖,。這樣,,那些無關數(shù)據(jù)就還是公開了。
按照安全原則,,他們應當提供 “ 偽原圖 ”

總結一下,,谷歌和微軟這次的 Bug,,是兩個影響相當廣泛、原因極其簡單,、后果控制不好可能會嚴重的漏洞,。
其中一個從 Android 10(2019)開始,影響所有 Pixel 手機,;
另一個從 Windows 10 (2015)開始,,影響所有使用系統(tǒng)自帶截圖工具的用戶。
更離譜的是,,這兩個漏洞前幾天才剛剛修復,。。,。
世超覺得,,考慮到時間跨度、受害者數(shù)量和形成原因,,這兩個漏洞完全有資格參與 “ 年度最弱智漏洞 ” 的競爭,。
但不管怎么樣,在關系到用戶隱私信息這一塊的問題,,谷歌和微軟確實應該加強代碼的檢查,。
各家互聯(lián)網(wǎng)平臺運營商,也應該以此為戒,,避免在公共場合分發(fā)原始圖片的原文件,,這不僅可能損害自家服務器的安全,而且還可能暴露用戶的隱私,。
原圖信息中甚至還能有地點定位信息

從咱們用戶自己的角度來說,,世超的建議也很簡單:在任何公開平臺都不要上傳原圖,!不要上傳原圖,!不要上傳原圖!

當圖片經(jīng)過在本地完成解碼 —— 重新編碼上傳的過程,原圖上的信息自然也就會被處理,。
安全這塊兒,,還得是自己把住最后一關。,。,。
隨便看看:
- [數(shù)據(jù)]解鎖AI新境界:比ChatGPT更強大的9款AI工具大盤點
- [數(shù)據(jù)]阿爾西加大研發(fā)力度,,加速半導體的“國產(chǎn)化”發(fā)展之路
- [數(shù)據(jù)]寶存科技企業(yè)級固態(tài)硬盤滿足小微企業(yè)私有云存儲需求
- [數(shù)據(jù)]智慧工單,,倒逼服務全鏈條優(yōu)化
- [數(shù)據(jù)]打過碼的圖片等于沒打,用Windows的要小心了
- [數(shù)據(jù)]條形碼誕生 50 周年,,全球每天掃碼次數(shù)達 60 億次
- [數(shù)據(jù)]千千惠助力塔斯汀直播間,,3天爆賣246萬元中式漢堡
- [數(shù)據(jù)]續(xù)航好、還能操控電視,?傳蘋果首款智能戒指有3大特點
- [數(shù)據(jù)]MAINGARE宣布推出ZERO系列游戲電腦 售價1399美
- [數(shù)據(jù)]一繩CableCreation電源線產(chǎn)品推薦,,每一款都超好用
相關推薦:
網(wǎng)友評論:
推薦使用友言、多說,、暢言(需備案后使用)等社會化評論插件