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