999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

Android防護技術研究進展

2018-03-03 01:26:47謝佳筠
計算機工程 2018年2期
關鍵詞:用戶設備分析

謝佳筠,伏 曉,駱 斌

(南京大學 軟件學院,南京 210093)

0 概述

在移動互聯網高速發展的今天,企業和個人正在將越來越多的計算通過移動平臺來實現,同時也將越來越多的數據存儲到移動設備上。根據互聯網數據中心(IDC)2015年第二季度的報道,Android在移動市場占有82.8%的市場占有率,擁有著絕對的領先地位。工信部2014年發布的《移動互聯網白皮書》顯示,移動互聯網催生了全新的應用服務體系,在交通、餐飲、旅游、支付等領域已經產生了深遠影響,為用戶提供了便利。

但是,Android設備在提供便利的同時,安全問題也日益凸顯。由于Android平臺開源的特性,針對Android平臺的攻擊屢見不鮮。根據McAfee報告顯示,從2014年第4季度-2015年第3季度短短兩年時間,惡意軟件的規模從300萬上升至接近1 000萬。除此之外,惡意軟件攻擊的范圍很廣,從硬件設備、內核層、系統層到應用層,每一層都可能成為惡意攻擊的目標。Android平臺上的惡意攻擊呈現出數量巨大、范圍很廣和后果嚴重的特點。

為了保證Android平臺健康穩定的發展,各個層面的安全問題必須得到有效的解決,這就催生了針對Android各個層面上的安全防護。安全防護的目的是在應用安裝至移動設備之前對其進行全方位的安全性驗證,最大程度上過濾掉惡意應用;對于在安裝前不能夠過濾的惡意應用,需要在應用運行的時刻實時進行防護,保證應用不被利用從事惡意攻擊。學術界和工業界也一直致力于提出更安全的防護機制和框架來應對惡意威脅。Android防護技術作為實現安全的重要手段,發展至今已經存在很成熟的方案,但是仍然存在很多重要的問題有待解決。為此,本文整理近年來有關Android防護領域方面的文章,并加以綜述,希望通過總結歸納提供一個全面的認識,促進該領域的更加深入的研究。

本文闡述Android安全問題的理論研究情況,包括可能存在的安全缺陷和面臨的威脅,介紹針對各個層面的Android防護技術的研究進展,對Android安全防護領域現有的工作進行分析比較和總結歸納,并指出Android防護領域的機遇與挑戰。

1 Android安全問題理論研究

目前,Android安全問題得到學術界的廣泛關注,針對Android安全方面的研究文獻[1-3]對Android各個層面上的Android安全機制進行歸納和總結,總結了當前研究領域的相關工作與發展的趨勢。針對Android中的安全缺陷進行研究有助于更好的了解惡意攻擊實施的攻擊面,能夠更好地了解其所面臨的威脅。本文將對這些文章中所涉及的Android安全問題加以概括和總結,歸納了目前Android的安全缺陷以及安全所面臨的威脅。

1.1 Android安全缺陷

Android安全缺陷如下所示。

1)不同設備廠商的設備固件、操作系統和預裝的應用都有可能被用來發動攻擊。在全球存在多種不同的移動設備供應商,例如三星、華為、HTC和小米等。他們所使用的操作系統都是經過深度定制的,擁有不一樣的安全特性。往往存在一些特定的安全漏洞,一旦被利用將會引發安全問題。

2)應用開發者安全意識薄弱。即使專業的應用開發者,也會不經意地暴露一些接口。應用開發者對于權限認知不夠,經常會不經意地聲明無關的權限。某些應用會暴露應用內部的接口,給惡意攻擊者提供了攻擊的途徑。

3)應用市場魚龍混雜,不同應用市場的審查機制不一。Google官方的應用市場Google Play,用戶可以從上面下載應用安裝至自己的移動設備上。此外,其他應用市場也提供類似功能,例如小米應用商店、豌豆莢和91助手等。由于各個市場的安全審查機制不同,惡意應用能夠在特定市場上傳播,嚴重危害了用戶的安全。

4)應用安裝途徑多樣。一般而言,直接從應用市場下載并安裝程序是最直接的方式。但是,也存在直接通過USB連接將Android應用安裝到設備上,使用ADB的install命令可將應用安裝至目標設備上。由于無法驗證應用程序是否存在惡意行為,通過ADB安裝是十分危險的。

5)Android權限模型粒度較粗。用戶需要在安裝應用的時候對應用的權限進行授權,但是用戶并不能夠準確的知道權限被用在了哪些地方。不僅如此,權限較粗的粒度也會帶來相應的安全性風險。盡管在Android 6.0中提出運行時權限的概念,但是這個權限缺陷對于6.0之前的Android設備仍然存在。

6)相較于Windows和Unix的可執行文件,Android應用很容易反編譯。經過反編譯之后的代碼往往是脆弱的,非常容易添加新的代碼,重新打包成一個新的應用。很大一部分惡意軟件是通過重新打包來實現的[4]。

7)Android組件間通信。應用間通信方式存在安全隱患,容易發生多個應用之間合謀的情況。多個應用合謀通道存在多樣性,包括顯示通道和隱蔽通道,對于隱蔽通道的監控與防范仍然不完善。

8)Android設備包含很多可以唯一確定該設備的信息,包括IMEI、設備序列號等。如果這些信息泄露了出去,那么很容易就能對該設備進行跟蹤定位。

9)Linux內核層漏洞也會成為攻擊者攻擊的對象。Android設備使用Linux內核進行實現,既繼承了Linux十分可靠的安全隔離機制,同時也帶來了Linux內核方面的漏洞。

1.2 Android面臨的威脅

