小米手機內建的App暗藏安全漏洞

分類: 軟體 新品報導   4/12/2019   Check Point


Check PointR Software Technologies Ltd. (NASDAQ股票代碼:CHKP)的研究人員近日在小米手機內建的App「Guard Provider」中發現了一個漏洞;小米Guard Provider本意是透過檢測惡意軟體來保護手機,實際上卻讓使用者暴露在了威脅之中。根據Gartner統計,2018年小米市占率近8%,在全球手機市場排名第四。

小米Guard Provider是內建在所有主流小米手機中的App,其安全服務使用了多個協力廠商軟體開發套件(SDK),包括各種類型的裝置保護、清理、效能加速。該App內建了Avast、AVL和騰訊三個不同品牌的防毒軟體來保護手機,使用者可以選擇其中一個品牌的產品作為掃描裝置的預設防毒軟體。


由於進出Guard Provider的網路流量不安全,且同一個App中使用了多個SDK,攻擊者可以連接到與受害者相同的Wi-Fi網路,並執行中間人(Man-in-the-Middle,MiTM)攻擊;而多個SDK之間的通訊隔閡,也讓攻擊者可以趁機自行植入任何惡意程式碼,例如密碼竊取程式、勒索軟體、追蹤程式或任何其他類型的惡意軟體。

類似Guard Provider這類型內建於行動裝置的App都是無法刪除的,但在Check Point向小米告知這個漏洞後,小米也即時的修補了該漏洞。

SDK的優缺點

就行動裝置而言,SDK可以協助開發人員不需要再花費時間撰寫程式,並為與App核心無關的功能提供後端穩定性。隨著各式SDK的出現,多元的新功能讓App開發人員得以提供終端使用者更優異的特性,但隨著越來越多的協力廠商程式碼添加到App中,對於穩定工作、使用者資料的保護及效能控制的環境變得益發複雜。

在同一個App中使用多個SDK造成了「SDK 疲勞(SDK Fatigue)」現象,導致App更容易出現當機、病毒和惡意軟體感染、隱私外洩、極度耗電、速度變慢及許多其他問題。統計[1]指出,在單一App中使用多個SDK非常常見,平均每個App會使用超過18個SDK,但這種做法讓企業組織和使用者暴露在潛在風險中,攻擊者可以利用這些漏洞來干擾裝置的日常運行。

如何抵禦與預防SDK攻擊

對於安裝到員工裝置上的App,企業組織的IT安全人員雖然不必了解構建這些應用時所用 SDK 的精確細節,但應該意識到這種App的建構方式可能存在安全隱憂。人們常常認為安全App中使用的要素都是安全的,但上述小米內建App漏洞顯示事實並非如此。開發人員和企業都需要意識到,在一個手機App中內建兩種安全軟體並不一定會取得雙重保險的效果。

抵禦這種隱藏威脅的唯一措施是確保企業組織內的行動裝置免受潛在的中間人攻擊,而Check Point SandBlast Mobile可以檢測並防止此類攻擊,消除因在同一App中使用多個SDK 而造成的潛在威脅。更多相關資訊,請見Check Point Research。