文章列表

EP40 - 瀏覽器擴充套件|是幫手還是破口?

Podcast連結


前情提要:從在瀏覽器輸入網址到網頁出現發生了什麼事?

什麼是瀏覽器擴充套件 Browser Extension/Add-on?

瀏覽器擴充套件是可以安裝在瀏覽器上,提供更多功能、變化的工具

  • 在瀏覽器將HTML、CSS、JavaScript組合成網頁的過程中擔任一個中間人的角色執行任務

    • Ex: 擋廣告的擴充套件、更改網頁主題的擴充套件
  • 在使用者瀏覽網頁的過程中去執行任務

    • Ex: 幫我們填入帳號密碼的密碼管理器、檢查錯字文法的擴充套件

安裝了擴充套件後,它是有辦法知道我們開啟了哪些網頁、讀取我們開啟網頁的內容,有時候還可以知道我們在這些網站上打了哪些字的,這些自由度跟功能讓擴充套件有了很高的自由度跟變化性,幫我們增加了不少的方便性,有時候也能幫我們維護隱私和資安。

但這些自由度跟權限也讓擴充套件有了不少安全性和隱私上的風險

惡意的瀏覽器擴充套件

有不少案例是攻擊者透過瀏覽器擴充套件來散佈惡意程式

基本款:在網頁上安插廣告、利用你的電腦效能挖礦

進階款:把你騙去釣魚網站、搜集瀏覽紀錄、個人資料

如果安裝了這些惡意的擴充套件,會對我們的資安造成很大的威脅,有可能自己的個資和各種資料在上網的過程中被擴充套件搜集了。

新聞案例:

攻擊者喜歡利用瀏覽器擴充套件的原因

擴充套件有大量的使用者

只要攻擊者成功推出、或是想辦法駭入一個受歡迎的擴充套件,就可以透過一個惡意的擴充套件攻擊上千或是上萬個人,這對他們來說在機會成本上是十分划算的。

很多使用者不了解擴充套件的資安風險

很多人不知道擴充套件有可能會含有有惡意程式,因此在安裝的時候並不會特別去注意這是不是安全、可信任的。

再加上很多人會為了各種理由而安裝了很多的擴充套件,即使後來都沒有用到這些擴充套件,也不會主動去關閉或是刪除它們。

久了以後瀏覽器上就有許多用不到的擴充套件,這些擴充套件都有可能成為安全性和隱私上的風險和威脅。

瀏覽器會自動更新擴充套件

自動更新代表著駭客可以在使用者不會注意到的情況下,更新擴充套件並且插入惡意程式在裡面。

不管是駭客先自己開發一個擴充套件,在獲得了一定的用戶數以後開始植入惡意程式,或是駭入其他開發者的帳號,並在他們的擴充套件中植入惡意程式,兩者都可以透過擴充套件自動更新的功能在使用者不容易注意到的情況下偷偷的植入惡意程式。

擴充套件商店的管理和審核機制還不夠嚴謹

擴充套件商店上有許多仿冒或是山寨的擴充套件,在Firefox的擴充套件商店上面搜尋AdBlock,就會出現820筆結果,而其中有很多都使用了很累似的圖案和名稱。

extensions_firefox_adblock

對於使用者來說,要能夠知道哪一個是正版或是真正有用的擴充套件,並不是一件容易的事

對於駭客來說,他們只要幫自己的擴充套件取一個看起來正確的名字,配上一個看起來很正確的圖案,就可以騙到使用者的下載

擴充套件的獲利模式

現在市面上許多熱門的擴充套件都是由開發者獨立開發的,一個品質好的擴充套件會需要開發者花很多時間跟精力去維護跟更新,如果沒有一個好的獲利模式的話,開發者的熱情很容易被消耗殆盡。

根據統計,Chrome擴充套件商城上有54.32%的擴充套件已經兩年沒更新了

extensions_last_update

資料來源:ChromeStats - 8 interesting stats you didn’t know about Chrome Web Store

目前主流趨勢來看,91.6%的擴充套件都是免費的,大部分的用戶也不願意付費來購買擴充套件

extensions_pricing

資料來源:ChromeStats - 8 interesting stats you didn’t know about Chrome Web Store

開發者們如果想要透過擴充套件賺點錢,平衡他們所付出的時間、精力和金錢的話,他們就會需要尋找其他管道和方式。

當有公司或是組織想要買下一些很熱門的擴充套件的時候,很多開發者會因為這些原因願意將它賣出。