現有的主要威脅來源于Android各層次的安全缺陷。攻擊者可以通過挖掘平臺的漏洞,竊取敏感用戶信息,利用電話服務來獲取金錢利益,或者創造僵尸網絡來獲取智能手機的控制權。其可以使用竊取、動態執行、代碼混淆,重新打包和加密等技術,去繞過現有的Android平臺和反病毒軟件提供的安全檢測。本節對Android面臨的主要威脅進行了歸納。

1)重新打包攻擊。惡意作者可以對原始應用進行反編譯,加入惡意負載,重新打包成一個新的應用。新的應用往往偽裝成原始應用,在提供一些基礎功能的同時執行惡意攻擊。

2)越權攻擊。沒有權限的應用,通過其他具備權限的應用或者設置功能,可以獲取需要權限才能夠訪問到的資源,執行相應的操作。這類攻擊可以發生在應用內部,例如獲得root權限;可以發生在應用之間,執行越權行為;也可以發生在不同的操作系統版本升級的時候。

3)隱私泄露和個人信息竊取。移動設備包括很多隱私數據,例如移動設備號碼、聯系人信息和地理位置等信息。惡相同意應用通過短信、互聯網等通信方式,可以將敏感信息傳送出去。

4)合謀攻擊。在同一個設備上,擁有的證書簽名的應用集合可以相互合作。他們擁有相同的UID,能夠互相共享彼此的權限。單個應用運行的時候表現的十分正常,但是當多個應用并存的時候,它們可以一起合作完成攻擊。

5)拒絕服務攻擊。此類攻擊可以發生在移動設備資源耗盡的時候,移動設備的資源一般包含CPU計算資源、內存資源、電池資源、寬帶資源等,而這些資源一旦耗盡,移動設備將不能夠正常提供服務。

6)遠程控制。惡意應用通過遠程命令控制整個設備,執行惡意操作。能夠監控用戶的操作,包括電話、短信、銀行和音頻和視頻等。

2 Android防護技術進展

針對Android平臺的弱點和可能存在的威脅,不少研究者提出了他們的安全防護措施。本節首先介紹Android各個版本的安全增強機制。隨后從一個Android應用程序的開發、發布、安裝、運行和更新5個步驟出發,列出在各個階段已有的防護策略。

2.1 Android安全機制

為了應對來自各方面的威脅,Android對其自身的操作系統也在不斷地改良和完善。本節總結了Android各個版本的改進內容。

Android尋求為移動平臺提供一個安全可用的操作系統,用來保護用戶的數據,保護系統的資源和提供應用隔離。為了實現這些目標,Android提供了以下的安全特性:Linux內核層的魯棒性,強制為所有應用提供應用沙箱,保護進程間通信,應用簽名,應用定義權限,并由用戶授權。Android各個版本分別對平臺進行了各方面的安全增強。

Android1.5中提出了防止堆緩沖區溢出的安全增強。Android2.3提出了格式化字符串的防范,提出了基于硬件不執行來防止堆棧代碼執行。Android4.0提出內存地址空間布局隨機化(ASLR)的功能來防止對內存的攻擊。Android4.2修改了權限描述。Android4.3增強了SELinux,取消了setuid和setgid函數。Android5.0將WebView設置為獨立模塊,更改了加密機制,防止在丟失設備情況下的數據丟失。在Android6.0中,提出了運行時權限的問題。不同于在安裝的時候提供粗粒度的授權機制,用戶可以在運行時動態設置權限。

2.2 開發防護階段介紹

由于Android應用可以被反編譯,所以很容易被惡意作者篡改并加入惡意代碼。從開發者的角度來看,在開發階段對應用進行加固能夠有效防止惡意操作。

重新打包成為各類惡意攻擊的主要形式,文獻[4]指出,在其收集的1 260個惡意程序中,通過重新打包生成的比例是86%。為了防止重新打包,文獻[5]提出了一種基于路徑的水印模式,它以應用程序代碼和一組隨機的字符串或者數字作為輸入,生成一款全新的內嵌水印的應用。在之后的運行中它可以對掛鉤的代碼進行驗證,同時恢復之前的水印,對開發者的代碼做防護。

在應用程序中,針對可能存在的安全漏洞打補丁也是一種方法。例如,組件劫持漏洞將會暴露應用中的公開接口,方便惡意程序調用。為了應對此類漏洞,文獻[6]事先對應用進行分析,在每個應用上面的沉淀點添加防護策略,提供更加全面的、以數據為中心的系統級防護,構建更加安全的應用。文章中提出的Droidforce工具基于時間序列,能夠在運行過程中動態更新,方便提供精細化的策略。

2.3 應用市場防護介紹

應用開發者完成應用,需要將應用發布到應用市場。應用市場作為連接用戶手機和應用的平臺,在Android安全中有著舉足輕重的地位。2011年Google官方的Android市場上DroidDream惡意應用肆虐,大量手機被感染。為了防止惡意軟件大范圍傳播,Google推出了一款叫做Bouncer的應用審查工具,用來對應用進行審查和分析。它將應用安裝至模擬的環境中動態的運行,分析出其中可能存在的問題。即便如此,一些惡意軟件依然能夠繞過該檢測機制,成功地發布到應用市場中,所以在應用市場中實現更加安全的防護機制是十分必要的。值得注意的是,目前相互獨立的Android應用市場很多,它們各自的審查機制又存在很大的差別,所以攻擊者更容易挖掘特定應用市場的漏洞并傳播惡意應用。

在應用市場進行審查,能夠有效過濾出惡意應用,在源頭上減少惡意應用的數量。應用市場可以利用其豐富的計算資源,對應用進行更加全面的安全分析。在應用市場中可以針對性地對應用進行漏洞挖掘、權限映射分析、數據流分析、組件間通信分析和重新打包的檢測。

