Android和iOS如何防御惡意應用
在剛剛過去的世界移動通信大會上,Android負責人Sundar Pichai也出現(xiàn)在會場。由于媒體上經(jīng)常出現(xiàn)各類有關(guān)Android被惡意軟件占領(lǐng)的新聞,所以和Android、iOS安全性相關(guān)的問題自然也被拋給了Sundar Pichai。作為Google高級副總裁,Pichai當然表示Android是相當安全的。而在這個問題的背后,Android和iOS到底是如何抵擋惡意軟件的呢?
作為一個移動操作系統(tǒng)其安全性相關(guān)多個方面,但正如蘋果在iOS安全白皮書中所說的那樣——應用程序已經(jīng)是現(xiàn)代移動操作系統(tǒng)安全體系結(jié)構(gòu)中最關(guān)鍵的要素之一,所以本文就從應用的層面來看一看Android和iOS的安全機制。
先來看Android,早在Google Play Store還被叫做Android Market的時候,Google就發(fā)布了一個代號為“Bouncer” 服務。Bouncer會自動掃描Android Market上已經(jīng)存在的所有應用來分析他們是否包含潛在的安全威脅。通過構(gòu)建在云端的模擬器,Bouncer可以模擬應用在Android設備上運行的 狀態(tài)進而找出隱藏的惡意行為。此外,Bouncer還會掃描開發(fā)者賬戶以防止惡意軟件開發(fā)商再度向Google提交惡意應用。通過此舉Google基本上 已經(jīng)可以保證Google Play Store上應用的安全性。
在系統(tǒng)層面,Android在4.2及以后的版本中增加了應用程序驗證機制。當用戶安裝第三方渠道的應用時,該驗證機制便會向Google的服務器發(fā)送驗證信息來確認其安全性,如果返回的結(jié)果是否定的,那么系統(tǒng)便會阻止用戶繼續(xù)安裝。為了豐富自己的數(shù)據(jù)庫,除了Google Play Store外,Google還會掃描網(wǎng)絡上各類APK文件。而且在接下來,Google還將升級應用驗證機制,在升級后,應用驗證機制將可以在后臺運行以監(jiān)測那些已經(jīng)安裝的應用是否有不軌行為。預計相關(guān)功能將會隨著Google Play Services的下次更新悄悄推送給Android 2.3及以上版本的用戶。通過此舉Google也就讓安裝第三方渠道應用給用戶帶來的風險大大降低。
在系統(tǒng)底層上,Android還故意限制了應用程序?qū)σ恍〢PI的調(diào)用,比如Android并不提供直接操縱SIM卡的API。當?shù)谌綉谜{(diào)用相 關(guān)地理位置、相機、藍牙、短信等“受保護的API”時則需要得到用戶另外的許可。在數(shù)據(jù)保護上,第三方應用只有通過Android系統(tǒng)權(quán)限檢查之后才可以 訪問個人信息、敏感數(shù)據(jù)輸入設備、設備元數(shù)據(jù)等相關(guān)信息。
再來看iOS,由于iOS用戶獲取應用的途徑相對單一,所以蘋果可以從源頭上來控制應用的安全性。而事實上,蘋 果也確實是這么做的。iOS系統(tǒng)要求所有可執(zhí)行的代碼都需要使用蘋果頒發(fā)的證書進行簽名,這當然也包括第三方的各類應用。應用開發(fā)商想獲得蘋果頒發(fā)的證書 就必須到蘋果那里注冊加入iOS開發(fā)項目組。這樣所有獲得了證書并且有權(quán)利向App Store提交和發(fā)布應用的開發(fā)商都是事先通過了蘋果驗證的,蘋果也很容易就可以辨別出每款應用背后對應的公司或個人信息。用蘋果的話說,這樣對那些惡意 應用開發(fā)者來說就有了很好的威懾作用。
事實上,應用簽名在Android上也是必須的。而之所以蘋果能在這一環(huán)節(jié)上更好地控制應用的安全性是由于它可以要求所有的開發(fā)者都使用蘋果的證書 進行簽名,這在Android上基本上是不可行的。Android上并沒有一個“中央權(quán)威”來控制所有應用的簽名,各運營商、OEM以及第三方市場都可以 給應用簽名。
在系統(tǒng)層面上,蘋果一樣做了諸多限制措施。比如當一個第三方應用需要讀取信息在應用本身之外時,它只能使用iOS系統(tǒng)提供的API來讀取這些信息;需要后臺處理能力的應用同樣只能使用系統(tǒng)提供的API;而且由于整個OS分區(qū)被掛載為只讀,所以API也不允許應用程序不斷提升自己的權(quán)限來修改其他應用或者iOS系統(tǒng)本身。在保護應用內(nèi)數(shù)據(jù)方面,iOS的軟件開發(fā)工具包則提供了一整套API來幫助開發(fā)者提升數(shù)據(jù)的安全性。
此外,由于iOS系統(tǒng)硬件也都受蘋果控制,所以蘋果還使用了ARM處理器的“禁止執(zhí)行位”安全技術(shù)來防止應用程序做惡。
總結(jié)來看,雖然Google和蘋果對各自系統(tǒng)的掌控能力不同,但雙方都在自己可控的范圍內(nèi)為Android和iOS在系統(tǒng)接入層面、應用未到達設備 端時以及應用已經(jīng)在設備端運行時提供了防護措施。由于蘋果可以控制硬件,所以iOS多了一層處理器層面的防護。不過Android是開源的,所以它可以從 社區(qū)中汲取力量加強自己的安全性,而且Google也確實這么做了。所以兩者可以說是各有優(yōu)勢。
相對于iOS,Android的確把更多的選擇權(quán)交給了用戶讓他們自行選擇。這在某些時候確實會帶來隱患,但Android的安全并沒有媒體以及一 些非獨立的安全機構(gòu)經(jīng)常宣傳的那樣脆弱。所以如果你使用新的Android系統(tǒng)并且從正規(guī)渠道下載應用,那么下次再看到“99%的Android設備將受 到病毒感染”這樣的新聞時,并不需要驚慌,也沒必要馬上為安全廠商送去鈔票了。