現實生活中就有不少例子是,擴充套件再賣給別的公司以後,就被放入廣告和其他惡意程式,變成那家公司的賺錢工具。

案例:被加料的The Great Suspender

除了直接買下擴充套件以外,有的公司也想要和開發者合作,透過付費給開發者的方式安插一些程式碼在這些擴充套件中。

不久前就有新聞報導,一家名為Infatica的公司就會去找有超過五萬名用戶的擴充套件開發者合作,以USD 15 15~45/月/一千名活躍用戶的價格換取在擴充套件中插入他們的程式碼。而這些程式碼的作用就是將擴充套件作為跳板,讓Infactica旗下別的產品的用戶可以透過這個方式隱藏自己的連線。

也就是說,如果你安裝了有Infatica程式碼的擴充套件,你的瀏覽器就會成為別人的跳板,如果別人在瀏覽色情網站或是做壞事的話,看起來就會像是從你的瀏覽器來的。

如何安全地使用擴充套件

不要安裝用不到的擴充套件

我們安裝的擴充套件越多,他們可能潛在的風險就越大,因此我們裝的擴充套件越少越好,最好是只安裝那些每天都會用到的擴充套件就好。

如有些擴充套件是偶爾會用到但不常用到的話,可以平常把他停用,要用的時候再啟用。雖然這樣會比較不方便一點,但能增加我們的安全性。

確保自己安裝的是正牌的擴充套件

當我們要安裝一個新的擴充套件的時候,要從開發者的官方網站提供的連結連到Chrome或是FireFox的擴充套件商城下載。

這是因為當我們直接在擴充套件商城中搜尋的時候,通常會出現有類似名稱和圖示的假擴充套件,這個時候要分辨出哪一個才是正牌的可能會有困難。

如果我們是透過官方網站所提供的連結下載安裝的話,起碼可以確保我們安裝的是正牌的擴充套件。

只透過擴充套件商城安裝擴充套件

不管是哪個瀏覽器,都有比較進階的功能讓我們不透過擴充套件商城直接安裝一個已經下載了的擴充套件。

這些瀏覽器擴充套件商城都會有一些基本的審核和過濾,可以提供一層基本的保障。如果我們直接下載並自行安裝擴充套件的話,就等於略過這層保護,增加了風險。而且,我們下載的檔案有沒有被篡改過或是插入了惡意程式我們也很難知道。

因此會建議大家,要安裝的話一率透過擴充套件商城來安裝

瀏覽器的權限控制

以Chrome為例子,安裝了一個擴充套件以後,我們會可以設定這個擴充套件的網站存取權,這些選項代表的我們允許擴充套件在哪些網站上讀取和更改我們造訪過的網站留下的資料。

  • 在所有網站上:可以讀取所有網站上的資料
  • 在特定網站上:只能讀取我們提供的白名單上網站的資料
  • 點擊時:只能在我們點擊他時,讀取那個網站上的資料

這些簡單的權限控制可以幫助我們控管擴充套件,也可以降低如果真的有那一個擴充套件含有惡意程式的話可能造成的傷害。建議大家可以提供每個擴充套件最基本所需要的權限就好,透過這個方式來將低風險。

除此之外,如果擴充套件在某一天突然要求更多的權限的話,那麼可能就有鬼,這個擴充套件有可能被賣給別人了,或是被安插了惡意程式碼,除了記得不要同意以外,也要多小心這個擴充套件。

透過工具分析擴充套件安全性

電腦上安裝的防毒軟體就是一個很好的工具,好的防毒軟體應該會在我們不小心安裝了惡意擴充套件的時後即時提醒我們。

除此之外,CRXcavator的網站上提供了許多關於擴充套件的資訊

extensions_crxcavator

這個網站會掃描各個瀏覽器擴充套件,並且依據很多標準給這個擴充套件風險評分

除了評分外,網站上也很清楚地列出了這個擴充套件所需要的每個權限,這些權限是幹嘛的,他們又各自又有多大的風險。

如果遇到不確定能不能信任的擴充套件,也可以透過CRXcavator來進行簡單的分析

總結

瀏覽器的擴充套件是一種很強大的工具

好的擴充套件可以帶來很多的方便性,甚至是幫助我們加強安全性和隱私。在此同時,惡意的擴充套件是可以對我們造成很多傷害的。

因此大家在使用瀏覽器擴充套件的時候記得要多注意,小心選擇自己安裝的擴充套件。