簡體   English   中英

是否可以將SELinux策略與Android權限連接?

[英]Is it possible to connect SELinux policy with Android permissions?

我想授予Android權限(例如android.permission.DELETE_PACKAGES,其具有protectionLevel = system | signature),以通過SELinux策略使用給定簽名和/或給定包名稱簽名的應用程序,但是到目前為止,我還沒有找到了一種可行的方法。 mac_permissions.xml文件用於接受允許權限標簽,該標簽接受Android權限字符串,但是基於解析它的Lollipop代碼 ,該標簽似乎不再受支持。 無論如何,我都嘗試使用它,並且它肯定似乎被系統忽略了。

理想情況下,我只需要添加/修改SELinux策略文件,而不是聲明限制權限並指定其保護級別的核心AndroidManifest文件。 假設具有給定簽名/程序包的應用不會被PackageManager授予所述權限,因為它們缺少Android權限保護級別可以識別的任何特殊特權(由平台證書簽名,安裝在/ system等),並且該權限是在操作系統構建時聲明的系統權限(即,由frameworks / base / core / res AndroidManifest聲明)。

有沒有辦法允許給定的應用程序簽名/程序包使用SELinux的給定Android權限?

SE的所有MMAC工作都被SE for Android項目放棄,因為上游都沒有接受。 當前,沒有支持將軟件包權限與SE Linux策略相關聯的機制。 如果您正在構建Android,則可以在其樹中恢復該工作,則從此處開始的分支是seandroid分支: https ://bitbucket.org/seandroid/frameworks-base/branches/

但是,使用該代碼的最新分支已使用了一年多。 因此,您可能會遇到移植問題。

同樣,該代碼使用mac_permissions.xml文件控制訪問,但是EOPS擴展操作更改也將有用,您可以在其配置文件中了解它: https : //bitbucket.org/seandroid/external- sepolicy / src / ccb97c52cda2bac69c0499b3c76bc8e0d28d636c / eops.xml?at = seandroid-5.1.1&fileviewer = file-view-default

請記住,安裝時間權限檢查和eops更改雖然提供了一種強制性的訪問控制形式,但實際上並沒有使用SE Linux核心技術。 這樣,可以在啟用或不啟用selnux的內核中使用它。

如果確實希望將SE Linux與權限字符串耦合,則需要花費大量精力來標記權限,並讓程序包管理器服務(PMS)和活動管理器服務(AMS)計算是否允許訪問。

但是,既然每個應用程序都具有android權限控制,則不再需要大部分工作。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM