Android安全架構深究

Android安全架構深究
定價:534
NT $ 534
 

內容簡介

本書自底向上描述了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實現
總結
……

 

本書全面介紹了Android體系架構的攻防,涉及root、SE Android的加密解密等核心安全問題,是為數不多的深入講解安卓底層安全的書籍。作者和譯者都是業界資深專家,原文精彩、譯文流暢,相關從業者均值得一讀。

——烏雲知識庫

國內安全圈對攻防的熱衷程度很高,但經典的安全架構大多來自國外,實際上攻防和安全建設並不能畫等號,這也是國內安全設計人才極少的原因。而這本書正是從經典安全設計的角度,提供了較為系統化的分析,對於想積累軟件安全體系架構的視野以及從事安全架構設計的從業人員來說都是很好的參考書,對移動安全領域的研究者或移動平台開發者同樣適用。

——趙彥華為雲安全首席架構師

Android安全作為近年來的熱門領域涌現出了大批優秀書籍,而本書則是其中新出現的佼佼者。本書在高層次上對Android安全的上層架構做了詳細介紹,是安全研究人員挖掘分析漏洞的優秀學習參考資料,ROM開發人員和App開發者也可以通過閱讀本書加深對Android安全體系這個復雜而龐大結構的認識,從而減少漏洞的產生,設計出更安全的系統和App,從而給用戶以更好的保護。作者和譯者均在Android領域有着豐富的經驗,相信會讓讀者受益良多。

——何淇丹(Flanker)Keen Lab(原Keen Team)高級研究員、谷歌Android安全名人堂成員、Black hat演講者

通過本書,我們可以深度了解Android的整個體系結構,並從中找到讀者在研發及安全加固時所需要的資料與知識。如本書中的EAP可擴展認證協議部分,通過對此架構的理解,你將對Android對企業安全的支持有更深刻的認識,對研發以Android為平台的企業安全產品有指導性的作用。本書關於Android的NFC協議棧的知識,建議各位讀者認真閱讀,這將是Android體系中最有趣的部分,通過對該協議棧的掌握,你或許可以實現利用一台Android手機的NFC模塊模擬一張自己的門禁卡這樣炫酷的事情。
——楊卿(Ir0nSmith)360獨角獸團隊(Unicorn Team)創始人

《Android安全架構深究》這本書一直是學習安卓安全的必備圖書之一,很榮幸讀到中文版。這本書深入講解了Android的安全架構,從Android安全模型的介紹到相關權限、簽名、用戶管理、更新等機制無所不包。推薦每個學習安卓安全的讀者都能好好閱讀本書,相信對大家在Android安全方面的技術進階絕對能起到極大幫助。
——張祖優(Fooying)知道創宇安全研究員、Sebug負責人

作為當今最流行的開放操作系統平台,Android驅動着數以億計的設備工作。這樣一個充滿魅力的系統,一定擁有完善的安全體系。本書對Android安全體系的架構做了詳細介紹,如果你對Android實現感興趣,那麼這本書一定會適合你。

——錢文祥騰訊瀏覽器安全研究員,《白帽子講瀏覽器安全》作者

新的信息技術給信息安全帶來了新的研究方向,我們既感嘆需要更新的知識越來越多,新的知識也讓多年的信息安全從業者和熱愛學習的新銳們又重新站在了同一起跑線上,這成為改變格局的機會。

Android的流行讓我們很難忽視它可能存在的安全問題,《Android安全架構深究》能讓我們快速了解它的整體架構,也能在我們需要的時候查找更底層的安全細節,無論是深度閱讀,還是作為工具書偶爾查閱,這本書都是難能可貴的。作為一個希望能不斷更新自身技術知識的信息安全從業人員,通過閱讀本書的樣章能夠使我快速並愉快地了解一些之前覺得毫無頭緒的內容。如果還有什麼感慨,就是等本書正式發行的時候,迅速地去買一本,細細閱讀。

——郝軼百度雲安全部資深安全專家

這本書對於致力於安卓安全研究和深入安卓系統開發的讀者有非常大的參考價值,可以幫助大家了解和學習安卓的安全體系架構。在安全攻防圈子里流行着一句話「know it then hackit」,只有對一個事物足夠了解,你才有能力hack它,突破更多的限制,希望大家可以循着作者的思路對安卓安全有更進一步的了解。
——宋申雷360安全技術經理

推薦序
《Android安全架構深究》一書正如其書名一樣,着重從架構角度介紹Android平台的安全機制。近幾年,Android安全研究的熱點一直圍繞着惡意軟件攻防、應用加固與逆向、支付安全、應用層與框架層漏洞挖掘和內核漏洞挖掘利用這幾個方向。目前,已有數位研究者將應用逆向和應用層漏洞評估整理成書籍,但其他安全研究方向仍以碎片化的形式存在於各大安全會議或部分書籍之中。究其原因,我認為是一些高級的安全問題需要必要的平台安全機制方面的知識做鋪墊,不然,初學者會感到難以上手。《Android安全架構深究》一書介紹的正是鋪墊性的知識。