2.3.1 相似度計算

針對應用市場上良莠不齊的應用,查找重新打包應用具有十分重要的意義。在檢測重新打包的應用的方法中,計算相似度成為經常使用的方法。相似度計算往往需要定義不同的特征,通過匹配這些特征的相似度來進行檢測。文獻[7]使用了基于模糊哈希的方法,對應用市場內的所有應用,通過應用程序的操作碼生成應用程序的指紋。對比兩個應用的指紋距離,判斷2個應用是否存在重新打包的可能性,進而識別重新打包的應用。文獻[8]通過比較兩個不同應用的程序依賴圖來判定是否存在重新打包的操作。利用WALA工具可以生成一個應用的程序依賴圖,每個點代表一個語句,每條邊代表兩條語句之間的關系。在獲取兩個應用的程序依賴圖后,構造出其子圖,進而計算出其相似度。

2.3.2 權限映射計算

Android通過權限來限制應用對敏感資源的訪問和操作。Android應用權限和API調用存在著映射關系,這些映射關系能夠為進一步的安全分析提供基礎。

文獻[9]用來研究一個應用是否滿足其所聲明的最小使用權限,確定一個應用程序使用到了哪些權限。本文提出的Stowaway通過結合基于模糊測試、生成專用的測試用例和手動驗證的技術,經驗性地得出權限和API之間的映射關系。由于Stowaway所提出的方法需要耗費大量的人工進行手動驗證,導致了其無法應對Android多個版本變更的現實。文獻[10]提出了一種自動化的工具,對Android各個版本源碼進行分析,進而得到更加全面的映射關系。在Android2.2中,PScout分析出了17 218個映射關系,而Stowaway僅僅分析出1 259個。

2.3.3 數據流分析

通過對應用進行數據流分析,可以很好地知道一些敏感數據的流向,進而有效地防范出可能存在的信息泄漏問題。文獻[11]考慮到了與回調函數相關的控制流不連續的情況,從而判斷應用能否通過公共接口訪問到危險權限,用來判定應用是否存在能力泄露漏洞。文獻[12]提出一款靜態分析工具,用來分析組件劫持漏洞。它使用數據依賴圖來進行可達性分析,進而識別出未授權的應用對被攻擊的應用進行的惡意操作,如讀取敏感數據操作或者將數據寫入敏感位置的操作。文獻[13]對一個應用進行兩步分析,首先發現調用root、非法花銷和隱私泄露的路徑,然后對應用進行啟發式搜索來發現可能的惡意行為。

Android應用包含了生命周期回調函數。對于數據生命周期的分析能夠更準確的發現數據的流向。文獻[14]提出的FlowDroid就是一款包含了流、上下文、對象和域等特性的靜態分析工具。FlowDroid定義數據流源頭和數據流沉淀點,使用向前分析和向后分析技術,分析出從數據流源頭到數據流沉淀點的路徑,用于識別敏感信息的泄露。

并不是所有發送敏感信息的行為都可以稱為隱私泄露,只有用戶不知情的情況下才屬于隱私泄露。文獻[15]提出AppIntent,將信息傳輸分為在用戶知情的和用戶不知情的,用來提取出用戶不知情的數據傳輸。它采用符號執行的方法,計算出一系列會導致數據傳輸的界面交互和數據輸入行為。在符號執行的過程中,AppIntent為了避免路徑爆炸的問題,采用靜態分析方法生成事件空間約束圖。事件空間約束圖包含了所有能夠產生數據傳輸的界面交互、生命周期回調方法和系統事件。結合生成的時間和數據,事件空間約束圖可以確定數據傳輸是否是用戶知情的。

2.3.4 組件間通信分析

在Android安全中,需要對應用內部和應用間的通信通道進行防護。組件間通信作為應用內部和應用之間相互通信的主要方式,被大量研究者進行研究和分析。

文獻[16]主要用來檢測應用之間通信是否存在相應的漏洞,并提出了ComDroid工具,采用靜態分析的方法來對應用進行分析檢測。首先將不同的權限映射到不同的危險等級,隨后分析反編譯出來的文件,追蹤其中的Intents、IntentFilters、寄存器、污點槽和組件,最后通過檢測Manifest文件和反編譯得到的源代碼文件來得到組件的相關信息,判斷一個組件是否是具有風險的。

對于組件間通信,首先需要找到所有存在的組件,并將其關聯起來。文獻[17]開發出了一款工具Epicc,將組件間通信的分析轉換為IDE的問題。它將所有的應用間通信組件連接在一起,利用Soot解決IDE問題。實驗表明,Epicc相較于ComDroid而言擁有更少的誤報率。然而,Epicc也存在不足之處,它僅做了簡單的字符串分析并且對Content Provider缺乏相應的分析。僅僅分析組件間的關聯并不能夠準確地對應用內部和應用間通信進行區別。

文獻[18]提出了基于組件間通信的污點分析的工具ICCTA,主要用來分析不同組件和不同應用之間的隱私泄露問題。它利用ApkCombiner將2個應用合稱為一個應用,進而將應用間通信的分析轉換為應用內通信分析。文獻[19]對整個應用進行數據流分析,得到組件間通信的數據流圖。在數據流圖的基礎上,針對顯示的信息流,構造出數據依賴圖。使用生成的數據流圖和數據依賴圖進行安全分析,檢測應用中是否存在數據泄露、數據注入或者API濫用的情況。

