2016/03/09

從勒索軟件看 Mac 的保安機制


近日 Mac 上出現了第一個功能完整的勒索軟件 KeRanger,透過知名 BT 分享軟件 Transmission 散播,引發全球 Mac 用家恐慌,令大家重新思考 Mac 的保安問題。 

作為一位 Mac 用家,當然不希望見到同類事件再次發生,讓我們重溫一下 Mac 針對外來軟件的保安系統是如何運作的。

1. 檔案隔離 File Quarantine 


透過 Mac OS X 上的 Safari、訊息、郵件等具備隔離功能的軟件下載及打開檔案時,Mac OS X 會警告你該檔案的來源,你會收到詢問「確定要打開嗎?」的提示,確保不會有軟件在你沒留意時靜靜地執行。 

2. 已知的惡意軟件檢查 Known malware check 


Mac OS X 在打開隔離檔案時,會檢查是否有已知的惡意軟件,若發現已知的惡意軟件,將顯示提示訊息。那麼 Apple 是怎樣更新惡意軟件資料庫呢?你可以打開「系統偏好設定>App Store」,檢查有沒有選取「自動檢查更新項目」及「安裝系統資料檔案和安全性更新」。 

這個檢查惡意軟件黑名單的方法又叫做 XProtect,有興趣的朋友可以到「Macintosh HD>系統>資料庫>CoreServices>XProtect.Bundle」,右按 XProtect.bundle 顯示套件內容,打開「Contents>Resources>XProtect.plist」來看看,如果發現有 OSX.KeRanger.A 的字串,即表示惡意軟件黑名單已更新,可以避過今次的勒索軟件 KeRanger。 

3. Gatekeeper 


大家都知道,透過 App Store 下載軟件是最安全的,因為都受到 Apple 的嚴密監控,Apple 會審核每個軟件後才由 App Store 發佈,只要軟件有問題,Apple 就會快速將它從 App Store 中移除。 

但基於某些原因,很多軟件都沒有進入到 App Store,而必需在 App Store 以外的地方自行下載。對於這類軟件,Gatekeeper 機制可以讓開發者從 Apple 取得一個開發者 ID,並在其所開發的軟件上簽署,因此 Gatekeeper 可以封鎖惡意軟件開發者所建立的軟件,並確認軟件在簽署之後未遭受竄改。如果某個軟件沒有開發者 ID、或軟件已被竄改,Gatekeeper 即會阻止安裝這個軟件。 

誰人把關不力?

今次在 Mac 上出現的勒索軟件 KeRanger,據說是駭客把竄改了的 Transmission v2.9 上載至 Transmission 官方網站,這裡 Transmission 網站明顯出現保安漏洞,令到用家即使到信譽良好的官方網站下載軟件也受到感染。

另外根據 Apple 的描述,Gatekeeper 能「確認軟件在簽署之後未遭受竄改 (verify that apps haven't been tampered with since they were signed)」,而 Gatekeeper 未能成功偵測 Transmission v2.9 曾被駭客竄改,相信是造成今次事件的最大原因。

Apple 一定要重新審視整個 Gatekeeper 機制所存在的漏洞並設法堵截,才能恢復 Mac 用家的信心。