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