• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      操作系統(tǒng)訪問控制機(jī)制研究

      2022-11-10 09:02:02李志鵬宋連濤
      信息安全研究 2022年11期
      關(guān)鍵詞:訪問控制內(nèi)核完整性

      王 鵬 秦 瑩 高 瓏 李志鵬 宋連濤 丁 滟

      (國(guó)防科技大學(xué)計(jì)算機(jī)學(xué)院 長(zhǎng)沙 410073)

      作為信息時(shí)代的核心和基石,操作系統(tǒng)安全的重要性日益凸顯.訪問控制是當(dāng)前操作系統(tǒng)最重要的安全機(jī)制之一,既能使合法用戶獲得相應(yīng)的訪問權(quán)限,又能阻止非授權(quán)訪問,在提供高效訪問服務(wù)的同時(shí)保護(hù)用戶隱私,對(duì)于保障個(gè)人、企業(yè)乃至國(guó)家信息安全都具有非常重要的意義[1].

      根據(jù)訪問控制規(guī)則制定者的不同,訪問控制機(jī)制可以分為自主訪問控制(discretionary access control, DAC)與強(qiáng)制訪問控制(mandatory access control, MAC)2類[2].DAC下資源所有者可以控制其他用戶對(duì)資源的訪問,具有較好的靈活性、可用性和可擴(kuò)展性.MAC則由系統(tǒng)機(jī)制來(lái)控制用戶對(duì)客體的訪問,通過(guò)一系列的安全策略,由系統(tǒng)(而非某個(gè)用戶)來(lái)確定主體對(duì)客體的訪問權(quán)限,資源所有者不能對(duì)訪問規(guī)則進(jìn)行改變,因此能夠很好地增強(qiáng)系統(tǒng)安全性,并對(duì)上層應(yīng)用程序進(jìn)行保護(hù).

      目前訪問控制機(jī)制已廣泛應(yīng)用于Windows,Linux等主流操作系統(tǒng),并逐漸在Android,Harmony等新興智能終端操作系統(tǒng)安全中發(fā)揮作用.Windows系統(tǒng)主要使用訪問控制列表對(duì)本地客體資源的訪問請(qǐng)求進(jìn)行自主訪問控制,通過(guò)基于域的動(dòng)態(tài)訪問控制對(duì)訪問控制列表進(jìn)行補(bǔ)充,對(duì)本地和云上的共享資源進(jìn)行靈活的強(qiáng)制訪問控制,并利用強(qiáng)制完整性控制策略來(lái)保護(hù)系統(tǒng)內(nèi)資源的完整性不被來(lái)自網(wǎng)絡(luò)的低可信主體破壞.Linux系統(tǒng)提供了更為靈活的訪問控制策略,以安全模塊的方式提供強(qiáng)制訪問控制.以Android為代表的智能終端操作系統(tǒng)面臨各種安全威脅,既繼承了傳統(tǒng)Linux的部分訪問控制機(jī)制,又結(jié)合智能終端特點(diǎn)提出了權(quán)限機(jī)制,對(duì)應(yīng)用和服務(wù)間的交互進(jìn)行強(qiáng)制訪問控制.Harmony是面向萬(wàn)物互聯(lián)的分布式操作系統(tǒng),在Android權(quán)限機(jī)制的基礎(chǔ)上,對(duì)跨設(shè)備訪問進(jìn)行控制.

      本文首先對(duì)訪問控制策略進(jìn)行介紹,然后詳細(xì)闡述Windows,Linux,Android等當(dāng)前主流操作系統(tǒng)中的訪問控制機(jī)制,最后分析總結(jié)操作系統(tǒng)中訪問控制機(jī)制的未來(lái)發(fā)展趨勢(shì).以期為研究人員在操作系統(tǒng)領(lǐng)域進(jìn)一步實(shí)現(xiàn)訪問控制機(jī)制的應(yīng)用和改進(jìn)提供借鑒.

      1 訪問控制策略

      1.1 訪問控制策略定義

      安全策略是根據(jù)用戶機(jī)密性、完整性、可用性和可審計(jì)性等安全需求對(duì)系統(tǒng)預(yù)期行為的非形式化描述[3].系統(tǒng)運(yùn)行時(shí),安全策略將系統(tǒng)狀態(tài)分為已授權(quán)的安全狀態(tài)和未授權(quán)的不安全狀態(tài)[4],只有不違反安全策略的訪問行為才被允許發(fā)生.

      1.2 訪問控制安全策略分類

      根據(jù)系統(tǒng)安全保護(hù)目標(biāo)的側(cè)重不同,可以將訪問控制安全策略分為保密性策略、完整性策略以及混合策略等.下面對(duì)各類策略的安全防護(hù)功能以及典型策略實(shí)現(xiàn)進(jìn)行介紹.

      1.2.1 保密性策略

      信息系統(tǒng)中,保密性策略主要用于防止信息的非授權(quán)泄露[5].典型的保密性策略安全模型有BLP(Bell-LaPadula)模型[6]、不干擾模型[7]等.

      BLP模型為主客體分別設(shè)置安全等級(jí)和敏感度級(jí)別,并針對(duì)信息流動(dòng)制定“上讀下寫”的訪問策略,即只有主體的安全級(jí)別高于客體時(shí)才能進(jìn)行讀操作,只有主體的安全級(jí)別低于客體時(shí)才能進(jìn)行寫操作,從而保證信息總是流向更高安全級(jí)別的對(duì)象.由于該模型過(guò)于嚴(yán)格,限制了復(fù)雜系統(tǒng)的可用性,因此出現(xiàn)了一系列針對(duì)BLP的改進(jìn)模型:Unix System V/MLS安全模型[8]運(yùn)用改進(jìn)標(biāo)簽技術(shù)對(duì)主客體進(jìn)行標(biāo)記,并對(duì)BLP的自主訪問特性進(jìn)行改進(jìn),增強(qiáng)了強(qiáng)制訪問控制的靈活性;不干擾模型引入了不干擾理念[9],將各安全級(jí)別用戶隔離開,使其操作相互獨(dú)立,低安全級(jí)別用戶無(wú)法觀察到系統(tǒng)中高安全級(jí)別用戶的輸入或輸出.

      1.2.2 完整性策略

      完整性策略主要用于防止信息被非法纂改,保證信息的真實(shí)性.典型的完整性策略安全模型有Biba[10],Clark-Wilson[11]等.Biba模型是BLP模型數(shù)學(xué)模型上的對(duì)偶,用來(lái)約束對(duì)信息的修改,防止數(shù)據(jù)從低完整性級(jí)別流到高完整性級(jí)別.Clark-Wilson模型目標(biāo)是使針對(duì)商業(yè)系統(tǒng)的建模更切合實(shí)際,采用良構(gòu)事務(wù)(well-formal transaction)和職責(zé)分離2種機(jī)制保證信息完整性.良構(gòu)事務(wù)即以事務(wù)處理為基本操作,相關(guān)操作必須保護(hù)數(shù)據(jù)完整性.職責(zé)分離即將任務(wù)分為不同子集,由不同的人完成,共同審核事務(wù)并驗(yàn)證數(shù)據(jù)可信性.

      1.2.3 混合策略

      實(shí)際使用時(shí),幾乎所有機(jī)構(gòu)都要求兼顧多種安全策略.因此,產(chǎn)生了中國(guó)墻[12]、RBAC[13]、DTE[14]和ABAC[15]等模型.

      中國(guó)墻模型通常用于股票交易所或投資公司等,信息以樹狀結(jié)構(gòu)存儲(chǔ),具有利益沖突的企業(yè)節(jié)點(diǎn)組成一個(gè)沖突域,主體不能訪問同一沖突域中不同企業(yè)節(jié)點(diǎn)內(nèi)的數(shù)據(jù).RBAC模型將用戶組的概念抽象為“角色”,并基于角色來(lái)定義訪問權(quán)限,其策略中立,支持最小特權(quán)原則、動(dòng)態(tài)和靜態(tài)職責(zé)分離原則和數(shù)據(jù)抽象,便于應(yīng)用層的安全管理.DTE模型則針對(duì)操作系統(tǒng)內(nèi)部主體與客體之間的訪問,是細(xì)粒度、面向應(yīng)用隔離的安全策略.主客體分別被劃分到若干個(gè)域和類型中,由“域定義表”規(guī)定域?qū)Ω黝愋偷牟僮鳈?quán)限,“域交互表”描述域間的交互模式,實(shí)踐中,這2個(gè)表快速膨脹,難以驗(yàn)證其安全性.ABAC模型是在移動(dòng)計(jì)算、云計(jì)算等新型計(jì)算環(huán)境下產(chǎn)生的,根據(jù)主體、資源、環(huán)境等屬性的動(dòng)態(tài)變化進(jìn)行細(xì)粒度的控制.

      2 主流操作系統(tǒng)訪問控制機(jī)制

      2.1 Windows系統(tǒng)

      Windows基于用戶的訪問控制是在Windows XP多用戶功能漸趨完善的背景下產(chǎn)生的,目的是方便多用戶資源管理,同時(shí)防止用戶隨意訪問系統(tǒng)資源和調(diào)用系統(tǒng)服務(wù).強(qiáng)制完整性控制針對(duì)聯(lián)網(wǎng)下載程序文件和用戶不當(dāng)操作的風(fēng)險(xiǎn),從Windows Vista版本開始建立,使一般用戶、程序和在IE保護(hù)模式下的下載內(nèi)容難于修改系統(tǒng)文件.動(dòng)態(tài)訪問控制主要為滿足用戶對(duì)云上和本地資源的安全移動(dòng)跨域訪問需要,從Windows 8開始提出,作為訪問控制列表的補(bǔ)充,由域控制器對(duì)訪問請(qǐng)求進(jìn)行細(xì)粒度的強(qiáng)制訪問控制.Windows系統(tǒng)中相關(guān)訪問控制技術(shù)如表1所示:

      表1 Windows訪問控制機(jī)制

      2.1.1 基于用戶的訪問控制

      為實(shí)現(xiàn)單機(jī)多用戶的文件和系統(tǒng)管理,Windows采用基于用戶的訪問控制,由操作系統(tǒng)為每個(gè)用戶(組)分配唯一安全標(biāo)識(shí)符(security identifiers, SID),并在用戶身份認(rèn)證通過(guò)后授予其訪問令牌.

      文件系統(tǒng)中每個(gè)安全客體(如文件、目錄)創(chuàng)建時(shí)都由操作系統(tǒng)分配一個(gè)安全描述符,其中的訪問控制列表描述了每個(gè)用戶(組)對(duì)該安全客體的訪問權(quán)限,由安全客體的創(chuàng)建者進(jìn)行配置.在用戶(組)訪問時(shí),系統(tǒng)將訪問令牌與訪問控制列表中的信息進(jìn)行對(duì)照,只有權(quán)限信息相符的訪問行為才被允許.

      系統(tǒng)管理相關(guān)操作如裝載設(shè)備驅(qū)動(dòng)、重設(shè)系統(tǒng)時(shí)間等,由于無(wú)特定操作對(duì)象,不能采用訪問控制列表進(jìn)行訪問控制,因此提出特權(quán)機(jī)制.特權(quán)由系統(tǒng)管理員為用戶(組)分配,權(quán)限策略被存儲(chǔ)至本地?cái)?shù)據(jù)庫(kù),在用戶身份驗(yàn)證成功后加載到訪問令牌中,當(dāng)用戶進(jìn)行系統(tǒng)管理操作時(shí)由系統(tǒng)決定是否授權(quán).

      2.1.2 強(qiáng)制完整性訪問控制

      為防止完整性級(jí)別低的進(jìn)程修改級(jí)別高的文件或注冊(cè)表表項(xiàng),從Windows Vista 和 Windows Server 2008開始在系統(tǒng)中內(nèi)建了強(qiáng)制完整性控制[16]安全功能.

      在強(qiáng)制完整性保護(hù)的基礎(chǔ)上,Windows系統(tǒng)設(shè)計(jì)實(shí)現(xiàn)了IE瀏覽器保護(hù)模式[17],被IE保護(hù)模式自動(dòng)下載的內(nèi)容存儲(chǔ)在低完整性級(jí)別的文件和注冊(cè)表區(qū)域中,不能直接對(duì)系統(tǒng)文件和高完整性級(jí)別的用戶區(qū)域進(jìn)行寫訪問.

      由于強(qiáng)制完整性保護(hù)允許讀操作[18],Windows 8增強(qiáng)了IE瀏覽器保護(hù)模式,低完整性級(jí)別的內(nèi)容無(wú)法對(duì)高完整性級(jí)別的區(qū)域讀或?qū)懺L問,特權(quán)訪問只有經(jīng)應(yīng)用聲明并被用戶授權(quán)才能進(jìn)行.

      2.1.3 基于域的動(dòng)態(tài)訪問控制

      BYOD(bring your own device)環(huán)境下,為滿足員工隨時(shí)隨地使用各種智能終端安全訪問公司數(shù)據(jù)和應(yīng)用程序資源的需求,Windows 8開始引入動(dòng)態(tài)訪問控制[19],由管理員通過(guò)Windows域控制器為云上資源配置訪問權(quán)限.Windows域是計(jì)算機(jī)網(wǎng)絡(luò)的一種形式,域控制器使用計(jì)算機(jī)集群技術(shù)構(gòu)建中央數(shù)據(jù)庫(kù),每個(gè)安全主體都需要在此處進(jìn)行注冊(cè).Windows Server 2016進(jìn)一步對(duì)域控制功能進(jìn)行增強(qiáng),將訪問控制對(duì)象拓展到本地資源.

      如圖1所示,動(dòng)態(tài)訪問控制的主體和客體在傳統(tǒng)訪問控制的基礎(chǔ)上進(jìn)行了擴(kuò)展.主體從單純的用戶擴(kuò)展到角色及訪問設(shè)備.角色由管理員設(shè)定,訪問設(shè)備已由單一主機(jī)擴(kuò)展到筆記本電腦、手機(jī)、平板甚至可穿戴設(shè)備等,因此需要通過(guò)域控制器進(jìn)行統(tǒng)一認(rèn)證管理.用戶可使用Azure Active Directory設(shè)備注冊(cè)服務(wù),將個(gè)人設(shè)備加入工作區(qū),獲得設(shè)備標(biāo)識(shí).該標(biāo)識(shí)一方面作為驗(yàn)證用戶身份的主體屬性之一,用于設(shè)置相應(yīng)的訪問控制規(guī)則;另一方面作為單一登錄的憑證,提供無(wú)縫的第二重身份驗(yàn)證,即在首次輸入密碼登錄成功后,單一登錄生存期內(nèi)(默認(rèn)情況下為7天)通過(guò)設(shè)備訪問公司云上和本地資源,不再需要輸入密碼.訪問控制客體不再局限于本資源和系統(tǒng)管理.通過(guò)資源云部署和混合部署,將部分應(yīng)用程序和服務(wù)托管到云上,同時(shí)將其他應(yīng)用程序和服務(wù)托管到本地,使云上數(shù)據(jù)和應(yīng)用程序資源被納入動(dòng)態(tài)訪問控制范疇,從而實(shí)現(xiàn)了云上、本地客體資源一體化控制.

      動(dòng)態(tài)訪問控制規(guī)則可作用于不同級(jí)別,包括部門、任務(wù)乃至整個(gè)組織等,由管理員利用Active Directory域服務(wù)進(jìn)行集中部署管理,并結(jié)合資源敏感度、任務(wù)、用戶角色、設(shè)備配置等屬性通過(guò)條件表達(dá)式實(shí)現(xiàn)細(xì)粒度的控制,使用戶(組)權(quán)限隨屬性動(dòng)態(tài)變化.動(dòng)態(tài)訪問控制作為訪問控制列表的補(bǔ)充,在發(fā)生訪問請(qǐng)求時(shí)須先滿足訪問控制列表的訪問策略,而后對(duì)照動(dòng)態(tài)訪問控制規(guī)則進(jìn)行檢查.

      2.2 Linux系統(tǒng)

      Linux訪問控制機(jī)制主要以安全模塊的形式實(shí)現(xiàn),通過(guò)采用不同的安全策略滿足用戶多元化的安全需求.安全模塊一般需要通過(guò)LSM(Linux security module)通用框架進(jìn)行加載.目前,已被Linux內(nèi)核主線接受的訪問控制模塊主要有SELinux,AppArmor,SMACK,TOMOYO,Yama,這些均可掛載在LSM下,GRSecurity尚未被Linux內(nèi)核接受,而是以內(nèi)核補(bǔ)丁的形式發(fā)布,如表2所示.下面,首先對(duì)LSM框架進(jìn)行簡(jiǎn)要介紹,而后對(duì)Linux訪問控制機(jī)制的特點(diǎn)進(jìn)行總結(jié).

      表2 Linux系統(tǒng)安全模塊概況

      2.2.1 LSM框架

      LSM[20-21]是Linux操作系統(tǒng)的訪問控制框架,目的是在操作系統(tǒng)中將安全實(shí)施與安全決策分離,幫助開發(fā)者實(shí)現(xiàn)對(duì)各類對(duì)象的多策略訪問控制.其基本思想是在內(nèi)核中各類訪問控制行為發(fā)生的地方插入hook函數(shù),當(dāng)訪問發(fā)生時(shí),由hook函數(shù)將當(dāng)前的主客體安全信息傳遞給掛載的安全模塊,由安全模塊根據(jù)自己的安全策略判斷是否允許訪問.

      如圖2所示,LSM由對(duì)象管理器、安全服務(wù)器與安全模塊組成.對(duì)象管理器分散在內(nèi)核各安全模塊中,負(fù)責(zé)管理進(jìn)程、文件等主客體,向安全服務(wù)器提交安全決策請(qǐng)求,接收決策結(jié)果并作出相應(yīng)處理;安全服務(wù)器接收對(duì)象管理器的安全請(qǐng)求,在安全模塊中根據(jù)請(qǐng)求包含的主客體標(biāo)記計(jì)算訪問決策,返回訪問決策結(jié)果;安全模塊用于存儲(chǔ)主客體的安全屬性,用于在不同策略下計(jì)算訪問決策.

      LSM具有通用、簡(jiǎn)單高效、兼容性強(qiáng)的特點(diǎn).支持將各種安全策略作為內(nèi)核模塊加載,在具體實(shí)現(xiàn)中不需要對(duì)系統(tǒng)進(jìn)行大的改動(dòng),只需在進(jìn)行檢查的位置插入空的hook函數(shù),由開發(fā)者根據(jù)實(shí)際訪問控制需求通過(guò)系統(tǒng)調(diào)用實(shí)現(xiàn).

      2.2.2 Linux訪問控制機(jī)制

      SELinux[22]安全模塊是首個(gè)進(jìn)入Linux內(nèi)核主線的安全模塊,由于將RBAC模型、DTE模型以及MLS模型等幾個(gè)典型訪問控制策略集成在一起,導(dǎo)致功能非常強(qiáng)大,同時(shí)配置策略最復(fù)雜,使得該模塊下系統(tǒng)管理成本較高.

      SMACK[23]的全稱為簡(jiǎn)單強(qiáng)制訪問控制內(nèi)核,與SELinux的高度靈活與復(fù)雜的控制形成互補(bǔ),主要解決手機(jī)操作系統(tǒng)等簡(jiǎn)單安全需求.該模塊僅規(guī)定了主體對(duì)客體的訪問控制規(guī)則,沒有DTE模型復(fù)雜的進(jìn)程安全類型轉(zhuǎn)換等.系統(tǒng)中各對(duì)象的安全標(biāo)記由ASCII碼字符串表示,在此基礎(chǔ)上定義對(duì)象之間的訪問控制規(guī)則.

      TOMOYO[24]能夠在分析系統(tǒng)安全缺陷的同時(shí)實(shí)現(xiàn)訪問控制功能.該模塊采用的也是簡(jiǎn)單訪問控制策略,但使用了更加直觀的基于Path的訪問控制規(guī)則.此外,TOMOYO為L(zhǎng)SM增加了很多hook函數(shù),使LSM訪問控制更加全面.

      AppArmor[25]主要采用白名單機(jī)制,規(guī)定允許應(yīng)用程序進(jìn)行的動(dòng)作.基于路徑來(lái)定義訪問控制規(guī)則,使對(duì)訪問控制的理解更加直觀.除了傳統(tǒng)的文件系統(tǒng)、網(wǎng)絡(luò)以及進(jìn)程,還增加了針對(duì)占用資源的限制,如對(duì)進(jìn)程所占用的虛擬內(nèi)存、CPU等方面的限制.針對(duì)AppArmor研究的自動(dòng)配置工具[26]無(wú)需管理人員了解進(jìn)程內(nèi)部的運(yùn)行細(xì)節(jié),可以根據(jù)用戶的使用需求來(lái)自動(dòng)學(xué)習(xí),生成配置規(guī)則.

      Yama[27]是目前較簡(jiǎn)單的安全模塊,只用到4個(gè)LSM鉤子函數(shù),主要是為了彌補(bǔ)目前內(nèi)核還不能處理的一些系統(tǒng)范圍內(nèi)的DAC安全保護(hù),如ptrace、文件鏈接等.與SELinux,SMACK,TOMOYO和AppArmor彼此間互斥不同,Yama可以與其他安全模塊同時(shí)作用.

      GRSecurity[28]還沒有被納入內(nèi)核主線,目前還是以內(nèi)核補(bǔ)丁集合的形式發(fā)布,利用內(nèi)核的ACL實(shí)現(xiàn)了基于角色的訪問控制(RBAC).在策略配置方面,GRSecurity提供了自動(dòng)學(xué)習(xí)模式,根據(jù)目標(biāo)進(jìn)程的日常服務(wù)流程來(lái)學(xué)習(xí)進(jìn)程在正常情況下的行為模式,自動(dòng)生成訪問控制規(guī)則.盡管GRSecurity還沒有被內(nèi)核主線所接受,但因其出色的安全功能,已經(jīng)在實(shí)際中有了較好的應(yīng)用.

      以上安全機(jī)制中,目前比較有影響力的有SELinux,AppArmor和GRSecurity. 3類安全機(jī)制各具特點(diǎn):對(duì)于用戶來(lái)說(shuō),GRSecurity由于配置策略自動(dòng)生成,易用性強(qiáng),更適用于新用戶;AppArmor則具有更易于理解的策略和工具;SELinux則具有強(qiáng)大的訪問控制機(jī)制,適用于精通操作系統(tǒng)運(yùn)行機(jī)理的高級(jí)管理員.

      2.3 Android系統(tǒng)

      Android是基于Linux內(nèi)核開發(fā)的一款操作系統(tǒng),提供了多層安全模型實(shí)現(xiàn)立體安全防護(hù)[29-31].既有對(duì)Linux傳統(tǒng)訪問控制機(jī)制的繼承和改進(jìn),又引入了特有的權(quán)限機(jī)制,為智能終端上豐富的應(yīng)用、數(shù)據(jù)和設(shè)備等資源提供靈活全面的強(qiáng)制訪問控制和自主訪問控制,如表3所示.下面分別對(duì)不同層次的訪問控制機(jī)制以及權(quán)限機(jī)制進(jìn)行介紹.

      表3 Android訪問控制機(jī)制

      2.3.1 框架層訪問控制機(jī)制

      為控制應(yīng)用、服務(wù)間的交互,Android在中間件引入了圖3所示的權(quán)限機(jī)制[32].作為面向智能終端的操作系統(tǒng),Android上同時(shí)存在和運(yùn)行著大量應(yīng)用程序,因此權(quán)限機(jī)制采用最小特權(quán)原則,應(yīng)用程序運(yùn)行所需的權(quán)限必須提前單獨(dú)聲明,未經(jīng)聲明的權(quán)限無(wú)法申請(qǐng)并獲得授權(quán).Android權(quán)限可分為安裝時(shí)權(quán)限和運(yùn)轉(zhuǎn)時(shí)權(quán)限:安裝時(shí)權(quán)限由用戶在應(yīng)用程序安裝時(shí)授權(quán),運(yùn)行時(shí)權(quán)限則在應(yīng)用程序運(yùn)行時(shí)根據(jù)需要彈出申請(qǐng)浮框申請(qǐng)權(quán)限,由用戶使用上下文判斷授權(quán).除此之外,特殊權(quán)限與功能特別強(qiáng)大的操作相關(guān),只有平臺(tái)和原始設(shè)備制造商能夠定義[33].

      權(quán)限機(jī)制訪問控制的主體是應(yīng)用程序.將每個(gè)應(yīng)用程序作為單獨(dú)的訪問控制對(duì)象,可避免應(yīng)用被攻破時(shí)攻擊者獲得系統(tǒng)所有權(quán)限,有助于實(shí)現(xiàn)最小特權(quán)原則.權(quán)限機(jī)制訪問控制客體,即為實(shí)現(xiàn)應(yīng)用程序自身功能,應(yīng)用程序之間、應(yīng)用程序內(nèi)部存在的復(fù)雜的服務(wù)交互和數(shù)據(jù)流通.

      訪問控制規(guī)則定義在應(yīng)用AndroidManifest.xml的配置文件中,既包含了應(yīng)用需申請(qǐng)的權(quán)限和為其他應(yīng)用提供服務(wù)的自定義權(quán)限,還設(shè)置了與其他應(yīng)用的交互規(guī)則,并對(duì)所有權(quán)限的授權(quán)方式進(jìn)行了規(guī)定.現(xiàn)有的183個(gè)應(yīng)用程序權(quán)限被分為12組(方便向用戶展示),分別涉及應(yīng)用activity(用戶與應(yīng)用交互界面)識(shí)別、日歷、電話等各類通信終端應(yīng)用.權(quán)限組是在應(yīng)用實(shí)現(xiàn)某一功能時(shí),將申請(qǐng)的相關(guān)權(quán)限打包顯示,由用戶統(tǒng)一授權(quán),相關(guān)權(quán)限仍需逐一申請(qǐng).每個(gè)權(quán)限按照保護(hù)等級(jí)被分為4級(jí),分別是:1)Normal級(jí)權(quán)限(震動(dòng)等),由系統(tǒng)設(shè)定,應(yīng)用程序安裝后即被授權(quán);2)Signature級(jí)權(quán)限(綁定服務(wù)等),由應(yīng)用開發(fā)者定義,僅允許應(yīng)用簽名一致的應(yīng)用申請(qǐng),系統(tǒng)在安裝時(shí)自動(dòng)判定是否授權(quán);3)Dangerous級(jí)權(quán)限(訪問位置信息等),由系統(tǒng)設(shè)定,應(yīng)用程序運(yùn)行時(shí)申請(qǐng)并由用戶確定是否授權(quán);4)Appop級(jí)權(quán)限(修改系統(tǒng)設(shè)置等),是由平臺(tái)和原始設(shè)備制造商定義的特殊權(quán)限,默認(rèn)拒絕權(quán)限請(qǐng)求,可在系統(tǒng)設(shè)置功能中進(jìn)行手動(dòng)授權(quán).

      訪問控制的權(quán)限檢查通過(guò)中間件層的引用監(jiān)視器完成,對(duì)所有權(quán)限請(qǐng)求的權(quán)限標(biāo)簽進(jìn)行檢查.一方面對(duì)應(yīng)用發(fā)起的受限資源(系統(tǒng)狀態(tài)、用戶信息等)和受限服務(wù)(音視頻錄制等)請(qǐng)求進(jìn)行強(qiáng)制訪問控制,另一方面對(duì)其他應(yīng)用、服務(wù)發(fā)起的交互請(qǐng)求(功能調(diào)用、資源共享等)進(jìn)行強(qiáng)制訪問控制.為簡(jiǎn)化權(quán)限管理,Android系統(tǒng)要求應(yīng)用程序盡可能調(diào)用其他應(yīng)用程序或系統(tǒng)服務(wù)實(shí)現(xiàn)自身功能,以減少對(duì)權(quán)限的申請(qǐng).

      2.3.2 內(nèi)核層訪問控制機(jī)制

      Android繼承了Linux內(nèi)核提供的基于用戶的訪問控制機(jī)制[34],目的是實(shí)現(xiàn)應(yīng)用程序間隔離,保護(hù)應(yīng)用程序的數(shù)據(jù)不被非法訪問.具體來(lái)說(shuō)為每個(gè)應(yīng)用程序分配一個(gè)特有的用戶ID,使用該ID創(chuàng)建一個(gè)內(nèi)核級(jí)沙盒[35],應(yīng)用程序進(jìn)程僅運(yùn)行在沙盒中,從而實(shí)現(xiàn)了進(jìn)程間隔離.應(yīng)用程序產(chǎn)生的文件綁定UID、GID和rwx權(quán)限,默認(rèn)只能被本應(yīng)用程序訪問,具有相同簽名的應(yīng)用程序可通過(guò)共享用戶ID實(shí)現(xiàn)資源和權(quán)限共享.

      為防止惡意應(yīng)用程序利用系統(tǒng)漏洞突破沙盒隔離限制,Android對(duì)Linux內(nèi)核中的SELinux模塊進(jìn)行了精簡(jiǎn)和改進(jìn)(SEAndroid)[36-38],對(duì)所有進(jìn)程實(shí)現(xiàn)強(qiáng)制訪問控制,按照默認(rèn)拒絕原則運(yùn)行,即拒絕所有未明確允許的訪問行為,即使發(fā)起該行為的進(jìn)程為超級(jí)用戶.從Android5.0開始SELinux已全面強(qiáng)制運(yùn)行在各類Android操作系統(tǒng)產(chǎn)品中,通過(guò)持續(xù)的配置更新增強(qiáng)沙盒的隔離效果.

      2.3.3 其他訪問控制機(jī)制研究

      除上述已應(yīng)用于Android產(chǎn)品的訪問控制機(jī)制,針對(duì)Android的訪問控制研究還有很多成果,尤其集中于權(quán)限機(jī)制的一系列改進(jìn)[39-50].例如Nauman等人[39]提出了策略執(zhí)行框架Apex,為用戶提供了細(xì)粒度的安裝時(shí)授權(quán),允許用戶在應(yīng)用程序安裝時(shí)有選擇地授予權(quán)限,并根據(jù)位置等上下文信息對(duì)資源的使用施加約束.Stephen等人[40]提出了應(yīng)用程序交互框架saint,在安裝和運(yùn)行時(shí)對(duì)應(yīng)用交互進(jìn)行控制.使用新增的權(quán)限調(diào)度器進(jìn)行權(quán)限檢查,將已安裝應(yīng)用的權(quán)限策略整合到策略器中,安裝新應(yīng)用時(shí)比較應(yīng)用聲明的權(quán)限請(qǐng)求與策略器中的權(quán)限策略,發(fā)生沖突就拒絕應(yīng)用安裝,應(yīng)用交互時(shí)只有同時(shí)滿足調(diào)用者和被調(diào)用者的權(quán)限策略方可進(jìn)行下一步權(quán)限檢查.由于saint依賴程序開發(fā)者制定的策略,惡意開發(fā)者可繞過(guò)該機(jī)制,實(shí)現(xiàn)惡意應(yīng)用間非法通信.針對(duì)應(yīng)用間交互可能引起的溢權(quán)問題,XManDroid[41]對(duì)原權(quán)限機(jī)制進(jìn)行了一系列拓展,動(dòng)態(tài)地分析應(yīng)用程序間交互,可判斷權(quán)限使用傳遞情況,從而判斷是否存在中間人攻擊(利用中間應(yīng)用程序獲得程序不能直接獲得的權(quán)限).Bugiel等人[42]提出的TrustDroid是一種輕量級(jí)域隔離框架,在XManDroid機(jī)制的基礎(chǔ)上,利用Linux內(nèi)核的TOMOYO模塊實(shí)現(xiàn)對(duì)內(nèi)核中通信鏈路的強(qiáng)制訪問控制.

      2.4 Harmony

      Harmony[51]是華為公司開發(fā)的一款分布式移動(dòng)操作系統(tǒng),面向5G物聯(lián)網(wǎng)和全場(chǎng)景,能將各類移動(dòng)智能終端、物聯(lián)網(wǎng)設(shè)備的操作系統(tǒng)集成到一起,實(shí)現(xiàn)設(shè)備間的無(wú)縫協(xié)同.

      Harmony既繼承了Android針對(duì)應(yīng)用程序的訪問控制,即通過(guò)沙盒機(jī)制實(shí)現(xiàn)基于應(yīng)用程序身份的訪問控制,使用權(quán)限機(jī)制控制應(yīng)用、服務(wù)間的交互,又進(jìn)一步將訪問控制拓展到多設(shè)備,并進(jìn)行增強(qiáng).其分布式條件下的訪問控制理念是確保人、設(shè)備及數(shù)據(jù)使用過(guò)程3個(gè)環(huán)節(jié)的可控.

      Harmony主要從身份認(rèn)證、運(yùn)行環(huán)境、數(shù)據(jù)保護(hù)3方面對(duì)訪問控制進(jìn)行增強(qiáng).身份認(rèn)證作為訪問控制的前提,采用零信任模型,即每次跨設(shè)備訪問資源或請(qǐng)求服務(wù)都需進(jìn)行[52-53].不同設(shè)備通過(guò)華為賬號(hào)建立信任關(guān)系,使用用戶身份管理功能將不同設(shè)備上標(biāo)識(shí)同一用戶的憑據(jù)進(jìn)行關(guān)聯(lián)[54].運(yùn)行環(huán)境作為訪問控制的基礎(chǔ),其可信性由安全啟動(dòng)、可信執(zhí)行環(huán)境及設(shè)備證書認(rèn)證等一系列技術(shù)保證.數(shù)據(jù)作為訪問控制的主要保護(hù)對(duì)象,其可控性通過(guò)全生命周期保護(hù)來(lái)實(shí)現(xiàn).數(shù)據(jù)生成后即根據(jù)類別設(shè)置保護(hù)等級(jí),加密存儲(chǔ)到具有相應(yīng)安全防護(hù)能力的分區(qū),由虛擬超級(jí)終端基于標(biāo)簽為數(shù)據(jù)提供相應(yīng)的全生命周期防護(hù),確保數(shù)據(jù)只能在具備足夠安全防護(hù)能力的虛擬終端之間存儲(chǔ)、使用和傳輸.

      3 發(fā)展趨勢(shì)

      由于Windows系統(tǒng)采用封閉開發(fā)模式,因此其訪問控制技術(shù)的演化遠(yuǎn)不如開源的Linux系統(tǒng)活躍.在開源社區(qū)的推動(dòng)下,Linux系統(tǒng)訪問控制機(jī)制在信息安全領(lǐng)域中發(fā)揮越來(lái)越重要的作用,而且各類訪問控制技術(shù)各有側(cè)重.Android系統(tǒng)訪問控制機(jī)制要解決移動(dòng)條件下應(yīng)用對(duì)本機(jī)資源的訪問問題,與身份認(rèn)證技術(shù)結(jié)合,使應(yīng)用的權(quán)限申請(qǐng)更加透明、可控.綜合以上各種安全機(jī)制,可以發(fā)現(xiàn)訪問控制機(jī)制的研究演變過(guò)程主要呈現(xiàn)出以下特點(diǎn):

      3.1 訪問控制動(dòng)態(tài)化

      訪問控制動(dòng)態(tài)化源于移動(dòng)辦公和細(xì)粒度靈活控制的現(xiàn)實(shí)需要.Windows和Android設(shè)備的便攜化和多元化使移動(dòng)條件下用戶多平臺(tái)協(xié)同辦公的需求越來(lái)越突出,需要對(duì)云和本地資源進(jìn)行靈活有效的細(xì)粒度訪問控制.Linux設(shè)備在嵌入式物聯(lián)網(wǎng)設(shè)備中的廣泛應(yīng)用,以及針對(duì)分布式移動(dòng)環(huán)境設(shè)計(jì)的Harmony,都表明傳統(tǒng)靜態(tài)訪問控制已不能滿足現(xiàn)實(shí)需要,需要實(shí)行細(xì)粒度的動(dòng)態(tài)訪問控制.即主體對(duì)客體的訪問控制規(guī)則不是一成不變的,主體對(duì)同一客體的訪問權(quán)限隨著其角色,位置(網(wǎng)絡(luò)、物理),使用的訪問設(shè)備,歷史訪問行為,任務(wù)進(jìn)展等因素的變化而動(dòng)態(tài)變化.

      3.2 訪問控制全局化

      訪問控制全局化隨著操作系統(tǒng)訪問控制的范圍發(fā)生擴(kuò)展而產(chǎn)生.傳統(tǒng)操作系統(tǒng)訪問控制的范圍有限,Windows和Linux主機(jī)的訪問控制規(guī)則一般局限于本機(jī)設(shè)備,Android智能終端也只針對(duì)本機(jī)應(yīng)用的訪問請(qǐng)求進(jìn)行限制.隨著云辦公的興起、智能終端的多元化以及萬(wàn)物互聯(lián)時(shí)代的到來(lái),新的訪問控制機(jī)制采用集群、區(qū)塊鏈等新技術(shù),在傳統(tǒng)訪問控制的基礎(chǔ)上新增一層全局訪問控制,實(shí)施全局一致的訪問控制策略.例如Windows通過(guò)基于域的動(dòng)態(tài)訪問控制策略,由域控制器實(shí)施集中的訪問控制.面向萬(wàn)物互聯(lián)的Harmony操作系統(tǒng),將近距離的多臺(tái)終端連接成一臺(tái)“超級(jí)虛擬終端”,用戶數(shù)據(jù)不再與單一設(shè)備綁定.跨端數(shù)據(jù)的共享和訪問不再借助云端完成,超級(jí)虛擬終端范圍內(nèi)設(shè)備的數(shù)據(jù)均可視為存在本地內(nèi)存中.超級(jí)虛擬終端范圍內(nèi)設(shè)備之間硬件互助,資源共享,用戶敏感數(shù)據(jù)和密鑰的存儲(chǔ)和處理均置于具備可信執(zhí)行環(huán)境的設(shè)備硬件中進(jìn)行,在認(rèn)證技術(shù)和加密技術(shù)的配合下實(shí)施統(tǒng)一的訪問控制.

      3.3 策略配置自動(dòng)化

      策略配置自動(dòng)化應(yīng)操作系統(tǒng)繁瑣復(fù)雜的策略配置需求產(chǎn)生.大部分用戶不具備相應(yīng)的安全知識(shí),安全人員手動(dòng)配置又過(guò)于繁瑣,自動(dòng)化學(xué)習(xí)工具可提供易用的安全方案,增強(qiáng)操作系統(tǒng)訪問控制機(jī)制的易用性和可靠性.例如AppArmor與GRSecurity都提供了很好的自動(dòng)學(xué)習(xí)工具,在學(xué)習(xí)模式下學(xué)習(xí)訪問控制目標(biāo)的正常行為,生成相應(yīng)的策略規(guī)則.在系統(tǒng)真實(shí)執(zhí)行時(shí),配置好的訪問控制規(guī)則被強(qiáng)制實(shí)施,只允許服務(wù)進(jìn)程完成規(guī)則所允許的行為.自動(dòng)化流程在提供簡(jiǎn)單易用安全方案的同時(shí),也存在一些安全隱患,這主要是由于某些服務(wù)在學(xué)習(xí)模式中不能完全遍歷其執(zhí)行流程所導(dǎo)致的.因此必須根據(jù)實(shí)際上線使用情況,對(duì)策略配置進(jìn)行人工補(bǔ)充與調(diào)整.

      4 結(jié)束語(yǔ)

      訪問控制已成為操作系統(tǒng)中保護(hù)信息最重要的安全機(jī)制之一,廣泛應(yīng)用于Windows,Android等操作系統(tǒng)產(chǎn)品中.盡管針對(duì)訪問控制的研究很多,但真正應(yīng)用到操作系統(tǒng)層次的技術(shù)較少.未來(lái)工作將對(duì)Linux操作系統(tǒng)訪問控制機(jī)制進(jìn)行改進(jìn),實(shí)現(xiàn)動(dòng)態(tài)訪問控制,為上層應(yīng)用提供更加可靠的細(xì)粒度訪問控制.

      猜你喜歡
      訪問控制內(nèi)核完整性
      萬(wàn)物皆可IP的時(shí)代,我們當(dāng)夯實(shí)的IP內(nèi)核是什么?
      稠油熱采水泥環(huán)完整性研究
      云南化工(2021年9期)2021-12-21 07:44:00
      強(qiáng)化『高新』內(nèi)核 打造農(nóng)業(yè)『硅谷』
      基于嵌入式Linux內(nèi)核的自恢復(fù)設(shè)計(jì)
      Linux內(nèi)核mmap保護(hù)機(jī)制研究
      莫斷音動(dòng)聽 且惜意傳情——論音樂作品“完整性欣賞”的意義
      ONVIF的全新主張:一致性及最訪問控制的Profile A
      動(dòng)態(tài)自適應(yīng)訪問控制模型
      淺析云計(jì)算環(huán)境下等級(jí)保護(hù)訪問控制測(cè)評(píng)技術(shù)
      精子DNA完整性損傷的發(fā)生機(jī)制及診斷治療
      布尔津县| 曲阳县| 峨边| 郸城县| 金堂县| 曲靖市| 凤翔县| 诸暨市| 内黄县| 建德市| 安乡县| 乌鲁木齐县| 卢氏县| 永川市| 莎车县| 滦平县| 秦皇岛市| 潜山县| 新蔡县| 滨州市| 宜章县| 余庆县| 三穗县| 旬阳县| 白玉县| 临夏县| 兴仁县| 大埔县| 义马市| 丰宁| 永昌县| 桂平市| 耒阳市| 巢湖市| 左云县| 吴忠市| 合山市| 绍兴县| 江陵县| 新巴尔虎左旗| 哈尔滨市|