安卓的安全機制包括以下這些方面:
進程沙箱隔離機制:安卓將Linux系統的用戶隔離機制移植為應用程序隔離,應用程序在安裝時被賦予獨特的UID,并永久保持;應用程序及其運行的Dalvik虛擬機運行于獨立的Linux進程空間,與UID不同的應用程序完全隔離。
應用程序簽名機制:規定APK文件必須被開發者數字簽名,以便標識應用程序作者和應用程序之間的信任關系。在安裝應用程序APK時,系統安裝程序首先檢查APK是否被簽名,有簽名才能安裝。當應用程序升級時,需要檢查新版應用的數字簽名與已安裝的應用程序的簽名是否相同,否則,會被當作一個新的應用程序。安卓開發者有可能把安裝包命名為相同的名字,通過不同的簽名可以把它們區分開來,也保證簽名不同的包不被替換,同時防止惡意軟件替換安裝的應用。
權限聲明機制:安卓程序默認無法訪問系統和資源,應用程序需要顯式聲明權限、名稱、權限組與保護級別。不同的級別要求應用程序行使此權限時的認證方式不同,普通級別申請即可用、危險級別需在安裝時由用戶確認才可用、簽名級別必須是系統用戶才可用。
訪問控制機制:安卓直接繼承了Linux的訪問控制機制,傳統的Linux訪問控制機制確保系統文件與用戶數據不受非法訪問。
進程通信機制:Binder進程通信機制提供基于共享內存的高效進程通信,Binder基于客戶-服務器模式,提供類似COM與CORBA的輕量級遠程進程調用(RPC)。通過接口描述語言(AIDL)定義接口與交換數據的類型,確保進程間通信的數據不會溢出越界,污染進程空間。
內存管理機制:安卓內存管理機制基于標準Linux的低內存管理機制,設計實現了獨特的低內存清理(LMK)機制,將進程按重要性分級、分組,當內存不足時,自動清理最低級別進程所占用的內存空間;同時,引入不同于傳統Linux共享內存機制的、安卓獨有的共享內存機制—Ashmem,具備清理不再使用共享內存區域的能力。
回答所涉及的環境:聯想天逸510S、Windows 10。
安卓的安全機制包括以下這些方面:
進程沙箱隔離機制:安卓將Linux系統的用戶隔離機制移植為應用程序隔離,應用程序在安裝時被賦予獨特的UID,并永久保持;應用程序及其運行的Dalvik虛擬機運行于獨立的Linux進程空間,與UID不同的應用程序完全隔離。
應用程序簽名機制:規定APK文件必須被開發者數字簽名,以便標識應用程序作者和應用程序之間的信任關系。在安裝應用程序APK時,系統安裝程序首先檢查APK是否被簽名,有簽名才能安裝。當應用程序升級時,需要檢查新版應用的數字簽名與已安裝的應用程序的簽名是否相同,否則,會被當作一個新的應用程序。安卓開發者有可能把安裝包命名為相同的名字,通過不同的簽名可以把它們區分開來,也保證簽名不同的包不被替換,同時防止惡意軟件替換安裝的應用。
權限聲明機制:安卓程序默認無法訪問系統和資源,應用程序需要顯式聲明權限、名稱、權限組與保護級別。不同的級別要求應用程序行使此權限時的認證方式不同,普通級別申請即可用、危險級別需在安裝時由用戶確認才可用、簽名級別必須是系統用戶才可用。
訪問控制機制:安卓直接繼承了Linux的訪問控制機制,傳統的Linux訪問控制機制確保系統文件與用戶數據不受非法訪問。
進程通信機制:Binder進程通信機制提供基于共享內存的高效進程通信,Binder基于客戶-服務器模式,提供類似COM與CORBA的輕量級遠程進程調用(RPC)。通過接口描述語言(AIDL)定義接口與交換數據的類型,確保進程間通信的數據不會溢出越界,污染進程空間。
內存管理機制:安卓內存管理機制基于標準Linux的低內存管理機制,設計實現了獨特的低內存清理(LMK)機制,將進程按重要性分級、分組,當內存不足時,自動清理最低級別進程所占用的內存空間;同時,引入不同于傳統Linux共享內存機制的、安卓獨有的共享內存機制—Ashmem,具備清理不再使用共享內存區域的能力。
回答所涉及的環境:聯想天逸510S、Windows 10。