特色是旅游解說系統構建的關鍵。特色的旅游解說系統不僅能夠發揮保護水資源,維護水生態的作用,還能夠吸引游客。歷史和大自然恩賜了蕉城區豐富而寶貴的旅游資源,特別是水利風景資源更是得天獨厚,霍童洞天、菩薩道場、瀛洲擊水、國師故里、軍地文化……,美麗的濱水資源孕育了這些豐富分旅游資源。在旅游解說系統自導式解說的設計上,可以添加特色資源優勢,例如在導引牌,指示牌的設計上能夠添加特色資源元素。

2.4 安裝時防護

一個應用可以通過多種方式安裝到Android設備上,例如從應用市場下載或者直接通過USB連接安裝。針對USB安裝的情況,Android4.3提出了ADB驗證的功能,對于沒有經過RSA密鑰對驗證的應用程序將不能安裝在設備上。

通過對安裝時候的檢查,判斷其是否滿足設備上的安全策略,進而對其進行防護。文獻[20]在安裝應用的時候實現了一組基于權限的策略,通過特定的權限組合定義應用的安全規則。如果應用不符合相應的安全規則,將會提醒用戶是否需要拒絕安裝。

在安裝應用的時候通常提供兩種信息,一種是權限信息,另一種是文字信息。為了使終端用戶能夠意識到安全威脅,現在的這種描述還存在很大的不足。文獻[21]開發了DescribeMe。該工具通過使用自然語言處理技術生成應用描述,從用戶的角度來幫助用戶判別應用是否存在惡意。它的做法是首先從應用中提取所有的行為圖,對其進行子圖挖掘和壓縮,最終形成用戶可以理解的基于安全的描述,從而更好地在安裝階段進行防護。

2.5 運行時防護

雖然前幾個步驟的防護能夠有效過濾惡意應用,但是對于一些運行時才能觸發的惡意行為缺乏有效監控。考慮到前幾個步驟的防護策略存在的不足之處,對運行時態的應用進行持續性的監控,捕獲運行操作是十分必要的。運行時防護主要包含訪問控制、安全策略、污點分析、權限監控和沙盒控制等多個防護方案。

2.5.1 訪問控制

SEAndroid是一款安全增強版本的Android系統,采用MAC機制,將SELinux應用到Android系統中。SEAndroid分別實現了系統核心層面的支持、用戶空間層面的支持以及策略配置。SEAndroid推出時間不長,沒有得到太多的關注,還需要進一步的完善。

文獻[22]利用了機器學習的方法來分析審查日志,捕獲審查日志中包含的良性或者惡意接口,從而提供更好的SELinux策略。

2.5.2 安全策略

文獻[23]繼承了Android的監控機制,并對其進行了擴展。它基于以系統為中心的策略,在運行時檢測和阻止應用程序層次的權限提升攻擊。同時添加了與組件間通信相關的機制來防止勾結攻擊。在SEAndroid和文獻[23]的基礎上,文獻[24]提出了一個基于內核層和中間件層MAC架構的FlaskDroid,從而提供細粒度的策略控制。

文獻[25]在Android上提出了分級的策略,將應用分為3種:系統的,可信的和不可信的。在這個框架下面,可信的應用和不可信的應用之間是不能夠相互通信的。通過分級的方式來限制不可信應用的功能,進而提供更加安全的運行環境。

當前移動設備的操作系統并沒有一個合適的保護機制來控制應用之間、應用和網絡之間的相互交流時,跨源攻擊便很容易出現。文獻[26]針對Android跨源攻擊在操作系統的層面上進行了更改。類似于傳統的Web程序保護機制,它為應用提供針對跨源攻擊的保護。首先告訴開發者他們所接收信息的真正源頭,讓開發者可以根據這些信息進行相應的保護工作。隨后提供一個白名單給開發者,記錄他們可以發送或接收信息的源的信息,并且在操作系統中透明且強制地執行策略。這2個步驟可以有效地對源頭進行保護。

2.5.3 污點跟蹤

文獻[27]通過構建一款高效的動態污點跟蹤和分析系統TaintDroid來對敏感數據進行監控,從而識別敏感數據和隱私數據的使用方式。通過利用變量級別、消息級別、方法級別和文件級別這4個粒度的污點傳播,Android用戶可以方便地了解應用程序如何使用它們的隱私數據。后續的一些動態污點分析工具也都使用了TaintDroid作為基礎進行相應的分析,并做了一些加強。

2.5.4 權限監控

困惑代理攻擊是越權攻擊的一種,在各個版本的Android系統中都較為常見。文獻[28]在中間層提出了一種權限裁剪的思路。對于被調用者,將其運行時程序權限裁剪至其與調用者權限的交集,從而有效防范越權攻擊。

文獻[29]對設備上的進程間通信進行跟蹤,并記錄其調用鏈。它允許被調用的進程縮減調用者權限。同時,它提出了一種輕量級的簽名機制,允許運行在同一設備上的各個應用進行驗證。這些特性使得它可以被用來防范困惑代理攻擊。

文獻[30]提出了VetDroid來對一個應用的權限使用和敏感資源訪問進行分析。VetDroid會自動在沙盒中執行應用,通過權限使用分析模塊識別出所有的權限使用點和它們的關系,并記錄到日志文件中。然后根據得到的日志文件,自動生成行為報告。

2.5.5 沙盒控制

文獻[31]提出的Aurasium對應用進行重新打包,提供了用戶級沙盒,進而對底層的系統調用進行監控。它可以對底層的關鍵系統調用進行攔截,判斷其具體行為,并向用戶給出安全建議。

文獻[32]提出了一款自動化代碼重寫的應用,能夠對Java方法層面的調用進行監控。它主要對虛擬機的虛擬方法表進行重寫,進而能夠控制所有的方法。

文獻[33]提供了一種安全沙盒用于讀取和運行不受信任的應用。不受信任的軟件運行在Boxify虛擬運行環境,不會對系統和用戶造成危害。該沙盒的實現主要利用了android中獨立進程的特性,不用對OS級別或者應用級別的代碼進行重寫和設計,也不需要root權限,提供了對不受信的程序的隔離運行。

