国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

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ǔ)的開(kāi)放源代碼操作系統(tǒng),主要使用于便攜設(shè)備。Android操作系統(tǒng)最初由Andy Rubin開(kāi)發(fā),最初主要支持手機(jī)。2005年,由Google收購(gòu)注資,并組建開(kāi)放手機(jī)聯(lián)盟開(kāi)發(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)核的、開(kā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ī)制,這里不再作具體展開(kāi)。總體而言,由于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ù)字證書(shū),但Android簽名機(jī)制不是十分嚴(yán)格,數(shù)字證書(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ù)字證書(shū)可以自簽名,無(wú)需權(quán)威的數(shù)字證書(shū)機(jī)構(gòu)簽名認(rèn)證,導(dǎo)致惡意程序泛濫。Google采用這樣的數(shù)字簽名策略,是為了增強(qiáng)Android平臺(tái)的開(kā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安全的研究已初步開(kāi)展。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è)出這類(lèi)惡意軟件。

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類(lèi)(一種輕量級(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ù),即可防止類(lèi)似權(quán)限提升漏洞攻擊的發(fā)生,然而讓每個(gè)應(yīng)用開(kāi)發(fā)者都做到這點(diǎn)是不太現(xiàn)實(shí)的,因?yàn)椴⒉皇敲總€(gè)開(kāi)發(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)開(kāi)展研究。

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

·通過(guò)對(duì)Android系統(tǒng)中間層的修改,對(duì)應(yīng)用之間的調(diào)用進(jìn)行監(jiān)測(cè),阻止類(lèi)似通過(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è)判定樹(shù)分析應(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è)可以有開(kāi)發(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,打開(kāi)瀏覽器 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è)中的判定樹(shù)無(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
天峨县| 乐安县| 越西县| 海兴县| 刚察县| 资溪县| 奎屯市| 乐安县| 金堂县| 固原市| 兰溪市| 南昌县| 安乡县| 隆昌县| 象州县| 兴义市| 昌吉市| 合水县| 定州市| 庆阳市| 泸水县| 兴山县| 五大连池市| 永安市| 武川县| 广元市| 牙克石市| 邯郸县| 罗山县| 镇安县| 闸北区| 奉节县| 景谷| 万年县| 东乡族自治县| 麻城市| 轮台县| 岫岩| 重庆市| 蓬安县| 邻水|