Google 警告三星,別亂動 Android 內核代碼
近日,Google Project Zero(GPZ)團隊向三星發出警告,如果三星在 Galaxy 系列手機中修改內核代碼,將會暴露更多安全漏洞。
手機產商造成的安全漏洞
據了解,GPZ 研究員 Jann Horn 在三星 Galaxy A50 的Android內核中發現錯誤。Jann Horn 指出,像三星這樣的智能手機制造商會通過添加下游定製驅動程序來直接訪問 Android 的 Linux 內核,結果造成了更多的安全漏洞。
同時,Jann Horn 還表示,三星的做法在所有智能手機廠商中相當普遍——即手機廠商向 Linux Kernel 中添加未經上游(upstream)內核開發者審核的下游(downstream)代碼,增加了與內存損壞有關的安全性錯誤。
儘管這些下游定製代碼旨在增加設備的安全性,但是它們可能會帶來新的安全漏洞。例如,三星原本準備增強內核安全的代碼結果帶來了內存損壞漏洞。2019 年 11 月,Google 向三星通報了這一漏洞。
雷鋒網(公眾號:雷鋒網)注:圖源三星
據悉,該漏洞影響了三星的額外安全子系統,這個額外的系統名為 PROCA 或 Process Authenticator 。隨後,在 2020 年 2 月,三星表示已在手機更新程序中修復了該漏洞。
另外,值得一提的是,三星在 2 月份的手機系統更新中還包括一個針對“TEEGRIS 設備”中嚴重缺陷的補丁。據介紹,TEEGRIS 設備指的是搭載三星專有 TEE 操作系統的較新 Galaxy 手機上的可信執行環境(TEE);而 Galaxy S10 就是 TEEGRIS 設備之一。
在三星的描述中,SVE-2019-16132 (雷鋒網按:三星對該漏洞的代號)是一個並不嚴重的問題,是由 PROCA 中的 Use-After-Free 和 Double-Free 漏洞組成,允許黑客在一些運行 Android 9.0 和 10.0 的 Galaxy 手機上“執行任意代碼”。
不過,在 Jann Horn 看來,他更關注 Android 如何減少智能手機供應商向內核添加獨特代碼帶來的安全問題。Jann Horn 進一步補充説明:
比如説,較新的 Android 手機通過 Android 中專用的助手進程——統稱為硬件抽象層(HAL)——訪問硬件。但 Jann Horn 認為,智能手機供應商修改 Linux 內核代碼的工作方式會破壞上述努力。
不僅如此,Jann Horn 還表示,手機制造商應該使用 Linux 已經支持的直接硬件訪問功能,而不是定製 Linux 內核代碼。同時,Jann Horn 還指出,三星增加的一些定製功能是不必要的,如果它們被刪除了,也不會影響設備的安全性。
據 Jann Horn 的推測,PROCA 是為了限制已經獲得內核讀寫訪問權限的攻擊者。但他認為,三星可以通過引導工程資源,從一開始就阻止攻擊者獲得這種訪問權限,從而提高效率。
Jann Horn 解釋説:
雷鋒網按:本文編譯自 ZDNet
雷鋒網原創文章,未經授權禁止轉載。詳情見轉載須知。
資料來源:雷鋒網 作者/編輯:肖漫
手機產商造成的安全漏洞
據了解,GPZ 研究員 Jann Horn 在三星 Galaxy A50 的Android內核中發現錯誤。Jann Horn 指出,像三星這樣的智能手機制造商會通過添加下游定製驅動程序來直接訪問 Android 的 Linux 內核,結果造成了更多的安全漏洞。
同時,Jann Horn 還表示,三星的做法在所有智能手機廠商中相當普遍——即手機廠商向 Linux Kernel 中添加未經上游(upstream)內核開發者審核的下游(downstream)代碼,增加了與內存損壞有關的安全性錯誤。
儘管這些下游定製代碼旨在增加設備的安全性,但是它們可能會帶來新的安全漏洞。例如,三星原本準備增強內核安全的代碼結果帶來了內存損壞漏洞。2019 年 11 月,Google 向三星通報了這一漏洞。
雷鋒網(公眾號:雷鋒網)注:圖源三星
據悉,該漏洞影響了三星的額外安全子系統,這個額外的系統名為 PROCA 或 Process Authenticator 。隨後,在 2020 年 2 月,三星表示已在手機更新程序中修復了該漏洞。
另外,值得一提的是,三星在 2 月份的手機系統更新中還包括一個針對“TEEGRIS 設備”中嚴重缺陷的補丁。據介紹,TEEGRIS 設備指的是搭載三星專有 TEE 操作系統的較新 Galaxy 手機上的可信執行環境(TEE);而 Galaxy S10 就是 TEEGRIS 設備之一。
在三星的描述中,SVE-2019-16132 (雷鋒網按:三星對該漏洞的代號)是一個並不嚴重的問題,是由 PROCA 中的 Use-After-Free 和 Double-Free 漏洞組成,允許黑客在一些運行 Android 9.0 和 10.0 的 Galaxy 手機上“執行任意代碼”。
不過,在 Jann Horn 看來,他更關注 Android 如何減少智能手機供應商向內核添加獨特代碼帶來的安全問題。Jann Horn 進一步補充説明:
引用Android 已經通過鎖定哪些進程可以訪問設備驅動程序來降低此類代碼的安全影響。這些設備驅動程序通常是針對特定智能手機供應商的。
比如説,較新的 Android 手機通過 Android 中專用的助手進程——統稱為硬件抽象層(HAL)——訪問硬件。但 Jann Horn 認為,智能手機供應商修改 Linux 內核代碼的工作方式會破壞上述努力。
不僅如此,Jann Horn 還表示,手機制造商應該使用 Linux 已經支持的直接硬件訪問功能,而不是定製 Linux 內核代碼。同時,Jann Horn 還指出,三星增加的一些定製功能是不必要的,如果它們被刪除了,也不會影響設備的安全性。
據 Jann Horn 的推測,PROCA 是為了限制已經獲得內核讀寫訪問權限的攻擊者。但他認為,三星可以通過引導工程資源,從一開始就阻止攻擊者獲得這種訪問權限,從而提高效率。
Jann Horn 解釋説:
引用我認為,特定設備的內核修改最好上移到用户空間驅動程序中,因為在用户空間驅動程序中,它們可以用更安全的編程語言和 sandboxed 來執行,同時也不會使更新的內核版本複雜化。
雷鋒網按:本文編譯自 ZDNet
雷鋒網原創文章,未經授權禁止轉載。詳情見轉載須知。
資料來源:雷鋒網 作者/編輯:肖漫