本書自底向上描述了Android的安全架構,深入探究與安全相關的Android子系統、設備和數據組件的內部實現。其中包括包和用戶管理,權限和設備策略,以及一些特殊機制——密碼服務、憑據存儲和安全組件的支持等。
本書面向所有對Android安全體系架構感興趣的讀者,希望對Android整體或子系統進行評估的安全研究員,以及致力於定制和擴展Android的開發人員。讀者最好具有Linux系統和安卓開發的相關知識。
Nikolay Elenkov過去十年一直致力於企業安全的項目,開發過從智能卡、HSM到Windows平台、Linux服務器等各種平台下的安全軟件。Android面世之后,他便很快對Android產生了濃厚的興趣,並且在Android1.5版本發布之后一直在開發Android應用。Android4.0發布之后,Nikolay更加關注Android系統內部實現細節,並且在過去的三年中,他一直在其博客上整理發布他的發現並撰寫與Android安全相關的文章。
引言
第1章 Android安全模型
Android體系結構
Linux內核層
原生用戶空間層
Dalvik虛擬機
Java運行時庫
系統服務
進程間通信
Android框架庫
應用程序
Android的安全模型介紹
應用程序沙箱
權限
代碼簽名和平台密鑰
多用戶支持
SEL
系統更新
驗證啟動模式
總結
第2章 權限
權限的本質
權限申請
權限管理
權限的保護級別
權限的賦予
權限執行
內核層的權限執行
原生守護進程級別的權限執行
框架層的權限執行
系統權限
signature權限
development權限
共享用戶
自定義權限
公開和私有組件
activity和 service權限
廣播權限
content provider權限
靜態 provider權限
動態 provider權限
pending i
總結
第3章 包管理機制
Android應用程序包文件的格式
代碼簽名
Java代碼簽名
Android代碼簽名
APK的安裝過程
應用程序包和數據的位置
活動組件
安裝一個本地包
更新包
安裝加密?
轉發鎖定
Android 4.1轉發鎖定實現
加密的 App和 Google
包驗證
Android對包驗證的支持
Google Play實現
總結
……