2.6 更新時防護

更新階段可以分為2種,一種是應用更新,另一種是操作系統更新。應用更新的時候主要還是需要應用市場對其進行甄別和篩選。操作系統更新的時候,需要對所有的應用進行校驗,判斷其是否滿足新的操作系統的安全策略。應用更新的時候,需要判斷該應用是否修改了安全策略。

文獻[34]針對操作系統更新時可能產生的越權攻擊進行了闡述和防護。這類攻擊發生的主要原因是在低版本系統中的應用聲明了高版本系統新增的權限,一旦更新至高版本,應用的權限就會提升,用來進行攻擊。

3 Android防護現狀分析與機遇挑戰

在Android安全防護領域已經出現了許多十分有價值的安全防護方案。但是,可以想象的是,未來出現的惡意應用的數量會越來越多,惡意應用種類和攻擊方式也會越來越多、越來越有針對性。Android安全防護的工作將會變得更加艱巨,需要更深入的研究。

3.1 現有工作對比

在現有的移動平臺的安全防護領域中,學術界和工業界已經出現了許多有價值的工作。其中,防護的層面涉及到Android應用發布的各個環節,包括Android自身系統的增強、開發時的防護、應用市場的分析與防護、安裝應用時候的防護、運行應用防護和更新時的防護。當前研究重點集中在應用市場階段和運行階段,如果能夠在這2個階段進行有效分析監控,將對Android防護起到至關重要的作用。本文的概述章節總結了Android防護需要面對的問題和各類惡意威脅,本節將分析現有的應用市場階段和運行階段的技術應對這些挑戰所取得的進展。

3.1.1 應用市場分析階段

在應用市場階段,由于具備了大量的計算能力,所以可以對應用進行深入的分析。在此階段借助相似度匹配技術、權限映射技術、數據流分析技術和組件間通信技術等技術,對應用進行全面的分析。

表1展示了在應用部署的各個階段的使用技術和Android面臨威脅的映射關系,其中×為不能解決,-為部分解決,√為完全解決。

表1 現有Android應用市場防護技術解決面臨威脅的情況

相似度計算技術可以有效針對重新打包問題進行解決。計算應用的相似度主要通過提取應用的一些特征,對這些特征進行抽象化,通過抽象出來的模型計算其相似度。應用的一些特征主要包含其應用簽名文件、應用配置文件、應用資源文件和應用代碼,這些都可以用來進行相似度分析。相似度高的代表2個應用存在大量的類似的實現,兩個應用存在重新打包的關系。由于需要計算兩個應用的相似度,只需對2個應用的某些關鍵特征進行分析就行,所以開銷較小。

由于Android操作系統實現的API調用較多,其官方文檔都有可能存在遺漏。同時,應用開發者對各類API調用所對應的權限也存在一定的誤區,這就導致經常會發生濫用權限的問題。針對這些問題,提供一個權限-API調用映射關系就十分有必要了。通過精確地分析應用代碼里的API調用,就可以獲取其實際使用的權限,為有效防范越權攻擊提供了基礎的支持。由于權限映射計算需要對Android整個系統的源碼進行分析,因此其所消耗的代價較大。

數據流分析技術主要通過構造出應用內部的一些數據流向路徑,對應用的敏感信息的流向進行分析。在數據流分析中使用較為頻繁的就是構造數據流圖和使用靜態污點分析的技術進行分析。由于這類技術能夠有效跟蹤細粒度的數據流向,因此能夠很好地解決隱私泄露問題。由于在分析的過程中需要將應用構造成抽象的數據結構,然后再根據所形成的數據結構進行進一步分析,因此其所消耗的代價中等。對于數據流分析,現有的較多的技術存在路徑爆炸、誤報率較高等缺點,所以,需要今后更加全面的研究,努力減少這些問題所帶來的影響。

組件間通信技術主要針對組件間通信的數據流進行有效分析,能夠較為有效地應對越權攻擊、隱私泄露,針對合謀攻擊的話,其能夠有效地針對基于組件間通信的合謀攻擊,但是針對于系統層級的攻擊并不能有效甄別。現有的大部份組件間通信使用對組件的流向進行分析,組件的源和目標進行鏈接等手段進行研究的,開銷較大并且還存在一定的局限性。作為Android最主要的通信機制,今后需要將對組件間通信進行更加深入的研究,提出更多創新的思路。

3.1.2 運行監控階段

在運行防護階段,包括了一系列從內核層、中間層和應用層的防護手段,能夠提供全面的防護機制,抵御各類攻擊。在運行防護階段主要可以借助訪問控制、安全策略、污點跟蹤、權限監控和沙盒控制等技術,對應用運行時提供防護。

表2展示了在應用部署的各個階段的使用技術和Android面臨威脅的映射關系。

表2 現有Android運行時防護技術解決面臨威脅的情況

訪問控制技術主要將Linux系統中的SELinux技術引入Android平臺,在中間層和內核層提供訪問控制策略,開銷較小。能夠對于越權攻擊、隱私泄露進行相應的訪問控制,但對合謀攻擊并不能夠很好地進行防護。而且在提供訪問控制策略的時候,一般都需要對整個系統進行刷新,并不能夠提供較為有效的配置手段。對于訪問控制技術還需要進行加強,今后在此方面的研究也需要更加深入。

安全策略技術主要在中間層定義相應的策略,在運行時對一些操作進行監控,進而實現更有針對性的防護。例如通過在中間層的實現了一個策略庫,對運行時的各項操作定義了相對應的策略。由于需要對內核層和中間層某些關鍵的數據結構進行監控,因此在運行時也需要動態的去匹配相對應的策略,整體開銷較小,但誤報率較高。如何定義更加良好的安全策略,能夠實現更高的防護率值得研究者進行更加深入的研究。

