• <tr id="yyy80"></tr>
  • <sup id="yyy80"></sup>
  • <tfoot id="yyy80"><noscript id="yyy80"></noscript></tfoot>
  • 99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

    基于訪問控制列表機(jī)制的Android權(quán)限管控方案

    2019-12-23 07:19曹震寰蔡小孩顧夢(mèng)鶴顧小卓李曉偉
    計(jì)算機(jī)應(yīng)用 2019年11期
    關(guān)鍵詞:數(shù)據(jù)安全

    曹震寰 蔡小孩 顧夢(mèng)鶴 顧小卓 李曉偉

    摘 要:Android采用基于權(quán)限的訪問控制方式對(duì)系統(tǒng)資源進(jìn)行保護(hù),其權(quán)限管控存在管控力度過粗的問題。同時(shí),部分惡意程序會(huì)在用戶不知情的情況下,在隱私場(chǎng)景下偷偷地對(duì)資源進(jìn)行訪問,給用戶隱私和系統(tǒng)資源帶來一定的威脅。在原有權(quán)限管控的基礎(chǔ)上引入了訪問控制列表(ACL)機(jī)制,設(shè)計(jì)并實(shí)現(xiàn)了一個(gè)基于ACL機(jī)制的Android細(xì)粒度權(quán)限管控系統(tǒng)。所提系統(tǒng)能根據(jù)用戶的策略動(dòng)態(tài)地設(shè)置應(yīng)用程序的訪問權(quán)限,避免惡意代碼的訪問,保護(hù)系統(tǒng)資源。對(duì)該系統(tǒng)的兼容性、有效性的測(cè)試結(jié)果表明,該系統(tǒng)能夠?yàn)閼?yīng)用程序提供穩(wěn)定的環(huán)境。

    關(guān)鍵詞:Android;數(shù)據(jù)安全;細(xì)粒度權(quán)限管控;訪問控制列表機(jī)制;系統(tǒng)資源

    中圖分類號(hào):TP309

    文獻(xiàn)標(biāo)志碼:A

    Android permission management and control scheme based on access control list mechanism

    CAO Zhenhuan1, CAI Xiaohai2, GU Menghe3, GU Xiaozhuo2*, LI Xiaowei4

    1.Gansu Information Center, Lanzhou Gansu 730030, China;

    2.Institute of Information Engineering, Chinese Academy of Sciences, Beijing 100093, China;

    3.Northwest Institute of EcoEnvironment and Resources, Chinese Academy of Sciences,Lanzhou Gansu 730030, China;

    4.Information Center of Gansu Association for Science and Technology, Lanzhou Gansu 730030, China

    Abstract:

    Android uses the permissionbased access control method to protect the system resources, which has the problem of rough management. At the same time, some malicious applications can secretly access resources in a privacy scenario without the users permission, bringing certain threats to user privacy and system resources. Based on the original permission management and control and with the introduction of Access Control List (ACL) mechanism, an Android finegrained permission management and control system based on ACL mechanism was designed and implemented. The proposed system can dynamically set the access rights of the applications according to the users policy, avoiding the access of malicious codes to protect system resources. Tests of compatibility and effectiveness show that the system provides a stable environment for applications.

    Key words:

    Android; information security; finegrained permission control; Access Control List (ACL) mechanism; system resource

    0?引言

    Android是主流的移動(dòng)智能終端操作系統(tǒng), 隨著第三方應(yīng)用程序市場(chǎng)的不斷擴(kuò)大、用戶數(shù)量的不斷增長以及Android應(yīng)用開發(fā)成本相對(duì)低等原因,Android成為目前市場(chǎng)占有率最高的移動(dòng)設(shè)備操作系統(tǒng)。移動(dòng)終端給人們的工作和生活帶來了便利,但網(wǎng)絡(luò)信息安全問題也隨之出現(xiàn)。如果開發(fā)者對(duì)敏感數(shù)據(jù)不能有效的保護(hù),那么用戶可能會(huì)面臨嚴(yán)重的隱私泄露威脅。隨著人們對(duì)Android數(shù)據(jù)安全性要求的提高,Android權(quán)限管控機(jī)制相關(guān)的研究也顯得尤為重要。

    Android系統(tǒng)繼承了Linux系統(tǒng)的諸多優(yōu)點(diǎn),但是Android系統(tǒng)目前不支持訪問控制列表(Access Control List, ACL)[1]機(jī)制。早期版本的Android采用基于權(quán)限的訪問控制方式對(duì)系統(tǒng)資源進(jìn)行保護(hù)。在程序安裝時(shí),如果需要申請(qǐng)某一權(quán)限可在AndroidManifest.xml文件中使用Usespermission標(biāo)簽申明,包管理器PackageManager負(fù)責(zé)解析。只有用戶同意授權(quán)后,此應(yīng)用程序的安裝才開始,一旦用戶不同意某種或多種類型的權(quán)限,系統(tǒng)將會(huì)終止安裝。在應(yīng)用程序成功安裝后運(yùn)行時(shí),系統(tǒng)會(huì)根據(jù)被授予權(quán)限回應(yīng)程序的敏感操作。Android 6.0 版本引入運(yùn)行時(shí)權(quán)限, 運(yùn)行時(shí)權(quán)限繼承了安裝時(shí)權(quán)限的部分特性,對(duì)于危險(xiǎn)級(jí)別的權(quán)限,使用運(yùn)行時(shí)權(quán)限策略來處理。運(yùn)行時(shí)權(quán)限策略,除了需要在AndroidManifest中顯式申請(qǐng),還需要開發(fā)者在代碼中用到的地方加入顯式的申請(qǐng)的邏輯,這也成為惡意應(yīng)用程序大肆傳播的原因。對(duì)于一些惡意代碼,能夠通過本地代碼和JNI(Java Native Interface)技術(shù)繞過permission機(jī)制的權(quán)限檢查,如果Android內(nèi)核層的UGO(User/Group/Others)權(quán)限訪問機(jī)制不能有效管控,應(yīng)用就能直接訪問系統(tǒng)資源。而對(duì)于獲得root權(quán)限的應(yīng)用程序,它們擁有訪問整個(gè)系統(tǒng)資源的權(quán)限,Android內(nèi)核層的UGO權(quán)限訪問機(jī)制對(duì)于這種應(yīng)用程序的訪問并不起作用,從而給用戶隱私和系統(tǒng)資源帶來了嚴(yán)重的威脅。

    一個(gè)安全操作系統(tǒng)必須具有良好的訪問控制來控制主體對(duì)客體的活動(dòng),自主訪問控制(Discretionary Access Control, DAC)機(jī)制是安全操作系統(tǒng)必不可少的安全機(jī)制之一,ACL是非常成熟地實(shí)現(xiàn)DAC的有效方法。針對(duì)以上問題,通過調(diào)研分析,本文提出了基于ACL訪問控制機(jī)制的Android細(xì)粒度權(quán)限管控方案。該方案在原有UGO訪問控制的基礎(chǔ)上,增加了ACL的權(quán)限檢查,根據(jù)應(yīng)用程序的UID(User IDentification)動(dòng)態(tài)配置系統(tǒng)資源和管控應(yīng)用程序的ACL權(quán)限。

    本文從Android內(nèi)核、運(yùn)行時(shí)動(dòng)態(tài)庫兩層入手使其支持ACL權(quán)限信息相關(guān)設(shè)置:對(duì)于內(nèi)核層,重新定制編譯內(nèi)核特性,使ACL權(quán)限信息成為文件系統(tǒng)支持的擴(kuò)展屬性之一;對(duì)于動(dòng)態(tài)庫,移植Linux中ACL訪問控制機(jī)制相關(guān)源碼到Android,生成系統(tǒng)動(dòng)態(tài)庫供系統(tǒng)其他進(jìn)程調(diào)用。該系統(tǒng)起初調(diào)試運(yùn)行于Android 5.1.1平臺(tái),后又在LineageOS Android 8.1.0進(jìn)行了兼容性測(cè)試。添加了新的系統(tǒng)服務(wù),為授權(quán)了的應(yīng)用程序提供執(zhí)行ACL權(quán)限設(shè)置相關(guān)的API(Application Programming Interface)。為了增加安全性,與權(quán)限設(shè)置相關(guān)的行為通過原本為root權(quán)限的zygote執(zhí)行,系統(tǒng)在zygote中注入調(diào)用ACL動(dòng)態(tài)庫相關(guān)操作和socket通信相關(guān)代碼,使其能順利地通過socket和system server進(jìn)行通信,同時(shí),為了讓用戶能夠動(dòng)態(tài)、方便地根據(jù)自己的需求制定特定資源權(quán)限訪問策略,本系統(tǒng)提供了權(quán)限管控中心,該權(quán)限管控中心提供系統(tǒng)資源ACL訪問權(quán)限獲取和系統(tǒng)資源ACL訪問權(quán)限設(shè)置的功能。

    本文基于ACL訪問控制機(jī)制的權(quán)限管控系統(tǒng)進(jìn)行了全面的測(cè)試,包括系統(tǒng)的兼容性測(cè)試、有效性測(cè)試和高版本兼容性測(cè)試。結(jié)果表明該系統(tǒng)能夠?yàn)閼?yīng)用程序提供穩(wěn)定的環(huán)境。

    1?相關(guān)工作

    1.1?Android權(quán)限管控方式

    在Android中,權(quán)限管控主要有兩種方式,位于不同的層面:一種是Android permission機(jī)制,位于Android應(yīng)用框架層; 另一種是基于Linux操作系統(tǒng)的安全機(jī)制,位于Android內(nèi)核層。Android 6.0版本引入運(yùn)行時(shí)權(quán)限, 運(yùn)行時(shí)權(quán)限授予從安裝權(quán)限演進(jìn)而來,對(duì)于正常的權(quán)限,安裝時(shí)須在AndroidManifest.xml中顯式聲明。對(duì)于危險(xiǎn)權(quán)限,不但需要在AndroidManifest.xml中聲明,而且還需要用戶明確授予,如果設(shè)備運(yùn)行的是Android 6.0或更高版本,并且應(yīng)用的targetSdkVersion是23或更高版本,則應(yīng)用在運(yùn)行時(shí)向用戶請(qǐng)求權(quán)限。如果設(shè)備運(yùn)行的是Andorid 5.1(API級(jí)別22)或更低版本,并且應(yīng)用的targetSdkVersion是22或更低版本,應(yīng)用程序安裝時(shí),系統(tǒng)會(huì)將AndroidManifest.xml文件中的permission信息保存在package.xml文件中。程序啟動(dòng)后,就會(huì)將package.xml中的權(quán)限信息讀取至內(nèi)存中,在APP(Application)進(jìn)行資源訪問時(shí),系統(tǒng)服務(wù)調(diào)用System Server提供的PermCheck函數(shù)對(duì)比資源要求的permission許可和內(nèi)存中的許可,進(jìn)行訪問控制決策。

    如果應(yīng)用程序使用Java API、Android API甚至本地代碼的方式觸發(fā)系統(tǒng)調(diào)用訪問由Linux內(nèi)核管理的資源,系統(tǒng)采用內(nèi)核層Linux的UGO自主訪問控制機(jī)制管控應(yīng)用程序的訪問,該機(jī)制利用UID/GID(Group Identification)機(jī)制原理完成權(quán)限管控。對(duì)于用戶在安裝時(shí)授予應(yīng)用程序的某個(gè)特定權(quán)限,系統(tǒng)會(huì)將應(yīng)用程序UID與該權(quán)限對(duì)應(yīng)的用戶組進(jìn)行綁定。應(yīng)用程序啟動(dòng)時(shí),該應(yīng)用程序就具備了使用該權(quán)限的能力,應(yīng)用程序訪問資源時(shí),則會(huì)檢查該應(yīng)用UID與資源用戶組的關(guān)系,判斷訪問是否合法。

    1.2?Android安全機(jī)制研究方向

    目前研究人員針對(duì)Android中基于權(quán)限的安全機(jī)制的進(jìn)行研究和改進(jìn)主要有兩個(gè)方面:一個(gè)是permission機(jī)制相關(guān)的研究,另一個(gè)是內(nèi)核層的安全增強(qiáng)方案。對(duì)于permission機(jī)制粗粒度權(quán)限管控的問題,研究人員提出了多種permission機(jī)制擴(kuò)展工作,主要通過應(yīng)用程序APK(AndroidPacKage)的靜態(tài)分析和運(yùn)行時(shí)權(quán)限分析這兩種方式。

    1.2.1?應(yīng)用程序安裝包靜態(tài)分析

    應(yīng)用程序安裝包靜態(tài)分析集中在對(duì)應(yīng)用程序申請(qǐng)的permission權(quán)限進(jìn)行靜態(tài)分析上。APKTool[2]是Android程序逆向分析工具。Stowaway[3]用于檢查應(yīng)用程序是否過度申請(qǐng)permission權(quán)限。ScanDroid[4]通過掃描manifest文件并和下載的應(yīng)用市場(chǎng)中的描述進(jìn)行對(duì)比,判斷是否一致。Enck等[5]提出的Kirin服務(wù)制定了一套permission組合的策略,此服務(wù)的主要功能是安裝應(yīng)用程序時(shí)進(jìn)行輕量級(jí)認(rèn)證,從中發(fā)現(xiàn)可能會(huì)對(duì)個(gè)人信息或系統(tǒng)造成危害的潛在威脅。

    1.2.2?運(yùn)行時(shí)權(quán)限分析

    文獻(xiàn)[6-8]方案通過運(yùn)行時(shí)對(duì)Permission進(jìn)行細(xì)粒度的訪問控制,從而加固了permission機(jī)制。

    針對(duì)以上問題,研究者們提出了Apex(Android permission Extension)[6]框架對(duì)permission機(jī)制的“全是或全否”進(jìn)行了改進(jìn),允許用戶有選擇性地對(duì)應(yīng)用進(jìn)行permission授權(quán)。TISSA(Taming InformationStealing Smartphone Applications)[7]在Android上實(shí)現(xiàn)了隱私模式。Saint[8]是一個(gè)為開發(fā)者提供的解決方案,它允許開發(fā)者在安裝或運(yùn)行時(shí)為自己的APP設(shè)置安全策略。上述方案依賴于策略數(shù)據(jù)庫,當(dāng)應(yīng)用程序獲取到root權(quán)限后,策略數(shù)據(jù)庫文件能夠被篡改或刪除,從而影響系統(tǒng)安全。

    動(dòng)態(tài)污點(diǎn)分析工具TaintDroid[9]為敏感數(shù)據(jù)源加上標(biāo)簽,修改Dalvik虛擬機(jī)實(shí)現(xiàn)對(duì)帶標(biāo)簽數(shù)據(jù)的流向追蹤,檢測(cè)是否有數(shù)據(jù)流出,造成數(shù)據(jù)泄露。AppFence[10]在TaintDroid的基礎(chǔ)上使用偽造的數(shù)據(jù)來代替真實(shí)的數(shù)據(jù)。VetDroid[11]、 MockDroid[12]通過離線分析不可信的應(yīng)用程序?qū)ermission的使用來發(fā)現(xiàn)惡意行為。

    1.2.3?內(nèi)核層安全增強(qiáng)方案

    文獻(xiàn)[13]研究結(jié)論表明部分惡意程序能通過本地代碼繞開permission機(jī)制,還有些惡意應(yīng)用程序獲取root權(quán)限后,擁有訪問所有資源的權(quán)限。

    2010年,Shabtai等[14]提出了以SELinux (SecurityEnhanced Linux) 為內(nèi)核實(shí)現(xiàn)Android安全機(jī)制增強(qiáng)的思路,制定了一套細(xì)粒度的訪問控制方案,但是SELinux的性能損耗比較嚴(yán)重。2011年,Bugiel等[15]以TOMOYO Linux為安全增強(qiáng)內(nèi)核,開發(fā)了TrustDroid[16]系統(tǒng)。為了解決SELinux性能消耗較大的問題,2013年Smalley等[17]實(shí)現(xiàn)了基于SELinux 內(nèi)核的Android 系統(tǒng),SEAndroid(SecurityEnhanced Android)。上述方案都是在Linux層面上改變了文件的訪問控制方式,將原來的自主訪問控制DAC轉(zhuǎn)換成為強(qiáng)制訪問控制MAC(Mandatory Access Control), 文獻(xiàn)[18-20]還有不少針對(duì)內(nèi)核層提出的安全增強(qiáng)方案。

    1.3?ACL訪問控制機(jī)制

    ACL是非常成熟的權(quán)限管理手段之一,國內(nèi)外的安全操作系統(tǒng),如Trusted Xenix、Trusted BSD、IRIX等,都采用ACL提供更細(xì)粒度和更靈活方便的自主訪問控制。ACL的原理非常簡單:每一項(xiàng)資源,都配有一個(gè)列表,這個(gè)列表記錄的就是哪些用戶可以對(duì)這項(xiàng)資源執(zhí)行CRUD(Create\Retrieve\Update\Delete)中的哪些操作。當(dāng)系統(tǒng)試圖訪問這項(xiàng)資源時(shí),會(huì)首先檢查這個(gè)列表中是否有關(guān)于當(dāng)前用戶的訪問權(quán)限,從而確定當(dāng)前用戶可否執(zhí)行相應(yīng)的操作。由于ACL的簡單性,使得它幾乎不需要任何基礎(chǔ)設(shè)施就可以完成訪問控制。ACL可以對(duì)單個(gè)用戶、單個(gè)用戶組進(jìn)行權(quán)限細(xì)化。ACL機(jī)制可以通過setfacl指令設(shè)置權(quán)限,通過getfacl獲得資源權(quán)限。設(shè)置ACL權(quán)限可以使用setfaclm u:user:rwx file或setfaclm g:group:rfile分別表示對(duì)用戶和組設(shè)置訪問權(quán)限,其中,u表示對(duì)用戶設(shè)置權(quán)限,g表示對(duì)組設(shè)置權(quán)限,user可以用用戶ID以及用戶名來表示,同樣group可以使用組ID以及組名來表示,file為客體。獲取ACL信息時(shí)執(zhí)行g(shù)etfacl file指令。獲得的ACL權(quán)限每一行都是一個(gè)ACL實(shí)體,所有的ACL實(shí)體構(gòu)成文件的ACL屬性。實(shí)體由三部分組成,每部分之間使用“:”進(jìn)行分割。三部分為:

    1)e_tag 實(shí)體標(biāo)志:ACL_USER_OBJ、ACL_USER、ACL_GROUP_OBJ、ACL_GROUP、ACL_MASK、ACL_OTHER。

    2)e_id:用戶id或組id,即uid或gid。

    3)e_perm:訪問權(quán)限,即rwx。

    2?Android中ACL權(quán)限管控設(shè)計(jì)

    2.1?Android中基于ACL的細(xì)粒度權(quán)限管控

    本文提出了一種基于Linux中ACL訪問控制機(jī)制的權(quán)限管控方案,該方案能夠讓用戶根據(jù)自己的需求制定訪問策略,從而減小惡意程序在隱私場(chǎng)景下對(duì)資源的濫用帶來的風(fēng)險(xiǎn)。

    圖1描述了本系統(tǒng)中應(yīng)用程序訪問文件等資源時(shí)的權(quán)限檢查流程。在Android中,繞過permission權(quán)限檢查以及直接訪問系統(tǒng)資源的進(jìn)程,應(yīng)用會(huì)通過Android內(nèi)核層的UGO自主訪問控制的權(quán)限檢查。首先,系統(tǒng)先進(jìn)行一般性錯(cuò)誤檢查,用于檢查一些常規(guī)的錯(cuò)誤;通過該項(xiàng)檢查后;再通過進(jìn)程所在的組的GID來判斷是否有權(quán)限訪問資源,即基于Linux UID/GID的安全檢查,就是根據(jù)進(jìn)程所在的組的GID來判斷是否有權(quán)限訪問資源; 最后再判斷這些訪問是否符合SEAndroid的訪問策略。本文提出的改進(jìn)系統(tǒng)在原有UGO權(quán)限檢查之后,增加了一個(gè)新的ACL訪問控制機(jī)制的訪問權(quán)限判斷,如圖1虛線框中的權(quán)限檢查。

    ACL訪問控制機(jī)制的引入的意義在于,通過ACL訪問權(quán)限的開關(guān),可以動(dòng)態(tài)地對(duì)資源進(jìn)行權(quán)限管控,只有在通過Linux UID/GID的安全檢查后,才會(huì)進(jìn)入到權(quán)限檢查,而且不受SEAndroid的干預(yù),因?yàn)镾EAndroid不允許用戶對(duì)其進(jìn)行修改。

    ACL根據(jù)用戶UID設(shè)置資源訪問權(quán)限,Android 4.2版本引入多用戶模式,每個(gè)用戶有一個(gè)唯一的UserId,每個(gè)應(yīng)用程序都擁有唯一的Application ID(AppId)。UserId+AppId 才等于 Linux 下的UID。在通過UGO檢查后,用戶再根據(jù)自身需求設(shè)置應(yīng)用程序訪問資源的權(quán)限,該方案是一種細(xì)粒度權(quán)限管控的方案。

    2.2?基于ACL的權(quán)限管控系統(tǒng)架構(gòu)

    圖2為基于ACL的Android資源訪問的權(quán)限管控系統(tǒng)的總體框架圖,系統(tǒng)主要包含三個(gè)模塊,分別為:ACL訪問控制機(jī)制支持、ACL服務(wù)模塊以及權(quán)限管控中心三個(gè)模塊,圖2描述了每個(gè)模塊大體的結(jié)構(gòu)以及每個(gè)模塊之間的調(diào)用關(guān)系。

    2.2.1?ACL訪問控制機(jī)制支持模塊

    ACL訪問控制機(jī)制目前主要應(yīng)用在Linux文件系統(tǒng)的權(quán)限管控中,雖然Android內(nèi)核基于Linux,但是精簡過的Android內(nèi)核對(duì)其并不支持。該模塊主要的工作就是將Linux 中的ACL訪問控制機(jī)制從Linux移植到Android中,從而實(shí)現(xiàn)對(duì)ACL訪問控制機(jī)制的支持。該模塊重新定制了Android內(nèi)核,使內(nèi)核層的文件系統(tǒng)支持ACL這一文件擴(kuò)展屬性, 而Android中的函數(shù)調(diào)用都通過函數(shù)庫也就是.so的動(dòng)態(tài)庫的形式進(jìn)行調(diào)用訪問, 因此該模塊還對(duì)Linux中的ACL動(dòng)態(tài)庫源碼進(jìn)行了移植,最終提供一個(gè)可調(diào)用的動(dòng)態(tài)庫作為輸出。除此以外,為了驗(yàn)證移植后ACL權(quán)限管控的有效性,該模塊提供了設(shè)置,獲取ACL相關(guān)的命令行二進(jìn)制指令。

    2.2.2?ACL服務(wù)模塊

    本模塊在ACL訪問控制機(jī)制支持模塊基礎(chǔ)上,構(gòu)造了一個(gè)ACLService的系統(tǒng)服務(wù),為上層的權(quán)限管控中心提供了設(shè)置以及獲取資源ACL權(quán)限的API,同時(shí),調(diào)用動(dòng)態(tài)庫中與ACL權(quán)限相關(guān)的函數(shù),對(duì)資源的擴(kuò)展屬性進(jìn)行操作。該模塊分別對(duì)zygote和system_server進(jìn)行了注入,使其分別為服務(wù)端和客戶端進(jìn)行通信,system_server作為客戶端給zygote發(fā)送ACLService系統(tǒng)服務(wù)中的請(qǐng)求,zygote接收到請(qǐng)求后調(diào)用ACL訪問控制機(jī)制支持模塊中動(dòng)態(tài)庫相關(guān)函數(shù)執(zhí)行操作。為了確保安全性,本系統(tǒng)將執(zhí)行權(quán)限設(shè)置相關(guān)的函數(shù)交由擁有root權(quán)限的zygote進(jìn)行設(shè)置,否則會(huì)造成普通用戶權(quán)限過大的問題。

    2.2.3?權(quán)限管控中心

    權(quán)限管控中心位于整個(gè)系統(tǒng)的最頂層,主要負(fù)責(zé)與用戶進(jìn)行交互,用戶可以在權(quán)限管控中心對(duì)資源進(jìn)行管控,同時(shí)也可以方便地獲取指定資源的訪問控制列表。該中心主要有兩個(gè)功能:一個(gè)是權(quán)限監(jiān)管功能,另一個(gè)是權(quán)限操作功能。權(quán)限監(jiān)管可以實(shí)時(shí)地獲取特定資源的權(quán)限信息,查看哪些應(yīng)用可以對(duì)其進(jìn)行訪問。權(quán)限監(jiān)管還能記錄對(duì)特定資源執(zhí)行過的所有操作,權(quán)限操作功能能夠通過發(fā)送權(quán)限設(shè)置請(qǐng)求給ACL服務(wù)模塊,動(dòng)態(tài)地設(shè)置資源權(quán)限。在收到服務(wù)模塊執(zhí)行請(qǐng)求的結(jié)果后,把執(zhí)行結(jié)果反饋給用戶。

    上述三個(gè)模塊構(gòu)成了基于ACL訪問控制機(jī)制的權(quán)限訪問系統(tǒng)的主要架構(gòu)。首先,用戶在權(quán)限管控中心應(yīng)用程序中執(zhí)行設(shè)置應(yīng)用程序訪問權(quán)限的操作,該操作調(diào)用ACLService系統(tǒng)服務(wù)中相關(guān)API。系統(tǒng)服務(wù)中的API通過封裝后將資源、權(quán)限、應(yīng)用程序UID等參數(shù)傳遞給system_server,最后system_server通過socket與zygote進(jìn)行交互。zygote作為服務(wù)端接收到來自system_server的消息后,執(zhí)行權(quán)限設(shè)置的操作并將執(zhí)行結(jié)果返回到system_server中。ACL訪問控制機(jī)制支持模塊將zygote執(zhí)行的操作落實(shí)到權(quán)限管控中。先被使用的ACL動(dòng)態(tài)庫會(huì)調(diào)用Android系統(tǒng)庫bionic中與擴(kuò)展屬性相關(guān)的函數(shù),再通過系統(tǒng)調(diào)用執(zhí)行內(nèi)核層中的操作,將ACL權(quán)限信息與文件擴(kuò)展屬性聯(lián)系在一起。給資源設(shè)置具體的訪問權(quán)限之后,每當(dāng)有應(yīng)用程序要訪問相應(yīng)的資源時(shí),系統(tǒng)會(huì)對(duì)通過UGO權(quán)限檢查的訪問進(jìn)行ACL權(quán)限檢查,當(dāng)符合制定的策略時(shí),則通過訪問,否則,拒絕訪問請(qǐng)求。

    2.3?Android內(nèi)核層ACL支持的實(shí)現(xiàn)

    fs/posix_acl.c文件實(shí)現(xiàn)了POSIX 1003.1e草案中定義的ACL相關(guān)操作的通用實(shí)現(xiàn)。Linux中ACL權(quán)限檢查在獲取資源的ACL屬性后,執(zhí)行fs/posix_acl.c文件中的posix_acl_permission函數(shù)進(jìn)行ACL權(quán)限檢查,檢查當(dāng)前進(jìn)程的UID是否滿足文件的ACL屬性中的訪問限制。ACL是物理文件系統(tǒng)的一個(gè)屬性,存儲(chǔ)在文件系統(tǒng)中,在系統(tǒng)啟動(dòng)后再從外存讀取和寫入到內(nèi)存ACL結(jié)構(gòu)中。

    本文首先采用5.1.1AOSP(Android Open Source Project)作為實(shí)驗(yàn)系統(tǒng)。本文重置配置文件.config中與ACL特性相關(guān)的參數(shù)。表1列出了原AOSP系統(tǒng)中內(nèi)核與本文系統(tǒng)內(nèi)核參數(shù)。從表中可以看出,修改的參數(shù)都是與文件系統(tǒng)相關(guān)的,例如EXT4以及TMPFS。在Android中主要使用EXT4作為其文件系統(tǒng)。編譯器根據(jù)修改過的配置文件生成新的booting.img,在系統(tǒng)啟動(dòng)后,用新的內(nèi)核替代已編譯的內(nèi)核。在替換之后,ACL在Android的EXT4文件系統(tǒng)中將會(huì)成為文件擴(kuò)展屬性中的一個(gè)屬性,存儲(chǔ)在inode的xattr_entry中,每個(gè)文件或者目錄都有一個(gè)inode用于記錄它們的一些信息,例如創(chuàng)建時(shí)間、文件類型、訪問權(quán)限等信息。

    2.4?Android中ACL動(dòng)態(tài)庫的編譯

    在Linux中,大多應(yīng)用以及安裝包通過命令的方式進(jìn)行安裝,但是在Android中,沒有完整的ACL相關(guān)安裝包可以直接用于安裝,本節(jié)主要工作是將Linux中的ACL相關(guān)源碼移植到AOSP,這些源碼會(huì)被編譯進(jìn)Android中C/C++的共享庫,供Android系統(tǒng)中不同的組件調(diào)用,最終生成定制的系統(tǒng)鏡像。

    首先,從公開社區(qū)下載Linux中運(yùn)行的‘libacl的動(dòng)態(tài)庫源碼,由于Linux和Android編譯器的不同,需要重構(gòu)部分‘libacl動(dòng)態(tài)庫源碼來保證順利編譯?!甽ibacl的源碼整合在MYAOSP/system/core/目錄下。源碼中總共包含了256個(gè)文件,但是大部分并非必要的功能,例如:man指令、chacl指令等,移除這些非必要的功能后,‘libacl的源碼目錄包含7個(gè)頭文件,46個(gè)C文件以及一個(gè)makefile文件,makefile文件定義了一系列的規(guī)則來指定文件的編譯規(guī)則。過多的C文件和頭文件混雜在一起導(dǎo)致改寫makefile文件過于復(fù)雜,因此,本次工作將‘libacl目錄中的源碼分成頭文件和C文件兩個(gè)目錄,頭文件再引用ACL相關(guān)源碼中用到的所有頭文件。根據(jù)每個(gè)C文件實(shí)現(xiàn)的功能,將其劃分成三種類別,如表2所示,將源碼分別整合至這3個(gè)文件中,其中:posix functions.c中函數(shù)按照IEEE Computer Society標(biāo)準(zhǔn)實(shí)現(xiàn);internal_functions.c文件主要是用于轉(zhuǎn)換ACL權(quán)限信息屬性和文件擴(kuò)展屬性的內(nèi)部調(diào)用;libacl_functions.c文件則是libacl動(dòng)態(tài)庫中導(dǎo)出的相關(guān)函數(shù),包括檢查ACL信息是否有效等。

    Android和Linux采用不同格式的工程編譯規(guī)則文件,本節(jié)重新編寫了Android專用的動(dòng)態(tài)庫編譯規(guī)則文件,命名為Android.mk。Android.mk是Android提供的一種makefile文件,專門用來指定諸如編譯生成so庫名、引用的頭文件目錄、需要編譯的C/C++文件和.a靜態(tài)庫文件等。在編譯完成后系統(tǒng)就會(huì)生成libacl.so動(dòng)態(tài)庫并保存在system/lib目錄下,通過2.3節(jié)和本節(jié)的移植,該系統(tǒng)具備了設(shè)置ACL訪問控制權(quán)限的基本功能。

    ACL動(dòng)態(tài)庫Android.mk文件為:

    程序前

    LOCAL_PATH:= $(call mydir)

    include $(CLEAR_VARS)

    LOCAL_SRC_FILES := inner_functions.c libacl_functions.c posix_functions.c misc.c walk_tree.c

    LOCAL_MODULE := libacl

    LOCAL_MODULE_TAGS := optional

    LOCAL_C_INCLUDES := $(LOCAL_PATH)/include

    LOCAL_EXPORT_C_INCLUDE_DIRS:= $(LOCAL_PATH)/export

    LOCAL_CFLAGS := -Wall

    include $(BUILD_SHARED_LIBRARY)

    程序后

    2.5?system server與zygote的socket通信

    本文使用system server作為通信的客戶端也是因?yàn)閟ystem server和zygote之間有可重用的socket通信,在已有的通信開銷的基礎(chǔ)上進(jìn)行請(qǐng)求響應(yīng)盡可能減少了對(duì)系統(tǒng)的影響并可以省去創(chuàng)建新連接的開銷。

    圖2詳細(xì)描述了整個(gè)ACL服務(wù)模塊的實(shí)現(xiàn)。首先,在system server中注冊(cè)一個(gè)新的系統(tǒng)服務(wù)ACLService,為權(quán)限管控中心提供ACL權(quán)限相關(guān)的接口。zygote和system server通過socket進(jìn)行通信,zygote創(chuàng)建注冊(cè)socket后,會(huì)對(duì)socket進(jìn)行監(jiān)聽,檢查是否有請(qǐng)求進(jìn)入。zygote調(diào)用runSelectLoop()方法對(duì)來自system server中ActivityManagerService的請(qǐng)求進(jìn)行監(jiān)聽(zygote和system server之間的通信專門用于創(chuàng)建進(jìn)程請(qǐng)求的響應(yīng)),該方法通過循環(huán)的方式檢查請(qǐng)求,一旦有來自system server的請(qǐng)求,zygote就會(huì)創(chuàng)建一個(gè)新的對(duì)象ZygoteConnection放入等待請(qǐng)求處理的隊(duì)列中。最后通過調(diào)用一個(gè)函數(shù)runOnce()進(jìn)行請(qǐng)求的響應(yīng)。在該函數(shù)中,首先要對(duì)請(qǐng)求進(jìn)行判斷,通過分析傳入的參數(shù),判斷該請(qǐng)求為創(chuàng)建進(jìn)程的請(qǐng)求,然后調(diào)用handleAbiListQuery()函數(shù)執(zhí)行其他的分支。

    runOnce()函數(shù)修改后代碼為:

    程序前

    boolean runOnce() throws ZygoteInit.MethodAndArgsCaller {

    try {

    parsedArgs=new Arguments(args);

    if (parsedArgs.abiListQuery) {

    return handleAbiListQuery();

    // imbed hook here

    if (parsedArgs.execShell != null) {

    return ExecuteAclCmd(parsedArgs.execShell);

    }

    }catch (IOException ex) {

    logAndPrintError(newStderr, "Exception creating pipe", ex);

    }

    }

    程序后

    本方案在runOnce()函數(shù)中注入了一個(gè)分支,為了便于判斷ACL權(quán)限相關(guān)的請(qǐng)求,本方案在參數(shù)列表parsedArgs中增加了一個(gè)新的參數(shù)execShell,當(dāng)execShell為true時(shí),就執(zhí)行runOnce()函數(shù)的封裝函數(shù)ExecuteAclCmd()。因此,當(dāng)一個(gè)請(qǐng)求來自system server時(shí),可以通過execShell參數(shù)來判斷該請(qǐng)求是用于創(chuàng)建新進(jìn)程還是用于執(zhí)行ACL權(quán)限相關(guān)的操作。在函數(shù)ExecuteAclCmd中調(diào)用2.4節(jié)編譯的libacl.so動(dòng)態(tài)庫中相關(guān)的函數(shù),再將結(jié)果返回給system server。最后,在Process進(jìn)程中注入handleAcl()函數(shù)作為客戶端發(fā)起權(quán)限操作請(qǐng)求的入口。后續(xù)對(duì)請(qǐng)求參數(shù)轉(zhuǎn)化、鑒別參數(shù)設(shè)置及數(shù)據(jù)流輸入輸出轉(zhuǎn)換等功能進(jìn)行操作。

    2.6?SEAndroid權(quán)限修改

    Android在4.3版本中引入了基于SELinux的SEAndroid安全機(jī)制用于加強(qiáng)系統(tǒng)的安全性。SEAndroid安全機(jī)制中的安全策略通過主體和客體的安全上下文定義主體是否有權(quán)限訪問客體。通常,一個(gè)策略中包含主體(域)、客體(類型)、操作權(quán)限,其中操作權(quán)限描述了主體能對(duì)客體進(jìn)行的操作,如讀、寫、設(shè)置文件屬性等。

    表3分別列出了zygote和system server兩個(gè)上下文需要額外添加的訪問策略。對(duì)于每個(gè)重要的系統(tǒng)進(jìn)程,系統(tǒng)都會(huì)專門制定一個(gè)包含一系列策略強(qiáng)制訪問控制策略文件。2.5節(jié)中通過zygote對(duì)資源執(zhí)行ACL權(quán)限的設(shè)置與獲取,ACL權(quán)限信息的獲取與設(shè)置涉及到文件系統(tǒng)中文件擴(kuò)展屬性相關(guān)的操作,例如setattr、getattr等。在原來的zygote訪問控制策略中,并沒有允許其執(zhí)行文件擴(kuò)展屬性相關(guān)的操作,因而zygote執(zhí)行相關(guān)操作時(shí),系統(tǒng)會(huì)拒絕這些行為。本文在zygote.te文件中加入了表3中策略1和策略2兩種策略。本系統(tǒng)在system server中新注冊(cè)了一個(gè)系統(tǒng)服務(wù)ACLService,在沒有顯式指定的情況下,system server中的每一個(gè)對(duì)象都會(huì)有一個(gè)默認(rèn)的 ACL 值,這個(gè)值代表了所有的用戶對(duì)這個(gè)對(duì)象都是可讀可寫的。

    3?實(shí)驗(yàn)與性能評(píng)估

    前面章節(jié)描述了整個(gè)系統(tǒng)的設(shè)計(jì)和實(shí)現(xiàn)的要點(diǎn),本章將對(duì)上述的原型系統(tǒng)進(jìn)行實(shí)驗(yàn)分析。為了全面準(zhǔn)確地評(píng)估該系統(tǒng),本文從三方面進(jìn)行評(píng)估,分別是應(yīng)用程序的兼容性、系統(tǒng)的有效性和性能。

    3.1?系統(tǒng)環(huán)境搭建

    本原型系統(tǒng)搭載在Nexus 6上,Nexus 6的主要硬件配置為:高通驍龍 805CPU(2.7GHz,四核)以及3GB內(nèi)容。Nexus 6中部署Android 5.1.1 r14 tag作為測(cè)試版本。在Nexus 6中部署LineageOS Android 8.1.0測(cè)試,同樣的,原系統(tǒng)也使用部署了Android 5.1.1 r14 tag和LineageOS Android 8.1.0與Nexus 6兩個(gè)測(cè)試版本作對(duì)比。

    3.2?APP兼容性測(cè)試

    本文在Google Play商店下載了不同類別的100個(gè)熱門應(yīng)用程序作為實(shí)驗(yàn)的樣本,包括QQ、微信、微博、Chrome瀏覽器、百度地圖、美顏相機(jī)等應(yīng)用程序,其覆蓋了社交、攝影與錄像、娛樂等類別,用于測(cè)試系統(tǒng)對(duì)于應(yīng)用程序的兼容性。實(shí)驗(yàn)采用Google Monkey作為測(cè)試工具。Monkey是Google研發(fā)的一款A(yù)ndroid自動(dòng)化測(cè)試工具,它能夠運(yùn)行在任意版本的平臺(tái)上,自動(dòng)將偽隨機(jī)用戶事件發(fā)送到指定的應(yīng)用程序, 并幫助測(cè)試應(yīng)用程序是否會(huì)崩潰。

    為了提高數(shù)據(jù)的可靠性,先使用人工手段隨機(jī)地點(diǎn)擊20個(gè)應(yīng)用進(jìn)行測(cè)試,檢查是否有應(yīng)用程序閃退的現(xiàn)象發(fā)生。接著使用Monkey進(jìn)行自動(dòng)化測(cè)試,測(cè)試工具給每個(gè)應(yīng)用程序發(fā)送500個(gè)隨機(jī)用戶事件。在這兩種檢測(cè)方式的檢測(cè)過程中,應(yīng)用程序都沒有出現(xiàn)崩潰的情況。因此,可以得出以下結(jié)論:本文提出的權(quán)限管控系統(tǒng)對(duì)系統(tǒng)穩(wěn)定性幾乎沒有影響并兼容絕大部分應(yīng)用程序。

    3.3?系統(tǒng)有效性測(cè)試

    為了測(cè)試系統(tǒng)中ACL權(quán)限管控機(jī)制的有效性,本文選取了一些重要的系統(tǒng)資源進(jìn)行測(cè)試,包括系統(tǒng)資源如通訊錄和短信,設(shè)備文件如攝像頭、socket等,以及重要的系統(tǒng)文件。表4顯示了系統(tǒng)資源及實(shí)驗(yàn)結(jié)果。

    本文對(duì)于系統(tǒng)資源以及設(shè)備文件采取不同的測(cè)試方法。對(duì)于設(shè)備文件,如socket、前置攝像頭以及后置攝像頭等,采用單獨(dú)對(duì)應(yīng)用程序設(shè)置權(quán)限的方式;而對(duì)于調(diào)用API訪問系統(tǒng)資源方式的資源,本次實(shí)驗(yàn)采用關(guān)閉所有用戶組組訪問資源權(quán)限的方式來驗(yàn)證其有效性。

    應(yīng)用程序通過建立socket來進(jìn)行網(wǎng)絡(luò)訪問,本實(shí)驗(yàn)通過關(guān)閉、開啟chrome訪問socket的權(quán)限來驗(yàn)證ACL權(quán)限機(jī)制在Android權(quán)限管控中的有效性。設(shè)置設(shè)備文件/dev/socket/dnsproxyd中chrome的ACL訪問權(quán)限為“”,關(guān)閉權(quán)限后打開chrome,發(fā)現(xiàn)網(wǎng)頁顯示“net::ERR NAME NOT RESOLVED”的消息,同時(shí)查看日志,在日志中發(fā)現(xiàn)“permission denied.”的記錄。

    對(duì)于攝像頭設(shè)備文件,設(shè)置UID為10023的美圖秀秀訪問/dev/video3的權(quán)限為“”, /dev/video3文件路徑為前置攝像頭設(shè)備文件句柄。打開美圖秀秀使用前置攝像頭進(jìn)行攝像時(shí),前置攝像頭啟動(dòng)失敗,查看日志文件記錄,其中“mm camera open: cannot open control fd of ′/dev/video3′ (Permission denied) ”的記錄表明前置攝像頭設(shè)備文件打開失敗。

    為了檢驗(yàn)本系統(tǒng)動(dòng)態(tài)管控已root應(yīng)用程序訪問系統(tǒng)資源的有效性,本實(shí)驗(yàn)對(duì)RE應(yīng)用程序進(jìn)行root。RE應(yīng)用程序userId為10053,打開應(yīng)用程序,進(jìn)入/data目錄后界面列出了該目錄下所有的文件。再設(shè)置其對(duì)該目錄的訪問權(quán)限為x,限制應(yīng)用程序訪問data目錄,再次進(jìn)入data文件夾后顯示需要root,同時(shí)沒有列出該目錄相應(yīng)的文件。

    同樣地,通過對(duì)其他系統(tǒng)資源的驗(yàn)證,表明ACL訪問控制機(jī)制能夠?qū)?yīng)用程序訪問系統(tǒng)資源起到訪問控制的作用,本文實(shí)現(xiàn)的權(quán)限管控系統(tǒng)具有一定的有效性。

    3.4?應(yīng)用安全性測(cè)試

    ACL權(quán)限管控機(jī)制將每個(gè)操作授權(quán)給特定的 User 用戶或者 Role 角色,只允許這些用戶或角色對(duì)一個(gè)對(duì)象執(zhí)行這些操作。在沒有顯式指定的情況下,system server中的每一個(gè)對(duì)象都會(huì)有一個(gè)默認(rèn)的 ACL 值。這個(gè)值代表了所有的用戶對(duì)這個(gè)對(duì)象都是可讀可寫的。一個(gè) User 必須擁有讀權(quán)限才可以獲取一個(gè)對(duì)象的數(shù)據(jù),同時(shí),一個(gè) User 需要寫權(quán)限才可以更改或者刪除一個(gè)對(duì)象。ACL實(shí)現(xiàn)數(shù)據(jù)級(jí)的訪問更靈活,能夠提高應(yīng)用系統(tǒng)的安全策略,對(duì)系統(tǒng)的變化有更大的伸縮性。下面代碼對(duì)支持ACL應(yīng)用的安全性進(jìn)行了測(cè)試。

    不使用ACL代碼:

    程序前

    AVObject *post=[AVObject objectWithClassName:@"Post"];

    [post setObject:@"Hello" forKey:@"title"];

    [post setObject:@"Hello wold!" forKey:@"content"];

    [post saveInBackground];

    程序后

    由于ACL有默認(rèn)值可讀可寫,模擬請(qǐng)求后返回請(qǐng)求結(jié)果。

    程序前

    {

    "updatedAt":"2019-07-20T09:52:14.137Z",

    "objectId":"58705a24128fe1006b275274"}

    程序后

    請(qǐng)求成功,數(shù)據(jù)已被修改。因?yàn)樗?ACL 值是允許所有人可寫可讀,所以請(qǐng)求被接受。

    使用ACL代碼:

    程序前

    AVObject *post=[AVObject objectWithClassName:@"Post"];

    [post setObject:@"Hello" forKey:@"title"];

    [post setObject:@"Hello wold!" forKey:@"content"];

    AVACL *acl=[AVACL ACL];

    [acl setPublicReadAccess:YES];

    [acl setWriteAccess:YES forUser:[AVUser currentUser]];

    post.ACL=acl;

    [post saveInBackground];

    程序后

    模擬請(qǐng)求后請(qǐng)求結(jié)果,請(qǐng)求失敗。

    程序前

    {

    "code":1,

    "error":"Forbidden writing by objects ACL."

    }

    程序后

    由于 ACL 的值顯示該條 Post 只允許一個(gè)特定的用戶修改,所以請(qǐng)求被拒絕。實(shí)驗(yàn)結(jié)果表明支持ACL的應(yīng)用安全性更高。

    4?結(jié)語

    針對(duì)Android權(quán)限管控不足帶來的問題,本文提出了基于ACL訪問控制機(jī)制的細(xì)粒度權(quán)限管控方案。該方案在原有UGO訪問控制的基礎(chǔ)上,引入了Linux中的ACL訪問控制機(jī)制,在原有UGO權(quán)限檢查之后,增加了ACL的權(quán)限檢查,ACL訪問控制機(jī)制能根據(jù)應(yīng)用程序的UID提供了更加細(xì)粒度的權(quán)限管控。用戶可以動(dòng)態(tài)地設(shè)置指定系統(tǒng)資源和應(yīng)用程序的ACL權(quán)限信息,實(shí)現(xiàn)權(quán)限細(xì)粒度管控的功能,從而對(duì)系統(tǒng)重要資源和數(shù)據(jù)起到保護(hù)作用,阻止一些使用本地代碼的以及獲取root權(quán)限的應(yīng)用程序的惡意訪問。

    本文在實(shí)現(xiàn)完整權(quán)限管控系統(tǒng)后,對(duì)原型系統(tǒng)進(jìn)行了大量的評(píng)估,包括系統(tǒng)對(duì)應(yīng)用程序的兼容性、訪問權(quán)限管控有效性、支持ACL應(yīng)用的安全性。測(cè)試的結(jié)果顯示ACL能使數(shù)據(jù)級(jí)的訪問更靈活,能夠改善應(yīng)用系統(tǒng)的安全策略,對(duì)系統(tǒng)資源起到一定的保護(hù)作用。

    參考文獻(xiàn) (References)

    [1]?ACL. ACL(5)Linux man page [EB/OL]. [2019-03-23].http://linux.die.net/man/5/acl.

    [2]?尼見. 安卓平臺(tái)下面向隱私保護(hù)的惡意程序分析與檢測(cè)方法研究[D]. 北京: 北京工業(yè)大學(xué), 2017:25-27. (NI J. Privacy protection oriented malicious application analysis and detection method in Android platform[D]. Beijing: Beijing University of Technology, 2017:25-27.)

    [3]?FELT A P, CHIN E, HANNA S, et al. Android permissions demystified[C]// Proceedings of the 18th ACM Conference on Computer and Communications Security. New York: ACM, 2011: 627-638.

    [4]?FUCHS A P, CHAUDHURI A, FOSTER J S. SCanDroid: automated security certification of Android applications[EB/OL]. [2019-04-04].https://www.cs.umd.edu/~avik/papers/scandroidascaa.pdf.

    [5]?ENCK W, ONGTANG M, MCDANIEL P. On lightweight mobile phone application certification[C]// Proceedings of the 16th ACM Conference on Computer and Communications Security. New York: ACM, 2009: 235-245.

    [6]?NAUMAN M, KHAN S, ZHANG X. Apex: extending Android permission model and enforcement with userdefined runtime constraints[C]// Proceedings of the 5th ACM Symposium on Information, Computer and Communications Security. New York: ACM, 2010:328-332.

    [7]?ZHOU Y, ZHANG X, JIANG, et al. Taming Information — stealing smartphone applications (on Android)[C]// Proceedings of the 2011 International Conference on Trust and Trustworthy Computing, LNCS 6740. Berlin: Springer, 2011:93-107.

    [8]?ONGTANG M, MCLAUGHLIN S, ENCK W, et al. Semantically rich applicationcentric security in Android[C]// Proceedings of the 2009 Annual Computer Security Applications Conference. Piscataway: IEEE, 2009:340-349.

    [9]?ENCK W, GILBERT P, CHUN B G, et al. TaintDroid: an information flow tracking system for realtime privacy monitoring on smartphones[J]. Communications of the ACM, 2014, 57(3):99-106.

    [10]?HORNYACK P, HAN S, JUNG J, et al. These arent the droids youre looking for: retrofitting Android to protect data from imperious applications[C]// Proceedings of the 18th ACM Conference on Computer and Communications Security. New York: ACM, 2011: 639-652.

    [11]?ZHANG Y, YANG M, XU B, et al. Vetting undesirable behaviors in Android apps with permission use analysis[C]// Proceedings of the 2013 ACM SIGSAC Conference on Computer and communications security. New York: ACM, 2013:611-622.

    [12]?BERESFORD A R, RICE A, SKEHIN N, et al. MockDroid: trading privacy for application functionality on smartphones[C]// Proceedings of the 12th Workshop on Mobile Computing Systems and Applications. New York: ACM, 2011: 49-54.

    [13]?ALLEN G. Android Security and Permissions[M]// Beginning Android. Berkeley, CA: Apress, 2015:343-354.

    [14]?SHABTAI A, FLEDEL Y, ELOVICI Y. Securing Androidpowered mobile devices using SELinux[J]. IEEE Security and Privacy, 2010, 8(3):36-44.

    [15]?BUGIEL S, DAVI L, DMITRIENKO A, et al. Practical and lightweight domain isolation on Android[C]// Proceedings of the 1st ACM workshop on Security and privacy in smartphones and mobile devices. New York: ACM, 2011:51-62.

    [16]?ZHAO Z, OSONO F C C. “TrustDroidTM”: preventing the use of smart phones for information leaking in corporate networks through the used of static analysis taint tracking[C]// Proceedings of the 7th International Conference on Malicious and Unwanted Software. Piscataway: IEEE, 2012: 135-143.

    [17]?SMALLEY S, CRAIG R. Security Enhanced (SE) Android: bringing flexible MAC to Android[EB/OL]. [2019-02-26]. http://www.cs.columbia.edu/~lierranli/coms69987Spring2014/papers/SEAndroidNDSS2013.pdf.

    [18]?孫亞楠,石文昌,梁洪亮,等. 安全操作系統(tǒng)基于ACL的自主訪問控制機(jī)制的設(shè)計(jì)與實(shí)現(xiàn)[J]. 計(jì)算機(jī)科學(xué), 2004, 31(7):153-155. (SUN Y N, SHI W C, LIANG H L, et al. Design and implementation of ACL based discretionary access control mechanism in secure operation system[J]. Computer Science, 2004, 31(7):153-155.)

    [19]?羅琰,張濤,張毓森. Linux環(huán)境下訪問控制列表機(jī)制的設(shè)計(jì)與實(shí)現(xiàn)[J]. 解放軍理工大學(xué)學(xué)報(bào)(自然科學(xué)版), 2004, 5(3):24-27. (LUO Y, ZHANG T,ZHANG Y S. Design and implementation of access control list mechanism under Linux environment [J]. Journal of PLA University of Science and Technology (Natural Science Edition), 2004, 5(3):24-27.)

    [20]?AHMED M, AHAMAD M. Protecting health information on mobile devices[C]// Proceedings of the 2nd ACM Conference on Data and Application Security and Privacy. New York: ACM, 2012:229-240.

    This work is partially supported by the National Natural Science Foundation of China (61602475), the National Cryptographic Foundation of China (MMJJ20170212), the Gansu Science and Technology Support Project (1504FKCA096).

    CAO Zhenhuan, born in 1976, senior engineer. His research interests include network information security.

    CAI Xiaohai, born in 1992, M. S. candidate. Her research interests include network security.

    GU Menghe, bom in 1974, Ph. D., research assistant. Her research interests include ecological mathematical model.

    GU Xiaozhuo, born in 1978, Ph. D., senior engineer. Her research interests include network security protocol.

    LI xiaowei, born in 1982, M. S. candidate. His research interests include information project management.

    猜你喜歡
    數(shù)據(jù)安全
    部署推進(jìn)2020年電信和互聯(lián)網(wǎng) 行業(yè)網(wǎng)絡(luò)數(shù)據(jù)安全管理工作
    工信部:2021年初步建立網(wǎng)絡(luò)數(shù)據(jù)安全標(biāo)準(zhǔn)體系
    如何進(jìn)一步做好網(wǎng)絡(luò)與數(shù)據(jù)安全工作
    數(shù)據(jù)安全政策與相關(guān)標(biāo)準(zhǔn)分享
    少妇的逼水好多| 18禁美女被吸乳视频| 免费在线观看成人毛片| 国产欧美日韩一区二区三| 日韩欧美 国产精品| 99国产精品99久久久久| 国产 一区 欧美 日韩| 女人被狂操c到高潮| 两性夫妻黄色片| 成人午夜高清在线视频| 一二三四社区在线视频社区8| 啦啦啦免费观看视频1| 又紧又爽又黄一区二区| 亚洲成av人片在线播放无| 最新美女视频免费是黄的| 欧美日韩亚洲国产一区二区在线观看| 欧美日韩福利视频一区二区| 午夜精品在线福利| 久久久久国内视频| 性色av乱码一区二区三区2| 欧美日韩中文字幕国产精品一区二区三区| 草草在线视频免费看| 国产三级在线视频| 欧美不卡视频在线免费观看| 9191精品国产免费久久| 午夜久久久久精精品| 日本黄色片子视频| 三级毛片av免费| 午夜精品在线福利| 最近最新免费中文字幕在线| 久久中文字幕一级| 长腿黑丝高跟| 美女黄网站色视频| 午夜a级毛片| 日本免费一区二区三区高清不卡| 精品不卡国产一区二区三区| 欧美精品啪啪一区二区三区| 人人妻人人看人人澡| 男女那种视频在线观看| 一卡2卡三卡四卡精品乱码亚洲| 三级毛片av免费| 99精品久久久久人妻精品| 久久精品91无色码中文字幕| 国产黄色小视频在线观看| 国产精品爽爽va在线观看网站| 色吧在线观看| 他把我摸到了高潮在线观看| 啦啦啦免费观看视频1| 日韩欧美精品v在线| 999久久久国产精品视频| 亚洲精品在线美女| 免费av不卡在线播放| 欧美精品啪啪一区二区三区| 国产熟女xx| 国产精品野战在线观看| 亚洲在线自拍视频| 亚洲欧洲精品一区二区精品久久久| 老司机福利观看| 国产单亲对白刺激| 99精品久久久久人妻精品| 国产成人影院久久av| 男女之事视频高清在线观看| 日本五十路高清| 亚洲 欧美一区二区三区| 给我免费播放毛片高清在线观看| 婷婷六月久久综合丁香| 国产午夜精品论理片| 欧美色欧美亚洲另类二区| 国产午夜精品久久久久久| 麻豆成人av在线观看| 亚洲国产精品久久男人天堂| 国产精品久久久久久人妻精品电影| 亚洲国产精品sss在线观看| 香蕉久久夜色| 久久久久国产一级毛片高清牌| 亚洲欧美激情综合另类| 国产成人欧美在线观看| 国产v大片淫在线免费观看| 性欧美人与动物交配| 老司机福利观看| 美女扒开内裤让男人捅视频| 欧美日韩亚洲国产一区二区在线观看| 国产成人啪精品午夜网站| 日本三级黄在线观看| 欧洲精品卡2卡3卡4卡5卡区| 欧美中文综合在线视频| 国产av一区在线观看免费| 日本三级黄在线观看| 在线播放国产精品三级| 在线播放国产精品三级| 国产精品,欧美在线| 嫩草影视91久久| 男人舔女人的私密视频| 国内少妇人妻偷人精品xxx网站 | 国产99白浆流出| 在线a可以看的网站| 在线观看免费视频日本深夜| 亚洲人成网站在线播放欧美日韩| 欧美三级亚洲精品| av在线蜜桃| 一进一出抽搐gif免费好疼| 亚洲真实伦在线观看| 国产三级在线视频| 一进一出抽搐gif免费好疼| 国产精品综合久久久久久久免费| www.自偷自拍.com| 亚洲av成人不卡在线观看播放网| 国产男靠女视频免费网站| 少妇人妻一区二区三区视频| 国产真人三级小视频在线观看| av欧美777| 日韩欧美一区二区三区在线观看| 国产欧美日韩一区二区三| 亚洲精品色激情综合| 一二三四社区在线视频社区8| 亚洲国产欧美人成| 成在线人永久免费视频| 男女之事视频高清在线观看| 免费人成视频x8x8入口观看| 色精品久久人妻99蜜桃| a在线观看视频网站| 一本一本综合久久| 可以在线观看的亚洲视频| x7x7x7水蜜桃| e午夜精品久久久久久久| 成年女人毛片免费观看观看9| 久久伊人香网站| 色综合欧美亚洲国产小说| 法律面前人人平等表现在哪些方面| 午夜成年电影在线免费观看| 天堂网av新在线| 国产激情偷乱视频一区二区| 韩国av一区二区三区四区| 亚洲最大成人中文| 国产亚洲精品久久久久久毛片| 色哟哟哟哟哟哟| 国产爱豆传媒在线观看| 亚洲乱码一区二区免费版| 一级a爱片免费观看的视频| 亚洲片人在线观看| 精品乱码久久久久久99久播| 亚洲精品美女久久av网站| 色综合站精品国产| 一个人免费在线观看电影 | svipshipincom国产片| www.熟女人妻精品国产| 亚洲在线自拍视频| 国内精品久久久久精免费| 人人妻人人看人人澡| 观看免费一级毛片| 国产成人av教育| 久久久久久久精品吃奶| 长腿黑丝高跟| 国产主播在线观看一区二区| 老熟妇仑乱视频hdxx| 色老头精品视频在线观看| 99热这里只有是精品50| av片东京热男人的天堂| 母亲3免费完整高清在线观看| 国产一区二区激情短视频| 国产不卡一卡二| 色哟哟哟哟哟哟| 欧美日韩瑟瑟在线播放| 变态另类成人亚洲欧美熟女| 婷婷精品国产亚洲av在线| 国产高清激情床上av| 天堂动漫精品| 51午夜福利影视在线观看| 日本 欧美在线| 99久久国产精品久久久| 国产久久久一区二区三区| 欧美高清成人免费视频www| 手机成人av网站| 中文亚洲av片在线观看爽| 波多野结衣高清无吗| 美女免费视频网站| 18禁国产床啪视频网站| 久久中文字幕一级| 黄片大片在线免费观看| 国产视频内射| 级片在线观看| 国产亚洲精品一区二区www| 免费av不卡在线播放| 国产三级中文精品| 动漫黄色视频在线观看| 精品福利观看| 悠悠久久av| 搡老岳熟女国产| 国产精品,欧美在线| 少妇裸体淫交视频免费看高清| 久久久久国内视频| 日韩有码中文字幕| 色尼玛亚洲综合影院| 99国产精品99久久久久| 精品福利观看| 此物有八面人人有两片| 国产精品一及| 久久久国产精品麻豆| 高清毛片免费观看视频网站| 两人在一起打扑克的视频| 最新美女视频免费是黄的| 国产伦在线观看视频一区| 国产视频一区二区在线看| 最好的美女福利视频网| 国产精品免费一区二区三区在线| 日本免费a在线| 久久久久九九精品影院| 国产97色在线日韩免费| 天堂网av新在线| 国产乱人伦免费视频| 久久久久亚洲av毛片大全| 久久天堂一区二区三区四区| 国内毛片毛片毛片毛片毛片| 男插女下体视频免费在线播放| e午夜精品久久久久久久| 淫妇啪啪啪对白视频| 亚洲午夜精品一区,二区,三区| 成人国产一区最新在线观看| 国产伦精品一区二区三区视频9 | 曰老女人黄片| 欧美又色又爽又黄视频| 宅男免费午夜| 精品久久久久久久毛片微露脸| 精品欧美国产一区二区三| 久久精品国产99精品国产亚洲性色| 脱女人内裤的视频| 亚洲午夜精品一区,二区,三区| 国内揄拍国产精品人妻在线| 久久精品综合一区二区三区| 中国美女看黄片| 精品午夜福利视频在线观看一区| 91老司机精品| 国产乱人伦免费视频| 女人高潮潮喷娇喘18禁视频| 欧美黄色片欧美黄色片| 久久中文字幕一级| 很黄的视频免费| 美女被艹到高潮喷水动态| 麻豆成人av在线观看| 国产一区在线观看成人免费| 亚洲精品美女久久久久99蜜臀| 久久久久久久精品吃奶| 国产视频内射| 亚洲av成人精品一区久久| 特级一级黄色大片| 999久久久国产精品视频| 久久中文看片网| 国产高清有码在线观看视频| 操出白浆在线播放| 国产高清videossex| 免费看光身美女| 久久欧美精品欧美久久欧美| 波多野结衣高清作品| 成人无遮挡网站| 亚洲国产中文字幕在线视频| 欧美乱码精品一区二区三区| 精品国产超薄肉色丝袜足j| 香蕉av资源在线| 日韩欧美免费精品| x7x7x7水蜜桃| 麻豆一二三区av精品| 动漫黄色视频在线观看| 国产精品一及| 亚洲国产精品成人综合色| 首页视频小说图片口味搜索| 国产av麻豆久久久久久久| 一区二区三区激情视频| 久久婷婷人人爽人人干人人爱| 日本免费a在线| 美女高潮的动态| 国产伦精品一区二区三区四那| 日韩中文字幕欧美一区二区| 黄色女人牲交| 99久久无色码亚洲精品果冻| 亚洲第一欧美日韩一区二区三区| 国产亚洲精品综合一区在线观看| 国产高潮美女av| 久久久久久国产a免费观看| 给我免费播放毛片高清在线观看| 黄色丝袜av网址大全| 网址你懂的国产日韩在线| 丁香欧美五月| 黄色视频,在线免费观看| 在线免费观看不下载黄p国产 | 精品久久久久久久久久免费视频| 变态另类成人亚洲欧美熟女| 午夜a级毛片| 夜夜爽天天搞| 欧美成人免费av一区二区三区| 搡老熟女国产l中国老女人| 国产精品久久久久久亚洲av鲁大| 97超视频在线观看视频| 日本一二三区视频观看| 国产v大片淫在线免费观看| 欧美乱码精品一区二区三区| 此物有八面人人有两片| 亚洲av日韩精品久久久久久密| 桃红色精品国产亚洲av| 免费观看的影片在线观看| 色视频www国产| 久久久久免费精品人妻一区二区| 男人舔女人的私密视频| 琪琪午夜伦伦电影理论片6080| 18美女黄网站色大片免费观看| 国内久久婷婷六月综合欲色啪| 手机成人av网站| 少妇丰满av| 欧美在线一区亚洲| 成人三级做爰电影| 亚洲专区国产一区二区| 久久久成人免费电影| 桃红色精品国产亚洲av| 九色国产91popny在线| 亚洲国产高清在线一区二区三| 黄色女人牲交| 久久午夜亚洲精品久久| 男女那种视频在线观看| 久久精品91蜜桃| 久久久久久久久久黄片| 亚洲欧美日韩高清专用| 久久久久久久久免费视频了| 日本成人三级电影网站| 精品国产美女av久久久久小说| 久久久久国内视频| 国产 一区 欧美 日韩| 欧美+亚洲+日韩+国产| 成人无遮挡网站| netflix在线观看网站| 精品乱码久久久久久99久播| 成年免费大片在线观看| 日本黄色视频三级网站网址| 长腿黑丝高跟| 99久久精品国产亚洲精品| 国产亚洲精品av在线| 日韩成人在线观看一区二区三区| 国产黄色小视频在线观看| 老司机福利观看| 亚洲人成网站在线播放欧美日韩| 亚洲精品色激情综合| 99精品久久久久人妻精品| 一区二区三区国产精品乱码| 人人妻人人澡欧美一区二区| 在线观看美女被高潮喷水网站 | 国产激情偷乱视频一区二区| 男人舔奶头视频| 免费大片18禁| 夜夜夜夜夜久久久久| 国产精品亚洲美女久久久| av国产免费在线观看| 国产成人精品久久二区二区91| 国产久久久一区二区三区| 久久香蕉精品热| 亚洲精品色激情综合| 熟女人妻精品中文字幕| 亚洲成av人片在线播放无| 一级a爱片免费观看的视频| 免费搜索国产男女视频| 制服人妻中文乱码| 日本黄色视频三级网站网址| 国产午夜精品久久久久久| 免费在线观看成人毛片| 不卡av一区二区三区| 久久这里只有精品中国| 久久久久国内视频| 怎么达到女性高潮| 久久久久久人人人人人| or卡值多少钱| 校园春色视频在线观看| 成年女人看的毛片在线观看| 女生性感内裤真人,穿戴方法视频| av片东京热男人的天堂| 亚洲欧美日韩东京热| 九九久久精品国产亚洲av麻豆 | 亚洲av电影不卡..在线观看| 99视频精品全部免费 在线 | 久久国产精品人妻蜜桃| 身体一侧抽搐| 欧美日韩中文字幕国产精品一区二区三区| 日本黄色片子视频| 国语自产精品视频在线第100页| 精品乱码久久久久久99久播| 久99久视频精品免费| 熟妇人妻久久中文字幕3abv| 国产不卡一卡二| 久久九九热精品免费| 看片在线看免费视频| www日本黄色视频网| 中国美女看黄片| 看免费av毛片| 亚洲专区中文字幕在线| 国产精品自产拍在线观看55亚洲| 99久久综合精品五月天人人| 亚洲中文字幕日韩| 色综合站精品国产| 老司机福利观看| 国内精品美女久久久久久| 久久久久久久精品吃奶| 精品久久久久久久久久免费视频| 欧美又色又爽又黄视频| 国产成人精品无人区| 最近最新中文字幕大全电影3| 老熟妇仑乱视频hdxx| 国内毛片毛片毛片毛片毛片| 法律面前人人平等表现在哪些方面| 国产黄片美女视频| 一二三四社区在线视频社区8| 很黄的视频免费| 国语自产精品视频在线第100页| 变态另类丝袜制服| 亚洲一区高清亚洲精品| 国产精品99久久99久久久不卡| 欧美黄色片欧美黄色片| 国产成人一区二区三区免费视频网站| 老司机深夜福利视频在线观看| 91麻豆精品激情在线观看国产| 操出白浆在线播放| 手机成人av网站| 国产成人福利小说| 真实男女啪啪啪动态图| 日韩欧美国产一区二区入口| 最近最新中文字幕大全免费视频| 黄色丝袜av网址大全| 日韩人妻高清精品专区| 嫩草影院入口| 日日夜夜操网爽| 99re在线观看精品视频| 成年人黄色毛片网站| 韩国av一区二区三区四区| 国产精品免费一区二区三区在线| 18禁黄网站禁片午夜丰满| 少妇熟女aⅴ在线视频| 国产精品一及| 99久久精品国产亚洲精品| 久久香蕉精品热| 舔av片在线| 久久久久精品国产欧美久久久| 日本免费一区二区三区高清不卡| 日韩av在线大香蕉| 国内精品久久久久精免费| 精品无人区乱码1区二区| 亚洲一区二区三区不卡视频| 国内揄拍国产精品人妻在线| 十八禁人妻一区二区| 一本综合久久免费| 久久九九热精品免费| 男女之事视频高清在线观看| 制服人妻中文乱码| 成年女人看的毛片在线观看| 亚洲性夜色夜夜综合| 久久国产精品人妻蜜桃| 男女午夜视频在线观看| 免费看十八禁软件| 好看av亚洲va欧美ⅴa在| 免费av毛片视频| 国产日本99.免费观看| 免费av不卡在线播放| 天天添夜夜摸| 日韩欧美国产在线观看| 久久久国产欧美日韩av| 给我免费播放毛片高清在线观看| 欧美乱色亚洲激情| 天堂√8在线中文| 亚洲一区高清亚洲精品| 国产高清视频在线播放一区| 91在线精品国自产拍蜜月 | 熟女少妇亚洲综合色aaa.| 999久久久精品免费观看国产| 亚洲欧美一区二区三区黑人| 中文字幕久久专区| 日韩 欧美 亚洲 中文字幕| 午夜激情欧美在线| 熟女电影av网| 国产一区二区三区在线臀色熟女| 最近最新中文字幕大全电影3| 亚洲国产精品999在线| 真人一进一出gif抽搐免费| 老熟妇乱子伦视频在线观看| 久久久久久久午夜电影| 国产aⅴ精品一区二区三区波| 2021天堂中文幕一二区在线观| 美女cb高潮喷水在线观看 | 90打野战视频偷拍视频| 久久午夜综合久久蜜桃| 日本与韩国留学比较| 成人av在线播放网站| 变态另类成人亚洲欧美熟女| 中文字幕熟女人妻在线| 夜夜躁狠狠躁天天躁| 国产免费av片在线观看野外av| 精品一区二区三区四区五区乱码| 不卡一级毛片| 最近最新免费中文字幕在线| 国产熟女xx| 亚洲精品国产精品久久久不卡| 亚洲第一电影网av| 亚洲国产精品999在线| 欧美日韩一级在线毛片| 成人特级黄色片久久久久久久| 搡老妇女老女人老熟妇| 亚洲av成人一区二区三| 国产精品免费一区二区三区在线| 久久久久国产一级毛片高清牌| 黄色 视频免费看| 18美女黄网站色大片免费观看| 亚洲自偷自拍图片 自拍| 久久久久久国产a免费观看| 国产 一区 欧美 日韩| 美女午夜性视频免费| 亚洲成a人片在线一区二区| 免费在线观看影片大全网站| 国模一区二区三区四区视频 | 亚洲无线在线观看| 国产 一区 欧美 日韩| 在线观看一区二区三区| xxxwww97欧美| 麻豆久久精品国产亚洲av| 欧美成人一区二区免费高清观看 | 成人特级av手机在线观看| 欧美一级a爱片免费观看看| 国内揄拍国产精品人妻在线| 久久草成人影院| 日本五十路高清| av女优亚洲男人天堂 | 欧美日韩乱码在线| 在线国产一区二区在线| 成年女人永久免费观看视频| 国产在线精品亚洲第一网站| 久久亚洲精品不卡| 晚上一个人看的免费电影| 2022亚洲国产成人精品| 最近2019中文字幕mv第一页| 午夜福利在线观看免费完整高清在| 69av精品久久久久久| 亚洲,欧美,日韩| 亚洲最大成人av| 欧美潮喷喷水| 国产国拍精品亚洲av在线观看| 国产在视频线在精品| 久久久久精品久久久久真实原创| 51国产日韩欧美| 我的老师免费观看完整版| 2021少妇久久久久久久久久久| 国产黄片美女视频| 欧美性猛交╳xxx乱大交人| 日韩欧美在线乱码| 亚洲国产欧美人成| 欧美97在线视频| 精品一区二区免费观看| 免费看日本二区| 汤姆久久久久久久影院中文字幕 | 国产成人免费观看mmmm| 久久久久久久久久久丰满| 男人舔女人下体高潮全视频| 国产精品蜜桃在线观看| 亚洲国产精品sss在线观看| 日本黄色片子视频| 亚洲精品乱码久久久久久按摩| 日韩 亚洲 欧美在线| 三级国产精品欧美在线观看| 男人的好看免费观看在线视频| 九草在线视频观看| 午夜亚洲福利在线播放| 内射极品少妇av片p| 免费观看人在逋| 中文资源天堂在线| 国产亚洲最大av| 亚洲欧美成人精品一区二区| 久久久久久久午夜电影| 精品久久久久久久人妻蜜臀av| 九色成人免费人妻av| 亚洲三级黄色毛片| 亚洲内射少妇av| 免费搜索国产男女视频| 日韩,欧美,国产一区二区三区 | 天堂av国产一区二区熟女人妻| 在线免费观看的www视频| 国产乱人偷精品视频| 久久久久久久久大av| 天堂影院成人在线观看| 久久这里只有精品中国| 亚洲av电影不卡..在线观看| 国产一区二区在线观看日韩| 精品99又大又爽又粗少妇毛片| 久久精品久久久久久噜噜老黄 | 中文欧美无线码| 女人被狂操c到高潮| 亚洲精品,欧美精品| 日本黄色片子视频| 深夜a级毛片| 中文字幕亚洲精品专区| 日韩精品有码人妻一区| 亚洲精品乱码久久久v下载方式| 婷婷六月久久综合丁香| 级片在线观看| 久久久久久久久久黄片| 日韩视频在线欧美| 少妇的逼好多水| 成人欧美大片| 欧美性猛交黑人性爽| 久久久久久久久中文| av在线天堂中文字幕| 国产免费男女视频| 最近中文字幕高清免费大全6| 成人高潮视频无遮挡免费网站| 色播亚洲综合网| 老司机影院毛片| 一区二区三区乱码不卡18| 久久精品91蜜桃| 国产片特级美女逼逼视频| 国产高潮美女av| 国产中年淑女户外野战色| 亚洲真实伦在线观看| 一级av片app| 色噜噜av男人的天堂激情| 久久精品国产亚洲av天美|