日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区

您的位置:首頁技術(shù)文章
文章詳情頁

詳解Android應(yīng)用沙盒機(jī)制

瀏覽:20日期:2022-09-19 10:02:31
前言

Android使用沙盒來保護(hù)用戶不受惡意應(yīng)用的侵害,同時(shí)也將應(yīng)用隔離開來,防止他們互相訪問其數(shù)據(jù),本文主要對(duì)Android應(yīng)用沙盒中的幾種技術(shù)做簡要的總結(jié)。

一、Android應(yīng)用DAC沙盒 稍微了解Android一點(diǎn)的人都知道,Android上的App并不像Linux上的用戶程序那樣,啟動(dòng)應(yīng)用的uid默認(rèn)就是登錄用戶的uid,除非你使用sudo或者setuid等機(jī)制。而是每個(gè)Android應(yīng)用都對(duì)應(yīng)了一個(gè)uid,也就是一個(gè)用戶,通過Linux系統(tǒng)的DAC機(jī)制將應(yīng)用的數(shù)據(jù)嚴(yán)格隔離開來。 Android并沒有使用/etc/passwd配置文件以及useradd、usermod和userdel等二進(jìn)制來管理用戶,這些東西對(duì)Android來說過于復(fù)雜。實(shí)際上Android應(yīng)用到uid的映射是由PackageManagerService完成的,也就是PMS,并且存儲(chǔ)在/data/system/packages.xml中。 將Android應(yīng)用使用DAC隔離開之后,如果應(yīng)用要訪問任何系統(tǒng)資源,便會(huì)被拒絕,所以Android設(shè)計(jì)了應(yīng)用權(quán)限機(jī)制來向應(yīng)用提供訪問系統(tǒng)資源的通道,同時(shí)保護(hù)系統(tǒng)資源不被濫用。 下面是在Pixel 2 XL (RP1A.201005.004.A1) 上面的一些例子

u:r:untrusted_app:s0:c161,c256,c512,c768 u0_a161 16613 887 14608676 86088 0 0 S com.google.android.apps.photosu:r:untrusted_app:s0:c138,c256,c512,c768 u0_a138 17204 888 1402772 138956 0 0 S com.android.chrome

可以看到相冊(cè)應(yīng)用的用戶為u0_a161,而Chrome瀏覽器應(yīng)用的用戶為u0_a138

二、Android應(yīng)用權(quán)限

Android應(yīng)用權(quán)限的核心類型分為四種:普通權(quán)限、危險(xiǎn)權(quán)限、簽名權(quán)限、簽名或系統(tǒng)權(quán)限

權(quán)限類型 權(quán)限行為 普通權(quán)限(Normal) 普通權(quán)限是只需要在AndroidManifest.xml中聲明后就可以使用的權(quán)限。 危險(xiǎn)權(quán)限(dangerous) 危險(xiǎn)權(quán)限除了需要在AndroidManifest.xml中聲明之外,在Android 6.0或更高版本還需要使用動(dòng)態(tài)權(quán)限API進(jìn)行申請(qǐng),并且用戶點(diǎn)擊同意之后才能使用;在Android 5.1以及更早版本,會(huì)在安裝時(shí)單獨(dú)列出危險(xiǎn)權(quán)限以特別提醒用戶。注意,如果自定義權(quán)限設(shè)置為了危險(xiǎn)權(quán)限,無論Android版本是多少都只是會(huì)在安裝時(shí)單獨(dú)列出危險(xiǎn)權(quán)限。 簽名權(quán)限(signature) 簽名權(quán)限僅會(huì)授予給與定義這個(gè)權(quán)限的包相同簽名的應(yīng)用。 簽名或系統(tǒng)權(quán)限(signatureOrSystem) signature|privileged的舊同義詞。簽名或系統(tǒng)權(quán)限與簽名權(quán)限唯一的區(qū)別就是,簽名或系統(tǒng)權(quán)限也允許授予給特權(quán)應(yīng)用(priv_app),該字段現(xiàn)已棄用。

