不可忽視的Chrome擴(kuò)展安全性
Chrome 的安全性是有目共睹的,但這并不意味著它不會泄漏你的隱私:喜歡干壞事的人利用 Chrome 擴(kuò)展,簡單幾行代碼就能夠竊取你的郵箱密碼,瀏覽記錄等。隨著 Chrome 瀏覽器的普及以及近期出現(xiàn)的一些可疑擴(kuò)展,我覺得需要鄭重提醒大家謹(jǐn)慎安裝擴(kuò)展。
Chrome擴(kuò)展能做什么?
Chrome 擴(kuò)展可以引入 np 插件與系統(tǒng)交互,比如大家用的 Chrome 下載助手可以直接調(diào)用迅雷并新建一個任務(wù)。同理掃描銀行記錄、掃描你的 program 文件夾等一般軟件可以做到的它也可以。不過,幸運的是使用 np 插件的擴(kuò)展如果想要提交到 Chrome 擴(kuò)展中心的話需要經(jīng)過 Google 人肉審查,所以在這方面來說還是比較安全的。
那么,如果不使用 npapi,Chrome 擴(kuò)展還能做些什么呢?答案是:你的收藏夾,歷史記錄,web QQ 的聊天數(shù)據(jù),甚至你的各類帳號密碼都可以獲取到——即使你使用某某加密代理或 vpn。
這個是我做的一個演示擴(kuò)展。這個擴(kuò)展安裝后,可以在你登陸 QQ 郵箱時檢測到你的帳號和密碼。當(dāng)然,這只是一個演示,稍微改一下就可以獲取各種郵箱,BBS,甚至網(wǎng)上銀行的密碼,再加上幾行簡單的代碼就可以直接把密碼發(fā)送給擴(kuò)展作者了。
如何防范?
作為普通的用戶,也許無法通過檢查源代碼來保證擴(kuò)展安全性,不過通過安裝時的確認(rèn)信息就可以識別出大部分不良擴(kuò)展:比如谷奧 Chrome擴(kuò)展 只有獲取谷奧網(wǎng)數(shù)據(jù)的權(quán)限。
最近谷奧介紹過的兩個(1,2)幫助你檢測淘寶上某些商品打折情況的擴(kuò)展,理論上它們只需要獲取淘寶的數(shù)據(jù)就可以了,但是實際情況卻并非如此:
當(dāng)然這只是個初步判斷,不能據(jù)此說某某擴(kuò)展竊取用戶隱私。比如擴(kuò)展申請了新建一個標(biāo)簽的權(quán)限,但 Chrome 會解釋為“您的瀏覽歷史記錄”權(quán)限。另外用戶需要格外注意針對某些敏感網(wǎng)站的擴(kuò)展,比如 gmail,網(wǎng)銀等。#p#
另一種風(fēng)險
如果 Chrome 擴(kuò)展被上傳到擴(kuò)展中心,即使它作惡,那也會留有痕跡(歷史版本)。但有一些辦法可以避開程序版本被記錄,比如引入遠(yuǎn)程 JavaScript 。
引入遠(yuǎn)程 JS 分兩種情況,一種是引入到擴(kuò)展頁面(即 background.html,popup.html 等),另一種是引入到瀏覽的網(wǎng)頁。
引入到擴(kuò)展頁面
這么做唯一的理由可能就是保證用戶使用的最新的 JS。雖然 Chrome 會每隔一段時間自動更新擴(kuò)展,但有些開發(fā)者也許并不滿足,所以引入了遠(yuǎn)程 JS。但這么做的代價就是每當(dāng)擴(kuò)展啟用時都會去開發(fā)者的服務(wù)器上下載 JS 文件,這樣一旦連接不到服務(wù)器,擴(kuò)展就完全不能用了,而且也會影響效率,更為重要的是某些擴(kuò)展通過引入外部 JS 獲得更大權(quán)限和更多數(shù)據(jù),且用戶無法追蹤其代碼。(下圖僅是一個示范,并不代表谷奧認(rèn)為56/57折的這兩個擴(kuò)展有惡意行為)
引入到瀏覽的網(wǎng)頁
Chrome 擴(kuò)展有一些機(jī)制保護(hù)用戶數(shù)據(jù)安全,其中就包括擴(kuò)展 JS 執(zhí)行環(huán)境和網(wǎng)頁的 JS 環(huán)境完全分隔,僅僅共享頁面 DOM。比如,網(wǎng)頁 JS 里有個變量 guao,那么在 Chrome 擴(kuò)展的 JS 中是無法檢測到這個變量的。但開發(fā)者如通過技術(shù)手段修改瀏覽網(wǎng)頁的代碼(很容易滴),使其引入一個開發(fā)者所指定的 JS,這樣開發(fā)者就可以完全偽造網(wǎng)頁的程序了。修改一些函數(shù),使用戶的密碼、聊天記錄等提交到開發(fā)者的服務(wù)器是非常容易就可以做到的。
結(jié)語
網(wǎng)絡(luò)安全是每個人都不應(yīng)該忽視的問題,雖然 Chrome 本身十分安全,但是 Chrome 擴(kuò)展卻給了一些別有用心的人可乘之機(jī)。作為最終用戶來說,最簡單的預(yù)防方法就是只安裝出自 Chrome 擴(kuò)展中心的擴(kuò)展,并且留意擴(kuò)展所需要的運行權(quán)限。至于遠(yuǎn)程 JS 注入這樣的手段,目前看來似乎沒有太好的辦法,只能靠各位擴(kuò)展作者自律了。
【編輯推薦】