該書自底向上地描述了Android的安全體系架構,深入探究與安全相關的Android子系統、設備和數據組件的內部實現,並介紹了新引入的安全特性,如受限用戶支持、全盤加密、硬件支持的憑據存儲和集中式設備管理的支持。

本書前4章首先簡要介紹Android的體系結構和安全模型。體系結構方面與其他書籍無異,介紹Android系統重要組件的基本概念,包括Linux內核層、Dalvik虛擬機、Java運行時庫、Binder機制和Android框架庫,其中對Binder機制的介紹較為詳細。安全模型方面簡要介紹了沙盒機制、應用層權限、IPC通信、多用戶支持和SE Linux機制,尤其在SE Linux機制中,介紹了引入MAC機制的必要性和DAC機制的先天不足;並詳細講解了Android權限的聲明、使用和執行過程。開發過簡單的Android程序的人明白權限聲明是怎麼一回事兒,但這一部分具體闡述了當安裝App時,包管理器是如何將App聲明的權限標識記錄到已安裝包的核心數據庫/data/system/package.xml文件中的。

對於權限賦予,先將系統所有程序分為兩類:高層組件(安裝的App和系統服務)和低層組件(本地進程),高層組件的權限賦予仍以包管理器通過package.xml數據庫來決定,低層組件的權限賦予依賴進程UID、GID和補充GID來決定。在權限執行的講解中,作者還是按照自底向上的結構講解內核層權限的執行、原生守護進程級別權限的執行和框架層權限的執行。實現內核層權限執行的關鍵在於Android內核在普通Linux內核訪問控制機制的基礎上,又增加了一些特有的訪問控制機制,如對網絡的訪問,上層App申請了Internet權限后,內核層才能判斷App對應的進程是屬於inet組的(屬於該組才能訪問Internet)。原生守護進程的權限執行采用標准文件系統權限機制進行權限控制。框架層權限執行正是我們熟知的AndroidManifest.xml配置文件機制。該部分接着對四大組件的權限執行、共享用戶ID、自定義權限、四大組件聲明權限進行了介紹,與基本的Android開發無異;然后,作者詳細講解了Android的包管理機制,包管理機制主要負責APK包的安裝和校驗。

在介紹APK的安裝過程之前,先介紹了APK文件的格式和APK文件的簽名,這一部分已是老生常談。之后針對APK安裝包的安裝形式,介紹了其安裝步驟:解析和驗證包(從AndroidManifest.xml中提取信息和包簽名,驗證APK完整性)→接受權限和啟動安裝進程(顯示應用申請的權限)→復制到應用程序目錄(/data/)→包掃描→創建數據目錄(由installd進程負責)→生成Optimized DEX文件(installd運行dexopt命令)→文件和目錄結構→添加到package.xml數據庫(包名、包屬性、路徑、權限……)→簽名驗證,一個APK的安裝過程大致如此;最后,介紹了Android的多用戶支持,並描述了在多用戶設備上數據隔離的實現。多用戶機制在Android4.2中就已經加入,但只支持平板模式;在AndroidL中,多用戶機制已支持手機模式。在該部分中,詳細介紹了用戶類型,每個用戶類型所對應的用戶元數據及對用戶所有的應用程序的管理。
第5章和第6章介紹的是加密服務和PKI機制,這兩部分作為安全架構的重要組成部分同時也是Android安全開發所關注的內容。Android上的加密服務主要依賴JCA引擎,在介紹加密服務的章節中,該書對JCA引擎類中重要的類方法進行了較為細致的介紹,如安全隨機數Secure Random、消息摘要Message Digest、簽名Signature、加密算法Cipher和密鑰Key等。PKI機制一直在網絡安全中扮演重要角色,在Java語言中,Java安全套接字擴展JSSE實現了SSL和TLS協議,並提供數據加密、服務器驗證、消息完整性和可選客戶端驗證等機制。Android上JSSE的實現極大地方便了開發人員在Android App中部署PKI方案。該章節對Android JSSE實現的描述,對開發人員有着重要的參考意義。

接下來,該書詳細介紹了Android系統中引入的新的安全特性,比如硬件支持的憑據存儲、集中式設備管理的支持和全盤加密技術的實現。在憑據存儲部分,介紹了Android的憑據存儲,並介紹了提供給應用的安全存儲密鑰的API。對於在線賬戶管理,本書詳細分析了賬戶管理在Android系統中的具體實現和認證模塊的具體細節。

網路書店 類別 折扣 價格
  1. 新書
    $534