動態污點跟蹤技術作為一種從計算機系統移植過來的技術,擁有廣大的理論基礎。動態污點技術針對應用內部的可疑的數據進行污點跟蹤,首先標記出需要監控的污點,然后針對可能發生泄露的沉淀點進行監控,觀察是否存在污點通過沉淀點流出。現有的技術主要從中間層進行修改,在Dalvik虛擬機內部添加標記污點的數據結構,對其進行跟蹤。整個修改在中間層進行修改,在運行時需要實時計算被污染的代碼片段和數據結構,所以,整個系統的開銷較中等。在后續的研究中研究者針對其中存在的不足提出了相應的補充,但是如何利用該技術去防范其他攻擊也值得研究,需要研究者們投入更多的精力。

權限監控作為一個較為重要的技術,目標是對Android系統權限相關的問題進行防護,能夠有效防護越權攻擊和信息泄露。Android系統提供了一個較為重要的機制就是權限,用戶只有申請了相應的權限才有能力去訪問相應的資源,執行對應的操作。現有的權限監控機制主要在中間件層進行相應的修改,在運行時對發生權限操作的行為進行監控,進而能夠有效地防范各類權限相關的攻擊,開銷較小。

沙盒技術主要為隔離惡意應用提供了方便,任何與外層的通信都可以使用沙盒機制進行有效的防護。該技術能夠有效防范越權攻擊、信息泄露和合謀攻擊,只需要將惡意應用放入沙盒中執行,一旦發生惡意行為,立即對其進行相應的防護即可。應用在沙盒內執行的過程中,需要對沙盒內的應用提供持續不斷的監控,所以其性能開銷較大。提供一個完整而且有效的沙盒,對于運行時的防護能夠起到較好的作用。沙盒機制雖然能夠有效防護一些攻擊,但是對于較為底層的操作還存在一定的局限性。所以在未來的研究中,還需對上述局限性做更深入的研究。

3.2 機遇與挑戰

3.2.1 應用領域

現在的Android設備廣泛應用于各個領域,手表、電視、汽車和醫療設備等產品上面都可以搭載Android操作系統,這就需要對各類設備進行針對性的防護。尤其是涉及到用戶的生命財產安全方面的,需要更為嚴格的安全策略來確保萬無一失。

3.2.2 計算和存儲能力

隨著Android手機不斷發展,將擁有更為強大的移動計算能力和存儲能力。由于計算能力已經得到了顯著的提升,今后甚至可以將一部分在應用市場才能完成的任務放到移動設備上進行處理,進而實現更加全面的防護。而存儲能力的加強意味著可以存儲更多隱私數據,如何針對這些數據進行保護也是一個挑戰。

3.2.3 攻擊種類

從Android提出到現在應用,攻擊的方式以及類型在不斷進化,繞過現有的安全機制,來實現惡意目的,防護難度增強。由于攻擊者不斷更新其攻擊方式,因此很難實現一個完善的系統能夠抵御所有的攻擊。雖然現在存在很多的安全防護機制,但是很多都是針對特定類型的攻擊的,不具備普適性。

3.2.4 歷史版本遺留問題

歷史版本迭代更新頻繁,遺留問題增多。雖然現在Android系統已經更新到6.0了,但是還存在很多用戶在使用4.0~5.0的版本。每個版本都有新的安全特性加入。舊版本不具備這些新的安全特性,將面臨著更大的安全風險。

3.2.5 合謀應用

合謀攻擊一直是研究者重點關注的問題,很多安全防護機制不能夠完全覆蓋其多樣性的通信通道。一般說來,合謀攻擊存在顯示通道和隱式通道2種通道。顯示通道一般會包括Intent、套接字、內部存儲、共享引用和系統日志,而隱式通道則可能為多樣化設置、處理器狀態、處理器頻率和文件系統的空余空間等。

一般而言,數據流分析和動態監控能夠有效地防護顯示通道所產生的攻擊。但是對于隱式通道,目前還沒有較好的方式對其進行處理。對于合謀攻擊中隱式通道的防護值得研究者更深層次的研究。

4 結束語

本文介紹Android平臺存在的一些安全缺陷和威脅,從應用開發、發布、安裝、運行和更新等部署階段的現有研究出發,分別總結歸納和分析了各個階段的安全防護措施。在此基礎上,通過對比已有工作的優缺點,分析了Android安全防護的機遇與挑戰,并展望了未來Android安全領域的前景。

[1] 卿斯漢.Android 安全研究進展[J].軟件學報,2016,27(1):45-71.

[2] 張玉清,王 凱,楊 歡,等.Android 安全綜述[J].計算機研究與發展,2014,51(7):1385-1396.

[3] TAN D J J,CHUA T W,THING V L L.Securing Android:A Survey,Taxonomy,and Challenges[J].ACM Computing Surveys,2015,47(4):58-99.

[4] ZHOU Yajin,JIANG Xuxian.Dissecting Android Malware:Characterization and Evolution[C]//Proceedings of IEEE Symposium on Security and Privacy.IEEE Computer Society.Washington D.C.,USA:IEEE Press,2012:95-109.

[5] ZHOU Wu,ZHANG Xinwen,JIANG Xuxian.AppInk:Water-marking Android Apps for Repackaging Deterrence[C]//Proceedings of the 8th ACM SIGSAC Symposium on Information,Computer and Communications Security.New York,USA:ACM Press,2013:1-12.

