沒有一個軟體系統是絕對安全的,總體而言,Android系統中的風險可概括為五大類。根據以下建議對每種風險做好防範工作。
第一類風險是濫用應用程式許可權。關於這類風險有如下防範策略建議。
應用程式認證
認證是防範惡意程式的有效手段之一。在理想狀態下,一個應用程式在認證之前必須經過完整的測試與代碼審查,確認其許可權使用的合理性,這自然對惡意軟體起到了有力的防範作用。但是,認證的費用高昂,程式複雜,並不具備廣泛的實用性。
選擇使用應用程式許可權
如果能夠在安裝階段,確認某一應用程式僅使用必需的最小許可權,也就是遵循最小許可權原則,則受到惡意軟體攻擊的可能性必將大大降低!對於有經驗的使用者這也許是一種選擇,但對於廣大的普通使用者,恐怕沒人懂得如何驗證應用程式要求的許可權是否合理,在多數情況下使用者會直接授予所要求的許可權。因此需要開發人員在申請或設定許可權時,嚴格遵循最小許可權原則。
自動靜態分析與代碼驗證
設計一種自動分析應用程式特性的工具,分析應用程式的功能以及不同應用程式之間的差別,以判斷其合法性。
第二類風險是攻擊Linux核心與系統庫函數的漏洞。目前,針對這種風險,採用更嚴格的存取控制機制,第6章介紹的限制作業系統使用者權限的SE Android,是一種實際且有效選擇。最危險的攻擊就是利用系統漏洞擷取根使用者或超級使用者權限,進而控制整個系統。SE Android恰好通過控制根使用者或超級使用者權限實現對安全性的增強,即使攻擊者擷取了根使用者許可權,但可能的危害範圍不至於無限擴大。但是,某些系統命令由於正常使用的需要,可能無法完全禁用,攻擊者如果恰好獲得該類命令的使用權,則SE Android的功能就十分有限了。
第三類風險是破壞私人資料的可用性、資料隱私性以及完好性。可以採取以下策略進行防範。
登入
使用登入使用者口令解鎖行動裝置的某些功能,以防止安全威脅。這是一種常見的有效方式,尤其是用於保護隱私資料資訊。但是,當裝置遺失時,如果尚未使用口令解鎖裝置,則保護作用存在;如果解鎖之後才遺失裝置,則口令保護完全無效。
防火牆
防火牆可以保障使用者私人資訊不會經由網路連接被泄露。通常,對網路連接傳輸的內容使用無狀態或有狀態的分析,可以發現是否有私密資訊正被泄露,因此可以切斷傳輸線路。由於防火牆工作在作業系統核心中,因此無法直接為外部攻擊所侵害。同時防火牆可以與SE Android提供的存取控制機制協同工作,提供更進階別的保護。但是,惡意軟體並非只能通過網路介面泄露隱私資訊。比如,通過簡訊/多媒體訊息的發送,防火牆就無作用了。
資料加密
資料加密是保護隱私資料的最佳手段。由於只有資訊所有者才有密鑰,因此即使裝置失竊,隱私資訊的安全仍然得到保障。
上下文敏感的存取控制(CAAC,Context Aware Access Control)
CAAC可以根據裝置使用的內部與周邊環境決定存取權限,比如裝置使用的地點、所登入的移動網路、是否串連Wi-Fi等。但是,如果攻擊恰好發生在允許訪問的環境下,則此類方式無效。
查看本欄目更多精彩內容:http://www.bianceng.cnhttp://www.bianceng.cn/OS/extra/