日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 运维知识 > Android >内容正文

Android

读《Android 安全架构深究》

發(fā)布時間:2024/4/11 Android 49 豆豆
生活随笔 收集整理的這篇文章主要介紹了 读《Android 安全架构深究》 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

Android 安全架構(gòu)深究

安全是一個非常立體而豐富得概念。在不同的場景下,安全有著不同的含義。

比如對于網(wǎng)絡(luò)傳輸,安全指的是傳輸?shù)臄?shù)據(jù)不會被其他人看到、篡改、偽造及仿冒,傳輸?shù)臄?shù)據(jù)不會遭到破壞,數(shù)據(jù)從發(fā)送端發(fā)送出來到接收端接收到,可以保持完整準(zhǔn)確。

再比如在操作系統(tǒng)層面,可以從用戶和進程兩個角度來看安全。從用戶的角度來看,即是非授權(quán)的用戶,無法訪問未被授權(quán)訪問的數(shù)據(jù)。相信剛剛接觸 Unix-like 系統(tǒng)的朋友,對于 "Permission denied" 的報錯都是煩不勝煩。這即是由于 Linux 上的普通用戶,不能隨意查看或修改其他用戶的數(shù)據(jù)。

而從進程的角度來看,每個進程都有自己的虛擬內(nèi)存空間,它們的運行時數(shù)據(jù)相互之間完全隔離,通常情況下,除非是調(diào)試工具,否則一個進程不能隨意訪問其它進程的內(nèi)存空間,修改其它進程的內(nèi)存數(shù)據(jù)。此外,進程的執(zhí)行繼承執(zhí)行的用戶和用戶組的身份,因而對于不允許響應(yīng)用戶訪問得文件及數(shù)據(jù),進程也被禁止訪問。

這些也是安全最主要的場景,及要解決的最主要的問題。

為了解決安全問題,在 Android 中有著兩大最根本的機制。一是權(quán)限管理及自主訪問控制,二是數(shù)據(jù)加密。

第一點主要由操作系統(tǒng)來實現(xiàn)。如同在 Linux 中那樣,系統(tǒng)中的每個文件都有著自己的所有者用戶,所有者組,以及針對系統(tǒng)中的用戶身份的權(quán)限模式,比如 權(quán)限模式為 0644 的文件,其所有者可以讀可以寫但不能執(zhí)行,其用戶組中的用戶和其它用戶可以讀但不能寫不能執(zhí)行。系統(tǒng)根據(jù)文件、數(shù)據(jù)的權(quán)限模式及執(zhí)行操作的用戶的身份,對所有的數(shù)據(jù)訪問進行控制。基于 Unix-like 系統(tǒng)中一切皆文件的理念,對于設(shè)備的訪問如同對文件得訪問一樣。為了解決 Linux 系統(tǒng)中權(quán)限管理及訪問控制的粒度過粗的問題,而發(fā)明了 SELinux,進一步細(xì)化進程的權(quán)限管理及訪問控制。而 Android 社區(qū)也將 SELinux 引入 Android,并形成 SEAndroid。

而數(shù)據(jù)加密,則是將明文的數(shù)據(jù),轉(zhuǎn)為看上去非常隨機的密文,以防止未授權(quán)的人訪問我們想要保密的數(shù)據(jù)。密碼學(xué)上,加密算法主要分為加密密鑰和解密密鑰相同的對稱加密,及加密密鑰和解密密鑰不同但滿足一定的數(shù)學(xué)關(guān)系的非對稱加密。在 Android 平臺上,對于應(yīng)用層來說,數(shù)據(jù)加密主要由 Java 的 JCA 框架來實現(xiàn)。目前 JCA 框架的實現(xiàn)主要基于 OpenSSL 來完成,未來則可能遷移到 Google fork 的 OpenSSL 分支 boringssl 上。

基于這兩種最根本的安全機制,而設(shè)計了非常非常多的各種安全策略。