[6] RASTHOFER S,ARZT S,LOVAT E,et al.Droidforce:Enforcing Complex,Data-centric,System-wide Policies in Android[C]//Proceedings of Ninth International Conference on Availability,Reliability and Security.Washington D.C.,USA:IEEE Press,2014:40-49.

[7] ZHOU Wu,ZHOU Yajin,JIANG Xuxian,et al.Detecting Repackaged Smartphone Applications in Third-party Android Marketplaces[C]//Proceedings of the 2nd ACM Conference on Data and Application Security and Privacy.New York,USA:ACM Press,2012:317-326.

[8] CRUSSELL J,GIBLER C,CHEN Hao.Attack of the Clones:Detecting Cloned Applications on Android Markets[C]//Proceedings of European Symposium on Research in Computer Security.Berlin,Germany:Springer-Verlag,2012:37-54.

[9] FELT A P,CHIN E,HANNA S,et al.Android Permissions Demystified[C]//Proceedings of the 18th ACM Conference on Computer and Communications Security.New York,USA:ACM Press,2011:627-638.

[10] AU K W Y,ZHOU Yifan,HUANG Zhen,et al.Pscout:Analyzing the Android Permission Specification[C]//Proceedings of the 2012 ACM Conference on Computer and Communications Security.New York,USA:ACM Press,2012:217-228.

[11] GRACE M C,ZHOU Yajin,WANG Zhi,et al.Systematic Detection of Capability Leaks in Stock Android Smartphones[C]//Proceedings of the 19th Network and Distributed System Security Symposium.Washington D.C.,USA:IEEE Press,2012:19.

[12] LU Long,LI Zhichun,WU Zhenyu,et al.Chex:Statically Vetting Android Apps for Component Hijacking Vulner-abilities[C]//Proceedings of 2012 ACM Conference on Computer and Communications Security.New York,USA:ACM Press,2012:229-240.

[13] GRACE M,ZHOU Yajin,ZHANG Qiang,et al.Riskranker:Scalable and Accurate Zero-day Android Malware Detec-tion[C]//Proceedings of the 10th International Conference on Mobile Systems,Applications,and Services.New York,USA:ACM Press,2012:281-294.

[14] ARZT S,RASTHOFER S,FRITZ C,et al.Flowdroid:Precise Context,Flow,Field,Object-sensitive and Lifecycle-aware Taint Analysis for Android Apps[C]//Proceedings of the 35th ACM SIGPLAN Conference on Programming Language Design and Implementation.New York,USA:ACM Press,259-269.

[15] YANG Zhemin,YANG Min,ZHANG Yuan,et al.Appintent:Analyzing Sensitive Data Transmission in Android for Privacy Leakage Detection[C]//Proceedings of ACM SIGSAC Conference on Computer & Com-munications Security.New York,USA:ACM Press,2013:1043-1054.

[16] CHIN E,FELT A P,GREENWOOD K,et al.Analyzing Inter-application Communication in Android[C]//Proceedings of the 9th International Conference on Mobile Systems,Applications,and Services.New York,USA:ACM Press,2011:239-252.

[17] OCTEAU D,MCDANIEL P,JHA S,et al.Effective Inter-component Communication Mapping in Android with Epicc:An Essential Step Towards Holistic Security Analysis[C]//Proceedings of the 22nd USENIX Conference on Security.USENIX Association.Washington D.C.,USA:[s.n.],2013:543-558.

[18] LI Li,BARTEL A,BISSYANDE T F,et al.IccTA:Detecting Inter-component Privacy Leaks in Android Apps[C]//Proceedings of the 37th International Conference on Software Engineering-Volume 1.Washington D.C.,USA:IEEE Press,2015:280-291.

[19] WEI Fengguo,ROY S,OU Xinming.Amandroid:A Precise and General Inter-component Data Flow Analysis Framework for Security Vetting of Android Apps[C]//Proceedings of 2014 ACM SIGSAC Conference on Computer and Communications Security.New York,USA:ACM Press,2014:1329-1341.

[20] ENCK W,ONGTANG M,MCDANIEL P.Understanding Android Security[J].IEEE Security & Privacy,2009(1):50-57.

[21] ZHANG Mu,DUAN Yue,FENG Qian,et al.Towards Automatic Generation of Security-centric Descriptions for Android Apps[C]//Proceedings of the 22nd ACM SIGSAC Conference on Computer and Communications Security.New York,USA:ACM Press,2015:518-529.

[22] WANG Ruowen,ENCK W,REEVES D,et al.Easeandroid:Automatic Policy Analysis and Refinement for Security Enhanced Android via Large-scale Semi-supervised Learn-ing[C]//Proceedings of the 24th USENIX Security Symposium.USENIX Association.Washington,D.C.:[s.n.],2015:351-366.

[23] BUGIEL S,DAVI L,DMITRIENKO A,et al.Towards Taming Privilege-escalation Attacks on Android[J].Proceedings of Annual Network & Distributed System Security Symposium,2013,130(130):346-360.

[24] BUGIEL S,HEUSER S,SADEGHI A R.Flexible and Fine-grained Mandatory Access Control on Android for Diverse Security and Privacy Policies[C]//Proceedings of the 22nd USENIX Conference on Security.Washington D.C.,USA:USENIX Association,2013:131-146.

[25] ZHAO Zhibo,OSONO F C C.“TrustDroidTM”:Preventing the Use of SmartPhones for Information Leaking in Corporate Networks Through the Use of Static Analysis Taint Tracking[C]//Proceedings of International Conference on Malicious and Unwanted Software.Washington D.C.,USA:IEEE Press,2012:135-143.

[26] WANG Rui,XING Luyi,WANG Xiaofeng,et al.Unauthorized Origin Crossing on Mobile Platforms:Threats and Mitiga-tion[C]//Proceedings of ACM SIGSAC Conference on Computer & Communications Security.New York,USA:ACM Press,2013:635-646.

