當前位置:
首頁 > 最新 > 從Android8.0版本的燒寫分區變化看安全

從Android8.0版本的燒寫分區變化看安全

先直接上圖:

從上圖可以看出,一個完整的Android鏡像參與方有多方,比如

●system.img 主要包括Android框架。

●boot.img (內核/ ramdisk)包含Linux內核+ Android補丁。

●vendor.img 包含SoC特定的代碼和配置。

●odm.img 包含設備特定的代碼和配置。

●oem.img 包含OEM /運營商相關配置和自定義。

●bootloader 啟動內核(供應商專有)。

●radio 數據機(專有)。

在Android 8.0之前,供應商,odm和oem鏡像是可選的;其實屬於這些映像的文件被放置在boot.img或system.img中,並帶有符號鏈接(如/vendor>/system /vendor)。

Android 8.0使vendor分區成為強制性的。目標是通過在Android平台(在system.img上)和供應商提供的代碼之間定義標準介面來模塊化Android分區。該標準介面使Android平台得到更新,而不會影響SoC和ODM分區。

例如,應該可以將設備system.img從Android 8.0升級到Android P,而其他鏡像(如vendor.img,odm.img等)仍然保留在Android 8.0上。這種模塊化可以實現及時的Android平台升級(例如每月安全更新),而無需SoC/ODM合作夥伴更新SoC和設備特定的代碼。

Project 8.0中最重要的更新之一是Project Treble。Treble是不僅僅是安全功能 - 它是一系列重要的體系結構變化,對安全性有著巨大的積極影響。

為了讓設備運行Android,設備製造商可以定製該設備的軟體與設備的硬體。在以前的Android版本中,這些自定義與一般的Android OS框架混合在一起。在Android 8.0中,谷歌與設備製造商和片上系統(SoC)供應商密切合作解決這個問題,從而對Android的底層級系統架構進行了最大的改變。 Treble將供應商實現(由SoC供應商編寫的設備特定的較低級別軟體)與Android框架分離開來。為了實現這一目標,Android 8.0在Android框架和SoC供應商實施之間包含一個新的供應商界面。新的供應商介面由供應商測試套件(VTS)驗證,該套件驗證供應商實施的向前兼容性。這種分離使得將設備更新為新版本的Android變得更加容易,因為它使供應商的實現保持不變。從歷史上看,更新對於設備製造商而言是具有挑戰性的,代價高昂且耗時的,因為它們的定製化。帶有Treble的設備更容易更新,這應該意味著更快的安全補丁和整個Android版本的更新生態系統。更快更輕鬆的更新並不是Treble唯一的安全優勢。Treble的模塊化旨在通過提高隔離度來提高安全性和供應商提供的硬體抽象層(HAL)的取消特權。Android的早期版本中,HAL在進程中運行。該進程需要所有進程內HAL所需的所有許可權,包括直接訪問內核驅動程序。同樣,進程中的所有HAL都可以訪問與進程剩餘部分相同的一組許可權,包括其他進程內HAL所需的許可權。這導致了過度許可權的進程和HAL,它們有權訪問他們不應該擁有的許可權和硬體。

在Android 8.0中,我們將HAL移入它自己的進程中。孤立的HAL更好地遵守最小特權原則,並提供兩個明顯的優勢:

- 每個HAL都在其自己的沙箱中運行,並且只能訪問其控制的硬體驅動程序和執行其工作所需的許可權。

- 進程失去對硬體驅動程序和HAL所需的其他許可權和訪問的能力。

詳見《Google安全報告:Android平台安全章節》


喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 安智客 的精彩文章:

Google年度安全報告-8大潛在的惡意程序

TAG:安智客 |