ios的安全機制


ios的安全機制

      iOS是由蘋果公司為iPhone開發的操作系統。它主要是給iPhone、iPod touch以及iPad使用。就像其基於的Mac OS X操作系統一樣,它也是以Darwin為基礎的。原本這個系統名為iPhone OS,直到2010年6月7日WWDC大會上宣布改名為iOS。iOS的系統架構分為四個層次:核心操作系統層(the Core OS layer),核心服務層(the Core Services layer),媒體層(the Media layer),可輕觸層(the Cocoa Touch layer)。系統操作占用大概240MB的存儲器空間。

ios主要采用了以下幾種安全機制:

  1. 更小的受攻擊面
  2. 精簡的操作系統
  3. 權限分離
  4. 代碼簽名機制
  5. DEP
  6. ASLP
  7. 沙盒機制

 

一、更小的受攻擊面

  受攻擊面:受攻擊面是指處理攻擊者所提供輸入的代碼。

      就算蘋果公司的某些代碼中存在漏洞,如果攻擊者沒法接觸這些代碼,或者蘋果公司根本不會在iOS中包含這些代碼,那么攻擊者就沒法針對這些漏洞開展攻擊。因此,關鍵的做法就是盡可能降低攻擊者可以訪問(尤其是可以遠程訪問)的代碼量。

例如,iOS不支持Java跟Flsah,不能處理.psd文件。蘋果公司自有的.mov格式也只被iOS部分支持,因此很多可以在Mac OS X上播放的.mov文件在iOS上無法播放。雖然iOS原生支持.pdf文件,但只是解析該文件格式的部分特性。

瑕疵越少,攻擊者發動漏洞攻擊的機會就越小。

 

二、精簡的操作系統

除了減少可能被攻擊者利用的代碼,蘋果公司還精簡掉了若干應用,以防為攻擊者在進行漏洞攻擊時和得手之后提供便利。

例如:iOS設備上沒有shell(/bin/sh);

 

三、權限分離

iOS使用用戶、組和其他傳統UNIX文件權限機制分離了各進程;

例如:用戶可以直接訪問的很多應用,比如Web瀏覽器、郵件客戶端或第三方應用,就是以用戶mobile的身份運行的。而多數重要的系統進程則是以特權用戶root的身份運行的。其他系統進程則以諸如_wireless和_mdnsresponder這樣的用戶運行。利用這一模型,那些完全控制了Web瀏覽器這類進程的攻擊者執行的代碼會被限制為以用戶mobile的身份運行。

來自App Store的應用其行為會受到限制,因為它們也是以用戶mobile的身份執行的。

 

四、代碼簽名機制

所有的二進制文件(binary)和類庫在被內核允許執行之前都必須經過受信任機構(比如蘋果公司)的簽名。此外,內存中只有那些來自已簽名來源的頁才會被執行。這意味着應用無法動態地改變行為或完成自身升級。這樣做都是為了防止用戶從因特網上下載和執行隨機的文件。所有的應用都必須從蘋果的App Store下載(除非對設備進行配置,使其接受其他的源)。

 

五、DEP

  DEP: Data Execution Prevention,數據執行保護;

處理器能區分哪部分內存是可執行代碼以及哪部分內存是數據。DEP不允許數據的執行,只允許代碼執行。

漏洞攻擊試圖運行有效載荷時,它會將有效載荷注入進程並執行該有效載荷。DEP會讓這種攻擊行不通,因為有效載荷會被識別為數據而非代碼。

iOS中代碼簽名機制的作用原理與DEP相似。

六、ASLP

   ASLP: Address Space Layout Randomization,地址空間布局隨機化。

    在iOS中,二進制文件、庫文件、動態鏈接文件、棧和堆內存地址的位置全部是隨機的。當系統同時具有DEP和ASLR機制時,針對該系統編寫漏洞攻擊代碼的一般方法就完全無效了。在實際應用中,這通常意味着攻擊者需要兩個漏洞,一個用來獲取代碼執行權,另一個用來獲取內存地址以執行ROP,不然攻擊者就需要一個極其特殊的漏洞來做到這兩點。

 

七、沙盒機制

iOS防御機制的最后一環是沙盒。與之前提到的UNIX權限系統相比,沙盒可以對進程可執行的行動提供更細粒度的控制。

例如:MS應用和Web瀏覽器都是以用戶mobile的身份運行的,但它們執行的動作差別很大。SMS應用可能不需要訪問Web瀏覽器的cookie,而Web瀏覽器不需要訪問短信。而來自App Store的第三方應用不應該具有cookie和短信的訪問權。

首先,它限制了惡意軟件對設備造成的破壞。想象一下,就算惡意軟件僥幸通過了App Store的審查流程,被下載到設備上並開始執行,該應用還是會被沙盒規則所限制。它可能會竊取設備上所有的照片和地址簿信息,但它沒辦法執行發短信或打電話等會直接使用話費的操作。沙盒還讓漏洞攻擊變得更困難。就算攻擊者在減小的受攻擊面上找到了漏洞,並繞過ASLR和DEP執行了代碼,有效載荷也還是會被限制在沙盒里可訪問的內容中。總而言之,所有這些保護機制雖然不能說會完全杜絕惡意軟件和漏洞攻擊,但也大大加大了攻擊的難度。

 

八、iOS越獄

  a).通過OTA(不是通過PCiTunes升級的iOS)升級到iOS7的設備越獄很容易出現白蘋果.建議用戶通過iTunes更新到最新的iOS7系統然后越獄. 
  b).越獄后通過Cydia安裝的某些插件(例如某些輸入法或修改系統主題的插件),由於對iOS7不兼容導致很容易出現白蘋果,建議謹慎安裝及更新此類越獄插件. 
  c).有些應用程序沒有針對越獄iOS7作適配或者兼容性測試,也可能導致系統崩潰及白蘋果現象,建議謹慎安裝優化系統設置和系統底層相關的應用.

 

  然而,越獄會破壞掉所有的安全機制。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM