曾輝
【摘要】本文簡(jiǎn)述了谷歌公司的安卓系統(tǒng)的發(fā)展歷程,解析了安卓系統(tǒng)內(nèi)核的架構(gòu)和安卓系統(tǒng)源程序的目錄結(jié)構(gòu)。探討了安卓系統(tǒng)在現(xiàn)階段所面臨的安全問(wèn)題,并介紹了一種新的基于主機(jī)的入侵檢測(cè)系統(tǒng)框架HIDS的工作機(jī)制。
【關(guān)鍵詞】安卓;系統(tǒng)結(jié)構(gòu);安全;HIDS
一、引言
安卓系統(tǒng)最初由Andy Rubin開(kāi)發(fā),是一種以Linux為基礎(chǔ)的開(kāi)源操作系統(tǒng),目前應(yīng)用于一些手持設(shè)備上,例如:手機(jī),平板電腦等。2005年由Google公司,并聯(lián)合多家相關(guān)領(lǐng)域的廠商組成OHA(Open Handset AHiance,開(kāi)放手機(jī)聯(lián)盟)對(duì)安卓系統(tǒng)進(jìn)行后繼的開(kāi)發(fā)和推廣工作。其英文名Android一詞最早出現(xiàn)于法國(guó)作家利爾亞當(dāng)?shù)目苹眯≌f(shuō)《未來(lái)夏娃》中。他將外表像人的機(jī)器起名為Android。從安卓1.5系統(tǒng)開(kāi)始,采用甜點(diǎn)的名稱(chēng)作為系統(tǒng)版本的代號(hào),并以26個(gè)英文字母為序,依次是:紙杯蛋糕cupcake,甜甜圈Donut,松餅Eclair,凍酸奶Froyo,姜餅Gingerbread,蜂巢Honeycomb,冰激凌三明治Ice CreamSandwich
二、安卓系統(tǒng)結(jié)構(gòu)
(一)安卓系統(tǒng)架構(gòu)
安卓系統(tǒng)以Linux系統(tǒng)為核心,使用Java作為主要編程語(yǔ)言,在NDK的支持下也可使用C/C++進(jìn)行編程。從系統(tǒng)結(jié)構(gòu)的角度看,安卓系統(tǒng)可分為4個(gè)層次:
(1)內(nèi)核:內(nèi)核為上層提供安全、內(nèi)存管理、進(jìn)程管理等服務(wù),同時(shí)也作為硬件層和系統(tǒng)上層軟件之間的一個(gè)抽象層、橋梁通道。
(2)函數(shù)庫(kù)和運(yùn)行環(huán)境:函數(shù)庫(kù)提供了JAVA語(yǔ)言的部分功能。在庫(kù)中提供的API能被安卓系統(tǒng)中的組件調(diào)用,通過(guò)應(yīng)用程序框架為開(kāi)發(fā)者進(jìn)行支持。運(yùn)行環(huán)境主要指的是安卓應(yīng)用程序的運(yùn)行環(huán)境,其作用相當(dāng)于微軟.NET架構(gòu)下的Frameworks。
(3)應(yīng)用程序框架:專(zhuān)門(mén)為應(yīng)用程序的開(kāi)發(fā)而設(shè)計(jì)的系統(tǒng)結(jié)構(gòu),安卓程序員通過(guò)框架得以直接訪問(wèn)核心應(yīng)用程序,以及系統(tǒng)API。從而簡(jiǎn)化程序設(shè)計(jì)工作,提高編碼效率,加強(qiáng)程序的可重用性。
(4)應(yīng)用程序集合:安卓系統(tǒng)自帶的一系列核心應(yīng)用程序集合,可提供綜合數(shù)字服務(wù)的相關(guān)功能,支持郵件的發(fā)送和接受、提供收發(fā)SMS、MMS的相關(guān)服務(wù)、擁有內(nèi)置的行事日歷管理功能、WlfirW瀏覽功能、電話(huà)薄管理功能、基于GPS的Google Maps功能等。
(二)安卓程序結(jié)構(gòu)
目前谷歌公司所公布的安卓系統(tǒng)源代碼包含以下內(nèi)容:目標(biāo)機(jī)代碼,編譯工具、虛擬運(yùn)行環(huán)境。源代碼的目錄結(jié)構(gòu)和功能如表1所示:
二、安卓系統(tǒng)安全機(jī)制
(一)安卓系統(tǒng)安全隱患
由于安卓還處于一個(gè)比較年輕的發(fā)展階段,在以下幾個(gè)問(wèn)題上還有一定的安全隱患:
(1)內(nèi)核存在大量漏洞,已出現(xiàn)許多漏洞利用工具。由于安卓系統(tǒng)的開(kāi)源特征,獲取其內(nèi)核代碼非常容易。針對(duì)現(xiàn)有程序漏洞,市面上已出現(xiàn)眾多的漏洞利用工具,其中竊取用戶(hù)隱私、惡意扣費(fèi)等行為的工具和木馬類(lèi)型的惡意軟件占到多數(shù),直接威脅用戶(hù)隱私和經(jīng)濟(jì)安全。
(2)應(yīng)用軟件缺乏安全審核及監(jiān)管。目前推廣安卓應(yīng)用軟件的平臺(tái)眾多,但還未能形成一個(gè)較有公信力,較為公平和安全的統(tǒng)一平臺(tái)。各公司處于自身利益的原因,對(duì)新上線的應(yīng)用軟件缺乏統(tǒng)一而嚴(yán)格的審核標(biāo)準(zhǔn)。用戶(hù)僅能從安裝軟件時(shí)所出現(xiàn)的警示界面中,得到有關(guān)程序所涉及權(quán)限的說(shuō)明,對(duì)于大多數(shù)缺乏專(zhuān)業(yè)計(jì)算機(jī)知識(shí)的普通用戶(hù)而言,無(wú)疑增加了學(xué)習(xí)負(fù)擔(dān),帶來(lái)的巨大的安全隱患。如果對(duì)程序進(jìn)行功能限制,卻并不能保護(hù)用戶(hù)免受流氓軟件的攻擊,因?yàn)槎鄶?shù)流氓軟件與普通應(yīng)用程序要求的系統(tǒng)權(quán)限是一樣的,這樣就導(dǎo)致,用戶(hù)難以評(píng)估他們即將下載安裝的應(yīng)用程序的風(fēng)險(xiǎn)。
(3)軟件開(kāi)發(fā)工具包有較多安全隱患。目前Android SDK已暴露出如,遠(yuǎn)程控制漏洞、整數(shù)溢出漏洞、瀏覽器圖片數(shù)據(jù)溢出漏洞等各種類(lèi)型的漏洞,攻擊者可利用這些漏洞進(jìn)行非法操作,甚至完全控制目標(biāo)設(shè)備。
(二)HIDS安全解決方案
基于主機(jī)的入侵檢測(cè)系統(tǒng)(Host-based intrusion-detectionsystem)是一個(gè)可以在便攜設(shè)備上檢測(cè)惡意軟件的,且對(duì)其進(jìn)行評(píng)估的框架。依靠一個(gè)輕型的代理在便攜設(shè)備上不斷的進(jìn)行特征取樣,采用機(jī)器學(xué)習(xí)及時(shí)序推理方法分析采集來(lái)的數(shù)據(jù),進(jìn)而推斷設(shè)備的狀態(tài)。
HIDS框架的主要設(shè)想是,通過(guò)收集系統(tǒng)參數(shù)指標(biāo)與已知的惡意軟件引發(fā)的系統(tǒng)參數(shù)指標(biāo)作對(duì)比,檢測(cè)相同點(diǎn),進(jìn)而發(fā)現(xiàn)先前未曾遇到的新的惡意軟件。然后評(píng)估基于已知惡意軟件樣品檢測(cè)發(fā)現(xiàn)新惡意軟件的能力。通過(guò)評(píng)估了數(shù)個(gè)組合實(shí)驗(yàn),實(shí)證結(jié)果表明HIDS框架在檢測(cè)惡意軟件時(shí)是有效的,準(zhǔn)確率87.4%,假陽(yáng)性率12.6%。
三、結(jié)束語(yǔ)
通過(guò)對(duì)安卓系統(tǒng)結(jié)構(gòu)的分析和對(duì)安卓系統(tǒng)安全問(wèn)題的探討不難發(fā)現(xiàn),在安卓系統(tǒng)中保障個(gè)人信息安全問(wèn)是一個(gè)體系問(wèn)題,它需要硬件、操作系統(tǒng)和應(yīng)用程序等方面的問(wèn)題,各種智能終端的長(zhǎng)期安全性還需進(jìn)一步研究,同時(shí)必須做好防病毒和打補(bǔ)丁等工作。另外,研究新的安全解決方案對(duì)于新生的安卓而言也有著非常不錯(cuò)的使用效果。