根據Net MarketShare的數據顯示,2016年8月份Firefox瀏覽器占全球市場份額7.69%,僅次于Chrome和IE,排名第三??梢?,Firefox是一款比較受歡迎的瀏覽器,那么,Firefox瀏覽器的開發(fā)人員又在其安全性方面做了哪些努力呢?下面,筆者就詳細介紹下Firefox瀏覽器新增的安全機制—附加組件簽名機制,以幫助用戶更好地了解和使用Firefox。
歷史版本
自從2002年Firefox誕生以來,其版本更新非???,圖1顯示了其穩(wěn)定版本的更新情況。截至2016年9月23日,最新穩(wěn)定版本是49.0.1。
圖1Firefox歷史版本
附加組件簽名機制
1、什么是附加組件
附加組件是一種通過增添額外的功能或樣式讓用戶實現個性化 Firefox 的應用程序,包括擴展、外觀、插件、服務等類型,可通過在Firefox中訪問地址about:addons查看(如圖2所示)。
圖2Firefox附加組件
然而,任何事物都具有兩面性。附加組件在給用戶提供了方便的同時,也帶來了一定的風險。例如,某些附加組件會篡改瀏覽器設置或者竊取用戶信息,有的會在網頁中注入廣告等,這樣的情況現在越來越普遍。因此,必須有措施來更好地管理附加組件。
2、附加組件的黑名單
為了更好的保障用戶的安全,Mozilla維護了一個附加組件的黑名單列表,已知會造成 Firefox 穩(wěn)定性或安全性問題的附加組件(擴展、主題和插件)會放入“阻擋列表”(Blocklist,如圖3所示)。
圖3 附加組件阻擋列表
附加組件的黑名單系統阻擋了很多惡意附加組件,然而仍然存在一些問題,比如:新增的附加組件的安全性如何保障?第三方的附加組件的安全性如何保障?等等,附加組件的簽名機制應運而生。
3、附件組件簽名機制
為了更好的管理附加組件,Mozilla 根據一套安全準則對附加組件進行驗證并為其“簽名”,需要簽名的類型包括擴展。下面,筆者就講一講這簽名機制是如何在Firefox中發(fā)展的。
3.1 標記階段
Firefox 40版本起(Firefox 40 – 42),未被簽名的擴展將被標記,圖4顯示了Firefox 40中提示用戶擴展Youdao Word Capturer未通過Firefox的驗證。
圖4 Firefox40提示用戶未簽名的擴展
此時,如果用戶選擇禁用此擴展,那么將變成如圖5所示情形:
圖5Firefox40中用戶禁用未簽名的擴展
這可以阻止一部分惡意擴展,但需要用戶的配合,即需要用戶手動禁用未簽名的擴展,無疑這對用戶的安全意識以及用戶對Firefox的熟悉程度有較高的要求。
3.2 禁用階段
從Firefox 43版本起(Firefox 43 – 47),未被簽名的擴展將直接被禁用,圖6顯示了Firefox 47中直接將未簽名的擴展Youdao Word Capturer禁用了。對比圖5和圖6,最顯著的差別是Firefox43中(圖6所示)用戶無法直接從界面中啟用被禁用的未簽名擴展。
圖6 Firefox 47禁用未簽名的擴展
此時,Firefox默認將未經簽名的擴展禁用了,并且沒有“啟用”選項,相比于Firefox40 – 42版本的標記方式,這將大大地提高了附加組件的安全性。然而,這就是萬無一失的嗎?
強制關閉附加組件簽名機制
雖然從43版本開始Firefox就禁用了未經簽名的擴展,然而,對于Firefox43 -47版本,用戶可以修改Firefox默認配置強行關閉簽名機制。
手動關閉Firefox的簽名機制
如圖7所示,在Firefox地址欄訪問“about:config”,點擊“我保證會小心”進入用戶個人配置界面,雙擊“xpinstall.signatures.required”將其設置為“false”(默認情況下為true),此時即關閉了簽名機制。
圖7用戶強制關閉Firefox的附加組件簽名機制
修改Firefox的配置文件關閉簽名機制
以Windows 7為例,在路徑“C:\Users\用戶名\AppData\Roaming\Mozilla\Firefox\Profiles\xxxxxxxx.default\”( 路徑中的xxxxxxxx.default是安裝Firefox時瀏覽器隨機生成的user profile identifier)下找到用戶配置的文件prefs.js,按照其格式,添加語句“user_pref(“xpinstall.signatures.required”,false);”即可強制關閉簽名機制。
Firefox簽名機制被強行關閉后,再去查看擴展的情況,發(fā)現未經簽名的擴展會僅僅會被標記且為啟用狀態(tài)(與Firefox 40 – 42版本情況相似),如圖8所示,但其功能是正常的,那么又給了黑客可乘之機。
圖8強行關閉Firefox 47附加組件簽名機制后
禁用且不加載階段
從Firefox 48版本開始,未被簽名的擴展將被禁用且不再加載。換句話說,即使修改了Firefox的默認配置(即將“xpinstall.signatures.required”設置為“false”),未經簽名的擴展也始終為禁用狀態(tài),如圖9所示。
圖9 Firefox48.0.1中“xpinstall.signatures.required”為“false”狀態(tài)下
未經簽名的擴展仍被禁用
然而,筆者在Firefox擴展默認的安裝路徑下(C:\Users\用戶名\AppData\Roaming\Mozilla\Firefox\Profiles\xxxxxxxx.default\extensions)找到了被禁用擴展的程序包,如圖10所示,這是否仍然存在一定風險呢?筆者能力有限,未能探究出這其中的奧秘,還望各路大神不吝指點。
圖10 被禁用的擴展包仍然存在
總結
Firefox瀏覽器的附加組件機制極大地豐富了其功能,提高了用戶的瀏覽體驗,然而也有一系列的安全問題。為此,Mozilla維護了一份附加組件的黑名單,并逐步添加了附加組件簽名機制,強制禁用未簽名的擴展,提高了附加組件的安全性。然而,這并不意味著能百分之百地保障用戶安全。廣大用戶還應提高個人安全意識,不斷的了解和使用各種安全保障機制,才能使瀏覽器安全得到更好的保障。