2013年4月2日 星期二

安全通報2013-03-26: Google Chrome 瀏覽器安全嗎?

http://blog.aegislab.com/index.php?op=ViewArticle&articleId=244&blogId=2

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解除安裝方可解決問題!

以下列出2個之前義集思實驗室發現的例子來說明:

舊版的Chrome可安裝Chrome Web Store上的extension,故對hacker來說只需要製作一個有吸引力的主題,吸引人去點擊自己所設計的惡意extension,如此即能達成攻擊的效果!

而新版的Chrome得安裝Chrome Web Store上的extension,且必須經過使用者同意才行,故hacker想達成攻擊效果就沒那麼容易了!這個例子,hacker利用網頁不斷跳出安裝和警告視窗來誘使並脅迫你安裝這個extension,也可以發現這個extension的URL就在Chrome Web Store裡!


   瀏覽器的plug-in是為了協助處理特殊類型的網頁內容,常見的有Adobe Flash Player、Java等plug-in!其中,Java因為其跨平台特性,是許多網頁開發人員所使用的程式語言和運算平台。近來,Java不斷的被爆出0-day漏洞,且在資安業者或Oracle發現前,就已被駭客透過瀏覽器針對漏洞展開攻擊,也由於有利可圖(安全通報2012-12-05: 最近0-Day漏洞和自動化攻擊工具的收費行情),這些漏洞很多都被包進了自動化攻擊程式裡,並在地下論壇等地方販售,一旦有了這些自動攻擊程式,傷害很快的就會散佈開來!最近最有名的新聞就是:Facebook、蘋果及微軟的工程師都因以支援Java的瀏覽器造訪被掛馬的網站,遭利用Java的漏洞成功入侵,導致資料可能外洩的情況發生,許多專家更呼籲使用者立即停用瀏覽器Java的plug-in!
 
 
以上不難看出,Chrome 瀏覽器的兩大罩門: ExtensionsPlug-ins,若要提升Chrome 瀏覽器的安全性,除了Google必須加強對Chrome Web Store的安全審查之外,使用者則避免安裝來路不明或過少使用者的extension,安裝時更要特別注意是否有不尋常的permission要求。另外,Chrome plug-in方面,如果沒特殊需求,盡量不要安裝過多或不需要的plug-in,已經安裝的plug-in則必須保持最新的版本,以防因為plug-in本身軟體的漏洞,導致不小心造訪惡意網頁時受害。

沒有留言:

張貼留言