[27] ENCK W,GILBERT P,CHUN B G,et al.TaintDroid:An Information-flow Tracking System for Realtime Privacy Monitoring on Smartphones[J].ACM Tran-sactions on Computer Systems,2014,32(2):1-29.

[28] FELT A P,WANG H J,MOSHCHUK A,et al.Permission Re-delegation:Attacks and Defenses[C]//Proceedings of Usenix Conference on Security.New York,USA:USENIX Association,2011:22.

[29] DIETZ M,SHEKHAR S,PISETSKY Y,et al.QUIRE:Lightweight Provenance for Smart Phone Operating Systems[C]//Proceedings of USENIX Conference on Security.San Francisco,USA:USENIX Association,2011:23.

[30] ZHANG Yuan,YANG Min,XU Bingquan,et al.Vetting Undesirable Behaviors in Android Apps with Permission Use Analysis[C]//Proceedings of 2013 ACM SIGSAC Conference on Computer & Communications Security.New York,USA:ACM Press,2013:611-622.

[31] XU Rubin,SAIDI H,ANDERSON R.Aurasium:Practical Policy Enforcement for Android Applications[C]//Proceedings of USENIX Conference on Security Symposium.Bellevue,USA:USENIX Association,2012:27.

[32] BACKES M,GERLING S,HAMMER C,et al.AppGuard-Enforcing User Requirements on Android Apps[C]//Proceedings of Tools and Algorithms for the Construction and Analysis of Systems.Berlin,Germany:Springer-Verlag,2013:543-548.

[33] BACKES M,BUGIEL S,HAMMER C,et al.Boxify:Full-fledged App Sandboxing for Stock Android[C]//Pro-ceedings of USENIX Conference on Security Symposium.Washington D.C.,USA:USENIX Association,2015:691-706.

[34] XING Luyi,PAN Xiaorui,WANG Rui,et al.Upgrading Your Android,Elevating My malware:Privilege Escalation Through Mobile OS Updating[C]//Proceedings of IEEE Symposium on Security and Privacy.Washington D.C.,USA:IEEE Press,2014:393-408.

猜你喜歡
用戶設備分析
諧響應分析在設備減振中的應用
隱蔽失效適航要求符合性驗證分析
電力系統不平衡分析
電子制作(2018年18期)2018-11-14 01:48:24
基于MPU6050簡單控制設備
電子制作(2018年11期)2018-08-04 03:26:08
關注用戶
商用汽車(2016年11期)2016-12-19 01:20:16
電力系統及其自動化發展趨勢分析
關注用戶
商用汽車(2016年6期)2016-06-29 09:18:54
關注用戶
商用汽車(2016年4期)2016-05-09 01:23:12
500kV輸變電設備運行維護探討
工業設計(2016年12期)2016-04-16 02:52:00
如何獲取一億海外用戶
創業家(2015年5期)2015-02-27 07:53:25
主站蜘蛛池模板: 99精品久久精品| 日本爱爱精品一区二区| 欧美区一区| 在线观看国产小视频| www.亚洲国产| 91久久天天躁狠狠躁夜夜| 欧美精品啪啪一区二区三区| 毛片网站免费在线观看| 国产在线观看精品| 欧美成人精品一级在线观看| 国产高清在线精品一区二区三区| 亚洲不卡av中文在线| 九色综合伊人久久富二代| 麻豆精品视频在线原创| 无码视频国产精品一区二区| 国产拍揄自揄精品视频网站| 99久久无色码中文字幕| 欧美精品H在线播放| 欧美性天天| 亚洲天堂久久久| 精品少妇人妻无码久久| 香蕉国产精品视频| 91在线一9|永久视频在线| 亚洲欧洲日产国码无码av喷潮| 中文精品久久久久国产网址| 亚洲无码免费黄色网址| 无码人妻免费| 国产国拍精品视频免费看| 欧美人与性动交a欧美精品| 一级香蕉视频在线观看| AV片亚洲国产男人的天堂| 国产资源免费观看| 波多野结衣一区二区三区AV| 91香蕉国产亚洲一二三区| 日韩精品成人网页视频在线| 亚洲午夜天堂| 在线免费无码视频| 国产不卡网| 国产乱子伦手机在线| julia中文字幕久久亚洲| 91麻豆国产视频| 成人精品亚洲| 91精品aⅴ无码中文字字幕蜜桃| 91伊人国产| 色成人亚洲| 激情六月丁香婷婷| 天堂亚洲网| 久久99精品国产麻豆宅宅| 精品无码一区二区在线观看| 91九色国产在线| 亚洲经典在线中文字幕| 亚洲AV一二三区无码AV蜜桃| 九九这里只有精品视频| 亚洲精品视频网| www.99精品视频在线播放| 日本草草视频在线观看| 中文字幕日韩欧美| 国内精品久久久久久久久久影视| 天堂av综合网| 精品无码视频在线观看| 最新亚洲人成无码网站欣赏网| 老司机久久精品视频| 青青草国产免费国产| 国产成人一区| 无码AV日韩一二三区| 九色在线视频导航91| 国产99精品久久| 一级成人a毛片免费播放| 久久久国产精品免费视频| 国产丝袜丝视频在线观看| 91精品国产麻豆国产自产在线| 久青草网站| 精品国产Ⅴ无码大片在线观看81| 国产成人精品男人的天堂| 小13箩利洗澡无码视频免费网站| 久久精品国产国语对白| 亚洲中文在线视频| 91精品在线视频观看| 夜色爽爽影院18禁妓女影院| 欧美专区在线观看| 中文字幕2区| 精品国产美女福到在线不卡f|