任何系統都會有木馬病毒的產生,不存在絕對的安全,只有相對的.
有人用,有利益就會有,何況市場保有量那麽高蘋果最近出示壹份文件,詳細描述了iOS內部安全規格。從文件來看,更像是解釋為何不讓開發者接入:“從iOS設備的架構考慮,理解內建安全功能如何運作以提供壹個安全的移動平臺,這是有必要的。iPhone、iPad、iPod Touch建有多個安全層。低級的硬件和固件功能保護可以防止惡意軟件和病毒,高級的OS功能可以確保個人信息、企業數據安全,防止未授權使用,協助阻止攻擊。iOS安全模式在保護信息的同時,也支持移動使用、支持第三方程序、支持同步。系統大部分是基於產業標準安全設計原理開發的,許多時候,蘋果還增加了設計,在不犧牲使用性的前提上強化安全。這份文件提供了安全技術的細節,也介紹了iOS平臺內部功能的執行。”
業界人士讀完整個文檔後,得出壹個簡單的而通俗的結論:蘋果不需要iOS反病毒程序,因為它沒有給病毒留下空間(包括木馬、惡意軟件等),這些病毒沒法進入系統。
如果用戶如蘋果預期壹樣使用iPhone,從App Store獲得程序。而程序商店的程序是經過審查的,它沒有包括惡意代碼。因此,惡意代碼沒法在任何壹款設備上出現,也就沒有必要使用反病毒軟件了。
在Android平臺上曾出現過病毒,它的下載安全也比蘋果低些。不過,如果要說蘋果100%安全也不見得。它還忽略壹點:並非所有程序都是從程序商店下載的,還有越獄機。
iOS通過以下幾種機制來保全整個系統的安全性:
壹:系統結構
所有iOS設備中,系統與硬件都高度集成,從系統啟動、系統更新、應用的安裝、應用的運行時等多個方面來保全系統的安全,具體包括:
1:所有iOS設備在處理器內都集成有壹段名為Boot Room的代碼,此代碼被燒制到處理其內的壹塊存儲上,並且只讀,可以認為是完全可信的。系統啟動時,Boot Room通過蘋果的Apple Root CA Public證書對Low-Level BootLoader進行驗證,如果通過驗證,Low-Level BootLoader將運行iBoot,較Low-Level Bootloader高層次的Bootloader,如果這壹步也通過,那麽iBoot將運行iOS的內核, XNU,系統開始運行。
以上這幾個步驟任壹步驟無法通過,都將導致系統無法啟動,這樣,處理期內燒制的Boot Room保證了iOS系統只能在Apple自家設備上運行,而這些設備也將無法運行iOS之外的系統。
2:iOS設備的系統升級之後是不允許降級的(官方沒有提供接口)。這樣做的好處是系統的安全等級只會越來越高,二不會出現由於系統降級,已修復安全風險又暴露出來的問題。
iOS系統在升級過程需要聯網進行驗證,系統升級之前,設備會將LLB、iBoot、內核、鏡像,外加壹個隨機的不可重復的值發送到蘋果的服務器進行驗證,服務器端對所有這些進行驗證,如果通過驗證,將會返回壹個通過的結果,結果加入了與設備唯壹相關的ECID。這樣做的好處是此值是無法重用的,只能對應與壹臺設備,且只能使用壹次。同過這種機制,保證了系統升級過程都是符合蘋果要求的。提高了較高的安全性。
3:所有運行在iOS上的代碼都是需要簽名的。蘋果自帶應用已經打上了蘋果的簽名,而第三方應用,則需要開發者賬號進行簽名,而開發者賬號都是通過蘋果官方實名審核的賬號,從開發者源頭上控制了程序的安全性,也就是說,系統內所有運行的程序都是可信的,且知道來源的。這個簽名就是在Xcode code signing選項裏選擇的賬戶。
4:運行與iOS系統的第三方軟件都是運行與sandbox之內,每個第三方程序都有自己的獨占的路徑,其只能訪問獨占路境內的內容,其他程序的文件壹般情況下無法訪問,如果要訪問,只能通過蘋果官方API,而不能自行操作文件。連個應用之間無法***享文件,如要互相通信,只能通過URL Schema或shared key chain。
另外,每個應用都有其運行權限,不同權限可進行的操作是不同的,將應用的權限限制在其需要的範圍內,而不賦予額外的權限。
二:數據的加密與保護
1:加解密是耗時耗能源的操作。而iOS內所有用戶數據都是強制加密的,加密功能不能關閉。所以,蘋果的AES加解密引擎都是硬件級的,位於存儲與系統之間的DMA內,所有進出存儲的數據都啊要經過硬件的加密與揭秘,這樣提供了較高的效率與性能。
加密揭秘使用的KEY主要來自unique ID(UID)以及Group ID(gid),UID與唯壹設備相關,GID與某種特定型號的CPU相關,壹臺設備的UID及GID全部被燒制到芯片內部,除了AES加密引擎,沒有其他方法直接讀取,能看到的只有使用UID及GID加密後的數據。這樣,不同設備的加密結果是不同的,同壹套密文只能在加密的機器上進行解密。
除了GID及UID,其他加密使用的KEY全部來自系統自帶的隨機數生成器,具體使用的算法為Yarrow。
2: iOS提供了名為File Data Protection的數據保護方法。所有文件在加密時使用的key都是不同的,這些key被稱作的prefile key,存儲於metafile內。
prefile的訪問需要進行解密的key,這些key包括:
File System Key: 系統安裝時生成的壹個隨即的key
Class Key,另壹個key,與UID相關,如果用戶設置了鎖屏密碼,那麽此Class Key將的來源將同時包括鎖屏密碼。
只有有了這兩個key,壹個文件的prefilekey才能被讀取出來,此加密的文件才能被揭秘,也就是說,當鎖屏之後,或存儲位於不同的設備之上,數據是無法讀取的。
File System Key還有壹個重要作用,遠程刪除數據時,其實不用真正的刪除磁盤上的數據,只要刪除此key,那麽所有文件的prefile key 將不能訪問,也就是所有文件將無法讀取。
3:鎖屏密碼為了防止暴力破解,增加了三個限制:
將其與uid綁定,也就是只能在該密碼生成的設備上進行嘗試,
兩次嘗試的間隔被強制設成80ms,機器暴力破解的時間將大大加長
增加選項,如果連續輸錯次數超過10次,可以選擇刪除設備內數據
4:Keychain。應用的小量極敏感數據,例如密碼,最好存儲與KeyChain內,而不是應用自己管理。
三:網絡安全
除了本地數據的保護,蘋果還對數據的傳輸提供了多種多樣的保護機制。蘋果提供了 可靠的、可信以及加密的連接。因為iOS平臺限制了同時監聽的端口的數量,並將那些不必要的網絡組建,例如telnet,shell以及web server等,所以不需要防火墻的保護。
SSL, TLS,蘋果提供了對SSL以及TLS的支持。CFNetwork則簡化了這些協議的使用。
VPN,iOS內置的VPN客戶端,支持多種VPN服務器及認證方式。
WIFI,提供了包括WPA2 Enterprise在內的多樣標準WIFI協議。
藍牙,iOS藍牙功能提供了多樣化的安全選擇
四:設備權限控制
針對企業用戶,iOS系統提供了多樣的安全策略,管理原可以根據需求對設備的安全特性進行多樣化的設置,包括密碼策略,數據保護策略,應用使用策略,遠程數據刪除等功能,給企業級用戶提供了高安全性以及極大的靈活性。