李忠慧
摘 要: 普適計(jì)算主要指一種無處不在的計(jì)算,智能手機(jī)得益于其內(nèi)置的各種傳感器設(shè)備、多核處理器而成為普適計(jì)算系統(tǒng)的重要組成部分。智能手機(jī)的安全與否將直接影響到普適計(jì)算系統(tǒng)的安全。從Android操作系統(tǒng)安全漏洞和無線網(wǎng)連接方面對Android系統(tǒng)進(jìn)行了安全分析;通過實(shí)驗(yàn)證明了Android手機(jī)用戶如不加選擇地連接到偽裝的無線接入點(diǎn),用戶和智能手機(jī)將處于危險(xiǎn)之中,易受到中間人攻擊;并給出了針對上述情況的安全解決方案。
關(guān)鍵詞: 普適計(jì)算; Android系統(tǒng); 安全漏洞; 中間人攻擊
中圖分類號:TP309 文獻(xiàn)標(biāo)志碼:A 文章編號:1006-8228(2015)08-20-03
Research on function and security of smart phone in ubiquitous computing
Li Zhonghui
(Yancheng Teachers University, Yancheng, Jiangsu 224002, China)
Abstract: Ubiquitous computing mainly refers to a kind of computing been made to appear everywhere and anywhere. Smart phones have become an important part of the ubiquitous computing system due to their various sensor devices and multi core processor. The security of the smart phone will directly affect the safety of the ubiquitous computing system. The security of Android system is analyzed in this paper from the aspects of Android operating system security holes and wireless network connection. Through the experiment, it is proved that if the Android mobile phone user connects indiscriminately to the disguised wireless access point, the user and smart phone will be in danger, vulnerable to man-in-the-middle attack. The security solution is presented for the above situation.
Key words: ubiquitous computing; Android system; security hole; MITM
0 引言
普適計(jì)算又稱泛在計(jì)算,隨著計(jì)算機(jī)技術(shù)和傳感器技術(shù)的發(fā)展而不斷發(fā)展。隨著軟硬件技術(shù)的發(fā)展,智能手機(jī)取得了令人矚目的發(fā)展,它像筆記本電腦,具有獨(dú)立的操作系統(tǒng),獨(dú)立的運(yùn)行空間。用戶使用智能手機(jī)可以自行安裝軟件、游戲、導(dǎo)航等各種應(yīng)用程序。在普適計(jì)算模式下,智能手機(jī)與環(huán)境的無縫集成,使之成為人類與普適計(jì)算系統(tǒng)之間的重要接口。智能手機(jī)的安全問題是普適計(jì)算安全問題的一個(gè)重要部分[1-2]。
智能手機(jī)操作系統(tǒng)略有不同,我們將專注于Android操作系統(tǒng)。Android操作系統(tǒng)自Google2007年11月發(fā)布以來,由于其開源性,擁有了龐大的用戶數(shù),據(jù)市場分析機(jī)構(gòu)Strategy Analytics報(bào)告,2014年,Android操作系統(tǒng)的全球市場份額已達(dá)84.6%。而正是由于Android系統(tǒng)是開源系統(tǒng),Android手機(jī)也成為黑客的攻擊目標(biāo)。據(jù)360發(fā)布的《2014年中國手機(jī)安全狀況報(bào)告》稱,2014年惡意程序樣本較2013年增長近4倍,達(dá)326萬個(gè)之多,全年感染用戶達(dá)3.2億人次[3]。
目前,Android系統(tǒng)安全研究主要集中在內(nèi)核層安全、架構(gòu)層安全和用戶認(rèn)證機(jī)制安全方面。本文提出,即使Android手機(jī)的操作系統(tǒng)是安全的,且手機(jī)中安裝的所有應(yīng)用程序都是良性程序,也會(huì)因?yàn)槭謾C(jī)用戶的安全意識薄弱,使用未知的wifi接入點(diǎn)讓自己深陷威脅之中。
1 普適計(jì)算系統(tǒng)與智能手機(jī)
1.1 普適計(jì)算概念
普適計(jì)算術(shù)語是1991年首次被Mark Weiser提出的,后被多個(gè)研究員和機(jī)構(gòu)重新定義。Friedemann Matter重新定義它為日常物品的綜合計(jì)算和互連。在普適計(jì)算系統(tǒng)中,人們周圍都是計(jì)算設(shè)備,人們可以隨時(shí)隨地利用這些設(shè)備訪問信息。普適計(jì)算主要指一種無處不在的計(jì)算。應(yīng)用中的計(jì)算設(shè)備不是傳統(tǒng)“電腦”,而是嵌入微處理器的各種設(shè)備,如:手機(jī)、智能電飯煲、冰箱、電視等等。這些設(shè)備不僅具備計(jì)算能力,還具有通信能力。它們成為一個(gè)整體而互相協(xié)作。
1.2 普適計(jì)算的組成
與分布式計(jì)算不同,普適計(jì)算主要包括:上下文感知計(jì)算、環(huán)境和普適智能以及記錄、跟蹤與監(jiān)控,其中最重要的特征是上下文感知計(jì)算[4]。因?yàn)榉?wù)提供商希望普適計(jì)算可以在最適合的時(shí)刻給需要服務(wù)的人提供合適的服務(wù),而無需用戶干預(yù)。為了提供這種服務(wù),普適計(jì)算系統(tǒng)就必需具有理解關(guān)于用戶個(gè)人和環(huán)境的上下文信息的計(jì)算能力。為了收集上下文環(huán)境信息,在普適計(jì)算領(lǐng)域需要傳感器設(shè)備來收集信息并將收集的信息傳遞到基站,由基站完成上下文感知計(jì)算。上下文感知計(jì)算被用來推斷情況并決定下一步操作。這個(gè)過程是很重要的,因?yàn)槿绻评斫Y(jié)果與實(shí)際用戶的期望不匹配,那么普適計(jì)算將失去用戶的信任。
普適計(jì)算系統(tǒng)的核心需求與環(huán)境和無處不在的智能密切相關(guān),因?yàn)槠者m計(jì)算需要精確的接口。例如,當(dāng)用戶想要調(diào)節(jié)音頻的音量或改變電視頻道時(shí),他需要精確的接口與普適計(jì)算系統(tǒng)通信。一般來說,語音識別和手勢識別技術(shù)在這一領(lǐng)域經(jīng)常使用;然而,出錯(cuò)率仍然很高。因此,需要技術(shù)研究來提高其準(zhǔn)確性。
普適計(jì)算系統(tǒng)需要記錄、跟蹤和監(jiān)控。根據(jù)這些需求開發(fā)通過傳感和提醒來輔助人類生活的應(yīng)用。普適計(jì)算需要跟蹤與監(jiān)控上下文環(huán)境來獲得足夠的信息,因?yàn)樯舷挛母兄?jì)算的傳感器設(shè)備向它定期報(bào)告?zhèn)€人和環(huán)境上下文信息。如果普適計(jì)算跟蹤并監(jiān)視弱勢群體,比如老年人、兒童、病人,普適計(jì)算就可以應(yīng)對突發(fā)緊急情況。然而,普適計(jì)算系統(tǒng)也遇到一些問題。①很難記錄、跟蹤和監(jiān)視發(fā)生在普適計(jì)算中的所有交互,因?yàn)榻换チ看?。普適計(jì)算由收集上下文信息的設(shè)備或等待用戶輸入的大量傳感器組成,因此,大量的交互發(fā)生在短時(shí)間內(nèi)。②記錄、跟蹤和監(jiān)控個(gè)人信息與保護(hù)個(gè)人信息是沖突的。用戶在體驗(yàn)新科技給生活帶來便捷的同時(shí),也深陷各類惡意軟件帶來的威脅之中。
1.3 智能手機(jī)在普適計(jì)算中的作用
智能手機(jī)的發(fā)展極大地改變了人們的生活方式。從早上叫醒服務(wù)到遠(yuǎn)程控制汽車服務(wù),智能手機(jī)為用戶提供各種各樣的服務(wù)。就像可穿戴設(shè)備,人們隨時(shí)隨地?cái)y帶智能手機(jī),利用智能手機(jī)接收和發(fā)送電子郵件、分享文件等。
智能手機(jī)有交互功能的各種接口,如相機(jī)、觸摸面板、陀螺儀和上下按鈕。各種技術(shù)已經(jīng)被用于人類和智能手機(jī)的設(shè)備之間交互。例如,智能手機(jī)通過識別用戶的眼睛,可以自動(dòng)調(diào)整屏幕亮度, web瀏覽器的滾動(dòng)可以通過傾斜裝置來控制。智能手機(jī)可以滿足普適計(jì)算的核心需求。智能手機(jī)可以在上下文感知計(jì)算中起部署的傳感器設(shè)備的角色,因?yàn)?,智能手機(jī)可以收集上下文信息,并通過無線通信將收集的信息傳輸?shù)交尽6?,智能手機(jī)可以用于人類接口。使用通用的用戶身份模塊(USIM)信息,可以利用智能手機(jī)作為主人身份識別。所以,智能手機(jī)可以作為人類和普適計(jì)算系統(tǒng)之間的接口。
普適計(jì)算中的智能手機(jī)有許多資源,比如隱私信息(日程安排、聯(lián)系人等等),內(nèi)置的傳感器設(shè)備(如,GPS模塊、陀螺儀、加速器等等),以及用戶選擇安裝的普適計(jì)算應(yīng)用程序。圖1說明了智能手機(jī)與普適計(jì)算系統(tǒng)之間的交互。
2 Android 安全機(jī)制分析
Android系統(tǒng)安全包括內(nèi)核層安全、架構(gòu)層安全和用戶認(rèn)證機(jī)制安全三個(gè)方面[5]。然而,由于智能手機(jī)上的許多應(yīng)用都需要聯(lián)網(wǎng)功能,一般通過使用移動(dòng)網(wǎng)絡(luò)或無線網(wǎng)絡(luò)隨時(shí)來與互聯(lián)網(wǎng)連接,訪問存儲(chǔ)在設(shè)備或網(wǎng)絡(luò)上的用戶信息。盡管智能手機(jī)的功能有顯著增強(qiáng),但是其安全技術(shù)仍低于人們的期望。
智能手機(jī)與普適系統(tǒng)的交互如圖1所示。
[傳感器:GPS][傳感器:陀螺儀][傳感器:加速器][用戶手勢][上下文信息][用戶信息][跟蹤信息][智能手機(jī)資源][普適計(jì)算的核心組件][普適計(jì)算
應(yīng)用\&] [敏感信息] [環(huán)境
普適計(jì)算][上下文
感知計(jì)算][記錄、跟蹤和監(jiān)視]
圖1 智能手機(jī)與普適系統(tǒng)的交互
2.1 Android操作系統(tǒng)安全漏洞
一般所有安裝在智能手機(jī)上的應(yīng)用程序都運(yùn)行在自己的沙箱里,沒有應(yīng)用程序可以逃離這個(gè)沙箱。然而,這種強(qiáng)制限制削弱了智能手機(jī)應(yīng)用程序的大部分功能。所以,Android平臺(tái)允許使用經(jīng)手機(jī)用戶授權(quán)的API。每個(gè)Android應(yīng)用程序都有申請權(quán)限的詳細(xì)信息,包含在AndroidManifest.xml文件中,在安裝時(shí)向手機(jī)用戶請求批準(zhǔn)[6,7]。這些權(quán)限自應(yīng)用程序安裝后從不改變,直到應(yīng)用程序重新安裝。在AdnroidManifest.xml文件中,需要為每個(gè)被調(diào)用的有風(fēng)險(xiǎn)的API分別定義權(quán)限。然而,只有當(dāng)用戶應(yīng)用程序調(diào)用有風(fēng)險(xiǎn)的API時(shí),Android操作系統(tǒng)才開始檢驗(yàn)權(quán)限是否授權(quán)。例如,某個(gè)應(yīng)用程序申請了“INTERNET”權(quán)限,安裝時(shí)獲得了授權(quán),但運(yùn)行時(shí)并沒有調(diào)用相應(yīng)的API,Android操作系統(tǒng)就不會(huì)檢查權(quán)限“INTERNET”是否授權(quán)。
Android操作系統(tǒng)的基于權(quán)限的安全模型有以下安全漏洞。①Android操作系統(tǒng)將安全責(zé)任留給普通用戶承擔(dān),這是非常危險(xiǎn)的。大多數(shù)用戶不理解應(yīng)用程序申請的權(quán)限,不知道批準(zhǔn)后帶來的風(fēng)險(xiǎn)。此外,手機(jī)用戶對應(yīng)用程序申請的權(quán)限只有兩種選擇:授權(quán)或不授權(quán)。所以,用戶通??摧p權(quán)限授權(quán)的過程。②Android系統(tǒng)基于權(quán)限的安全模型易受到特權(quán)提升的攻擊[8]。多個(gè)應(yīng)用程序?yàn)榱双@得他們的目的而共享信息。例如,惡意應(yīng)用程序A有訪問內(nèi)部敏感數(shù)據(jù)的權(quán)限,如聯(lián)系人,但是它沒有通過因特網(wǎng)發(fā)送消息的權(quán)限。惡意應(yīng)用程序B沒有訪問敏感內(nèi)部數(shù)據(jù)的權(quán)限,但是它有訪問因特網(wǎng)的權(quán)限。在這個(gè)情況下,惡意程序A通過內(nèi)部通信路徑將聯(lián)系人信息傳送給惡意應(yīng)用程序B,惡意應(yīng)用B通過網(wǎng)絡(luò)流出聯(lián)系人信息。③基于權(quán)限的安全模型只能覆蓋底層的和API調(diào)用相關(guān)的行為。如果Android應(yīng)用程序應(yīng)用層有缺陷,那么Android操作系統(tǒng)將不能保護(hù)它自己。
2.2 接入未知無線接入點(diǎn)的威脅
無線通信技術(shù)已成為連接智能設(shè)備的最重要的通信手段。無線通信的發(fā)展有助于實(shí)現(xiàn)普適計(jì)算。然而,在無線通信迅速增長的情況下,也存在著安全威脅。
無線接入點(diǎn)(Access Point,AP)是一個(gè)無線網(wǎng)絡(luò)的接入點(diǎn),俗稱“熱點(diǎn)”。我們周圍有許多無線AP,數(shù)量超過實(shí)際需求。事實(shí)上,我們手機(jī)搜索到的所有AP并不一定都是良性的。如不加選擇地嘗試連接到未知AP,會(huì)使人與設(shè)備處于危險(xiǎn)之中。
一般來說,智能手機(jī)用戶希望其智能機(jī)總是連接到互聯(lián)網(wǎng),因?yàn)榘惭b在智能手機(jī)的應(yīng)用程序通常需要互聯(lián)網(wǎng)連接上傳或下載實(shí)時(shí)信息。因此,智能手機(jī)用戶經(jīng)常搜索開放的無線網(wǎng)絡(luò)。在有線網(wǎng)絡(luò)中,MITM攻擊(Man-in-the-Middle Attack,中間人攻擊,簡稱“MITM攻擊”)是非常困難的。因?yàn)?,一個(gè)對手物理地闖入一個(gè)終端用戶和ISP之間,這是很困難的。然而,在無線網(wǎng)絡(luò)中,一個(gè)對手可以很容易地闖入一個(gè)終端用戶和ISP之間,因?yàn)闊o線網(wǎng)絡(luò)中消息的傳輸是在空氣中進(jìn)行。因此,無線網(wǎng)絡(luò)比有線網(wǎng)絡(luò)更加脆弱。如果對手安裝開放的AP,他可以很容易地獲得智能手機(jī)的連接。為了實(shí)施MITM攻擊,安裝開放AP的方式主要有兩種類型。第一種是對手在公共場所安裝偽裝的AP,如機(jī)場、銀行、商場。在這些地方,對手很容易找到攻擊目標(biāo),因?yàn)楫?dāng)人們在一個(gè)地方呆很長時(shí)間時(shí),使用智能手機(jī)的概率會(huì)增加。第二種是使用偽裝的AP。偽裝的AP安裝在對應(yīng)良性AP范圍以外,并偽裝成這個(gè)良性AP。由于偽裝AP使用良性AP的SSID(Service Set Identifier,服務(wù)集標(biāo)識),所以終端用戶很容易受騙。
為了驗(yàn)證上述情況,我們進(jìn)行了實(shí)驗(yàn)。實(shí)驗(yàn)設(shè)備包括一個(gè)Android 手機(jī)、一臺(tái)筆記本電腦和一個(gè)服務(wù)器。筆記本電腦用作偽裝的AP,服務(wù)器作為DNS欺騙服務(wù)器和Web代理服務(wù)器,用來發(fā)起MITM攻擊。通常一個(gè)含有廣告的應(yīng)用程序會(huì)與多個(gè)服務(wù)器通信。第一個(gè)是數(shù)據(jù)服務(wù)器,數(shù)據(jù)服務(wù)器檢查應(yīng)用程序用戶身份、應(yīng)用程序版本、完整性等。如果應(yīng)用程序無法測試通過,這個(gè)應(yīng)用將立即終止。第二個(gè)服務(wù)器是廣告服務(wù)器,這是一個(gè)可選對象。廣告服務(wù)器提供事件通知的html文件和圖像文件,通過HTTP的商業(yè)廣告。廣告服務(wù)器的連接不影響啟動(dòng)的程序,不同于數(shù)據(jù)服務(wù)器的連接。實(shí)驗(yàn)中發(fā)起MITM攻擊的冒充為廣告服務(wù)器。
智能手機(jī)用戶需要更多地關(guān)注這類未知AP,因?yàn)橹悄苁謾C(jī)已成為用戶的信息安全的關(guān)鍵點(diǎn)。一般來說,所有的信息都包含在他的智能手機(jī)里,從隱私照片到業(yè)務(wù)文檔。因此,如果智能手機(jī)內(nèi)的信息被對手破壞,那么用戶將在社會(huì)或經(jīng)濟(jì)上遭受不可挽回的損失。
3 安全解決方案
在第2節(jié)對Android安全機(jī)制分析的基礎(chǔ)上,從Android操作系統(tǒng)和網(wǎng)絡(luò)兩個(gè)方面給出安全解決方案。
在Android操作系統(tǒng)方面,Android安全機(jī)制主要有簽名機(jī)制、權(quán)限機(jī)制和沙盒機(jī)制來保證Android系統(tǒng)安全。細(xì)化權(quán)限[9]、安裝時(shí)讓用戶可以選擇性授權(quán)、API安全實(shí)現(xiàn)和規(guī)范的使用都是保證Android安全的極為重要手段。
在網(wǎng)絡(luò)方面,針對MITM攻擊,以下措施是非常必要的:①智能手機(jī)用戶避免連接到未知的AP;②注意彈出式廣告,即使它是知名的應(yīng)用程序的彈出消息;③應(yīng)用程序開發(fā)人員避免使用脆弱的API;④阻止嵌入式鏈接的執(zhí)行;⑤當(dāng)應(yīng)用程序與外部設(shè)備通信時(shí),必須使用相互身份驗(yàn)證過程和安全協(xié)議,如SSL。這些措施可以大大減少M(fèi)ITM攻擊的威脅。
4 結(jié)束語
智能手機(jī)是普適計(jì)算系統(tǒng)中的重要組成部分,滿足普適計(jì)算的核心需求:上下文感知計(jì)算、環(huán)境和普適智能以及記錄、跟蹤和監(jiān)測環(huán)境。然而,智能手機(jī)的增長足以吸引對手的注意。Android系統(tǒng)平臺(tái)的安全模型也存在著安全漏洞:①Android操作系統(tǒng)將安全的重大責(zé)任留給無知的用戶應(yīng)對;②基于權(quán)限的安全模型易受到特權(quán)升級的攻擊;③基于權(quán)限的安全模型不能覆蓋應(yīng)用程序級別的漏洞。即使是良性的應(yīng)用程序,若連接到偽裝的AP上,也會(huì)使手機(jī)用戶陷入危險(xiǎn)之中。為了減輕這MITM攻擊,開發(fā)人員必須使用相互身份驗(yàn)證使應(yīng)用程序與外部設(shè)備通信,禁止嵌入式鏈接的執(zhí)行。在未來的工作中,還將繼續(xù)研究發(fā)現(xiàn)智能手機(jī)平臺(tái)的脆弱性,找到針對這些威脅的解決方案。
參考文獻(xiàn):
[1] 李世群.普適計(jì)算中的安全問題研究[D].上海交通大學(xué),2007.
[2] 楊帆.普適計(jì)算安全協(xié)議的模塊設(shè)計(jì)及CSP分析[D].東華大學(xué),
2008.
[3] 360互聯(lián)網(wǎng)安全中心.2014年中國手機(jī)安全狀況報(bào)告[Z].奇虎360,
2015.
[4] 吳懷廣,姬厚靈,毋國慶等.普適環(huán)境中上下文感知的帶演算的
Bigraphs描述[J].計(jì)算機(jī)科學(xué),2012.39(1):109-114
[5] 張玉清,王凱,楊歡等.Android 安全綜述[J].計(jì)算機(jī)研究與發(fā)展,
2014.51(7):1385-1396
[6] 沈晨,張凱,呂偉鵬等.基于Android平臺(tái)的課程學(xué)習(xí)系統(tǒng)的設(shè)計(jì)與實(shí)
現(xiàn)[J].重慶工商大學(xué)學(xué)報(bào)(自然科學(xué)版),2014.31(1):56-60
[7] 肖遠(yuǎn)東.基于Android平臺(tái)的智能操控終端的設(shè)計(jì)與實(shí)現(xiàn)[J].重慶工
商大學(xué)學(xué)報(bào)(自然科學(xué)版),2014.31(7):70-76
[8] 方喆,劉奇旭,張玉清.Android應(yīng)用軟件功能泄露漏洞挖掘工具的設(shè)
計(jì)與實(shí)現(xiàn)[J]中國科學(xué)院大學(xué)學(xué)報(bào),2015.32(1):127-135
[9] 張銳,楊吉云.基于權(quán)限相關(guān)性的Android惡意軟件檢測[J].計(jì)算機(jī)應(yīng)
用,2014.34(5):1322-1325