在自定義權(quán)限中,經(jīng)常使用簽名權(quán)限來保護(hù)敏感的接口,使其只能被可信的應(yīng)用調(diào)用——那些具備和定義權(quán)限者相同簽名的應(yīng)用。

三、應(yīng)用信息的存儲(chǔ)

應(yīng)用信息的存儲(chǔ)上文已經(jīng)提到,位于/data/system/packages.xml中,這里面存儲(chǔ)了應(yīng)用的各種信息,下面是一個(gè)示例:

<package name='com.android.storagemanager' codePath='/system/priv-app/StorageManager' nativeLibraryPath='/system/priv-app/StorageManager/lib' publicFlags='541605445' privateFlags='8' ft='165151eba60' it='165151eba60' ut='165151eba60' version='29' user appUseNotchMode='0' appUseSideMode='1' hwExtraFlags='0' isOrphaned='true' forceDarkMode='2'> <sigs count='1' schemeVersion='1'><cert index='13' /> </sigs> <perms><item name='android.permission.USE_RESERVED_DISK' granted='true' flags='0' /><!-- ... --> </perms> <proper-signing-keyset identifier='3' /></package><package name='com.android.settings' codePath='/system/priv-app/Settings' nativeLibraryPath='/system/priv-app/Settings/lib' publicFlags='675823173' privateFlags='8' ft='165151eba60' it='165151eba60' ut='165151eba60' version='10010400' sharedUser appUseNotchMode='0' appUseSideMode='1' hwExtraFlags='0' isOrphaned='true' forceDarkMode='2'> <sigs count='1' schemeVersion='1'><cert index='0' /> </sigs> <perms><item name='android.permission.REAL_GET_TASKS' granted='true' flags='0' /><!-- ... --> </perms> <proper-signing-keyset identifier='1' /></package> 可以看到這個(gè)文件中存儲(chǔ)有很多內(nèi)容,最關(guān)鍵的信息包括應(yīng)用的uid、包名、各類路徑,以及定義和授予的權(quán)限。 例如StorageManager這個(gè)應(yīng)用的uid是10036,而設(shè)置的uid是1000,也就是system的uid。 四、應(yīng)用權(quán)限的映射 我們知道Android使用的是Linux內(nèi)核,而在Linux的安全模型中,如果需要訪問系統(tǒng)資源,訪問系統(tǒng)資源的用戶和進(jìn)程必須具備相應(yīng)的權(quán)限。 Android如何將自行定義的Android權(quán)限映射到Linux層面的權(quán)限呢?答案就位于/etc/permissions/platform.xml中,下面是該文件的節(jié)選:

<permission name='android.permission.BLUETOOTH_ADMIN' > <group g /></permission><permission name='android.permission.BLUETOOTH' > <group g /></permission>

這里顯示的就是,Android的兩個(gè)藍(lán)牙權(quán)限,分別對(duì)應(yīng)了net_bt_admin和net_bt兩個(gè)Linux組,在應(yīng)用被授予相應(yīng)的權(quán)限時(shí),PMS會(huì)自動(dòng)將應(yīng)用uid加入這兩個(gè)組中,這樣應(yīng)用就擁有了相應(yīng)系統(tǒng)資源的訪問權(quán)限了。

五、應(yīng)用的SELinux標(biāo)簽

在Android引入SELinux之后,對(duì)應(yīng)用權(quán)限的劃分更為細(xì)致,Android默認(rèn)將應(yīng)用分為四種:不可信應(yīng)用、特權(quán)應(yīng)用、平臺(tái)應(yīng)用和系統(tǒng)應(yīng)用。

