• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      基于Android 應(yīng)用程序權(quán)限控制的設(shè)計(jì)

      2014-06-18 05:07:38冀健
      電腦知識(shí)與技術(shù) 2014年11期
      關(guān)鍵詞:程序開發(fā)信息安全

      冀健

      摘要:Android 手機(jī)安全問題主要來自于個(gè)人隱私泄露和各種惡意的扣費(fèi)軟件。這些包含病毒的流氓軟件偷偷地在系統(tǒng)后臺(tái)運(yùn)行,導(dǎo)致 Android 手機(jī)成為病毒傳播的載體。為了解決目前 Android 手機(jī)信息安全問題,在不破壞現(xiàn)有安全架構(gòu)的基礎(chǔ)上,實(shí)現(xiàn)對(duì)應(yīng)用軟件的權(quán)限管理,使用戶能在不同的情景模式下,根據(jù)自己的需求對(duì) Android 系統(tǒng)中所安裝應(yīng)用的權(quán)限進(jìn)行分配。

      關(guān)鍵詞: 權(quán)限管理;角色管理;程序開發(fā);信息安全

      中圖分類號(hào):TP311 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1009-3044(2014)11-2527-03

      Abstract: Android mobile security issues mainly regards disclosure of personal privacy and a variety of malicious chargeback software. These rogue software that contains a virus secretly running in the background, leading to Android phones become virus carriers. In order to solve the problem of information security Android phone, does not destroy the basis of the existing security architecture based on the realization of rights management application software, allowing users in different scenarios, according to their demand for Android application installed on your system permissions assigned.

      Key words: Rights Management; Role Management; Program Development; Information Security

      隨著 Android 操作系統(tǒng)占到移動(dòng)端份額越來越多,市場上已經(jīng)有不少應(yīng)用軟件開始關(guān)注 Android 操作系統(tǒng)安全問題。目前 Android 手機(jī)市場上的安全產(chǎn)品主要是從特征匹配或者實(shí)時(shí)監(jiān)控兩種方式進(jìn)行處理。若采用特征匹配的方法,就是對(duì)已知的惡意代碼進(jìn)行比較,如果匹配則對(duì)該應(yīng)用程序進(jìn)行查殺。若采用實(shí)時(shí)監(jiān)控的方法,就是開啟后臺(tái)程序監(jiān)控各種手機(jī)操作來發(fā)現(xiàn)可疑行為,例如上傳用戶相片,獲取用戶通訊錄,開啟手機(jī) GPS 功能等等。當(dāng)檢測到可疑行為時(shí)就提醒用戶,讓用戶根據(jù)軟件作用來定義黑名單和白名單,達(dá)到動(dòng)態(tài)監(jiān)控手機(jī)軟件的方式。Android 系統(tǒng)的數(shù)據(jù)是共享的,這極大的方便了開發(fā)者,能夠更快更方便開發(fā)出軟件,但這種數(shù)據(jù)共享的方式,會(huì)導(dǎo)致短信、通迅錄、相片等一些個(gè)人隱私的信息,能輕易地被所有應(yīng)用程序獲取,這就使用戶的個(gè)人信息處于極度不安全的狀態(tài)。首先從手機(jī)信息安全的定義入手,并對(duì)常見的手機(jī)病毒攻擊方式進(jìn)行了歸類,進(jìn)而對(duì)手機(jī)信息安全有更加深刻的認(rèn)識(shí)。然后對(duì) Android 操作系統(tǒng)組織結(jié)構(gòu)、APK文件結(jié)構(gòu)以及現(xiàn)行的安全機(jī)制進(jìn)行了全面的分析。最后探討了一下現(xiàn)在手機(jī)病毒是如何利用 Android 操作系統(tǒng)的漏洞來威脅用戶的信息安全。

      1 Android 手機(jī)可能受到的入侵方式

      根據(jù)目前Android手機(jī)已經(jīng)受到各種入侵方式加上對(duì)其安全漏洞的分析,我們從Android手機(jī)的硬件到軟件,內(nèi)核層到應(yīng)用層可能受到攻擊方式進(jìn)行分析,將其歸納為以下幾種方式:針對(duì)硬件的入侵,針對(duì)內(nèi)核層的入侵,針對(duì)系統(tǒng)庫和運(yùn)行環(huán)境的入侵,以及針對(duì)應(yīng)用程序的入侵。

      1.1 針對(duì)硬件的入侵

      Android系統(tǒng)是針對(duì)移動(dòng)端開發(fā)的操作系統(tǒng),所以它的存在依賴于硬件設(shè)備。由于硬件設(shè)備生產(chǎn)體系比較成熟,硬件的漏洞出現(xiàn)的可能性相對(duì)較小。但是硬件設(shè)備對(duì)整個(gè)手機(jī)來說是具有最高權(quán)限的,一旦發(fā)生入侵,造成的危害不可設(shè)想。通過調(diào)研發(fā)現(xiàn),針對(duì)硬件入侵一般發(fā)生在產(chǎn)品升級(jí)過程中,而Android手機(jī)升級(jí)是相當(dāng)頻繁,所以針對(duì)硬件漏洞入侵的手段也逐漸引起各個(gè)設(shè)備廠商的重視。因?yàn)獒槍?duì)硬件的入侵方式更加隱秘,造成的損失也更大。

      1.2 針對(duì)內(nèi)核層的入侵

      雖然Linux系統(tǒng)中幾乎沒有聽說過被病毒攻擊,但這并不是說Linux內(nèi)核的安全性能很強(qiáng)。事實(shí)上CVE(Common Vulnerabilities & Exposures)每年都會(huì)收錄Linux系統(tǒng)上百個(gè)漏洞。由于Linux系統(tǒng)的開源性,黑客可以很輕松地利用內(nèi)核層的漏洞,對(duì)Android系統(tǒng)進(jìn)行入侵。事實(shí)上Android手機(jī)應(yīng)用市場里獲取Root權(quán)限的軟件就是利用內(nèi)核層的漏洞來實(shí)現(xiàn)的。再加上為了節(jié)省硬件資源,降低內(nèi)存的占用率,會(huì)對(duì)Linux進(jìn)行裁剪,禁用一些選項(xiàng),這其中就可能關(guān)閉了一些安全機(jī)制。

      1.3 針對(duì)系統(tǒng)庫和運(yùn)行環(huán)境的入侵

      Android系統(tǒng)中系統(tǒng)庫主要是指系統(tǒng)的本地庫函數(shù),而 Android運(yùn)行環(huán)境是指Dalvik Java虛擬機(jī)和Java的類庫函數(shù)。Android操作系統(tǒng)中的本地庫函數(shù)是用C/C++語言編寫的,主要負(fù)責(zé)基本數(shù)學(xué)運(yùn)算和底層調(diào)用,其目的是提高系統(tǒng)的效率。而Android操作系統(tǒng)的上層代碼是用Java語言編寫的。這里就有C/C++函數(shù)與Java函數(shù)相互調(diào)用的問題,Android操作系統(tǒng)使用了JNI機(jī)制來進(jìn)行處理。當(dāng)Dalvik進(jìn)程通過JNI方法調(diào)用系統(tǒng)庫函數(shù)時(shí),萬一報(bào)錯(cuò)就會(huì)導(dǎo)致整個(gè)Dalvik進(jìn)程死掉,這樣系統(tǒng)中的內(nèi)存空間就會(huì)泄漏,導(dǎo)致整個(gè)手機(jī)系統(tǒng)奔潰。由于Android系統(tǒng)代碼是對(duì)外開源的,所以現(xiàn)在Android智能手機(jī)上的病毒大多數(shù)是針對(duì)系統(tǒng)庫和運(yùn)行環(huán)境進(jìn)行入侵的。endprint

      2 Android 手機(jī)權(quán)限管理模型設(shè)計(jì)

      2.1 模型設(shè)計(jì)整體思路

      如今移動(dòng)端支付和手機(jī)購物已經(jīng)興起,Android手機(jī)用戶喜歡刷機(jī)和下載各種軟件應(yīng)用,已給不法分子各種可乘之機(jī)。所以解決Android系統(tǒng)現(xiàn)有安全機(jī)制問題是必要的。這里我們根據(jù)用戶的習(xí)慣,采用情景模式方法對(duì)Android系統(tǒng)敏感的權(quán)限進(jìn)行控制。讓用戶來具體是否授予該應(yīng)用相關(guān)的權(quán)限,而不是讓各種應(yīng)用悄悄地獲取各種應(yīng)用權(quán)限。 如果某項(xiàng)權(quán)限被禁止了,而應(yīng)用程序申請(qǐng)了該權(quán)限,則該應(yīng)用被禁止運(yùn)行。 目前市面的Android手機(jī)安全軟件都是通過Java層對(duì)權(quán)限進(jìn)行控制,這樣不能有效地控制一些后臺(tái)程序,特別是一些嵌入在ROM包的系統(tǒng)程序,這些程序很可能繞開Java層,直接調(diào)用kernel層接口,獲取隱私信息。所以本模型直接從kernel層對(duì)用戶的權(quán)限進(jìn)行控制,根據(jù)現(xiàn)有的模型結(jié)構(gòu)進(jìn)行擴(kuò)充,不破壞現(xiàn)有的架構(gòu),并提供良好的用戶界面,注重用戶的體驗(yàn)。

      2.2 模型整體架構(gòu)

      該模型主要是在kernel層通過代碼來實(shí)現(xiàn)對(duì)各種權(quán)限的控制,在Java層設(shè)計(jì)與用戶進(jìn)行交互的界面。然后通過JNI技術(shù)獎(jiǎng)kernel層代碼和Java層代碼串聯(lián)起來。這樣在kernel層實(shí)現(xiàn)對(duì)這五種權(quán)限的管理。用戶通過對(duì)情景模式的選擇來啟動(dòng)相關(guān)Java調(diào)用類,這樣上層應(yīng)用都必須通過用戶的允許才能獲取某項(xiàng)權(quán)限。2.2 通信權(quán)限底層控制實(shí)現(xiàn)

      作為一般手機(jī),通信功能一般是采用處理器和Modem驅(qū)動(dòng)的架構(gòu)來實(shí)現(xiàn)的。而Android操作系統(tǒng)的通訊功能為了實(shí)現(xiàn)更加個(gè)性化的功能,將手機(jī)的通信系統(tǒng)分為:Modem驅(qū)動(dòng)、RIL(Radio Interface Layer)、Android電話標(biāo)準(zhǔn)接口、各種電話相關(guān)應(yīng)用四層結(jié)構(gòu)。 通信功能中的Modem驅(qū)動(dòng)與硬件采用串口方式進(jìn)行數(shù)據(jù)交互,然后Modem模塊通過與通信網(wǎng)絡(luò)進(jìn)行語音和數(shù)據(jù)的交互,從而完成通話和短信等相關(guān)功能。目前硬件的接口比較簡單,相對(duì)比較成熟,對(duì)外也有比較一致接口模塊,所以一般情況下Modem模塊插上SIM卡后,就可以直接進(jìn)行初始化和網(wǎng)絡(luò)注冊(cè)等工作,然后就可以打電話和發(fā)短信。但Android智能手機(jī)為了滿足用戶更加個(gè)性化的體驗(yàn),其體系結(jié)構(gòu)相對(duì)復(fù)雜一些。我們需要從kernel層代碼進(jìn)行修改來對(duì)Android通信權(quán)限進(jìn)行控制。前面對(duì)Android系統(tǒng)的通信部分的源碼進(jìn)行了詳細(xì)的分析,我們必須在Modem驅(qū)動(dòng)層對(duì)代碼進(jìn)行一系列的處理。 我們通過ADB工具獲取手機(jī)上的調(diào)試信息,然后打開手機(jī)的通信功能再關(guān)閉該功能,通過對(duì)比我們可以定位出控制通信功能的關(guān)鍵函數(shù)。這里我們模擬了Modem驅(qū)動(dòng)與CPU交互的過程。如果用戶需要通信權(quán)限,代碼就按正常流程對(duì)硬件進(jìn)行驅(qū)動(dòng),如果該用戶禁止通信權(quán)限,則直接返回一個(gè)錯(cuò)誤值,這樣就沒有對(duì)硬件進(jìn)行驅(qū)動(dòng),手機(jī)無法獲取信號(hào)。

      2.3 WIFI 權(quán)限底層控制實(shí)現(xiàn)

      上面的代碼是WIFI驅(qū)動(dòng)的關(guān)鍵代碼,這里我們只是做了一點(diǎn)簡單處理。通過default_wifi_value來標(biāo)識(shí)上層用戶的操作。如果用戶要求關(guān)閉WIFI權(quán)限時(shí),我們就會(huì)給上層用戶一個(gè)錯(cuò)誤碼,這樣就可以讓上層處理進(jìn)入到異常流程,這樣就可以讓上層的應(yīng)用程序可以申請(qǐng)WIFI權(quán)限,但無法使用WIFI功能。

      2.4 GPS 權(quán)限底層代碼的實(shí)現(xiàn)

      GPS底層框架是由硬件設(shè)備和軟件驅(qū)動(dòng)模塊組成。GPS硬件設(shè)備在手機(jī)通電后就會(huì)直接提供NMEA數(shù)據(jù)。這些NMEA數(shù)據(jù)還只是一些裸衛(wèi)星的數(shù)據(jù),當(dāng)軟件驅(qū)動(dòng)模塊獲得這些數(shù)據(jù)后,還需要主控方對(duì)這些數(shù)據(jù)進(jìn)行處理,才能獲得最后的NMEA的數(shù)據(jù)。 根據(jù)前面對(duì)源代碼的分析,再通過打開GPS功能和屏蔽該功能后導(dǎo)出的sd卡文件debug信息對(duì)比來尋找控制該功能的文件和函數(shù)。我們通過對(duì)該函數(shù)的重寫來對(duì)GPS權(quán)限進(jìn)行控制。這里同樣根據(jù)用戶的需求對(duì)權(quán)限進(jìn)行控制。通過default_gps_value的值來判斷權(quán)限是否開啟,再來判斷是否進(jìn)行連接衛(wèi)星的操作。開啟則進(jìn)入正常處理流程,若關(guān)閉則返回錯(cuò)誤碼讓上層處理流程進(jìn)入異常處理過程,使所有的應(yīng)用無法開啟GPS的功能。

      3 結(jié)論

      本文提出基于Android操作系統(tǒng)應(yīng)用程序權(quán)限控制,從手機(jī)信息安全開始強(qiáng)調(diào)了重視手機(jī)信息安全的必要性,并分析了現(xiàn)有Android系統(tǒng)的權(quán)限管理機(jī)制和可能受到攻擊方式,指出了現(xiàn)有Android系統(tǒng)安全架構(gòu)存在的缺陷。提出了自己的Android應(yīng)用程序的權(quán)限控制模式,從Android系統(tǒng)的內(nèi)核層控制應(yīng)用程序的權(quán)限。 參考文獻(xiàn):

      [1] 楊豐盛.Android 應(yīng)用開發(fā)解密[M].北京:機(jī)械工業(yè)出版社,2010,32-34.

      [2] Davi L, Dmitrienko A,Sadeghi A R,et al.Privilege escalation attacks on android[J].Information Security,2011:346-360.

      [3] 楊怡君,黃大慶.Android 手機(jī)自動(dòng)化性能測試工具的研究與開發(fā)[J].計(jì)算機(jī)應(yīng)用,2012,32(2):554-556.

      [4] Zhou Y,Jiang X.Dissecting android malware:Characterization and evolution[C].Security and Privacy(SP),2012,IEEE Symposium on.IEEE,2012:95-109.endprint

      2 Android 手機(jī)權(quán)限管理模型設(shè)計(jì)

      2.1 模型設(shè)計(jì)整體思路

      如今移動(dòng)端支付和手機(jī)購物已經(jīng)興起,Android手機(jī)用戶喜歡刷機(jī)和下載各種軟件應(yīng)用,已給不法分子各種可乘之機(jī)。所以解決Android系統(tǒng)現(xiàn)有安全機(jī)制問題是必要的。這里我們根據(jù)用戶的習(xí)慣,采用情景模式方法對(duì)Android系統(tǒng)敏感的權(quán)限進(jìn)行控制。讓用戶來具體是否授予該應(yīng)用相關(guān)的權(quán)限,而不是讓各種應(yīng)用悄悄地獲取各種應(yīng)用權(quán)限。 如果某項(xiàng)權(quán)限被禁止了,而應(yīng)用程序申請(qǐng)了該權(quán)限,則該應(yīng)用被禁止運(yùn)行。 目前市面的Android手機(jī)安全軟件都是通過Java層對(duì)權(quán)限進(jìn)行控制,這樣不能有效地控制一些后臺(tái)程序,特別是一些嵌入在ROM包的系統(tǒng)程序,這些程序很可能繞開Java層,直接調(diào)用kernel層接口,獲取隱私信息。所以本模型直接從kernel層對(duì)用戶的權(quán)限進(jìn)行控制,根據(jù)現(xiàn)有的模型結(jié)構(gòu)進(jìn)行擴(kuò)充,不破壞現(xiàn)有的架構(gòu),并提供良好的用戶界面,注重用戶的體驗(yàn)。

      2.2 模型整體架構(gòu)

      該模型主要是在kernel層通過代碼來實(shí)現(xiàn)對(duì)各種權(quán)限的控制,在Java層設(shè)計(jì)與用戶進(jìn)行交互的界面。然后通過JNI技術(shù)獎(jiǎng)kernel層代碼和Java層代碼串聯(lián)起來。這樣在kernel層實(shí)現(xiàn)對(duì)這五種權(quán)限的管理。用戶通過對(duì)情景模式的選擇來啟動(dòng)相關(guān)Java調(diào)用類,這樣上層應(yīng)用都必須通過用戶的允許才能獲取某項(xiàng)權(quán)限。2.2 通信權(quán)限底層控制實(shí)現(xiàn)

      作為一般手機(jī),通信功能一般是采用處理器和Modem驅(qū)動(dòng)的架構(gòu)來實(shí)現(xiàn)的。而Android操作系統(tǒng)的通訊功能為了實(shí)現(xiàn)更加個(gè)性化的功能,將手機(jī)的通信系統(tǒng)分為:Modem驅(qū)動(dòng)、RIL(Radio Interface Layer)、Android電話標(biāo)準(zhǔn)接口、各種電話相關(guān)應(yīng)用四層結(jié)構(gòu)。 通信功能中的Modem驅(qū)動(dòng)與硬件采用串口方式進(jìn)行數(shù)據(jù)交互,然后Modem模塊通過與通信網(wǎng)絡(luò)進(jìn)行語音和數(shù)據(jù)的交互,從而完成通話和短信等相關(guān)功能。目前硬件的接口比較簡單,相對(duì)比較成熟,對(duì)外也有比較一致接口模塊,所以一般情況下Modem模塊插上SIM卡后,就可以直接進(jìn)行初始化和網(wǎng)絡(luò)注冊(cè)等工作,然后就可以打電話和發(fā)短信。但Android智能手機(jī)為了滿足用戶更加個(gè)性化的體驗(yàn),其體系結(jié)構(gòu)相對(duì)復(fù)雜一些。我們需要從kernel層代碼進(jìn)行修改來對(duì)Android通信權(quán)限進(jìn)行控制。前面對(duì)Android系統(tǒng)的通信部分的源碼進(jìn)行了詳細(xì)的分析,我們必須在Modem驅(qū)動(dòng)層對(duì)代碼進(jìn)行一系列的處理。 我們通過ADB工具獲取手機(jī)上的調(diào)試信息,然后打開手機(jī)的通信功能再關(guān)閉該功能,通過對(duì)比我們可以定位出控制通信功能的關(guān)鍵函數(shù)。這里我們模擬了Modem驅(qū)動(dòng)與CPU交互的過程。如果用戶需要通信權(quán)限,代碼就按正常流程對(duì)硬件進(jìn)行驅(qū)動(dòng),如果該用戶禁止通信權(quán)限,則直接返回一個(gè)錯(cuò)誤值,這樣就沒有對(duì)硬件進(jìn)行驅(qū)動(dòng),手機(jī)無法獲取信號(hào)。

      2.3 WIFI 權(quán)限底層控制實(shí)現(xiàn)

      上面的代碼是WIFI驅(qū)動(dòng)的關(guān)鍵代碼,這里我們只是做了一點(diǎn)簡單處理。通過default_wifi_value來標(biāo)識(shí)上層用戶的操作。如果用戶要求關(guān)閉WIFI權(quán)限時(shí),我們就會(huì)給上層用戶一個(gè)錯(cuò)誤碼,這樣就可以讓上層處理進(jìn)入到異常流程,這樣就可以讓上層的應(yīng)用程序可以申請(qǐng)WIFI權(quán)限,但無法使用WIFI功能。

      2.4 GPS 權(quán)限底層代碼的實(shí)現(xiàn)

      GPS底層框架是由硬件設(shè)備和軟件驅(qū)動(dòng)模塊組成。GPS硬件設(shè)備在手機(jī)通電后就會(huì)直接提供NMEA數(shù)據(jù)。這些NMEA數(shù)據(jù)還只是一些裸衛(wèi)星的數(shù)據(jù),當(dāng)軟件驅(qū)動(dòng)模塊獲得這些數(shù)據(jù)后,還需要主控方對(duì)這些數(shù)據(jù)進(jìn)行處理,才能獲得最后的NMEA的數(shù)據(jù)。 根據(jù)前面對(duì)源代碼的分析,再通過打開GPS功能和屏蔽該功能后導(dǎo)出的sd卡文件debug信息對(duì)比來尋找控制該功能的文件和函數(shù)。我們通過對(duì)該函數(shù)的重寫來對(duì)GPS權(quán)限進(jìn)行控制。這里同樣根據(jù)用戶的需求對(duì)權(quán)限進(jìn)行控制。通過default_gps_value的值來判斷權(quán)限是否開啟,再來判斷是否進(jìn)行連接衛(wèi)星的操作。開啟則進(jìn)入正常處理流程,若關(guān)閉則返回錯(cuò)誤碼讓上層處理流程進(jìn)入異常處理過程,使所有的應(yīng)用無法開啟GPS的功能。

      3 結(jié)論

      本文提出基于Android操作系統(tǒng)應(yīng)用程序權(quán)限控制,從手機(jī)信息安全開始強(qiáng)調(diào)了重視手機(jī)信息安全的必要性,并分析了現(xiàn)有Android系統(tǒng)的權(quán)限管理機(jī)制和可能受到攻擊方式,指出了現(xiàn)有Android系統(tǒng)安全架構(gòu)存在的缺陷。提出了自己的Android應(yīng)用程序的權(quán)限控制模式,從Android系統(tǒng)的內(nèi)核層控制應(yīng)用程序的權(quán)限。 參考文獻(xiàn):

      [1] 楊豐盛.Android 應(yīng)用開發(fā)解密[M].北京:機(jī)械工業(yè)出版社,2010,32-34.

      [2] Davi L, Dmitrienko A,Sadeghi A R,et al.Privilege escalation attacks on android[J].Information Security,2011:346-360.

      [3] 楊怡君,黃大慶.Android 手機(jī)自動(dòng)化性能測試工具的研究與開發(fā)[J].計(jì)算機(jī)應(yīng)用,2012,32(2):554-556.

      [4] Zhou Y,Jiang X.Dissecting android malware:Characterization and evolution[C].Security and Privacy(SP),2012,IEEE Symposium on.IEEE,2012:95-109.endprint

      2 Android 手機(jī)權(quán)限管理模型設(shè)計(jì)

      2.1 模型設(shè)計(jì)整體思路

      如今移動(dòng)端支付和手機(jī)購物已經(jīng)興起,Android手機(jī)用戶喜歡刷機(jī)和下載各種軟件應(yīng)用,已給不法分子各種可乘之機(jī)。所以解決Android系統(tǒng)現(xiàn)有安全機(jī)制問題是必要的。這里我們根據(jù)用戶的習(xí)慣,采用情景模式方法對(duì)Android系統(tǒng)敏感的權(quán)限進(jìn)行控制。讓用戶來具體是否授予該應(yīng)用相關(guān)的權(quán)限,而不是讓各種應(yīng)用悄悄地獲取各種應(yīng)用權(quán)限。 如果某項(xiàng)權(quán)限被禁止了,而應(yīng)用程序申請(qǐng)了該權(quán)限,則該應(yīng)用被禁止運(yùn)行。 目前市面的Android手機(jī)安全軟件都是通過Java層對(duì)權(quán)限進(jìn)行控制,這樣不能有效地控制一些后臺(tái)程序,特別是一些嵌入在ROM包的系統(tǒng)程序,這些程序很可能繞開Java層,直接調(diào)用kernel層接口,獲取隱私信息。所以本模型直接從kernel層對(duì)用戶的權(quán)限進(jìn)行控制,根據(jù)現(xiàn)有的模型結(jié)構(gòu)進(jìn)行擴(kuò)充,不破壞現(xiàn)有的架構(gòu),并提供良好的用戶界面,注重用戶的體驗(yàn)。

      2.2 模型整體架構(gòu)

      該模型主要是在kernel層通過代碼來實(shí)現(xiàn)對(duì)各種權(quán)限的控制,在Java層設(shè)計(jì)與用戶進(jìn)行交互的界面。然后通過JNI技術(shù)獎(jiǎng)kernel層代碼和Java層代碼串聯(lián)起來。這樣在kernel層實(shí)現(xiàn)對(duì)這五種權(quán)限的管理。用戶通過對(duì)情景模式的選擇來啟動(dòng)相關(guān)Java調(diào)用類,這樣上層應(yīng)用都必須通過用戶的允許才能獲取某項(xiàng)權(quán)限。2.2 通信權(quán)限底層控制實(shí)現(xiàn)

      作為一般手機(jī),通信功能一般是采用處理器和Modem驅(qū)動(dòng)的架構(gòu)來實(shí)現(xiàn)的。而Android操作系統(tǒng)的通訊功能為了實(shí)現(xiàn)更加個(gè)性化的功能,將手機(jī)的通信系統(tǒng)分為:Modem驅(qū)動(dòng)、RIL(Radio Interface Layer)、Android電話標(biāo)準(zhǔn)接口、各種電話相關(guān)應(yīng)用四層結(jié)構(gòu)。 通信功能中的Modem驅(qū)動(dòng)與硬件采用串口方式進(jìn)行數(shù)據(jù)交互,然后Modem模塊通過與通信網(wǎng)絡(luò)進(jìn)行語音和數(shù)據(jù)的交互,從而完成通話和短信等相關(guān)功能。目前硬件的接口比較簡單,相對(duì)比較成熟,對(duì)外也有比較一致接口模塊,所以一般情況下Modem模塊插上SIM卡后,就可以直接進(jìn)行初始化和網(wǎng)絡(luò)注冊(cè)等工作,然后就可以打電話和發(fā)短信。但Android智能手機(jī)為了滿足用戶更加個(gè)性化的體驗(yàn),其體系結(jié)構(gòu)相對(duì)復(fù)雜一些。我們需要從kernel層代碼進(jìn)行修改來對(duì)Android通信權(quán)限進(jìn)行控制。前面對(duì)Android系統(tǒng)的通信部分的源碼進(jìn)行了詳細(xì)的分析,我們必須在Modem驅(qū)動(dòng)層對(duì)代碼進(jìn)行一系列的處理。 我們通過ADB工具獲取手機(jī)上的調(diào)試信息,然后打開手機(jī)的通信功能再關(guān)閉該功能,通過對(duì)比我們可以定位出控制通信功能的關(guān)鍵函數(shù)。這里我們模擬了Modem驅(qū)動(dòng)與CPU交互的過程。如果用戶需要通信權(quán)限,代碼就按正常流程對(duì)硬件進(jìn)行驅(qū)動(dòng),如果該用戶禁止通信權(quán)限,則直接返回一個(gè)錯(cuò)誤值,這樣就沒有對(duì)硬件進(jìn)行驅(qū)動(dòng),手機(jī)無法獲取信號(hào)。

      2.3 WIFI 權(quán)限底層控制實(shí)現(xiàn)

      上面的代碼是WIFI驅(qū)動(dòng)的關(guān)鍵代碼,這里我們只是做了一點(diǎn)簡單處理。通過default_wifi_value來標(biāo)識(shí)上層用戶的操作。如果用戶要求關(guān)閉WIFI權(quán)限時(shí),我們就會(huì)給上層用戶一個(gè)錯(cuò)誤碼,這樣就可以讓上層處理進(jìn)入到異常流程,這樣就可以讓上層的應(yīng)用程序可以申請(qǐng)WIFI權(quán)限,但無法使用WIFI功能。

      2.4 GPS 權(quán)限底層代碼的實(shí)現(xiàn)

      GPS底層框架是由硬件設(shè)備和軟件驅(qū)動(dòng)模塊組成。GPS硬件設(shè)備在手機(jī)通電后就會(huì)直接提供NMEA數(shù)據(jù)。這些NMEA數(shù)據(jù)還只是一些裸衛(wèi)星的數(shù)據(jù),當(dāng)軟件驅(qū)動(dòng)模塊獲得這些數(shù)據(jù)后,還需要主控方對(duì)這些數(shù)據(jù)進(jìn)行處理,才能獲得最后的NMEA的數(shù)據(jù)。 根據(jù)前面對(duì)源代碼的分析,再通過打開GPS功能和屏蔽該功能后導(dǎo)出的sd卡文件debug信息對(duì)比來尋找控制該功能的文件和函數(shù)。我們通過對(duì)該函數(shù)的重寫來對(duì)GPS權(quán)限進(jìn)行控制。這里同樣根據(jù)用戶的需求對(duì)權(quán)限進(jìn)行控制。通過default_gps_value的值來判斷權(quán)限是否開啟,再來判斷是否進(jìn)行連接衛(wèi)星的操作。開啟則進(jìn)入正常處理流程,若關(guān)閉則返回錯(cuò)誤碼讓上層處理流程進(jìn)入異常處理過程,使所有的應(yīng)用無法開啟GPS的功能。

      3 結(jié)論

      本文提出基于Android操作系統(tǒng)應(yīng)用程序權(quán)限控制,從手機(jī)信息安全開始強(qiáng)調(diào)了重視手機(jī)信息安全的必要性,并分析了現(xiàn)有Android系統(tǒng)的權(quán)限管理機(jī)制和可能受到攻擊方式,指出了現(xiàn)有Android系統(tǒng)安全架構(gòu)存在的缺陷。提出了自己的Android應(yīng)用程序的權(quán)限控制模式,從Android系統(tǒng)的內(nèi)核層控制應(yīng)用程序的權(quán)限。 參考文獻(xiàn):

      [1] 楊豐盛.Android 應(yīng)用開發(fā)解密[M].北京:機(jī)械工業(yè)出版社,2010,32-34.

      [2] Davi L, Dmitrienko A,Sadeghi A R,et al.Privilege escalation attacks on android[J].Information Security,2011:346-360.

      [3] 楊怡君,黃大慶.Android 手機(jī)自動(dòng)化性能測試工具的研究與開發(fā)[J].計(jì)算機(jī)應(yīng)用,2012,32(2):554-556.

      [4] Zhou Y,Jiang X.Dissecting android malware:Characterization and evolution[C].Security and Privacy(SP),2012,IEEE Symposium on.IEEE,2012:95-109.endprint

      猜你喜歡
      程序開發(fā)信息安全
      《信息安全與通信保密》征稿函
      淺析大學(xué)生在兼職小程序開發(fā)中遇到的問題
      APP應(yīng)用程序開發(fā)模式探究
      電子制作(2019年19期)2019-11-23 08:42:02
      信息安全專業(yè)人才培養(yǎng)探索與實(shí)踐
      基于TestStand的自動(dòng)檢測程序開發(fā)
      電子測試(2018年11期)2018-06-26 05:56:16
      保護(hù)信息安全要滴水不漏
      高校信息安全防護(hù)
      基于嵌入式系統(tǒng)Windows CE的應(yīng)用程序開發(fā)
      基于App inventor 2手機(jī)程序開發(fā)過程的學(xué)習(xí)與實(shí)——以“喵喵定時(shí)器”APP開發(fā)為例
      電子制作(2017年1期)2017-05-17 03:54:08
      保護(hù)個(gè)人信息安全刻不容緩
      两当县| 章丘市| 红河县| 新晃| 永州市| 怀安县| 镇安县| 池州市| 嫩江县| 湘阴县| 延庆县| 横山县| 英吉沙县| 泸定县| 铁力市| 临颍县| 侯马市| 勐海县| 徐闻县| 讷河市| 沙坪坝区| 钟祥市| 乐东| 合江县| 卓尼县| 保德县| 永宁县| 扶风县| 许昌县| 德兴市| 桃江县| 南溪县| 常宁市| 辉南县| 德保县| 祁东县| 红河县| 铅山县| 永州市| 丹东市| 江津市|