網(wǎng)站地圖 - 關于我們
您的當前位置: 首頁 > 科技 > 數(shù)據(jù) 正文

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

作者:用戶投稿 時間:2023-04-03 15:30 點擊:
導讀:上周有外媒爆出了一個和谷歌隱私安全有關的小瓜。事兒本身不大,但聊一聊還是蠻有意思的。報道講說,谷歌自家的Pixel 手機系統(tǒng)內(nèi)置的 “ Markup ” 截圖工
打過碼的圖片等于沒打,用Windows的要小心了

上周有外媒爆出了一個和谷歌隱私安全有關的小瓜。事兒本身不大,但聊一聊還是蠻有意思的。

報道講說,谷歌自家的Pixel 手機系統(tǒng)內(nèi)置的 “ Markup ” 截圖工具,存在一個嚴重的隱私漏洞。

只要你通過這個截圖工具來剪輯 PNG 格式的圖片,就有一定概率還原出原圖被截掉的其他信息。。。

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

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

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

只要你把 Pixel 手機的機型和用 Markup 裁出的上傳上去,就能得到原圖的其他信息。

世超拿 Pixel 4 試了一下,效果拔群。。。

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

一石激起千層浪啊,谷歌這事兒被爆出來之后,被一群碼農(nóng)大佬們順藤摸瓜,發(fā)現(xiàn)類似的 Bug,微軟似乎也有份。

他們直接使用 Windows 系統(tǒng)重的截圖工具,也重現(xiàn)了和谷歌Pixel 一樣的問題。

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

這下問題就大條了。

要說 Pixel 手機用的人少和咱們關系也不大,可 Windows 的截圖工具,可是大伙兒經(jīng)常會摸到的常用工具。

數(shù)以十億計的用戶,可能在自以為隱私部分已經(jīng)抹掉了的情況下,把截圖發(fā)了出去。

但凡有什么個人隱私信息,想想都覺得后脊背發(fā)涼。那世超就好奇了,兩家大廠,在兩個毫不相關的系統(tǒng)上,出現(xiàn)了一模一樣的嚴重錯誤。。。

難道是 PNG 的標準實在是太老被鉆了漏洞,或者是什么基礎軟件有問題?

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

世超懷著揣揣不安的心情,深入調(diào)查了一下這件事兒的來龍去脈。

先說結論?。?/span>并不是圖像處理和儲存的標準出了問題,而是谷歌微軟同時以不同的方式犯了傻。

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

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

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

簡單來說,這個 Bug 的本質(zhì),其實是因為截圖工具沒有刪除舊圖片數(shù)據(jù),而是直接把新圖片,覆蓋寫入在了舊圖片的開頭。

所以只要新的圖片文件大小小于舊文件,沒完全用數(shù)據(jù)把原圖覆蓋掉,就留下了可恢復的舊圖像數(shù)據(jù)。

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

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

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

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

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

不過,雖說問題的本質(zhì)一樣,但這兩個大廠出問題的理由卻并不相同。

谷歌是因為 Android 9 到 Android 10 的時候,讀寫文件相關的一個接口發(fā)生了變動,而且沒有記載在文檔和更新日志里。

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

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

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

而微軟這邊的問題可能要更大些。。。

根據(jù)微軟的 API 規(guī)則,程序員在調(diào)用覆蓋文件的接口時,如果沒有額外的特別指示 Windows 把舊文件刪掉,那么新文件就會直接從頭開始覆蓋舊文件,然后留下一堆舊文件的殘余。

但凡程序員在寫的時候沒注意到這個規(guī)則,就會有安全風險。。。

至于微軟為何要把這種不安全的行為作為接口的默認值,世超只能說,或許這就是國際大廠對編程的精妙理解吧。

好消息:微軟的接口一直都沒變過;壞消息:但是設計的和狗屎一樣。

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

嚴重的是,隨著這個漏洞原因的公開,已經(jīng)有人在更加常用的 JPG 格式的圖像上發(fā)現(xiàn)了類似的問題。

考慮到大多數(shù)截屏和手機拍照都是 JPG 直出,漏洞擴展到 JPG 后,這個問題其實是是擴散了。

而且由于 JPG 和 PNG 的壓縮方式不同,文件頭部被覆蓋的 JPG 舊文件,搞不好還能實現(xiàn)幾乎完美的還原。。。還原的JPG圖像只是比原圖多了點噪點

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