SELinux標(biāo)簽 標(biāo)簽行為 不可信應(yīng)用(untrusted_app) 不可信應(yīng)用擁有最少的特權(quán),訪問系統(tǒng)資源受到嚴(yán)格限制,所有用戶安裝的應(yīng)用以及部分預(yù)裝應(yīng)用都屬于此標(biāo)簽。 特權(quán)應(yīng)用(priv-app) 特權(quán)應(yīng)用位于/system/priv-app目錄或OEM定義的其它目錄下,不可卸載,但不以system uid運(yùn)行。 平臺(tái)應(yīng)用(platform_app) 平臺(tái)應(yīng)用具備平臺(tái)簽名,但不以system uid運(yùn)行。除了AOSP和部分第三方ROM之外,幾乎所有的OEM都不會(huì)公開其平臺(tái)私鑰,所以一般情況下平臺(tái)應(yīng)用只能是OEM提供的。 系統(tǒng)應(yīng)用(system_app) 系統(tǒng)應(yīng)用既具備平臺(tái)簽名,又以system uid運(yùn)行(配置android:sharedUserId=”android.uid.system”)。使用system uid運(yùn)行意味著它們可以不受應(yīng)用沙盒的限制,并能訪問絕大部分Android框架中的系統(tǒng)資源。

下面是在Pixel 2 XL (RP1A.201005.004.A1) 上面的一些例子

可以得出以下結(jié)論:

Chrome在這臺(tái)手機(jī)上是untrusted_app 啟動(dòng)器nexuslauncher在這臺(tái)手機(jī)上是priv_app systemui在這臺(tái)手機(jī)上是platform_app 設(shè)置settings在這臺(tái)手機(jī)上是system_app

顯然其中只有設(shè)置是以system uid運(yùn)行的,其它進(jìn)程使用的都是普通的應(yīng)用uid。

六、Android應(yīng)用MAC沙盒

上面所說的SELinux標(biāo)簽,Android在源代碼中為它們定義了不同的SELinux政策,這便實(shí)現(xiàn)了MAC層面的沙盒增強(qiáng)。

以上就是詳解Android應(yīng)用沙盒機(jī)制的詳細(xì)內(nèi)容,更多關(guān)于Android應(yīng)用沙盒機(jī)制的資料請(qǐng)關(guān)注好吧啦網(wǎng)其它相關(guān)文章!

