2013年4月17日 星期三

Google Chrome 瀏覽器安全嗎?


Google Chrome 瀏覽器安全嗎?

  幾個星期前,在加拿大溫哥華所舉辦的CanSecWest安全大會上,Google舉辦的第三屆Pwnium大賽中,Chrome OS展現了固若金湯的安全性能,即使大會應參賽者要求,將比賽截止時間延長3小時,仍讓所有參賽的駭客們無功而返,而由HP主辦、Google贊助的駭客大賽Pwn2Own 2013,Google Chrome瀏覽器則遭駭客入侵成功,也證明了Google Chrome確實有安全性的問題。至於其它的瀏覽器像是Firefox 和 IE10一樣在幾小時內就被攻陷,Apple的Safari雖然本屆幸免於難,不過那是因為沒有參賽者報名破解它。

接下來我們就來研究一下Google Chrome 瀏覽器是哪裡不安全?



  Chrome瀏覽器為Google所開發,是現在最受歡迎的瀏覽器之一。它結合了Google search、youtube等眾多的Google自家service,使其在速度方面有不錯的表現,在個人化部分,Chrome Web Store有豐富的Extensions (擴充功能),提供給使用者依個人喜好或習慣,去改變瀏覽器的功能或操作!

Chrome extension由manifest.json、圖片、js和CSS等網頁檔案所組成,結構大致上會像這樣:

 

manifest.json它定義了extension的內容和屬性,包括extension的名稱、描述、版本、語言及需要的permission等,如下圖(圖片來源:http://developer.chrome.com/extensions/manifest.html)



  由以上資料可以看出,extension的name、version、manifest_version是必須要有的,其它屬性則可有可無。這邊特別挑出content_scripts、permissions、update_url三個屬性來做簡單說明:

content_scripts:定義在網頁上運行的javascript,可以透過DOM來獲取使用者瀏覽頁面的內容,甚至還可以改變內容。

update_url:用來定義檢查更新的URL設定檔。

permissions:要使用Chorme的API,皆必須定義相對應該有的permission,如:檢查Gmail是否有新信件的Google Mail Checker,就必須有以下2個permission

1.存取您存放於*google.com的資料
2.存取您的分頁和流覽活動。



  當使用者在安裝一個extension時,會跳出詢問的視窗,視窗上可以看到此extension所要求的可用permission。如果一個extension有了過高且不該有的permission時,配合content_scripts裡的code,即能執行一些惡意行為,如:在Facebook上自動發文或散播連結等惡意行為(http://blog.aegislab.com/index.php?op=ViewArticle&articleId=236&blogId=2),而update_url則能自動去更新extension,所以能不斷更新不同的惡意行為內容!

  Chrome自4.0版起,開始支援extension的功能,由於Chrome extension的開發方便,Chrome extension security就一直是個令人擔心的問題。舊版本的Chrome允許用戶在安裝Windows程式時可順便在Chrome上新增相關的extension,卻遭到第三方業者濫用,在未經使用者同意下安裝Chrome extension,衍生了許多問題。因此,Chrome在25.0版改進了extension的安全管理,需為Chrome Web Store的extension才可安裝,另外,關閉了extension自動安裝功能,安裝前必須經過使用者同意才行。

  但是,道高一尺、魔高一丈,事實證明從Chrome Web Store下載extension並不能保證它安全無虞,最新的惡意Chrome extension攻擊手法,結合social engineering,先在Chrome Web Store放置惡意extension,然後在最熱門的社交平台Facebook上,分享了一些吸引人的連結(還會使用當地的語系),因為是朋友分享的連結,減低了警覺性,再利用人的好奇心,點擊連結後,都會要你安裝extension,使用者不疑有他的安裝了extension,也因為社交平台的特性,受害的狀況很快就會傳播開來。受害的使用者會誤以為是帳號被盜取,但發現改完密碼問題並沒有解決,因為問題出在Chrome的extension上,必須將惡意的extension解除安裝方可解決問題!

  瀏覽器的plug-in是為了協助處理特殊類型的網頁內容,常見的有Adobe Flash Player、Java等plug-in!其中,Java因為其跨平台特性,是許多網頁開發人員所使用的程式語言和運算平台。近來,Java不斷的被爆出0-day漏洞,且在資安業者或Oracle發現前,就已被駭客透過瀏覽器針對漏洞展開攻擊,也由於有利可圖,這些漏洞很多都被包進了自動化攻擊程式裡,並在地下論壇等地方販售,一旦有了這些自動攻擊程式,傷害很快的就會散佈開來!最近最有名的新聞就是:Facebook、蘋果及微軟的工程師都因以支援Java的瀏覽器造訪被掛馬的網站,遭利用Java的漏洞成功入侵,導致資料可能外洩的情況發生,許多專家更呼籲使用者立即停用瀏覽器Java的plug-in!

  以上不難看出,Chrome 瀏覽器的兩大罩門:Extensions 和 Plug-ins,若要提升Chrome 瀏覽器的安全性,除了Google必須加強對Chrome Web Store的安全審查之外,使用者則避免安裝來路不明或過少使用者的extension,安裝時更要特別注意是否有不尋常的permission要求。另外,Chrome plug-in方面,如果沒特殊需求,盡量不要安裝過多或不需要的plug-in,已經安裝的plug-in則必須保持最新的版本,以防因為plug-in本身軟體的漏洞,導致不小心造訪惡意網頁時受害。

轉載自《義集思實驗室(AegisLab)安全研究部落格》

沒有留言:

張貼留言