這 Bug,好像有那么點剎不住車了。。。好消息是,如今信息安全的概念已經(jīng)深入人心,在我們的隱私完全漏勺之前,其實還有一道防線。

世超在當年試圖成為一個程序猿的時候,學到的第一課,就是絕對不能信任用戶提交的數(shù)據(jù)。

用戶試圖刪掉網(wǎng)站的用戶數(shù)據(jù)表

一些技術人員甚至可以利用解碼器 “ 只讀取文件尾之前數(shù)據(jù) ” 的特性,在一張正常圖片的尾部附帶惡意代碼,從而攻擊網(wǎng)站服務器或其他用戶。

之前在貼吧里流行過的圖種也是類似原理。

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

為了清除這些可能有風險的無關數(shù)據(jù),同時節(jié)約服務器流量和存儲,一般網(wǎng)站都會先用解碼器讀取圖片,然后重新編碼成低質(zhì)量的 JPG。

這樣,即使是用戶上傳的圖片里有額外數(shù)據(jù)

( 比如這次 Bug 留下來的舊圖 ),也不會出現(xiàn)在其他用戶那里。

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

但也有例外。比如說,微信和 Discord 就提供下載原圖的選項,而且提供的是真正的原圖。這樣,那些無關數(shù)據(jù)就還是公開了。

按照安全原則,他們應當提供 “ 偽原圖 ”

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

總結一下,谷歌和微軟這次的 Bug,是兩個影響相當廣泛、原因極其簡單、后果控制不好可能會嚴重的漏洞。

其中一個從 Android 10(2019)開始,影響所有 Pixel 手機;

另一個從 Windows 10 (2015)開始,影響所有使用系統(tǒng)自帶截圖工具的用戶。

更離譜的是,這兩個漏洞前幾天才剛剛修復。。。

世超覺得,考慮到時間跨度、受害者數(shù)量和形成原因,這兩個漏洞完全有資格參與 “ 年度最弱智漏洞 ” 的競爭。

但不管怎么樣,在關系到用戶隱私信息這一塊的問題,谷歌和微軟確實應該加強代碼的檢查。

各家互聯(lián)網(wǎng)平臺運營商,也應該以此為戒,避免在公共場合分發(fā)原始圖片的原文件,這不僅可能損害自家服務器的安全,而且還可能暴露用戶的隱私。

原圖信息中甚至還能有地點定位信息

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

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

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

當圖片經(jīng)過在本地完成解碼 —— 重新編碼上傳的過程,原圖上的信息自然也就會被處理。

安全這塊兒,還得是自己把住最后一關。。。

打賞

取消

感謝您的支持,我會繼續(xù)努力的!

掃碼支持
掃碼打賞,你說多少就多少

打開支付寶掃一掃,即可進行掃碼打賞哦

相關推薦:

網(wǎng)友評論:

推薦使用友言、多說、暢言(需備案后使用)等社會化評論插件

Copyright ? 2021 早報網(wǎng) 版權所有
蘇ICP備2024138443號

蘇公網(wǎng)安備32130202081338號

本網(wǎng)站所刊載信息,不代表早報網(wǎng)觀點。如您發(fā)現(xiàn)內(nèi)容涉嫌侵權違法立即與我們聯(lián)系客服 106291126@qq.com 對其相關內(nèi)容進行刪除。
早報網(wǎng)登載文章只用于傳遞更多信息之目的,并不意味著贊同其觀點或證實其描述。文章內(nèi)容僅供參考,不構成投資建議。投資者據(jù)此操作,風險自擔。
《早報網(wǎng)》官方網(wǎng)站:www.www.shengcaiquan.cn互聯(lián)網(wǎng)違法和不良信息舉報中心
Top 主站蜘蛛池模板: 汾阳市| 南城县| 子长县| 辉县市| 大田县| 长治市| 双峰县| 团风县| 西贡区| 余姚市| 盐城市| 遂溪县| 雷州市| 连城县| 濮阳县| 武鸣县| 确山县| 穆棱市| 抚顺市| 皮山县| 靖边县| 弥渡县| 遂川县| 万全县| 余庆县| 佳木斯市| 吉隆县| 金山区| 玉门市| 巴彦县| 湘乡市| 德格县| 定远县| 马山县| 阿勒泰市| 历史| 昔阳县| 深泽县| 松原市| 山西省| 黑龙江省|