• 
    

    
    

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

      Android權(quán)限提升漏洞攻擊的檢測(cè)*

      2012-06-27 05:59:22沈才樑唐科萍俞立峰樊甫偉
      電信科學(xué) 2012年5期
      關(guān)鍵詞:調(diào)用漏洞應(yīng)用程序

      沈才樑,唐科萍,俞立峰,樊甫偉

      (1.浙江工業(yè)職業(yè)技術(shù)學(xué)院 紹興 312000;2.浙江大學(xué)計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院 杭州 310027;3.麗水廣播電視大學(xué) 麗水323000;4.杭州師范大學(xué)電子商務(wù)安全重點(diǎn)實(shí)驗(yàn)室 杭州 310036)

      1 引言

      Android是一種以Linux為基礎(chǔ)的開放源代碼操作系統(tǒng),主要使用于便攜設(shè)備。Android操作系統(tǒng)最初由Andy Rubin開發(fā),最初主要支持手機(jī)。2005年,由Google收購(gòu)注資,并組建開放手機(jī)聯(lián)盟開發(fā)改良,逐漸擴(kuò)展到平板電腦及其他領(lǐng)域。2011年第一季度,Android在全球的市場(chǎng)份額首次超過(guò)Symbian系統(tǒng),躍居全球第一。2012年2月,Android占據(jù)全球智能手機(jī)操作系統(tǒng)市場(chǎng)52.5%的份額,中國(guó)市場(chǎng)占有率為68.4%。

      Android作為一個(gè)基于Linux內(nèi)核的、開放的移動(dòng)設(shè)備平臺(tái),近幾年得到了快速發(fā)展,市場(chǎng)占有率不斷上升,各種應(yīng)用不斷涌現(xiàn),隨之而來(lái)的是設(shè)備信息安全問(wèn)題不斷曝光,Android系統(tǒng)的安全性成為研究熱點(diǎn)。Android系統(tǒng)可以分為4層,分別是應(yīng)用程序?qū)印?yīng)用程序框架層、Android本地庫(kù)及運(yùn)行環(huán)境層和Linux內(nèi)核層。其安全機(jī)制可以分為L(zhǎng)inux安全機(jī)制、Android特有的安全機(jī)制、其他保護(hù)機(jī)制[1]。

      其中,Linux內(nèi)核安全機(jī)制包括可移植操作系統(tǒng)接口(POSIX)用戶和文件訪問(wèn)控制。POSIX用戶機(jī)制保證每一個(gè)應(yīng)用有一個(gè)唯一的ID,擁有唯一ID的程序始終運(yùn)行于自己的進(jìn)程內(nèi),這樣使得應(yīng)用程序運(yùn)行在一個(gè)安全的沙箱內(nèi),阻止其他應(yīng)用程序?qū)ζ涞挠绊?。文件訪問(wèn)控制即Linux文件訪問(wèn)控制機(jī)制,這里不再作具體展開??傮w而言,由于Android系統(tǒng)基于Linux內(nèi)核構(gòu)建,目前針對(duì)Linux內(nèi)核的安全攻擊較少[2]。

      Android特有的安全機(jī)制包括應(yīng)用程序權(quán)限控制、組件封裝以及簽名機(jī)制。應(yīng)用程序權(quán)限控制指Android通過(guò)在每臺(tái)設(shè)備上實(shí)施了基于權(quán)限的安全策略來(lái)處理安全問(wèn)題,采用權(quán)限來(lái)限制安裝應(yīng)用程序的能力。權(quán)限是一段唯一的各不相同的字符串。當(dāng)某個(gè)權(quán)限與某個(gè)操作和資源對(duì)象綁定在一起,必須獲得這個(gè)權(quán)限才能在對(duì)象上執(zhí)行操作[3]。組件封裝是指Android應(yīng)用程序把組件包裝在應(yīng)用程序內(nèi),阻止其他應(yīng)用程序訪問(wèn)它們。這種功能主要通過(guò)組件中定義讀取操作。如果設(shè)置為否,則組件只能被程序本身或擁有同一Android的程序訪問(wèn)。反之,則可以被其他應(yīng)用程序調(diào)用或訪問(wèn)[4]。目前,針對(duì)Android應(yīng)用程序權(quán)限控制與組件封裝的安全攻擊較為常見(jiàn),而且呈不斷增多的趨勢(shì)。Android簽名機(jī)制是指所有應(yīng)用安裝都必須有數(shù)字證書,但Android簽名機(jī)制不是十分嚴(yán)格,數(shù)字證書不一定是第三方權(quán)威認(rèn)證,可以是自簽名的,因此Android簽名機(jī)制存在應(yīng)用安全隱患。

      2 Android安全機(jī)制存在的問(wèn)題及現(xiàn)有解決方案分析

      Android系統(tǒng)基于Linux內(nèi)核構(gòu)建,繼承了其良好的安全性,但也存在一些安全隱患,特別是針對(duì)中間層、應(yīng)用層的攻擊,屢見(jiàn)不鮮。分析其安全機(jī)制,主要存在以下幾個(gè)問(wèn)題。

      ·簽名機(jī)制管理松散,應(yīng)用程序使用的數(shù)字證書可以自簽名,無(wú)需權(quán)威的數(shù)字證書機(jī)構(gòu)簽名認(rèn)證,導(dǎo)致惡意程序泛濫。Google采用這樣的數(shù)字簽名策略,是為了增強(qiáng)Android平臺(tái)的開放性,盲目地修改其數(shù)字簽名機(jī)制,將使設(shè)備安裝新應(yīng)用出現(xiàn)問(wèn)題。

      ·應(yīng)用程序權(quán)限控制針對(duì)單個(gè)應(yīng)用程序能有效地防止權(quán)限越級(jí),但是多個(gè)應(yīng)用在組合以后,能輕易提升權(quán)限,使得惡意代碼獲得高級(jí)權(quán)限,導(dǎo)致信息泄露、系統(tǒng)受到破壞,這也是目前很多惡意代碼獲得運(yùn)行的主要途徑。

      ·缺乏對(duì)權(quán)限的動(dòng)態(tài)運(yùn)行時(shí)監(jiān)測(cè)。權(quán)限一經(jīng)被授權(quán)給應(yīng)用程序后,在應(yīng)用程序的生命期間,它將不會(huì)被移除,即使聲明此權(quán)限源程序被刪除。

      目前,針對(duì)Android安全的研究已初步開展。Enck W、Ongtang M、McDaniel P在參考文獻(xiàn)[3]中對(duì)Android整體安全機(jī)制做了詳細(xì)的闡述;在參考文獻(xiàn)[5~8]中提出了一個(gè)在移動(dòng)設(shè)備上基于主機(jī)的入侵檢測(cè)系統(tǒng)檢測(cè)惡意軟件系統(tǒng),即 HIDS(host based intrusion-detection system),該系統(tǒng)通過(guò)對(duì)設(shè)備特征的取樣,利用機(jī)器學(xué)習(xí)和時(shí)序推理方法采集數(shù)據(jù),從而推斷設(shè)備是否感染惡意病毒。目前,國(guó)內(nèi)針對(duì)Android安全的研究還處在起步階段,參考文獻(xiàn)[2]介紹了Android安全機(jī)制,但是缺乏具體的解決方案。參考文獻(xiàn)[3]介 紹 了 KBTA (knowledge-based temporal Abstract ion)、Anomaly Detection、SELinux(security-enhanced linux)3 種惡意軟件檢測(cè)技術(shù),但是這些方法都是針對(duì)單個(gè)軟件,直接測(cè)定其是否為惡意軟件。本文中提出的通過(guò)權(quán)限提升漏洞攻擊,往往是惡意軟件通過(guò)訪問(wèn)正常軟件的某個(gè)組件,從而獲得相應(yīng)的權(quán)限,以達(dá)到獲取個(gè)人隱私、攻擊系統(tǒng)的目的,直接操作資源的應(yīng)用往往是正常合法的,甚至是系統(tǒng)應(yīng)用,而真正的資源調(diào)用者卻是非法的,因此上述方案中的監(jiān)測(cè)方案往往無(wú)法正確監(jiān)測(cè)出這類惡意軟件。

      3 Android權(quán)限提升漏洞攻擊原理

      Android應(yīng)用在運(yùn)行時(shí)都運(yùn)行于自身的進(jìn)程中,該進(jìn)程擁有獨(dú)立的虛擬機(jī)實(shí)例,不能隨便與其他應(yīng)用相互訪問(wèn)資源。通常Android進(jìn)程間的通信需要借助于Binder類(一種輕量級(jí)的進(jìn)程通信方式,inter-process communication),但通過(guò)應(yīng)用程序權(quán)限控制、組件封裝機(jī)制的整合使用,病毒代碼也能輕易獲得其他進(jìn)程資源的訪問(wèn)權(quán)限。圖1給出了Android應(yīng)用程序級(jí)別的權(quán)限提升漏洞攻擊原理。

      應(yīng)用1中的組件1,沒(méi)有直接訪問(wèn)應(yīng)用3中的組件1的權(quán)限,但是由于應(yīng)用2中的組件1擁有權(quán)限P1,同時(shí)卻沒(méi)有訪問(wèn)保護(hù)(即任何應(yīng)用程序組件均可以訪問(wèn)應(yīng)用2中的組件1),應(yīng)用3中的組件1的訪問(wèn)處在權(quán)限P1的保護(hù)中,因此應(yīng)用2中的組件1有權(quán)限訪問(wèn)到應(yīng)用3中的組件1。因此應(yīng)用1中的組件可以通過(guò)應(yīng)用2中的組件1,最終訪問(wèn)到應(yīng)用3中的組件1。很明顯這個(gè)訪問(wèn)路徑跟系統(tǒng)設(shè)計(jì)時(shí)的意圖并不一致,這就是Android權(quán)限提升漏洞攻擊。通過(guò)增加應(yīng)用2中組件1的訪問(wèn)控制保護(hù),即可防止類似權(quán)限提升漏洞攻擊的發(fā)生,然而讓每個(gè)應(yīng)用開發(fā)者都做到這點(diǎn)是不太現(xiàn)實(shí)的,因?yàn)椴⒉皇敲總€(gè)開發(fā)者都會(huì)注意,他的應(yīng)用是否會(huì)被其他惡意代碼訪問(wèn)而獲得越級(jí)的權(quán)限。

      目前,Android權(quán)限提升漏洞攻擊出現(xiàn)范圍廣,應(yīng)用在沒(méi)有認(rèn)證的話音通信[9]、文本信息[10]以及下載一些惡意代碼[11]、上下文感知的話音記錄[12]等。

      4 權(quán)限提升漏洞攻擊監(jiān)測(cè)的關(guān)鍵點(diǎn)

      依據(jù)第3節(jié)的原理分析可以看到,如果阻止惡意軟件應(yīng)用1訪問(wèn)應(yīng)用2或是在整個(gè)訪問(wèn)發(fā)生的過(guò)程中,通過(guò)檢查訪問(wèn)是否是直接調(diào)用,應(yīng)用1是否擁有應(yīng)用2訪問(wèn)資源的權(quán)限,那么整個(gè)攻擊訪問(wèn)鏈就可以被監(jiān)測(cè)并阻止,因此可以從以下兩個(gè)關(guān)鍵點(diǎn)開展研究。

      ·通過(guò)加強(qiáng)應(yīng)用2權(quán)限檢查,對(duì)應(yīng)用2中組件1的屬性進(jìn)行嚴(yán)格設(shè)置,使得應(yīng)用1類似的惡意軟件無(wú)法調(diào)用應(yīng)用2(本文后面提到的應(yīng)用安裝前安全檢測(cè)方法)。

      ·通過(guò)對(duì)Android系統(tǒng)中間層的修改,對(duì)應(yīng)用之間的調(diào)用進(jìn)行監(jiān)測(cè),阻止類似通過(guò)間接調(diào)用,獲得權(quán)限的過(guò)程,本文提到的運(yùn)行時(shí)IPC(inter-process communication)監(jiān)測(cè)。

      5 權(quán)限提升漏洞攻擊檢測(cè)系統(tǒng)的設(shè)計(jì)

      依據(jù)權(quán)限提升漏洞攻擊產(chǎn)生的原理,防止權(quán)限提升漏洞攻擊可以從兩方面進(jìn)行解決:應(yīng)用安裝前安全檢測(cè)和運(yùn)行時(shí)IPC監(jiān)測(cè)。

      5.1 應(yīng)用安裝前安全檢測(cè)

      安裝前監(jiān)測(cè)主要是通過(guò)分析Android應(yīng)用配置文件AndroidManifest.xml,根據(jù)配置文件組件中、標(biāo)簽判定應(yīng)用是否存在權(quán)限提升攻擊漏洞。AndroidManifest.xml文件如圖2所示。

      activity、service、receiver、provoider 組件中均有標(biāo)簽permission、exported。permission標(biāo)簽表明了組件所擁有的權(quán)限,exported標(biāo)簽當(dāng)值為true時(shí),表明該組件能被其他應(yīng)用訪問(wèn)。而exported標(biāo)簽當(dāng)值為false時(shí),表示該組件不能被其他應(yīng)用所訪問(wèn)。exported缺省值需要根據(jù)組件是否有intent-filter決定(content providers組件除外,該組件缺省值始終為true),當(dāng)沒(méi)有intent-filter時(shí),缺省值為 false,反之有intent-filter時(shí),缺省值為true。

      基于以上的分析,可以發(fā)現(xiàn)在應(yīng)用安裝前,通過(guò)如圖3所示的權(quán)限提升攻擊漏洞檢測(cè)判定樹分析應(yīng)用的權(quán)限,提升攻擊漏洞的安全性。

      5.2 運(yùn)行時(shí)IPC監(jiān)測(cè)

      5.2.1 運(yùn)行時(shí)IPC監(jiān)測(cè)系統(tǒng)結(jié)構(gòu)

      運(yùn)行時(shí)IPC監(jiān)測(cè)通過(guò)修改Android系統(tǒng)內(nèi)核,為Android系統(tǒng)添加權(quán)限監(jiān)測(cè)中間層,根據(jù)判定策略判定應(yīng)用間訪問(wèn)的合法性。其基本結(jié)構(gòu)如圖4所示。

      如圖4所示,系統(tǒng)中的IPC過(guò)程都被監(jiān)視,當(dāng)應(yīng)用A調(diào)用應(yīng)用B去完成一個(gè)工作時(shí),系統(tǒng)就會(huì)捕捉到這個(gè)調(diào)用,首先會(huì)調(diào)用Android系統(tǒng)本身的權(quán)限檢測(cè),判定應(yīng)用A是否可以調(diào)用應(yīng)用B,如果判定通過(guò),接著監(jiān)測(cè)系統(tǒng)中決策引擎就會(huì)去檢查策略庫(kù),如果策略庫(kù)內(nèi)已有應(yīng)用A到應(yīng)用B相應(yīng)操作的決策路徑,那么本次調(diào)用就會(huì)被允許,如果策略庫(kù)內(nèi)沒(méi)有,則決策引擎根據(jù)策略,判定本次調(diào)用,如果判定通過(guò),則把該次判定路徑添加到策略庫(kù)內(nèi)作為緩存,否則判定應(yīng)用A不能訪問(wèn)應(yīng)用B。

      5.2.2 訪問(wèn)策略制定

      訪問(wèn)策略的制定對(duì)于系統(tǒng)運(yùn)行,十分重要。訪問(wèn)策略的制定主要有以下幾個(gè)因素:是否擁有權(quán)限、應(yīng)用安全級(jí)別(這個(gè)可以有開發(fā)者自行定義,建議把第三方?jīng)]有權(quán)威認(rèn)證的應(yīng)用設(shè)定為untrusted,把系統(tǒng)應(yīng)用以及權(quán)威認(rèn)證的應(yīng)用設(shè)定為 trusted)、應(yīng)用訪問(wèn)方式 (direct或indirect)。下面給出一個(gè)訪問(wèn)策略實(shí)例防止典型的權(quán)限提升攻擊:應(yīng)用X1訪問(wèn)應(yīng)用 X2,利用 X2,打開瀏覽器 X3,下載惡意代碼。

      應(yīng)用:X1、X2、X3

      應(yīng)用調(diào)用L1(X1→X2→X3)

      那么整個(gè)訪問(wèn)策略返回值為:

      X1.trustLevel(untrusted)^X2.trustLevel(trusted)^X3.trustLevel(trusted)^X1.hasPermission(INTERNET)^X2.hasPermission(INTERNET)^X3.hasPermission(INTERNET)^L1.type(indirect)。

      訪問(wèn)策略決策引擎,依據(jù)以上訪問(wèn)策略,對(duì)整個(gè)訪問(wèn)調(diào)用將作出拒絕訪問(wèn)的建議。當(dāng)然因?yàn)槠帘嗡械拈g接訪問(wèn),明顯不現(xiàn)實(shí)同時(shí)也是不可取的。因此我們通過(guò)制定安全策略,直接拒絕明顯的已知的間接訪問(wèn)權(quán)限提升攻擊。但對(duì)一些未知的不確定的間接訪問(wèn),系統(tǒng)只能提供給用戶適當(dāng)?shù)牟僮鹘ㄗh。

      6 實(shí)驗(yàn)驗(yàn)證

      從Android市場(chǎng)下載846個(gè)應(yīng)用,通過(guò)應(yīng)用安裝前安全檢測(cè),檢測(cè)出168個(gè)應(yīng)用存在安全攻擊漏洞,對(duì)這168個(gè)通過(guò)進(jìn)一步分析,其中98個(gè)應(yīng)用有自定義intent action,而自定義的intent action實(shí)驗(yàn)中由于無(wú)法測(cè)定其是否與安全密切相關(guān)。另有10個(gè)應(yīng)用在其組件中存在著exported為true,但是沒(méi)有intent-filter,即所有的外部應(yīng)用均可以訪問(wèn)此組件,該應(yīng)用存在著權(quán)限提升攻擊的漏洞;有41個(gè)應(yīng)用存在包含intent-filter的組件,這些組件缺失exported,說(shuō)明這些組件也能被第三方應(yīng)用調(diào)用;有19個(gè)應(yīng)用,服務(wù)組件沒(méi)有訪問(wèn)權(quán)限控制。接著把通過(guò)上一次檢測(cè)的678個(gè)應(yīng)用中的30個(gè),進(jìn)行運(yùn)行時(shí)IPC檢測(cè),在該組檢測(cè)中,發(fā)現(xiàn)其中3個(gè)應(yīng)用軟件存在運(yùn)行時(shí)權(quán)限提升攻擊漏洞,這些應(yīng)用按安裝前安全檢測(cè)中的判定樹無(wú)法檢測(cè)出漏洞,但在實(shí)際運(yùn)行過(guò)程中卻通過(guò)間接訪問(wèn),獲得了應(yīng)用本身并沒(méi)有的權(quán)限。通過(guò)對(duì)實(shí)驗(yàn)數(shù)據(jù)的進(jìn)一步測(cè)試,發(fā)現(xiàn)本系統(tǒng)在對(duì)一些未知的通過(guò)間接訪問(wèn)提升權(quán)限的攻擊,存在著一些不準(zhǔn)確的建議。

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

      本文給出了Android系統(tǒng)的安全機(jī)制,并給出了權(quán)限提升漏洞攻擊原理,并提出了安裝前漏洞檢測(cè)與運(yùn)行時(shí)IPC監(jiān)測(cè)兩種方法,來(lái)防止權(quán)限提升漏洞攻擊,并對(duì)實(shí)際應(yīng)用進(jìn)行了檢驗(yàn),取得了良好的效果。本文的后續(xù)研究將主要在如何通過(guò)提高應(yīng)用安裝前漏洞檢測(cè)成功率以及提升未知權(quán)限提升攻擊的防范能力。

      1 Shabtai A,Fledek Y,Kanonov U,et al.Google android:a comprehensive security assessment.IEEE Security&Privacy,2010

      2 符易陽(yáng),周丹平.Android安全機(jī)制分析.第26次全國(guó)計(jì)算機(jī)安全學(xué)術(shù)交流會(huì)論文集,2011

      3 期廖明華,鄭力明.Android安全機(jī)制分析與解決方案初探.科學(xué)技術(shù)與工程,2009,26(11):6 351~6 354

      4 Enck W,Ongtang M,McDaniel P.Understanding android security.IEEE Security&Pivacy,2009,7(1):53~54

      5 Shabtai A,Wiess Y, Kanonov U, et al.Andromaly:a behavioral malware detection framework for Android devices.Intelligent Information Systems,2011

      6 ShabtaiA, Kanonov U, EloviciY.Detection, alertand responseto malicious behavior in mobile devices:knowledgebased approach.RAID,2009

      7 Shabtai A,Kanonov U,Elovici Y.Intrusion detection on mobile devices using the knowledge based temporal-Abstract method.Systems and Software,2010,83(8):1 527~1 536

      8 Shabtai A,F(xiàn)ledel Y,Elovici Y,et al.Using the KBTA method for inferring computer and network security alerts from timestamped,rawsystem metrics.Computer Virology,2009,8(3):267~298

      9 Davi L,Dmitrienko A,Sadeghi A-R,et al.Privilege escalation attacks on Android.Proceedings of the 13th Information Security Conference(ISC),2010

      10 Enck W,Ongtang M,McDaniel P.Mitigating android software misuse before it happens.Technical Report NAS-TR-0094-2008,Pennsylvania State University,2008

      11 Lineberry A,Richardson D L,Wyatt T.These aren't the permissions you're looking for.BlackHat USA,2010

      12 Schlegel R,Zhang K,Zhou X,et al.Soundcomber:a stealthyand context-aware sound trojan for smartphones.18th Annual Network and Distributed System Security Symposium(NDSS),Feb 2011

      猜你喜歡
      調(diào)用漏洞應(yīng)用程序
      漏洞
      核電項(xiàng)目物項(xiàng)調(diào)用管理的應(yīng)用研究
      刪除Win10中自帶的應(yīng)用程序
      LabWindows/CVI下基于ActiveX技術(shù)的Excel調(diào)用
      基于系統(tǒng)調(diào)用的惡意軟件檢測(cè)技術(shù)研究
      三明:“兩票制”堵住加價(jià)漏洞
      漏洞在哪兒
      高鐵急救應(yīng)補(bǔ)齊三漏洞
      利用RFC技術(shù)實(shí)現(xiàn)SAP系統(tǒng)接口通信
      關(guān)閉應(yīng)用程序更新提醒
      電腦迷(2012年15期)2012-04-29 17:09:47
      平阴县| 青浦区| 阜阳市| 定襄县| 班玛县| 喜德县| 墨竹工卡县| 隆化县| 福建省| 新竹县| 朝阳区| 治多县| 浏阳市| 麻江县| 聂拉木县| 西乌珠穆沁旗| 霍林郭勒市| 墨江| 古蔺县| 绥芬河市| 微博| 稻城县| 洪洞县| 通城县| 丹巴县| 梅河口市| 红安县| 石阡县| 双牌县| 北碚区| 龙州县| 海丰县| 尉氏县| 余江县| 双牌县| 柳河县| 宣化县| 泸水县| 喜德县| 阿克苏市| 顺平县|