史 楊
(鄖陽(yáng)師范高等專科學(xué)校,湖北十堰 442000)
?
Android手機(jī)和計(jì)算機(jī)連接后的安全控制策略研究
史 楊
(鄖陽(yáng)師范高等??茖W(xué)校,湖北十堰 442000)
當(dāng)Android系統(tǒng)手機(jī)和一臺(tái)計(jì)算機(jī)系統(tǒng)連接起來(lái)之后,計(jì)算機(jī)用戶可以通過(guò)root的身份來(lái)訪問(wèn)控制Android系統(tǒng)手機(jī),一旦該計(jì)算機(jī)上有針對(duì)手機(jī)的惡意程序,則Android系統(tǒng)數(shù)據(jù)和手機(jī)用戶隱私數(shù)據(jù)將有很大的安全隱患。本文以Android系統(tǒng)為例,通過(guò)在Android系統(tǒng)手機(jī)內(nèi)核中增加擴(kuò)展訪問(wèn)控制策略模塊,來(lái)實(shí)現(xiàn)對(duì)Android系統(tǒng)手機(jī)的安全訪問(wèn)控制方法,防止計(jì)算機(jī)對(duì)手機(jī)系統(tǒng)文件的惡意訪問(wèn)。
Android;計(jì)算機(jī);訪問(wèn)控制
隨著移動(dòng)電子設(shè)備、無(wú)線WIFI技術(shù)及移動(dòng)網(wǎng)絡(luò)的快速發(fā)展,以手機(jī)為代表的無(wú)線終端,已經(jīng)日益受到越來(lái)越多的用戶使用。據(jù)統(tǒng)計(jì),截至2015年6月,中國(guó)手機(jī)網(wǎng)民已超過(guò)5.94億,網(wǎng)民中使用手機(jī)上網(wǎng)的人占到88.9%,手機(jī)作為無(wú)線上網(wǎng)終端的地位愈加穩(wěn)固。
在日常生活中,很多計(jì)算機(jī)常用軟件都增加了對(duì)手機(jī)的訪問(wèn)模塊,如360手機(jī)助手、豌豆莢、QQ手機(jī)助手等。連接后的手機(jī)和計(jì)算機(jī)可以相互訪問(wèn)數(shù)據(jù),若連接的計(jì)算機(jī)有惡意程序,則攻擊者可以利用惡意程序來(lái)實(shí)現(xiàn)對(duì)手機(jī)數(shù)據(jù)的隨意訪問(wèn),造成惡意扣費(fèi)、盜取隱私信息等問(wèn)題。而手機(jī)自身硬件和軟件能力有限,一般沒(méi)有入侵檢測(cè)系統(tǒng)和防火墻的安全工具,容易被惡意程序入侵。為了解決這些問(wèn)題,本文通過(guò)在手機(jī)Android系統(tǒng)上部署擴(kuò)展訪問(wèn)控制策略,用來(lái)控制計(jì)算機(jī)和手機(jī)的文件訪問(wèn)。
1.1 Android系統(tǒng)
Android是Google公司為移動(dòng)終端打造的真正開放和完整的開源軟件,是基于linux內(nèi)核的開源手機(jī)系統(tǒng)軟件。其系統(tǒng)主要構(gòu)架為3層,如表1所示。
表1 Android系統(tǒng)架構(gòu)
1.2 ADB(Android debug brilge)
ADB(Android debug brilge)是Android系統(tǒng)中的一個(gè)實(shí)用工具,其功能是為用戶提供安裝軟件、管理應(yīng)用軟件和維護(hù)用戶數(shù)據(jù)。ADB由兩個(gè)工具組成:客戶端工具ADBC(ADB client)和服務(wù)端工具ADBD(ADB daemon)。當(dāng)手機(jī)和計(jì)算機(jī)連接后,客戶端工具ADBC在計(jì)算機(jī)上運(yùn)行,而服務(wù)端工具ADBD將以后臺(tái)方式在手機(jī)上運(yùn)行,隨時(shí)接受來(lái)自計(jì)算機(jī)客戶端的命令,并在手機(jī)上執(zhí)行發(fā)送過(guò)來(lái)的命令[1]。如命令:
Adb push app1.apk/system/app/app1.apk;//若執(zhí)行該命令,則計(jì)算機(jī)上的APP1.apk將被復(fù)制到手機(jī)/
system/app/目錄下,若該文件存在,則計(jì)算機(jī)上的APP1.apk將覆蓋該目錄下的文件。
adb install app1.apk; //若執(zhí)行該命令,則手機(jī)上將安裝復(fù)制過(guò)來(lái)的應(yīng)用軟件app1.apk,安裝路徑為/system/app/。
1.3 Android安全機(jī)制
Android系統(tǒng)為多進(jìn)程系統(tǒng)。在這個(gè)系統(tǒng)中,按照l(shuí)inux權(quán)限管理機(jī)制來(lái)分配權(quán)限。Android系統(tǒng)會(huì)給每個(gè)內(nèi)部應(yīng)用程序分配1個(gè)唯一的linux Id,并且給它們創(chuàng)建一個(gè)沙箱,使應(yīng)用程序間相互隔離,防止其他應(yīng)用軟件的干擾。默認(rèn)狀態(tài)下,應(yīng)用程序之間不能相互訪問(wèn),如圖1所示。每個(gè)應(yīng)用軟件只能訪問(wèn)自己的沙箱,對(duì)操作系統(tǒng)有害的行為或訪問(wèn)其他應(yīng)用程序是沒(méi)有權(quán)限的。
圖1 Android系統(tǒng)內(nèi)核安全機(jī)制
Android系統(tǒng)通過(guò)沙箱隔離策略來(lái)保護(hù)應(yīng)用軟件和其它數(shù)據(jù)的機(jī)密性和完整性。但是,Android系統(tǒng)的這種保護(hù)策略只能應(yīng)用于手機(jī)的內(nèi)部。當(dāng)一個(gè)Android系統(tǒng)手機(jī)和計(jì)算機(jī)連接后,感染在計(jì)算機(jī)上的部分惡意程序可以通過(guò)ADB客戶端工具來(lái)對(duì)手機(jī)的數(shù)據(jù)進(jìn)行威脅。
當(dāng)用戶的手機(jī)通過(guò)USB或者WIFI連接到計(jì)算機(jī)后,此時(shí)手機(jī)的可信計(jì)算基TCB (trusted computing base)將應(yīng)用到所連接的計(jì)算機(jī)上。然而,此時(shí)的計(jì)算機(jī)不一定是沒(méi)有問(wèn)題的。若該計(jì)算機(jī)已經(jīng)感染惡意程序,則攻擊者將利用ADB客戶端工具來(lái)檢測(cè)手機(jī),利用客戶端工具來(lái)給Android系統(tǒng)手機(jī)發(fā)送惡意程序指令。
ADB客戶端工具一般以root身份來(lái)登錄手機(jī)系統(tǒng),所以擁有對(duì)手機(jī)所有文件的管理權(quán)限,這樣就給惡意程序提供了很好的潛入渠道。它們可以在用戶不易察覺(jué)的情況下,用ADB客戶端工具給手機(jī)發(fā)送命令,用惡意程序來(lái)替換手機(jī)上的正常程序,將惡意程序合法化,例如以下命令:
adb push app1. apk/data/app/app1.apk;//該命令將用惡意程序來(lái)替換手機(jī)上的正常程序app1.apk。
adb pull/data/data/com.android.providers.contacts/databases/con-tacts.db contacts.db;//該命令將手機(jī)用戶的數(shù)據(jù)庫(kù)文件下載下來(lái)。
在Android系統(tǒng)手機(jī)中,其以明文方式來(lái)保存數(shù)據(jù)庫(kù)文件,若惡意程序下載了用戶手機(jī)的數(shù)據(jù)庫(kù)文件contacts.db后,手機(jī)用戶的通訊錄信息就將泄露,如圖2所示。
圖2 Android系統(tǒng)通訊錄數(shù)據(jù)庫(kù)文件
3.1 安全策略設(shè)計(jì)
通過(guò)分析,在Android手機(jī)的訪問(wèn)機(jī)制上可以設(shè)計(jì)一種安全的連接計(jì)算機(jī)方法,該方法設(shè)計(jì)分為兩個(gè)部分,即安全策略文件和安全策略決策層。(1)安全策略文件:該文件在手機(jī)存儲(chǔ)器中,將根據(jù)用戶的需要進(jìn)行定制,例如限定服務(wù)端工具ADBD只能讀取文件,不能寫文件。(2)安全策略決策層:其位于手機(jī)存儲(chǔ)器和Linux內(nèi)核操作系統(tǒng)調(diào)用層之間,當(dāng)有系統(tǒng)調(diào)用文件時(shí),被用來(lái)控制服務(wù)端工具ADBD對(duì)文件的訪問(wèn)。當(dāng)用戶手機(jī)在未知安全的計(jì)算機(jī)上連接時(shí)(如網(wǎng)吧或者公開場(chǎng)所的計(jì)算機(jī)),打開安全策略文件,用來(lái)控制計(jì)算機(jī)對(duì)Android系統(tǒng)手機(jī)的讀寫操作。設(shè)置用戶手機(jī)在默認(rèn)狀態(tài)下,打開安全策略文件,保證手機(jī)的安全。
3.2 安全訪問(wèn)策略文件設(shè)置
該安全訪問(wèn)策略將手機(jī)文件的訪問(wèn)權(quán)限進(jìn)行了描述,控制服務(wù)端工具ADBD訪問(wèn)文件的權(quán)限,表示為
表2 文件權(quán)限參數(shù)
在Android系統(tǒng)手機(jī)中,其操作系統(tǒng)目錄存放默認(rèn)是一致的。一般來(lái)說(shuō),這些默認(rèn)的系統(tǒng)目錄存放的文件是固定的,很少涉及更新或者升級(jí),我們可以對(duì)這些系統(tǒng)文件目錄設(shè)置安全訪問(wèn)策略,如表3所示。通過(guò)安全策略設(shè)置,將存放系統(tǒng)配置文件和數(shù)據(jù)庫(kù)文件的位置禁止客戶端工具訪問(wèn),對(duì)應(yīng)用程序文件只允許進(jìn)行讀操作。
表3 Android系統(tǒng)默認(rèn)目錄安全策略設(shè)置
在手機(jī)擴(kuò)展SD卡中一般存儲(chǔ)用戶的數(shù)據(jù)文件,如文檔、照片等。這些文件占用空間大,更新也比較快。對(duì)于這些目錄的文件可以設(shè)置如下的安全訪問(wèn)策略,如表4所示,允許客戶端工具對(duì)這些目錄下的文件進(jìn)行讀、寫、重命名、刪除和新建等操作。
表4 安全訪問(wèn)策略
3.3 安全訪問(wèn)控制
在Android系統(tǒng)手機(jī)中,其用戶的進(jìn)程的服務(wù)接口是通過(guò)系統(tǒng)調(diào)用(system call)來(lái)提供的,其中間層的應(yīng)用軟件也是通過(guò)linux系統(tǒng)調(diào)用實(shí)現(xiàn)的。以上3.2節(jié)所設(shè)置的與安全訪問(wèn)策略權(quán)限有關(guān)的接口由以下5個(gè)系統(tǒng)調(diào)用[2],如表5所示。
表5 系統(tǒng)調(diào)用5個(gè)接口
計(jì)算機(jī)連接上手機(jī)后,當(dāng)服務(wù)端工具ADBD要開始訪問(wèn)文件時(shí),訪問(wèn)控制安全層開始做出判斷,是否需要響應(yīng)計(jì)算機(jī)發(fā)送過(guò)來(lái)的命令,其流程圖如圖3所示。
圖3 系統(tǒng)訪問(wèn)控制流程
當(dāng)系統(tǒng)開始調(diào)用文件時(shí),首先檢測(cè)是否為Android系統(tǒng)內(nèi)部訪問(wèn)文件,若非系統(tǒng)調(diào)用,則表明文件沒(méi)有被系統(tǒng)調(diào)用,則調(diào)用按原順序繼續(xù)向下執(zhí)行;若發(fā)生了系統(tǒng)文件調(diào)用,則需要檢查是否為服務(wù)端工具ADBD在調(diào)用文件命令,若非ADBD調(diào)用,則表明文件由手機(jī)內(nèi)部應(yīng)用軟件調(diào)用,則調(diào)用按原順序繼續(xù)向下執(zhí)行;若是服務(wù)端工具ADBD在調(diào)用文件,則說(shuō)明Android已經(jīng)開始連接上計(jì)算機(jī),此時(shí)需要通過(guò)設(shè)置的安全策略文件進(jìn)行匹配檢查,若通過(guò),則表明調(diào)用的文件符合用戶設(shè)置的安全訪問(wèn)策略文件,可以執(zhí)行訪問(wèn)操作;若不通過(guò),則終止調(diào)用返回。
針對(duì)Android手機(jī)在連接計(jì)算機(jī)后容易遭到計(jì)算機(jī)中惡意程序的攻擊,本文通過(guò)對(duì)Android系統(tǒng)手機(jī)安全策略的設(shè)置,提出了一種手機(jī)和計(jì)算機(jī)連接后安全訪問(wèn)的控制方法,以最大限度地保證手機(jī)信息的安全性。
[1]吳倩,趙晨嘯,郭瑩.Android 安全機(jī)制解析與應(yīng)用實(shí)踐[M].北京:機(jī)械工業(yè)出版社,2013.
[2]肖梓航.再談 Android 軟件的安全開發(fā)[J].程序員,2013(3):94-97.
Research on Security Control Strategy Based on Android Mobile Phone and Computer Connection
SHI Yang
(Yunyang Teachers’College, Shiyan Hubei 442000, China)
When the Android system is connected with a computer system, the computer user can access control Android system by the identity of the root. Once the computer has a malicious program for mobile phones, the Android system data and mobile phone user privacy data will have a lot of security risks. This paper takes Android system as an example, through increasing access control strategy module in Android mobile phone kernel to realize the security access control of Android system, and prevent the computer from malicious access to mobile phone system file.
Android; computer; access control
2015-08-01
鄖陽(yáng)師范高等??茖W(xué)校校級(jí)科研項(xiàng)目(2015B06)。
史 楊(1982- ),女,湖北十堰人,鄖陽(yáng)師范高等專科學(xué)校講師,碩士研究生,從事計(jì)算機(jī)應(yīng)用技術(shù)研究。
TP309
A
2095-7602(2015)10-0034-04