Android安全模型

android系統的開發人員已經在android平臺的設計中引入了安全的機制,android系統強制所有的android應用程序使用雙層安全模型,在android底層核心,依靠Linux內核提供安全特性,即每一個android的應用程序作爲單獨的進程運行,其他進程不能干擾其運行,每個應用程序擁有自己的一組數據。

在應用層,android系統採用更加細化的權限設置允許(或禁止)應用程序或組件同其他應用程序組件的交互,對關鍵資源的訪問,Mainfest.xml中的權限的配置。

每一個android應用程序都是運行在一個獨立的Dalvik虛擬機上,這樣就形成了一個安全的沙箱。但是這種沙箱也不是沒有不被打破的可能,所以android的權限檢查沒有放在Dalvik虛擬機中實現,而是放在了Linux內核的代碼中,在運行的時候強制的執行。


在android的系統的安全的方面,底層Linux設備資源的訪問主要通過驗證用戶和羣組的ID來確保安全。同時通過manifest.xml的權限設置,又提供了另外的一種更加的細化的安全的特性。


Linux的權限機制:

android系統爲每一個新安裝的應用程序分配一個唯一的UID(user ID )和一個GID(Group ID)。每一個新安裝的應用程序都有一組與UID和GID關聯的數據結構和文件,只有應用程序本身(通過其UID)或者是超級用戶(即Root用戶)具有訪問這些數據和文件的權限。其他用戶不具有超級用戶的權限。

當應用程序需要同其他應用程序或者是組件共享信息的時候,則通過應用層採用MAC(mandatory Access Control,強制訪問控制)安全模型實現。

每一個android系統上的應用程序在/data/data/目錄下都有各自的文件夾。

     當android應用程序調用getSharedPreferences()、openFileOutput()或者是openOrCreateDatabase()函數創建文件的時候,可以使用MODE_WORLD_READABLE和/或MODE_WORLD_WRITEABLE標誌。若是程序的開發人員沒有謹慎的設置這兩個標誌,則將會導致其他應用程序能夠讀寫該應用創建文件,即使這些文件僅屬於該應用程序。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章