Android 應(yīng)用的沙箱模型是,為系統(tǒng)中運行的幾乎所有應(yīng)用,無論是本地層的守護進程也好,還是系統(tǒng)應(yīng)用進程,亦或是用戶安裝的應(yīng)用,單獨分配用戶 ID,同時將不同應(yīng)用的數(shù)據(jù)單獨建立文件夾進行保存,并為這些文件夾設(shè)置適當(dāng)?shù)臋?quán)限模式,以最小權(quán)限原則,防止應(yīng)用不當(dāng)?shù)臄?shù)據(jù)訪問。借助于 SEAndroid 的強制模式,系統(tǒng)中擁有著超高特權(quán)的守護進程的操作權(quán)限被更細(xì)粒度地進行控制,以防止守護進程被攻破時,而有不當(dāng)?shù)男袨椤?/p>

基于加密機制,而有了 Android 應(yīng)用程序安裝包的簽名驗證,有了 HTTPS 的 PKI 體系中的身份認(rèn)證方法及數(shù)據(jù)加密傳輸,有了驗證啟動中對數(shù)據(jù)完整性的哈希驗證,有了 VPN,有了票據(jù)存儲體系等,有了鎖屏界面,有了磁盤加密,有了 OTA 升級中的包合法性驗證等等等。而加密時的加鹽,主要是為了防范攻擊者通過已有的密碼字典,而快速猜出密碼。

加密機制在用戶空間實現(xiàn)。不管是對稱加密算法,非對稱加密算法,還是哈希算法,MAC 算法,當(dāng)前都有許許多多的選擇。對于加密,還需要關(guān)注加密密鑰的強度,加密迭代的次數(shù),加密的模式,ECB 模式、CBC 模式還是其它,padding 的模式,前向安全性等等。此外還有復(fù)雜的 SSL/TLS 體系的 JSSE,及密鑰存儲值得關(guān)注。因而 Android 平臺的數(shù)據(jù)加密領(lǐng)域豐富多彩,非常有趣。

當(dāng)然大多數(shù)安全策略的設(shè)計,是同時基于兩種機制來實現(xiàn)的。

權(quán)限管理及自主訪問控制,數(shù)據(jù)加密機制,以及基于這兩者而創(chuàng)建的各種安全策略,共同構(gòu)成了 Android 的安全架構(gòu)。

《Android 安全架構(gòu)深究》這本書即是對 Android 安全架構(gòu)的比較全面的描述,但各個主題深度有限,再所難免。有興趣者自然可以挑選一些感興趣的主題,比如包管理系統(tǒng),應(yīng)用程序安裝包驗證過程,票據(jù)存儲,JCA 及 JSSE 等主題,以此書所述為基礎(chǔ),而通過閱讀系統(tǒng)源碼及其它相關(guān)資料,再做深入的研究。

參與安全事件的人,從立場的角度來看,可以分為攻方和守方。守方建立一整套一整套的安全機制和策略,來保護數(shù)據(jù),并抵御任何實現(xiàn)非授權(quán)訪問的企圖。而攻方則尋找既有系統(tǒng)中可能存在的漏洞,并利用這些漏洞來獲取更高的權(quán)限,執(zhí)行限制性的代碼,訪問任意的數(shù)據(jù),或者搞一些破壞。

目前國內(nèi)有著很多關(guān)于攻的書籍,講解怎么做漏洞挖掘,做反編譯,破解。而這本書則更多地是講解 Android 整個安全體系得構(gòu)建,主要講防,講建設(shè)。

盡管有很多地方,翻譯讀起來,明顯讓人能感覺是通過自動翻譯完成的。但這本書還是帶給了我們對于 Android 整個安全體系架構(gòu)較為完整的認(rèn)識。這仍然是一本,整體讀起來讓人覺得開心的書。

愿每個人對這本書都能讀起來開心。

總結(jié)

以上是生活随笔為你收集整理的读《Android 安全架构深究》的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。