【2013-08-09 更新】:最近又開始討論“Chrome瀏覽器明文儲存密碼這個話題了,國外一位軟體工程師 Elliott Kember 在他部落格上寫文提了這個問題,他認為這是一個安全漏洞。隨後,Chrome 瀏覽器安全技術主管 Justin Schuh 在 HackerNews 發帖做了解釋,他的意見和下文提到的『主密碼提供了一種虛假的安全感,保護敏感資料的最可行保護方式是要取決於系統的整體安全性』相同。
導讀:2012年12月3日晚上,有網友在Hacker News提交了一個關於可以在Chrome瀏覽器“密碼管理器”檢視已儲存密碼的帖子,可能那位提交的網友之前不瞭解Chrome的這個特性及其背後的機制,導致這個貼子在Hacker News首頁停留的時間還不短。之後國內網友在微博上釋出相關訊息後,同樣引起不少討論(連結1、連結2、連結3)。很多之前不瞭解Chrome儲存密碼機制的朋友驚呼 Chrome 坑爹。伯樂線上編譯了 howtogeek 網站上的一篇文章,應當可以解除這些朋友的疑問。
關於 Google Chrome 瀏覽器也有一個常見問題,“為什麼它沒有一個主密碼(master password)?” Google 支援論壇中有個非官方的回覆,說了Google的立場:主密碼提供了一種虛假的安全感,保護敏感資料的最可行保護方式是要取決於系統的整體安全性。
那使用者在Chrome瀏覽器上儲存的密碼的安全性有多高呢?請見下文。
如何檢視已儲存的密碼
Chrome 密碼管理器的進入方式:右側扳手圖示→設定→顯示高階設定→密碼和表單→管理已儲存的密碼。或者直接在位址列中複製貼上:chrome://chrome/settings/passwords,然後回車進入。
如果你允許Chrome儲存密碼,看到這個介面應該沒什麼稀奇,或許你早已知道這個特性了。從昨晚微博轉發來看,很多使用者還是並不知道這個特性。
點選密碼區域,顯示一個“顯示”按鈕,再點選“顯示”按鈕,可看到密碼。如果其他人可以無阻礙使用你的電腦,那他就可以拿到你的這些已儲存的密碼。
(本文配圖中的使用者名稱和密碼為測試所用)
密碼資料儲存在哪裡了?
已儲存的密碼資料儲存在一個 SQLite 資料庫中,位置是:
[系統盤]:\Documents and Settings$$!使用者名稱]\Local Settings\Application Data\Google\Chrome\User Data\Default\Login Data (這個路徑是 Win XP 系統)
你可以用 SQLite Database Browser 開啟這個檔案(檔名就是“Login Data”),檢視“logins”表格,該表就包含了被儲存的密碼。但你會看到“password_value” 域的值是不可讀,因為值已加密。(PS:SQLite資料庫檢視器的SourceForge下載連結)
加密後的資料的安全性如何?
為了執行加密(在Windows作業系統上),Chrome使用了Windows提供的API,該API只允許用於加密密碼的Windows使用者賬戶去解密已加密的資料。所以基本上來說,你的主密碼就是你的Windows賬戶密碼。所以,只要你登入了用自己的賬號Windows,Chrome就可以解密加密資料。
不過,因為你的Windows賬戶密碼是一個常量,並不是只有Chrome才能讀取“主密碼”,其他外部工具也能獲取加密資料,同樣也可以解密加密資料。比如使用NirSoft的免費工具ChromePass(NirSoft官方下載),就可以看得你已儲存的密碼資料,並可以輕鬆匯出為文字檔案。
既然 ChromePass 可以讀取加密的密碼資料,那惡意軟體也能讀取的。當ChromePass.exe被上傳至VirusTotal時,超過半數的反病毒(AV)引擎會標記這一行為是危險級別。不過在這個例子中,這個工具是安全的。不過有點囧,微軟的Security Essentials並沒有把這一行為標記為危險。
可以繞過保護機制麼?
假設你的電腦被盜,小偷重設了Windows賬號密碼。如果他們隨後嘗試在Chrome中檢視你的密碼,或用ChromePass來檢視,密碼資料都是不可用。原因很簡單,因為“主密碼”並不匹配,所以解密失敗。
此外,如果有人把那個SQLite資料庫檔案複製走了,並嘗試在另外一臺電腦上開啟,ChromePass也將顯示空密碼,原因同上。
結論
Chrome瀏覽器中已儲存密碼的安全性,完全取決於使用者本身。這裡有些建議:
●使用一個極高強度的Windows賬號密碼。必須記住,有不少工具可以解密Windows賬號密碼。如果有人獲取了你的Windows賬號密碼,那他也就可以知道你在Chrome已儲存的密碼。
●讓你自己遠離各種各樣的惡意軟體吧。如果工具可以輕易獲取你已儲存的密碼,那惡意軟體和那些偽安全軟體同樣可以做到。如果非得下載軟體,請到軟體官方網站去下載。
●把密碼儲存至密碼管理軟體中(比如:KeePass)。當然了,如此一來,瀏覽器就不能幫你自動填充密碼了。
●使用可以整合到Chrome中的第三方工具(比如:LastPass),使用主密碼來管理你的那些密碼。推薦閱讀:《用LastPass管理好你的密碼》
●用工具(比如:TrueCrypt)完全加密整個硬碟。
●非私人電腦上,一定不能讓瀏覽器儲存密碼。(原文沒有,額外補充)
如果經常用瀏覽器儲存登入使用者名稱和密碼,離開電腦時最好鎖定螢幕。總之一句話,把家裡(作業系統)的安全工作做好,家中物件的安全性也應當有保障了。
補充資訊:如果允許 Firefox 瀏覽器儲存站點密碼,同樣可以很方便檢視。
Firefox 瀏覽器雖然採用了主密碼機制,但預設並不開啟。如果使用者啟用,以後Firefox每次讀取已儲存的敏感資料時,使用者必須輸入主密碼。。使用者必須記住自己設定的主密碼,否則……
打賞支援我翻譯更多好文章,謝謝!
打賞譯者
打賞支援我翻譯更多好文章,謝謝!
任選一種支付方式