移動安全-iOS(一)

安全啓動

  • 讀取系統的引導程序

**這一步包括以下 ** 引導ROM中包括蘋果官方認證的公鑰,它會驗證底層啓動器(LLB)的簽名,一旦經過了驗證就會啓動它,LLB會作一些基礎性的工做,而後驗證第二級引導程序iBoot安全

  • 驗證第二級引導程序iBoot
  • 啓動內核
  • 加載驅動程序,檢測設備,啓動系統守護進程

上述信任鏈確保全部系統組件都由蘋果寫入,簽名,分發,不能來自第三方機構。一般狀況下,越獄的工做原理就是攻擊這一信任鏈。網絡

沙盒機制

蘋果的沙盒機制歷史上被稱爲安全帶,是一種基於FreeBSD系統的TrustedBSD框架的強制訪問控制(MAC)機制,它的主要推進者是羅伯特-沃森,它採用一種相似Lisp的配置語言來描述哪些資源系統能夠訪問,哪些禁止訪問。這些資源主要包括文件,系統服務,網絡鏈接,內存資源等。框架

MAC機制不一樣於傳統的訪問控制機制(好比自主訪問機制(DAC) ,它不容許主體(好比用戶進程)操做對象(文件,套接字等)。DAC最多見的形式就是UNIX系統上的用戶、組合其餘權限,全部這些均可以被授予讀、寫或者執行的權限。ide

在iOS平臺,沙盒意味着應用程序被關進了一個虛擬的容器。該容器遵循一系列特定規則,包括系統資源的訪問,好比網絡資源,文件讀寫,進程克隆等,全部的第三方應用程序都要遵照惟一的限制加密

iOS系統相對於Android系統,或者相對於Windows系統來講比較安全的緣由不少,其中有一點就是蘋果推出的沙盒機制,每一個應用都有本身對應的沙盒,每一個應用程序之間不能相互訪問非本程序的沙盒,因此,Apple相對於其餘的系統來講比較安全,再是從內存上來講相對於Windows來講也比較安全,Apple的應用程序在內存消耗太高時,收到內存警告不及時處理的話應用軟件會自動退出,而不想Windows系統同樣,中了病毒或者木馬會一直消耗內存,知道內存沒有了,OK,Down機。恩,能夠這麼,沙盒機制,讓iOS系統變得更安全。spa

注意: 安卓的訪問機制與MAC不一樣安卓實現了一套更加傳統的DAC模型,應用程序都有本身的用戶ID和屬於ID的文件夾,其權限管理嚴格按照傳統的UNIX文件權限管理運做。雖然兩種機制工做起來都沒有問題,可是MAC的擴展性整體來講更加優秀操作系統

關於訪問控制模型DAC,MAC,RBAC

訪問控制code

訪問控制是指控制對一臺計算機或一個網絡中的某個資源的訪問。沒有它,全部人均可以訪問任何資源。有了訪問控制,用戶在獲取實際訪問資源或進行操做以前,必須經過識別、驗證、受權。
 換言之,訪問控制控制着一個主體(subject)能夠訪問哪些對象(objects)。主體和對象是訪問控制模型和技術中的兩個重要術語。主體是指能夠授予或拒絕訪問某個對象的人或事物,如用戶,程序,系統進程。對象的例子如文件、打印機、程序、系統進程等。
複製代碼

訪問控制模型 開發者須要在他們的軟件和設備中實現訪問控制功能,訪問控制模型爲之提供了模型。有三種不一樣的模型:DAC,MAC,和RBAC。cdn

Discretionary Access Control(DAC) 主體對它所屬的對象和運行的程序擁有所有的控制權。例如,Alice擁有一個叫mywork.doc的文件。她許可Bob和Sales group的成員來讀這個文件,除此以外別的人都不能夠。改進的DAC實現提供了一個基於「need-to-know」的訪問受權的方法,默認拒絕任何人的訪問。訪問許可必須被顯式地賦予訪問者。 被某個用戶執行的程序擁有與該用戶相同的權限。這意味着系統安全依靠運行的程序,所以,當一個程序中發生安全裂縫,會影響到該用戶能訪問的全部對象。這使得DAC在特洛伊木馬前特別脆弱。例如,假設Alice對文件file1.doc擁有讀寫權限。Charlie,一個惡意攻擊者,寫了一個程序,這個程序在執行時生成文件file2.doc.這個程序授予Alice寫權限和Charlike讀權限。Charlie把這個程序假裝成合法的程序發給Alice。當Alice運行這個程序是,它就具備了和Alice相同的權限。它能夠拷貝file1.doc到file2.doc,這樣charlie就竊取了file1.doc的內容。若是一個管理員執行這個程序,攻擊者會獲取最大的特權,危害整個系統的安全。對象

Mandatory Access Control(MAC) 在MAC這種模型裏,管理員管理訪問控制。管理員制定策略,用戶不能改變它。策略定義了哪一個主體能訪問哪一個對象。這種訪問控制模型能夠增長安全級別,由於它基於策略,任何沒有被顯式受權的操做都不能執行。MAC被開發和實如今最重視保密的系統中,如軍事系統。主體得到清楚的標記,對象獲得分類標記,或稱安全級別。 最先的MAC模型,參照Bell and LaPadula,訪問權根據主體的數字化的訪問級別和對象的訪問級別標記來授予。例如,管理員的訪問級別65535,Alice的是100,客人(Guest)是1,有兩個文件,file1級別2,file2級別200,這樣Alice只能訪問file1,客人不能訪問file1和file2,管理員兩個文件均可以訪問。用戶的訪問級別須要比他想訪問的對象的級別高或者相等。Bell and LaPadula模型,後來擴展爲「多級安全」(Multi-Level Security,MLS)。MLS典型地應用到軍事領域中,對每一個對象使用標記(如top secret,secret,confidential,unclassfied)實現了一個外部安全層。只有位於相同層或更高層的用戶能訪問對象。工做機制是「need to know basis」,即最少的特權,用戶只能訪問他工做須要的對象。同時,主體不能向下寫,即他們不能寫或建立低於本身級別的標記的對象。這防止了主體把祕密和低於它的級別的主體共享,從而保證信息保密。

Role Based Access Control(RBAC)

管理員定義一系列角色(roles)並把它們賦予主體。系統進程和普通用戶可能有不一樣的角色。設置對象爲某個類型,主體具備相應的角色就能夠訪問它。這樣就把管理員從定義每一個用戶的許可權限的繁冗工做中解放出來。 基於角色的訪問控制模型RBAC,有時成爲基於規則的基於角色的訪問控制(Rule-Based Role-Based Access Control,RB-RBAC)。它包含了根據主體的屬性和策略定義的規則動態地賦予主體角色的機制。例如,你是一個網絡中的主體,你想訪問另外一個網絡中的對象。這個網絡在定義好了訪問列表的路由器的另外一端。路由器根據你的網絡地址或協議,賦予你某個角色,這決定了你是否被受權訪問。

實際使用 現代操做系統組合使用了上述的訪問控制模型。儘管Windows NT沒有實際使用RBMC,它使用內建的組實現了相似的模型,如Power Users,Server Operators,Backup Operators。管理員能夠根據做業的行爲增長額外的角色。擁有適當權限的用戶能夠分享資源,如文件和打印機,並且與DAC模型相應的,自主決定給與其它用戶和組訪問權。

將權限管理、工做流管理作到我能力的極致,一我的只能作好那麼不多的幾件事情。

關於iOS中的數據保護和全盤加密

iOS提供以下數據保護功能

  • iOS提供全盤加密
  • 提供數據保護API

這兩個極致能夠實現遠程抹除設備數據,在設備丟失的狀況下保護用戶數據免於泄露

相關文章
相關標籤/搜索