標(biāo)簽: Android
相關(guān)文章:
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
麻豆mv在线观看| 欧美久久精品| 国产超碰精品| 亚洲成人不卡| 久久免费黄色| 欧美日韩国产一区精品一区| 激情综合网五月| 一区二区精品伦理...| 在线天堂中文资源最新版| 麻豆视频一区| 国产aⅴ精品一区二区四区| 国产欧美亚洲一区| 久久97视频| 国产在线不卡一区二区三区 | 免费污视频在线一区| 日韩精品永久网址| 91精品1区| 日韩中文字幕一区二区三区| 日韩视频1区| 国产精品宾馆| 日韩亚洲一区在线| 久久精品国语| 国产美女一区| 综合激情网站| 久久精品99国产精品日本| 国产午夜久久av| 国产精品v亚洲精品v日韩精品| 日本午夜精品久久久| 日韩精品欧美成人高清一区二区| 国产欧美一区二区三区米奇| 免费在线亚洲欧美| 亚洲精品国产嫩草在线观看| 国产视频一区欧美| 欧美日韩亚洲一区三区| 麻豆精品在线播放| 国产精品字幕| 国产农村妇女精品一二区| 日韩三级久久| 福利视频一区| 91久久中文| 国产亚洲一区二区三区不卡| 欧美www视频在线观看| 久久婷婷av| 国产精品婷婷| 国产精品视频一区二区三区 | 精品欧美日韩精品| 色婷婷精品视频| 日韩视频在线一区二区三区 | 国精品产品一区| 欧美亚洲在线日韩| 日韩高清成人在线| 97精品视频在线看| 亚洲专区欧美专区| 蜜桃精品视频| 婷婷六月综合| 国产美女精品视频免费播放软件| 色乱码一区二区三区网站| 中文精品在线| 久久精品资源| 91精品高清| 少妇精品久久久一区二区| 麻豆精品在线| 国产亚洲高清视频| 国产精品1区| 蜜桃一区二区三区| 国产精品久久久网站| 亚洲高清激情| 麻豆精品国产91久久久久久| 免费视频一区三区| 久久国内精品| 激情综合网站| 精品视频久久| 四虎精品永久免费| 国产99亚洲| 国产伦一区二区三区| 亚洲成a人片| 亚洲1区在线| 亚洲v在线看| 国产精品宾馆| 在线精品一区二区| 亚洲午夜在线| 精品国产精品久久一区免费式| 视频一区在线视频| caoporn视频在线| 日韩精品免费观看视频| 99免费精品| 美腿丝袜亚洲三区| 亚洲视频二区| 欧美va天堂在线| 国产成人在线中文字幕| 亚洲综合中文| 蜜桃一区二区三区| 国产精品13p| 日韩精品亚洲专区在线观看| 一区二区小说| 激情不卡一区二区三区视频在线| 日韩激情视频网站| 国产精品88久久久久久| 久久久精品区| 欧美日韩在线精品一区二区三区激情综合| 免费视频亚洲| 丝袜美腿诱惑一区二区三区| 久久精品一本| 国产欧美二区| 日本欧美久久久久免费播放网| 亚洲精品午夜av福利久久蜜桃| 久久久91麻豆精品国产一区| 日韩精品国产精品| 天堂va蜜桃一区二区三区| 亚洲香蕉网站| 啪啪国产精品| 精品三级av| 免费亚洲婷婷| 欧美天堂一区| 亚州av一区| 婷婷精品久久久久久久久久不卡| 噜噜噜躁狠狠躁狠狠精品视频 | 色黄视频在线观看| 久久久久亚洲精品中文字幕| 中文字幕乱码亚洲无线精品一区| 亚洲一区二区三区高清不卡| 亚洲高清二区| 欧美91视频| 国产精品99免费看| 久久久久一区| 激情欧美丁香| 国产在线日韩| 激情婷婷久久| 图片区亚洲欧美小说区| 99精品视频在线| 国产精品99免费看| 五月天久久久| 亚洲视频播放| 亚洲91网站| 亚洲精品极品| 亚洲无线观看| 青草久久视频| 国产欧美日韩视频在线| 久久激情五月婷婷| 国产精品第一国产精品| 国产精品成人自拍| 久久精品一区二区三区中文字幕| 久久精品理论片| 国产成年精品| 日韩大片在线| 婷婷丁香综合| 免费精品视频最新在线| 亚洲精品乱码日韩| 欧美日韩va| 麻豆国产欧美一区二区三区| 国产精品蜜芽在线观看| 丝袜美腿一区| 日韩视频中文| 亚洲精品麻豆| 国产精品日本一区二区不卡视频| 久久国产精品免费精品3p| 国产日韩欧美三区| 国产精品麻豆久久| 99久久99视频只有精品 | 国产亚洲一区二区三区不卡| 久久精品国产亚洲aⅴ| 久久精品123| 精品久久久久久久| 久久精品系列| 久久精品毛片| 国内精品99| 日本不卡高清| 国产不卡av一区二区| 国产韩日影视精品| 亚洲精品一区二区在线播放∴| 国产精品一区二区三区av麻| 丰满少妇一区| 欧美日韩四区| 国产日韩一区| 欧美日韩中文一区二区| 免费在线欧美视频| 国产精品中文字幕制服诱惑| 狠狠躁少妇一区二区三区| 欧美高清不卡| 日韩亚洲精品在线观看| 高清一区二区三区av| 影音先锋国产精品| 国产精品啊啊啊| 亚洲激情不卡| 久久精品av麻豆的观看方式| 91精品韩国| 日韩精品午夜视频| 免费一二一二在线视频| 免费在线视频一区| 91视频久久| 亚洲精品一级| 麻豆精品蜜桃| 日韩av中文在线观看| 成人在线黄色| 一本综合精品| 韩国精品主播一区二区在线观看| 亚洲2区在线| 亚洲手机在线| 久久精品亚洲| 日韩1区2区3区|