許艷萍,馬兆豐,王中華,鈕心忻,楊義先
?
Android智能終端安全綜述
許艷萍1,馬兆豐1,王中華2,鈕心忻1,楊義先1
(1. 北京郵電大學信息安全中心,北京 100876;2. 國家計算機網(wǎng)絡應急技術(shù)處理協(xié)調(diào)中心,北京 100029)
針對Android智能終端安全問題,構(gòu)建Android智能終端安全分層體系。首先從遠程防盜、生物身份驗證和硬件安全模塊方面闡述了Android設備安全的安全威脅及保護措施,然后從無線安全網(wǎng)絡、病毒傳播查殺和防釣魚攻擊說明了Android網(wǎng)絡安全的隱患及防范,之后從內(nèi)核安全、本地庫運行時環(huán)境安全和應用框架安全角度介紹了Android操作系統(tǒng)安全的研究內(nèi)容,接著從靜態(tài)檢測和應用行為動態(tài)檢測、應用加固和應用評估方面展示了Android應用安全的研究成果,接下來著眼于數(shù)據(jù)本身總結(jié)了Android數(shù)據(jù)的追蹤、加密和備份等安全保護技術(shù),最后結(jié)合實際需求展望了Android安全未來在安全增強框架、智能應用行為分析等方向的發(fā)展。
Android;設備安全;網(wǎng)絡安全;系統(tǒng)安全;應用安全;數(shù)據(jù)安全
Android系統(tǒng)是2007年Google公司發(fā)布的基于Linux內(nèi)核的開源操作系統(tǒng),主要應用于智能手機、平板Pad、智能手表等智能終端。自發(fā)布以來,系統(tǒng)的開源特性廣受智能設備廠商及開發(fā)人員的推崇,廣泛應用于金融、政府、交通、教育、軍事、汽車、家居、能源等重要領域。IDC調(diào)研顯示,2015年Android智能手機的出貨量達到14.3億部,占全球智能手機市場份額的82%。
360互聯(lián)網(wǎng)安全中心發(fā)布《2015年手機安全狀況報告》[1]顯示,2015全年截獲的Android平臺新增惡意程序樣本為1 874萬個,較2013年,2014年分別增加了27.9倍和5.7倍,累計約3.7億人次Android用戶感染到惡意程。根據(jù)危害結(jié)果將Android病毒分5大類:移動支付(60%)、資費消耗(14%)、隱私竊取(20%)、遠程控制(2%)、黑客工具(4%)[2]。Android病毒最常做出的前3位惡意行為是資費泄露隱私、權(quán)限提升、流量消耗[3,4],智能終端安全正面臨著嚴峻的考驗。
由于Android平臺開放的生態(tài),每一個Android設備中安裝的軟件可能來自于Google、手機開發(fā)商、芯片廠商和不同應用開發(fā)者等,軟件組件很難遵從統(tǒng)一的開發(fā)、測試、審計標準,因而質(zhì)量參差不齊。對惡意攻擊者和安全研究者來說,卻是一個很好的研究目標。
參照信息安全技術(shù)體系設計原則[5],將Android智能終端安全層次劃分為設備安全層、網(wǎng)絡安全層、系統(tǒng)安全層、應用安全層和數(shù)據(jù)安全層,每層針對受到的威脅采取相應的安全防護措施[6~9],從而達到5個安全目標:保密性、完整性、可用性、可控性和不可否認性。Android智能終端安全分層體系如圖1所示。
設備安全層。Android終端設備是應用和數(shù)據(jù)的載體,主要研究設備丟失情況下的遠程防盜、基于生物特征的身份驗證和硬件安全模塊內(nèi)容。Android設備中存儲了大量的個人隱私數(shù)據(jù),如短信、通訊錄、照片等[3],如果在設備丟失或者繞過身份驗證被非法人員操作的情況下,隱私數(shù)據(jù)很容易被竊取。基于XMPP的協(xié)議遠程對終端設備下發(fā)指令控制設備[10];基于指紋、人臉、虹膜等人體生物特征的身份驗證拒絕非法終端用戶登錄,打造安全的設備環(huán)境;采用硬件安全模塊,基于硬件實現(xiàn)高性能安全加密和身份驗證等功能。
網(wǎng)絡安全層。Android智能終端互聯(lián)互通,形成無線通信網(wǎng)絡,主要研究無線安全網(wǎng)絡、病毒傳播查殺和防釣魚攻擊等。Android智能設備通過采用安全無線路由器、加密VPN服務[11]等方式,構(gòu)建安全網(wǎng)絡接入環(huán)境,保障數(shù)據(jù)安全傳輸;Android病毒以短信、彩信、二維碼、偽裝應用安裝等方式傳播擴散,通過特征識別,利用云計算、大數(shù)據(jù)技術(shù)智能化地檢測病毒是阻斷病毒傳播擴散的有效方式[12,13];釣魚攻擊是移動互聯(lián)網(wǎng)面臨的重大威脅,檢測方式包括黑名單、異常檢測和機器學習智能檢測等。
系統(tǒng)安全層。針對Android智能終端操作系統(tǒng),按照系統(tǒng)層次研究內(nèi)核安全、本地庫和運行時環(huán)境安全、應用程序框架安全。通過內(nèi)核增強[14]、漏洞挖掘[15]、內(nèi)存防泄漏、系統(tǒng)防ROOT方式保護內(nèi)核安全;通過安全沙箱機制、ART機制、組件間安全通信保障本地庫和運行時環(huán)境安全;通過權(quán)限機制和簽名機制保障應用程序框架安全。
應用安全層。針對運行在Android智能終端上的應用安全,主要研究惡意應用靜態(tài)檢測、惡意應用動態(tài)檢測、應用安全加固和應用安全評估。靜態(tài)檢測研究應用逆向工程、特征提取、機器學習智能檢測、重打包檢測等內(nèi)容;動態(tài)檢測主要研究動態(tài)行為獲取;應用安全加固可采用代碼混淆、應用加殼、防反編譯[16]等方式。通過建立評估體系和評估標準,評估惡意應用給系統(tǒng)和數(shù)據(jù)帶來的風險[4,17]。
數(shù)據(jù)安全層。保護Android終端設備存儲上的數(shù)據(jù)安全,研究數(shù)據(jù)偽造及跟蹤[18,19]、加密[20]、云備份、數(shù)字版權(quán)保護、安全支付等內(nèi)容。隱私數(shù)據(jù)是Android終端設備上最具有核心價值的部分,保護設備、網(wǎng)絡、系統(tǒng)、應用的安全,終極目的是保護數(shù)據(jù)的機密性、完整性和可用性,通過偽造及跟蹤、加密、云備份、數(shù)字版權(quán)保護、安全支付等保護方式,直接保護隱私數(shù)據(jù)的安全性。
鑒于Android廣泛的市場應用,學術(shù)界的專家學者對其安全機制進行了諸多研究,主要圍繞權(quán)限增強管理、應用安全分析、隱私數(shù)據(jù)防泄露等方面,并取得顯著成果。本文在廣泛閱讀文獻的基礎上,總結(jié)了Android平臺在設備安全、網(wǎng)絡安全、系統(tǒng)安全、應用安全和數(shù)據(jù)安全方面的研究成果,并根據(jù)當前研究工作的不足展望了幾點未來的研究方向。
2.1 遠程防盜
實現(xiàn)Android智能終端遠程控制的方式有基于HTTP協(xié)議的遠程數(shù)據(jù)傳輸、基于RDP協(xié)議的遠程桌面控制[21]、基于XMPP的即時消息推送[10]等。
基于XMPP協(xié)議的遠程防盜是當前比較流行的終端設備保護方式,XMPP協(xié)議具有超強的可擴展特性,服務端和智能終端可約定通信指令[22]。應用時,首先將用戶信息和設備信息注冊到控制端,制定保護策略,如數(shù)據(jù)備份和刪除、遠程鎖定、遠程定位等。一旦終端設備丟失,通過控制端下發(fā)指令對終端設備定位、對屏幕遠程鎖定、更換SIM卡鎖定設備、刪除短信和通訊錄等隱私數(shù)據(jù)等,減少因設備丟失造成的損失。目前,主流的智能終端廠商都提供對終端遠程防盜的服務。
遠程防盜已經(jīng)成為終端安全的標配功能之一,其優(yōu)點是即使終端不在身邊,只要確定身份合法也能夠方便地實施操作,尤其是在設備丟失的情況下,遠程定位、遠程刪除和鎖定對于找回手機、保護隱私有重大意義,但對于網(wǎng)絡的要求很高,一旦設備離線,便不能發(fā)送控制指令,而通過短信發(fā)送指令是另一種有效的途徑。
2.2 生物身份驗證
人體的生物特征往往具有唯一性,如指紋、掌紋、聲音、虹膜、人臉、步態(tài)、脈搏、運動特征等,科技界已經(jīng)逐漸將這些特征作為身份識別和驗證的重要手段[23]。Android SDK從1.0版本中就已經(jīng)集成了簡單的人臉識別功能,而OpenCV開發(fā)包集成了更專業(yè)、快速、高級的人臉識別算法。自2013年7月芬蘭 Uniqul公司首次推出基于臉部識別系統(tǒng)的支付平臺,目前互聯(lián)網(wǎng)金融企業(yè)正在研究將人臉支付運用于Android支付系統(tǒng)。
目前有很多Android終端設備搭載了指紋識別技術(shù),利用指紋識別傳感器及指紋模式支持指紋鎖,作為安全工具、硬件平臺和操作系統(tǒng)三方支持的安全模式,不僅簡便了解鎖的過程,還把非法用戶阻擋在外。但是這種防護手段已被黑客攻陷,他們發(fā)現(xiàn)了指紋識別框架下的漏洞,輕松地繞過指紋識別器,從而執(zhí)行任何操作,而且還能夠直接拷貝用戶的指紋信息,在更大范圍內(nèi)威脅用戶的個人信息安全和隱私內(nèi)容。在此情況下催生出了更高級、更安全的身份驗證方式——眼球識別技術(shù)。目前這種技術(shù)的安全性還沒被突破,眼球樣本信息不能被復制,但在識別范圍和識別準確率方面還需要進一步改進。另外,Google正在測試利用用戶的動作震動或者任意活動手機,將動作幅度或者頻率作為鎖屏和解鎖的方式,從進展來看,這是項極具挑戰(zhàn)性的工作。
從發(fā)展趨勢上看,利用人體生物特征作為唯一的識別標識,是Android智能終端領域經(jīng)久不衰的應用研究,在識別校準和準確率方面還需要提高,而其性能在大數(shù)據(jù)方面也在不斷探索。
2.3 硬件安全模塊
出于對移動終端中隱私數(shù)據(jù)提供集中的安全保護考慮,智能終端廠商設計并實施了硬件安全模塊(HSM, hardware security modules),直接連接到系統(tǒng)總線上,基于硬件實現(xiàn)高性能密碼和密鑰管理功能,提供的服務包括安全存儲、安全加密、身份驗證等。嵌入式安全技術(shù)供應商Discretix公司研發(fā)的CryptoCell安全模塊具備PKI引擎、對稱引擎、散列引擎、隨機數(shù)發(fā)生器、安全密鑰和完整性驗證等6個可配置的功能模塊,加速執(zhí)行各種驗證和加密功能,對整個智能終端設備的發(fā)展將產(chǎn)生積極的影響。在國內(nèi),華為作為手機終端的領跑者,通過硬件安全模塊與麒麟操作系統(tǒng)協(xié)作,徹底杜絕刷機解密等操作的可能性。
硬件安全模塊在保證數(shù)據(jù)保護、安全支付等方面更專業(yè),效果更明顯,隨著智能終端對安全愈加重視,必將成為重要的保護方式。
3.1 無線安全網(wǎng)絡
Android智能終端通過GPRS、無線Wi-Fi接入網(wǎng)絡可滿足用戶隨時隨地上網(wǎng)的需求。無論使用哪種方式,開放的網(wǎng)絡環(huán)境中,用戶執(zhí)行登錄賬號、支付等敏感操作時,易遭到黑客攻擊導致隱私泄露,常用的攻擊方式有嗅探、釣魚攻擊、中間人攻擊、惡意DNS篡改、遠程執(zhí)行、XSS跨站腳本、電磁信號干擾等[24]。
Ma等[25]針對商業(yè)Wi-Fi網(wǎng)絡提出混合式的惡意網(wǎng)絡接入點檢測方案,主要采用無線掃描和集中流量監(jiān)控方式發(fā)現(xiàn)惡意AP,并且保護網(wǎng)絡免受惡意AP的侵害,優(yōu)點是不需要專門的硬件并且適用于任何網(wǎng)絡標準。
無線路由器通常采用WPA/WPA2加密的方式保障密碼的安全性,但是通過多次逆運算之后,這種加密能夠被破解,需要探索另外的方式保證無線口令的安全性。現(xiàn)在的手機安全防護軟件也集成了安全監(jiān)測功能,防范DNS、ARP、虛假Wi-Fi、加密及釣魚等攻擊。
Wang等[26]針對Wi-Fi驅(qū)動的Fuzzing測試框架,通過構(gòu)建數(shù)據(jù)分組實施針對Wi-Fi通信的攻擊,這種框架不僅能發(fā)現(xiàn)已知攻擊,在發(fā)現(xiàn)未知攻擊方面也效果顯著。
針對Wi-Fi竊聽問題,可采用加密的VPN服務,將所有傳輸流量都進行加密,無論通信鏈路是否安全,都能保證數(shù)據(jù)的安全[11]。
3.2 病毒傳播查殺
自2010年來,每年都爆發(fā)多次手機病毒危機,在移動互聯(lián)網(wǎng)絡上迅速傳播,波及范圍廣泛,十分具有破壞性。每個季度網(wǎng)絡安全公司都會發(fā)布Android手機安全報告,通報當前手機病毒及手機感染病毒的情況等。將Android病毒按照危害特征劃分為多個家族:AnserverBot、BaseBridge、DroidKungFu、DroidDream、FakePlayer、Geinimi、GoldDream、GingerMaster、Zsone、SndApps等[3,27]。Android病毒按照危害行為劃分為木馬類、后門類、蠕蟲類、僵尸網(wǎng)絡類、間諜竊取類、欺騙類等[3]。手機病毒利用通訊錄群發(fā)短信、彩信、電子郵件和掃描驗證碼、二維碼方式擴散傳播,造成隱私數(shù)據(jù)泄露、資費消耗、破壞系統(tǒng)等后果。
病毒具有逐利性,發(fā)展技術(shù)和種類總是層出不窮,但是反病毒技術(shù)的發(fā)展只能僅僅追逐于病毒更新的速度,往往反病毒技術(shù)只能應對已知的病毒,對于未知的病毒,專家正著眼于利用云計算、大數(shù)據(jù)資源基于機器學習、深度學習算法等方式,自動化、智能化地根據(jù)行為特征對其進行查殺,并按照其執(zhí)行的操作將其劃分到不同的種類[27,28]。
3.3 防釣魚攻擊
手機終端綁定銀行、支付和社交等賬戶,容易遭受不法分子的覬覦,他們往往通過網(wǎng)頁釣魚、短信釣魚、應用釣魚、郵件釣魚等誘惑用戶[29],2015全年360手機安全防護軟件共攔截各類釣魚網(wǎng)站攻擊48億次[1]。
釣魚網(wǎng)站攻擊檢測和防范成為當務之急,常用的方法有黑名單、異常檢測和機器學習智能檢測等。Bottazzi等[30]提出釣魚檢測框架MP-Shield,分析URL鏈接,集成了基于公共黑名單的瀏覽器檢測插件,同時實現(xiàn)了機器學習檢測引擎,包含J48、SMO、BayesNet、IBK和SGD算法,確保手機終端免受0Day釣魚攻擊。
Wu等[31]提出輕量級檢測工具MobiFish,檢測手機Web網(wǎng)頁、應用和登錄賬戶上遭遇的釣魚攻擊。MobiFish應用OCR技術(shù)提取截屏中的文本信息,通過文本中聲稱的身份信息與網(wǎng)頁URL和APP中實際的身份信息比較,給出釣魚警示,而不像其他方法那樣,分析HTML源碼、IP地址、搜索引擎[32],或者采用機器學習算法[33]證明該方法能有效檢測和防范釣魚攻擊。
受到利益的驅(qū)使,釣魚網(wǎng)站層出不窮,廣大終端用戶應當使用主流的安全防護軟件,它們基本涵蓋了已知的釣魚網(wǎng)站黑名單,能夠很好地攔截非法釣魚鏈接。同時,用戶應提高警惕,不受誘惑,不點擊未知鏈接,并且不泄露身份信息和財產(chǎn)賬戶信息等。
4.1 Android系統(tǒng)內(nèi)核安全
4.1.1 內(nèi)核增強
Android系統(tǒng)內(nèi)核的安全威脅一方面繼承自Linux系統(tǒng)漏洞,另一方面源于Android平臺本身不完善。在Android系統(tǒng)內(nèi)核訪問控制增強研究方面,Shabtai等[34]提出將強制訪問控制子系統(tǒng)SELinux植入到Android平臺中,以限制應用對系統(tǒng)資源的訪問,增強Android系統(tǒng)安全,是首次提出的高效低耗的系統(tǒng)增強方案。Smalley等[35]實現(xiàn)了基于SELinux內(nèi)核開發(fā)一套MAC中間件擴展Android權(quán)限模型,隔離應用間的數(shù)據(jù)交互。
實際應用上,從Android 4.3以來,正式引入基于MAC的SELinux安全機制,稱為SEAndroid,用來強化操作系統(tǒng)對應用的訪問控制,起到類似沙箱的執(zhí)行隔離效果,阻止惡意應用對系統(tǒng)或其他應用的攻擊,還有效地減弱內(nèi)核層出現(xiàn)漏洞時產(chǎn)生的威脅。
4.1.2 漏洞挖掘
任何系統(tǒng)在邏輯設計和實現(xiàn)上都存在缺陷或者錯誤,Android系統(tǒng)亦不例外,2015年,Google成立了Android Security Rewards項目,用于獎勵Android系統(tǒng)漏洞發(fā)現(xiàn)者。歷年共公布600多條系統(tǒng)漏洞,覆蓋到內(nèi)核層、Native層、框架層及應用層,包括內(nèi)存溢出、權(quán)限提升、組件交互、硬件資源調(diào)配等各個方面[36]。
傳統(tǒng)的漏洞挖掘方式分為主動方式和被動方式,主動挖掘方式分為人工挖掘、靜態(tài)挖掘和動態(tài)挖掘,被動挖掘方式分為攻擊分析和補丁分析[37]。Android平臺的漏洞主要分為常規(guī)漏洞和權(quán)限提升漏洞,通過分析邏輯規(guī)則的合理性,編寫Fuzz測試用例,構(gòu)建漏洞知識庫是一種有效的漏洞發(fā)掘方式。
Zhang等[37]提出Android平臺漏洞挖掘4層模型,針對攻擊樣本、攻擊方法、修復補丁,分析漏洞存在的可能性,利用Fuzz測試方法和攻擊挖掘方法,有效地挖掘出系統(tǒng)漏洞、應用漏洞、權(quán)限提升漏洞等。
比較嚴重的Android系統(tǒng)漏洞執(zhí)行方便、涉及范圍廣、無需主動觸發(fā)、隱蔽性強,一旦被黑客利用,造成的損失不可估量。對于Android系統(tǒng)本身來說,漏洞挖掘是個持續(xù)的過程,漏洞挖掘得越徹底,系統(tǒng)將修補得越完善。
4.1.3 內(nèi)存防泄漏
Android系統(tǒng)每個版本中都存在內(nèi)存泄漏問題,即應用進程中一些對象沒有使用價值了,但還占據(jù)著內(nèi)存空間,拒絕被GC回收,導致實際可使用內(nèi)存變小,系統(tǒng)運行越來越慢,用戶體驗越來越差。內(nèi)存泄漏產(chǎn)生的原因有類的靜態(tài)變量持有大數(shù)據(jù)對象、資源對象使用后未關閉、注冊對象未反注冊、集合中不用的對象沒清理、Handler臨時性等[38]。使用DDMS、MAT工具可查看內(nèi)存使用情況。
Shahriar等[39]在研究資源對象導致內(nèi)存泄漏的情況時,編寫Fuzz測試用例,研究應用bitmap and imageview、event listener、animation activity、static object、AdView object等對象時是否產(chǎn)生內(nèi)存泄漏。而針對context、內(nèi)部類、數(shù)據(jù)庫操作等其他行為是防內(nèi)存泄漏需要進行的進一步深入研究。
4.1.4 系統(tǒng)防ROOT
Android系統(tǒng)刷機是將刷機包中的系統(tǒng)文件寫入ROM存儲區(qū),替換原生系統(tǒng)文件,再次啟動時,從ROM中載入最新替換過的系統(tǒng)文件。本質(zhì)就是系統(tǒng)文件的覆蓋和替換操作,會破壞原有系統(tǒng)的權(quán)限機制,而來源各異的刷機包中可能集成了大量的惡意軟件或病毒,留下隱患,因而刷機要謹慎[40]。
另一種破壞終端安全機制的方式是對終端ROOT,利用操作系統(tǒng)漏洞獲取最高的ROOT管理權(quán)限,任意訪問和修改所有的文件。這種方式的優(yōu)點是用戶可以完全控制終端,缺點是黑客也能夠利用病毒輕而易舉獲得ROOT權(quán)限,導致終端完全暴露出來,可能產(chǎn)生嚴重后果。Android 5.0版本采用增強SELinux后,常用的ROOT方案已行不通,必須通過刷內(nèi)核的方式,這需要解鎖bootloader,而一旦鎖定bootloader,能夠?qū)崿F(xiàn)防ROOT破解。
4.2 本地庫和運行時環(huán)境安全
4.2.1 安全沙箱機制
Android 4.4以前的運行時環(huán)境為應用程序的正常運行提供了核心鏈接庫和Dalvik虛擬環(huán)境,采用沙箱機制隔離各應用程序之間的運行環(huán)境。每個應用作為一個Dalvik虛擬機實例獨立地運行在一個進程內(nèi),Android系統(tǒng)為每個應用分配一個UID,保證應用的文件、數(shù)據(jù)相互獨立存儲。通過設置sharedUserID,使多個應用程序具備相同的UID,從而共享數(shù)據(jù)和權(quán)限。
這方面的安全問題主要集中在應用之間利用IPC突破沙箱隔離,導致權(quán)限提升、信息泄露、惡意攻擊等。權(quán)限提升是一種很嚴重的威脅,使未申請權(quán)限的應用執(zhí)行授權(quán)操作[41,42],破壞了程序安全運行環(huán)境,因而對Android應用沙箱的安全防護一定程度上體現(xiàn)在對權(quán)限提升漏洞的檢測和修復,對權(quán)限提升攻擊的檢測和防護將在4.3.1節(jié)進行詳細介紹。
4.2.2 ART機制
Android 5.0運行時環(huán)境采用ART機制,只在應用安裝時進行一次預編譯,將程序語言轉(zhuǎn)化為機器語言代碼存儲在本地,而Dalvik虛擬機機制在應用每次編譯時都要編譯,每次程序運行時都將程序語言轉(zhuǎn)換為機器語言。因此ART機制使應用的啟動和執(zhí)行更加迅速,效率也更高,但是在應用安裝時耗費更多時間預編譯,運行時占有更多內(nèi)存。如何優(yōu)化ART機制產(chǎn)生的內(nèi)存問題需要不斷深入研究。
Demertzis等[43]提出SAME,在ART虛擬機中分析應用程序的類,采用基于BBO的多層感知器,并行運行粒子群優(yōu)化(PSO)、蟻群優(yōu)化(ACO)和遺傳算法(GA)等算法,以區(qū)分應用是否是惡意。
4.2.3 組件間安全通信
Android應用由Activity、Service、Broadcast Receiver和Content Provider 4類組件組成,組件之間通過Intent進行交互,隱式Intent容易引發(fā)惡意調(diào)用、惡意發(fā)送廣播、activity劫持、惡意service啟動等[44]問題。這方面的研究方案主要集中在基于上下文感知環(huán)境構(gòu)建組件調(diào)用圖檢測數(shù)據(jù)泄露的路徑。
Enck等[45]指出組件間通信缺少對信息流的監(jiān)控,存在信息泄露的風險。傅建明等[46]針對國內(nèi)流行的應用程序研究采用靜態(tài)分析方法構(gòu)建其CFG(控制流程圖)、FCG (函數(shù)調(diào)用圖)和CCG(組件調(diào)用圖)主要檢測隱式Intent可能引發(fā)組件劫持、信息泄露和組件的權(quán)限泄露問題。
確保組件間安全通信可采取的措施有最小化組件暴露、設置組件訪問權(quán)限、檢查暴露組件的代碼等。
4.3 應用程序框架安全
4.3.1 權(quán)限機制
1) 保護ROOT權(quán)限
ROOT是Android平臺中唯一的超級用戶,管控所有系統(tǒng)資源,據(jù)iiMedia Research統(tǒng)計,近30%的用戶對自己的手機終端ROOT,利用獲取的ROOT權(quán)限卸載預裝的應用程序,再安裝第三方軟件管理權(quán)限、系統(tǒng)文件等,這無疑為病毒非法入侵打開了方便之門。
Android 4.4之前,用戶無法自主管理應用程序的使用權(quán)限,除非使用第三方軟件,而Android 4.4之后,Android原生系統(tǒng)集成了SuperUser權(quán)限管理程序,這對Android權(quán)限管理具有里程碑式的意義。
ROOT權(quán)限對于系統(tǒng)資源的安全保護具有很重要的作用,輕易不要對終端設備ROOT,而在未破解ROOT的情況下,如何更深層次地調(diào)配系統(tǒng)資源并保護系統(tǒng)安全穩(wěn)定地運行是需要考慮的。
2) 應用程序權(quán)限增強管理
Android 4.3以前的原生系統(tǒng)對權(quán)限的管理是粗粒度的,即應用在安裝時,權(quán)限之間的關聯(lián)關系沒有明確告知用戶,用戶設置全接受或全否定應用申請的權(quán)限;在應用運行過程中對權(quán)限的使用零監(jiān)控。Google開發(fā)文檔提供了詳細的開發(fā)資料,卻對權(quán)限的使用說明涉及較少[47],這導致開發(fā)者對權(quán)限申請過度。權(quán)限的使用貫穿應用程序的全生命周期,在應用的開發(fā)、安裝和應用過程中都占據(jù)重要地位,Android權(quán)限機制實現(xiàn)如圖2所示。
①權(quán)限提升監(jiān)測和防護
應用運行時,一些應用在自身沒有申請權(quán)限的情況下,通過其他應用獲取權(quán)限進而獲得訪問資源的資格,這種行為稱為權(quán)限提升。Schlegel等[48]提出一種手機木馬Soundcomber,本身不具有操作音頻的權(quán)限,卻通過其他應用的權(quán)限獲取音頻數(shù)據(jù),這是利用Android系統(tǒng)隱蔽通道的典型例子。Davi等[41]展示了在沒有短信權(quán)限的情況下如何發(fā)送短信。Grace等[49]提出權(quán)限提升檢測工具Woodpecker,檢測出有些軟件不遵守權(quán)限機制,將保護隱私數(shù)據(jù)的權(quán)限暴露給其他應用。
在權(quán)限提升防護方面,研究成果包括Saint[50]、XMAndroid[51]、Quire[52]、IPC Inspection[47]、CHEX[53]、DroidAlarm[54]等。權(quán)限管理增強框架Saint[51],對應用APK文件增加權(quán)限和策略信息,安裝時規(guī)定具體權(quán)限被授予給其他應用的情況,運行時檢查組件間的通信,一旦應用之間權(quán)限驗證失敗,就無法交互。安全監(jiān)控框架XMAndroid[52],利用Android系統(tǒng)的隱蔽通信通道,構(gòu)建無向圖,動態(tài)監(jiān)視應用之間的權(quán)限使用情況,通過設置安全策略,阻斷應用之間利用間接獲得的權(quán)限執(zhí)行未經(jīng)授權(quán)的操作。各方案比較如表1所示。

表1 權(quán)限提升監(jiān)測和防護方案比較
抗混淆副攻擊系統(tǒng)Quire[53],跟蹤IPC和RPC的調(diào)用鏈,每個應用向被調(diào)用者傳播其調(diào)用鏈的上下文以驗證權(quán)限是否符合,并驗證接收到的數(shù)據(jù)是否可信,如果不符合則拒絕。防跨應用越權(quán)操作的IPC Inspection機制[47],通過分析IPC傳遞事件信息和權(quán)限信息,將被調(diào)用應用的有效權(quán)限減少為調(diào)用與被調(diào)用應用權(quán)限的交集,防止應用發(fā)起混淆代理人攻擊導致惡意入侵。同Quire一樣,IPC Inspection也無法檢測所有的通過隱蔽通道傳輸?shù)男畔⒘鳌?/p>
組件漏洞檢測方式CHEX[54],靜態(tài)分析應用的數(shù)據(jù)流檢測應用是否存在權(quán)限泄露、未授權(quán)數(shù)據(jù)訪問、Intent欺騙等問題,檢測應用是否存在組件劫持漏洞,對Android系統(tǒng)開銷低。
權(quán)限提升發(fā)現(xiàn)工具DroidAlarm[55],靜態(tài)提取惡意應用的所有公開接口及聲明敏感權(quán)限信息,采用數(shù)據(jù)流跟蹤算法發(fā)現(xiàn)權(quán)限提升問題。
權(quán)限提升攻擊檢測的方式有多種,主要都是通過監(jiān)控應用間的權(quán)限使用情況,發(fā)現(xiàn)越權(quán)非法訪問資源的威脅。就靜態(tài)檢測方式而言,如果應用受加殼、混淆保護等,將無法有效檢測;而動態(tài)檢測能夠?qū)崟r檢測應用進程間的通信,是比較有效的檢測方式。
②權(quán)限模型擴展和增強
對原生Android權(quán)限框架進行擴展,應用安裝時,設置策略檢測權(quán)限并修改權(quán)限申請,應用運行時,跟蹤并操作權(quán)限使用情況,從各方面增強權(quán)限機制,從根本上改善權(quán)限管理。
Enck等[55]提出輕量級應用檢驗工具Kirin安全規(guī)則,設置靜態(tài)權(quán)限組合策略,應用安裝時,對申請的權(quán)限進行檢測,若違反策略則認定應用為惡意應用并拒絕安裝,以防止隱私泄露。這在業(yè)界是首次提出的權(quán)限增強方案。
Nauman等[56]提出權(quán)限策略擴展框架Apex,在應用安裝時,檢測應用權(quán)限,允許用戶有選擇地授予權(quán)限,并且還能夠自定義限制資源的使用情況。
Felt等[57]提出權(quán)限靜態(tài)檢測工具Stowaway,根據(jù)API與權(quán)限的映射關系,得到應用申請的最小權(quán)限集,并用其檢查應用過度申請權(quán)限的情況。之后,有很多學者基于此方案進行了擴展和深入的研究。Geneiatakis等[58]結(jié)合運行時的信息和靜態(tài)分析的數(shù)據(jù)判斷應用是否過度申請權(quán)限,是否遵從了最小權(quán)限集原則,這種方式不用修改應用的源碼也不用修改Android系統(tǒng)的底層代碼,最大程度上減少對系統(tǒng)運行的影響。
Holavanalli等[59]提出權(quán)限擴展機制Flow Permissions,根據(jù)數(shù)據(jù)與敏感API的對應關系,利用工具Blue Seal靜態(tài)分析應用,顯示應用的權(quán)限關聯(lián)信息及與其他應用間暗含的權(quán)限關聯(lián)信息,提醒用戶可能存在的威脅。
Barrera等[60]用自組織映射方法分析應用程序,研究權(quán)限的設置粒度是否合理及權(quán)限間的關系,并提出權(quán)限增強安全模型以識別頻繁使用的權(quán)限。
以上這些權(quán)限管理方案都能從某個角度發(fā)現(xiàn)問題并起到保護作用,但又都各有局限性,如果將XMAndroid、Kirin、Saint、Quire等方案結(jié)合,將更全面地保護Android系統(tǒng)的安全。
隨著Android原生系統(tǒng)的不斷改進及安全防護軟件的升級,權(quán)限管理的粒度越來越細化,支持用戶自主管理應用的權(quán)限,根據(jù)需要主動打開或禁用具體應用的指定權(quán)限,如用戶可禁用聊天軟件開啟攝像頭的權(quán)限或者禁用網(wǎng)銀軟件讀取通訊錄的權(quán)限等。
4.3.2 簽名機制
應用的簽名信息表明APK安裝程序的來源。在Android平臺上,所有的程序都必須有簽名,否則不允許安裝。簽名是保護應用的第一道防線,比較簽名信息可判斷應用是否重打包。
2013年先后爆出3個MasterKey簽名漏洞,惡意應用能夠繞過數(shù)字簽名校驗過程,在不被用戶察覺的情況下進入Android系統(tǒng),達到惡意目的。漏洞爆出之后,百度安全實驗室很快提出DroidSploit解決方案,保護Android免受此漏洞的威脅。
實際上,Android應用的簽名機制還不夠完善,簽名的時間戳和文件路徑能夠被隨意修改,這致使攻擊者能夠繞過驗簽過程,存在惡意應用能夠輕易安裝的隱患。
Android平臺上的應用安全研究主要集中在通過靜態(tài)分析和動態(tài)分析的方式[61]提取應用的特征,判斷是否是惡意應用,確保應用的安全運行。Android惡意應用的研究方法和理論主要借鑒PC上的經(jīng)驗,困難之處在于Android平臺硬件資源相對匱乏,對性能消耗過大。現(xiàn)在正逐漸針對Android平臺的特性,借助云計算等計算優(yōu)勢檢測安全。
5.1 惡意應用靜態(tài)檢測
靜態(tài)檢測就是使用反編譯等逆向工程手段,分析代碼文件,提取應用程序的特征,如簽名、權(quán)限、敏感API調(diào)用等,再通過樣本比對或機器學習的方式,判定是否惡意。靜態(tài)檢測方式簡單且效率高,但是無法分析混淆、加密等惡意代碼。
5.1.1 逆向工程
靜態(tài)分析的第一步就是逆向工程。一種方式是采用dex2jar工具將DEX反編譯成Java源碼,采用AXMLPrinter2工具處理AndroidManifest.xml文件,采用jd-gui工具查看Java源碼,提取表征應用的特征信息。另一種方式是使用APKtool和Smali,將APK文件逆向成Smali文件[62]。其他反編譯工具還包括Dexdump、Dedexer、androguard、IDA PRO等。
Enck等[63]提出Dalvik反編譯器Ded,將DEX文件反編譯成Java文件,再對應用進行控制流、數(shù)據(jù)流、數(shù)據(jù)結(jié)構(gòu)和語義分析,發(fā)現(xiàn)其漏洞和威脅。
5.1.2 應用特征提取和分析
逆向工程之后得到可讀的Java或者Smali代碼文件,再基于語義從文件中提取能代表應用的特征,如Intent、簽名、API函數(shù)、類、常量、權(quán)限、組件等,通過分析這些特征,判斷是否是惡意應用[64]。
Shabtai等[65]直接從APK文件中提取應用的APK、XML和DEX文件信息,再使用機器學習算法自動化區(qū)分應用的類別。
AndroidManifest.xml中是APK文件中最重要的一個文件,描述了應用實現(xiàn)的類、權(quán)限、組件、簽名、各種被處理的數(shù)據(jù)和啟動信息等。解析該文件中的信息標簽,可以在一定程度上判定是否是惡意應用。這方面的研究成果來自Sarma[66]、Sato[67]、Wu[68]、Weichselbaum[69]等。
以權(quán)限為判斷特征,分析申請的權(quán)限組合,或者設置Kirin安全規(guī)則[55],或者將權(quán)限與API調(diào)用合并起來作為特征構(gòu)建高維特征向量[13],或者基于權(quán)限的行為路徑[70],都可以對應用進行安全檢測。
函數(shù)調(diào)用能夠反映應用的行為,Strace是Android平臺上的系統(tǒng)調(diào)用跟蹤器,顯示其他進程的系統(tǒng)調(diào)用信息,包括參數(shù)及返回值;Androguard是Google 提供的靜態(tài)分析工具,將APK文件中的DEX文件、類、方法等都映射為python對象,用于惡意軟件檢測和惡意評估,分析過程可視化;使用PScout工具[71],分析API函數(shù)調(diào)用與權(quán)限檢查的情況,構(gòu)建函數(shù)調(diào)用圖,形成各個API函數(shù)的權(quán)限映射關系;Aurasium[72]在應用程序中嵌入跟蹤代碼,截獲程序的系統(tǒng)調(diào)用實現(xiàn)對短信、終端信息、網(wǎng)絡等資源使用的監(jiān)測;基于語義學的DroidSIFT原型系統(tǒng)[73],提取應用的API,構(gòu)建基于加權(quán)上下文的API調(diào)用依賴圖,并引入應用的相似性來判定變種惡意應用或0Day應用。
利用Intent傳遞消息可以被嗅探、篡改或竊取,惡意程序借助Intent偽造、注入惡意消息使得用戶數(shù)據(jù)被污染。Chin提出[44]Comdroid,根據(jù)Intent分析應用,警告存在的漏洞。Arzt等[74]提出污點分析系統(tǒng)FlowDroid,實現(xiàn)對應用信息流的管理。
簽名能夠判斷應用,Hu等[75]提出使用命令從DEX文件中提取簽名信息作為訓練集,再采用字符串相近算法提取簽名信息以檢測惡意應用,有較高的檢測效率和準確度。
使用單一特征分析應用存在漏檢和誤檢的情況,可考慮采用多類特征綜合分析的方式。通過動態(tài)和靜態(tài)分析應用,提取權(quán)限、組件、敏感API、行為調(diào)用序列等特征,對各類特征分別選取最優(yōu)的基礎分類算法,得到惡意應用綜合判定結(jié)果。
5.1.3 機器學習智能檢測
機器學習具有大規(guī)模數(shù)據(jù)處理能力,能在相似的數(shù)據(jù)結(jié)構(gòu)中做出對目標的判斷。在對大量Android應用進行惡意判定時,引入機器學習算法對應用進行智能分析是非常合適的,常用機器學習算法包括樸素貝葉斯(NB, naive Bayes)、決策樹(DT, decision tree)、-最近鄰(KNN,-nearest neighbor)、支持向量機(SVM, support vector machine)、-means等。早在20年前,就有專家學者基于機器學習的各種算法對惡意代碼和惡意應用進行檢測,而在Android應用檢測方面,也已經(jīng)有很多嘗試。Android機器學習惡意應用檢測結(jié)構(gòu)如圖3所示。
Schmidt等[76]采用CART、prim和KNN算法通過靜態(tài)分析對DEX文件中的調(diào)用函數(shù)進行機器學習;Wu等[68]提出DroidMat,以權(quán)限、Intent、API為特征,使用-means和EM聚類算法對惡意應用行為建模再采用KNN和NB分類算法判定惡意應用,有較高的執(zhí)行效率和可擴展性;以API調(diào)用和權(quán)限為特征,Peiravian等[13]使用SVM、CART和Bagging 3種機器學習方法,Gates等[77]采用基于正則邏輯回歸的概率判別模型,檢測應用分類;而Yerima[27]等運用NB方法對Android惡意軟件進行分類。
在對上述機器學習算法綜述的基礎上,進一步總結(jié)出各主要算法的特點和優(yōu)缺點,如表2所示。
利用機器學習歸納出已知應用的類別,有效預測未知的惡意代碼。目前,基于機器學習的檢測技術(shù)可以去人工化,提高應用分析的效率,有很廣的應用前景,但是這種方式嚴重依賴于提取的應用特征和應用樣本的質(zhì)量,工業(yè)應用時,往往根據(jù)不同的應用場景,調(diào)用不同的機器學習算法,而且其復雜度和準確率都待改善,這將成為未來惡意檢測研究的重點。

表2 機器學習算法的特點和優(yōu)缺點
5.1.4 重打包檢測
對應用逆向工程之后,若繼續(xù)將應用安裝到智能終端上,就需要對其重打包,重打包的應用很可能攜帶惡意代碼,對此,檢測應用是否重打包意義非凡。先后有專家學者提出檢測工具DroidMOSS[78]、DNADroid[79]、Juxtapp[80]和SCSdroid[81],分別采用模糊散列算法、構(gòu)造應用程序類中的方法構(gòu)造程序依賴圖、特征散列算法,計算軟件市場上的應用軟件與官方市場中的軟件的相似性,當相似性大于一個閾值時,則判定為重打包軟件,用戶安裝需謹慎。
Zhou等[78]提出DroidMoss,比較官方應用與第三方應用市場上應用的開發(fā)者信息和代碼指令的散列值,判斷應用是否被二次打包。缺點是難以獲得所有的官方原始應用,因而檢測覆蓋面較小。Lin等[81]提出SCSdroid,提取線程的公共系統(tǒng)調(diào)用序列,根據(jù)公共調(diào)用序列可以檢測應用,而不用獲取原始應用,實驗證明這種方式的正確率高達95%。
5.2 惡意應用動態(tài)檢測
對惡意應用動態(tài)檢測,提取應用運行中的關鍵數(shù)據(jù)為特征,通過異常檢測或機器學習的方式,實現(xiàn)智能化的檢測分析。動態(tài)檢測繞過了靜態(tài)方法遇到的代碼混淆和加密等問題,對于新出現(xiàn)的未知惡意軟件也能保持較好的檢測準確率。但是實時性不高,提取特征耗費時間較長,消耗較多系統(tǒng)資源,而且很難覆蓋到應用的全部執(zhí)行路線,比較難發(fā)現(xiàn)特定條件下發(fā)生的惡意行為。
隨著云計算技術(shù)的不斷發(fā)展,通過云計算對惡意樣本進行維護,有效解決樣本庫內(nèi)容不斷增加的難題,突破了樣本庫維護的局限,還把應用智能分類的核心計算部分移到了云端,降低了終端上的開銷。
基于云計算的Android應用動態(tài)檢測,首先在手機終端捕獲應用行為,提取特征,傳輸?shù)皆贫耍僭谠贫藢眯袨檫M行異常檢測,再將檢測結(jié)果返回到Android終端,由終端對異常行為做成阻塞或者中斷處理[82,83],Android動態(tài)行為檢測架構(gòu)如圖4所示。
應用動態(tài)分析可監(jiān)控軟件安裝和卸載、聯(lián)網(wǎng)、收發(fā)短信息、后臺撥打和接聽電話、操作數(shù)據(jù)庫、權(quán)限檢查、文件接收和發(fā)送、攝像頭操作等行為。可采用3種方式獲取行為信息:第1種是靜態(tài)注入技術(shù),對應用程序反編譯嵌入監(jiān)控API調(diào)用的源碼,再編譯和重打包,將修改后的應用安裝到Android平臺,應用運行時,監(jiān)控代碼便能實現(xiàn)對行為的跟蹤;第2種是API Hook技術(shù),在Android平臺上對敏感API進行Hook,一旦系統(tǒng)或應用對特定的API調(diào)用時,可截獲調(diào)用函數(shù),將其重定向到代理函數(shù),在代理函數(shù)中獲取該API調(diào)用的詳細信息,即可獲取行為信息;第3種是進程捕獲,提取關鍵行為的特征。如何實現(xiàn)應用行為監(jiān)控,如何提取行為特征,研究者們開展了廣泛而深入的研究。
Xu等[72]提出Aurasium,在應用程序中嵌入跟蹤程序,截獲應用程序的系統(tǒng)調(diào)用,檢測短信、設備信息、網(wǎng)絡等資源的使用情況。
Bl?sing等[84]提出應用沙箱AASandbox,在隔離的環(huán)境中對應用進行靜態(tài)和動態(tài)分析,檢測惡意應用;Shabtai等[14]提出基于行為的惡意軟件檢測系統(tǒng)Andromaly,收集Android平臺運行各種特征,通過-means、DT、NB、LR等機器學習算法對收集到的數(shù)據(jù)分類,并比較了各種算法的準確性。
Burguera等[83]提出Crowdroid,在Android端使用strace追蹤器采集行為數(shù)據(jù),傳到分析服務端,利用分類器訓練這些行為樣本,使用KNN算法判斷應用是否含有惡意行。
另外,還有其他幾種應用動態(tài)分析工具,如Droidbox、SandDroid等。它們都能夠捕獲網(wǎng)絡數(shù)據(jù),包括監(jiān)控網(wǎng)絡、文件、短信泄露的信息等,是具有一定成熟度的動態(tài)分析工具。
5.3 應用安全加固
隨著Android應用逆向工程的快速發(fā)展,對應用破解變得輕而易舉,對應用開發(fā)者來說,辛苦開發(fā)出的成果可能被惡意者植入病毒、篡改、劫持等非法利用,把良性應用變成惡意應用被用戶拋棄,對用戶來說,安裝被反編譯過的應用存在很大風險。鑒于此,應用的安全加固必不可少。
應用安全加固主要采用的技術(shù)是防反編譯,禁止調(diào)用gdb、gcore從內(nèi)存中截取DEX文件以防內(nèi)存竊取,禁止向進程中動態(tài)注入代碼以防動態(tài)跟蹤,校驗APK完整性以防惡意篡改等,且加固后的程序不影響其運行效率和用戶體驗。
比較流行的應用防反編譯的方式有代碼混淆、加殼等,但最有效的是NDK開發(fā)應用,編寫Native代碼,即使應用被反編譯,也無法得到C/C++代碼,導致無法閱讀和修改全部應用代碼。另外,還可以通過代碼加密技術(shù)對NDK應用加殼,使程序破解難上加難,但這也對開發(fā)人員的技能要求很高。
總之,對Android應用程序的保護方式有很多種,而真正保證安全,還是要尋求更可靠的加密方式,希望在這方面引起學者足夠的重視及更多的投入。
5.4 應用安全評估
惡意應用產(chǎn)生的威脅程度需要通過建立評估體系和評估標準,從多個角度進行評價,最后綜合得到一個結(jié)果,反映出應用的脆弱性和風險。
Grace等[61]將惡意應用的風險等級分為3級:高級、中級和低級。根據(jù)利用系統(tǒng)漏洞跳過合法權(quán)限破壞系統(tǒng)判定為高級風險,根據(jù)造成用戶隱私泄露和經(jīng)濟損失判定為中級風險,根據(jù)收集設備信息和用戶信息判定為低級風險。通過這3種風險判別,發(fā)現(xiàn)了大量0Day漏洞。MWR InfoSecurity提出應用安全評估框架Drozer,通過分析應用程序與Dalvik、其他應用及底層操作系統(tǒng)的交互數(shù)據(jù),發(fā)現(xiàn)漏洞。
Wang等[17]提出基于權(quán)限的安全風險評估框架DroidRisk,將應用的風險量化,并且能夠提示潛在的惡意行為,但是一旦應用申請的權(quán)限過度,需要考慮其他因素使用其他方式來評估風險。
對Android應用風險評估,幫助用戶了解惡意軟件可能存在的攻擊路徑,指導使用者更好地保護他們的隱私數(shù)據(jù),以規(guī)避可能受到的攻擊。
6.1 隱私數(shù)據(jù)偽造和跟蹤
隱私數(shù)據(jù)偽造是保護數(shù)據(jù)的一種方式,當應用被惡意訪問時,為了保護自己的隱私數(shù)據(jù)不被泄露,提供虛假的數(shù)據(jù)。在這方面的研究成果主要有TISSA[85]、MockDroid[18]和AppFence[86]等。他們都能夠?qū)ν馓峁﹤卧斓臄?shù)據(jù),包括位置信息、設備ID、聯(lián)系人信息等。
對敏感數(shù)據(jù)做污點標記是隱私數(shù)據(jù)保護的另一種方式,跟蹤數(shù)據(jù)的流向,記錄到日志,為數(shù)據(jù)溯源提供依據(jù)。在這方面第一個研究成果是Enck等[19]提出的污點標記系統(tǒng)TaintDroid,此后,有多名學者在此基礎上進一步研究,提出了各種污點數(shù)據(jù)跟蹤系統(tǒng),如AndroidLeaks[87]、Kynoid[88]等,都能夠跟蹤數(shù)據(jù)去向,分析應用程序當中是否存在隱私泄露行為。
6.2 數(shù)據(jù)加密
加密是對數(shù)據(jù)保護最直接的一種保護方式,Android平臺上的數(shù)據(jù)加密主要體現(xiàn)在對短信、通訊錄、通話記錄等SQLite數(shù)據(jù)庫中的數(shù)據(jù)加密,以及對圖片、音頻、視頻等文件數(shù)據(jù)加密。通常采用透明加解密方式,即加解密過程都在后臺進行,用戶感知不到,且不改變用戶對數(shù)據(jù)的使用習慣,這就對加解密在效率、安全性、開發(fā)難度、移植性上達到平衡有較高要求。
對SQLite數(shù)據(jù)庫數(shù)據(jù)加密的方式一般有2種,一種是在數(shù)據(jù)入庫、出庫時進行加解密操作,但是不利于加密信息的檢索;另一種是對整個數(shù)據(jù)庫文件加解密,普遍采用這種方式,通常采用AES或DES等加密算法。
Wang等[89]實現(xiàn)基于FUSE的文件透明加密系統(tǒng)EncFS,用戶創(chuàng)建目錄作為文件系統(tǒng),所有寫入該系統(tǒng)的文件都會被加密。該系統(tǒng)支持AES和Blowfish加密算法,經(jīng)過不斷優(yōu)化,加密文件系統(tǒng)對原系統(tǒng)的性能影響不大。
Android 5.0采用全盤加密來提升安全性能,所有寫入硬盤的數(shù)據(jù)均需要先加密,所有讀取的數(shù)據(jù)都需要先解密。不足之處在于,大多數(shù)硬件設備上的閃存并沒有自帶加密標準,在開啟全盤加密后,使機器性能大幅下降。然而,可通過采用更快的閃存芯片和更快的文件系統(tǒng)如F2FS、優(yōu)化SoC等方式進行改進。
6.3 數(shù)據(jù)云備份
云服務已經(jīng)成為智能終端的另一標配,基于云計算將智能終端上的數(shù)據(jù)遠程備份到云端,包括通訊錄、短信、圖片等個人隱私數(shù)據(jù)。日常時將終端設備上的數(shù)據(jù)同步到云端,當終端數(shù)據(jù)遭受損失時通過網(wǎng)絡恢復數(shù)據(jù)到本地,或者實現(xiàn)多個設備間的數(shù)據(jù)統(tǒng)一。同時,云備份還具備定時增量備份、加密存儲、數(shù)據(jù)管理和恢復等功能。
為了保證數(shù)據(jù)在網(wǎng)絡傳輸過程中不被竊聽、非法攔截,智能終端與云端備份服務器通信主要是基于SSL協(xié)議,提供雙向認證、數(shù)據(jù)加密、數(shù)據(jù)完整性驗證等服務。Android對SSL協(xié)議有很好的支持,用到的相關類在javax.net.ssl、java.security及javax.crypto包中。
6.4 數(shù)字版權(quán)保護
數(shù)字版權(quán)保護(DRM, digital right management)從技術(shù)上防止數(shù)字內(nèi)容被非法復制、篡改,只有授權(quán)后才能合法使用,達到數(shù)字內(nèi)容版權(quán)保護的目的。Android平臺集成了OMA DRM 2.0的部分功能,提供了一個可擴展的數(shù)字版權(quán)管理框架,Marlin DRM也是廣受認可的內(nèi)容保護及內(nèi)容管理的開放標準,不同的DRM解決方案可通過Plugin方式集成到Android系統(tǒng)中,允許應用程序管理和保護自己的數(shù)據(jù)。
隨著研究的發(fā)展,PC上成熟的DRM技術(shù),如基于時間/空間約束的DRM授權(quán)模型、添加水印的音視頻DRM技術(shù)、構(gòu)建智能終端共享域并設計域內(nèi)DRM安全授權(quán)模式、基于角色的可信數(shù)字版權(quán)安全許可授權(quán)模型等,在Android平臺上的擴展使用是DRM發(fā)展的又一重要方向。
6.5 安全支付
隨著移動互聯(lián)網(wǎng)的發(fā)展,移動支付在生活中扮演越來越重要的角色,而基于NFC技術(shù)的Android支付平臺,更加即時、安全和快捷地實現(xiàn)近場付款及遠程支付[90,91]。
由于支付與用戶的經(jīng)濟利益切實相關,其安全不容忽視,對于移動支付安全來說,隱患主要來自3個方面:一是外部釣魚網(wǎng)站和惡意入侵,二是不安全無線網(wǎng)絡接入環(huán)境,三是終端安裝了惡意的應用。采取的安全防護類型包括以下5種:病毒掃描,保證手機不被感染;運行環(huán)境監(jiān)測,監(jiān)視應用的正常運行;無線Wi-Fi網(wǎng)絡掃描,阻止惡意攻擊;短信驗證和密碼保護保障支付安全;分辨釣魚網(wǎng)站,避免賬戶信息泄露。
Android智能終端安全保護相關技術(shù)經(jīng)過專家學者的不懈付出,已經(jīng)取得了顯著的成績,而全能有效地解決實際應用的成果還亟待出現(xiàn),因此,針對Android安全的研究還將會是一項持久艱巨的任務,主要可能圍繞以下幾個方面展開。
1) 構(gòu)建通用的Android內(nèi)核安全增強框架,及時發(fā)掘系統(tǒng)漏洞,增強對系統(tǒng)的監(jiān)控能力;隔離系統(tǒng)內(nèi)核層和應用程序框架層,減少病毒對系統(tǒng)內(nèi)核的侵害;細粒度應用權(quán)限設置,增強用戶對權(quán)限管理的參與性。
2) 構(gòu)建輕量級的Android動態(tài)惡意應用檢測模型,建立行為模式,針對應用當前運行狀態(tài),檢測出潛在的威脅,并實現(xiàn)對應用進行安全風險評估,實時展示評估結(jié)果,及時給出安全預警,增強用戶使用各種應用軟件的安全性。
3) 構(gòu)建高效的大規(guī)模惡意應用檢測系統(tǒng),針對層出不窮、數(shù)量龐大的惡意應用,提取應用特征,并進行特征優(yōu)化選擇,再基于機器學習算法,智能化地對惡意應用檢測,不斷改進檢測算法,提高檢測的準度、精度和效率,杜絕惡意應用的傳播擴散。
4) 構(gòu)建全面的Android移動終端隱私數(shù)據(jù)保護系統(tǒng),針對短信、通訊錄等數(shù)據(jù)庫數(shù)據(jù)及圖片、音視頻等文件數(shù)據(jù),加密保護隱私數(shù)據(jù)的內(nèi)容,驗證隱私數(shù)據(jù)訪問的身份,限制隱私數(shù)據(jù)使用的方式,跟蹤記錄隱私數(shù)據(jù)的流向,通過多種手段,全面有效地保護隱私數(shù)據(jù)的安全。
5) 構(gòu)建基于云計算和大數(shù)據(jù)的Android智能終端防護體系,整合云計算、大數(shù)據(jù)資源在數(shù)據(jù)處理和存儲方面的優(yōu)勢,彌補Android計算資源的不足,通過大數(shù)據(jù)挖掘及時檢測Android病毒,通過云服務實時維護Android終端信息和數(shù)據(jù)、查殺病毒、防盜防騙等,拓寬智能終端安全防護的體系。
Android的開放性和流行性吸引了眾多攻擊者和安全研究者的關注,攻擊者利用系統(tǒng)漏洞、入侵應用軟件、病毒植入等各種可能的手段試圖獲取隱私數(shù)據(jù)以謀求非法利益。安全防護者針對各種威脅,從終端設備本身的硬件安全、所處網(wǎng)絡環(huán)境的安全到Android系統(tǒng)的內(nèi)核增強、權(quán)限細粒度增強管理,到應用靜態(tài)提取特征、應用簽名、動態(tài)行為智能分析,再到隱私數(shù)據(jù)加密、備份、版權(quán)保護、支付安全等各個方面提出防范措施,讓破壞分子無處遁形。本文主要對Android的設備安全、網(wǎng)絡安全、系統(tǒng)安全、應用安全和數(shù)據(jù)安全進行了分析研究,并展望了未來的發(fā)展方向,希望對后續(xù)的研究有所幫助。
[1] 360互聯(lián)網(wǎng)安全中心.2015年手機安全狀況報告[R]. 2015. 360 Internet Security Center. 2015 mobile security status report [R]. 2015.
[2] 騰訊移動安全實驗室. 2015年上半年手機安全報告[R]. 2015. Tencent Mobile Security Laboratory. Mobile security report in the first half of 2015 [R]. 2015.
[3] FAUKI P, BHAMAL A, LAXMI V, et al. Android security: a survey of issues, malware penetration, and defenses[J]. Communications Surveys & Tutorials, 2015, 17(2): 998-1022.
[4] SEO S H, GUPTA A, MOHAMED S A, et al. Detecting mobile malware threats to homeland security through static analysis[J]. Journal of Network and Computer Applications, 2014, 38(2): 43-53.
[5] 馮登國, 孫悅, 張陽. 信息安全體系結(jié)構(gòu)[M]. 北京: 清華大學出版社, 2008: 1-14. FENG D G, SUN Y, ZHANG Y. Information security architecture[M]. Beijing: Tsinghua University Press, 2008: 1-14.
[6] JANG J, W J Y, MOHAISEN A, et al. Andro-AutoPsy: anti-malware system based on similarity matching of malware and malware creator-centric information[J]. Digital Investigation, 2015, 14(6): 17-35.
[7] NIKOLAY E. Android security internals: an in-depth guide to android's security architecture[M]. No Starch Press, 2014.
[8] STEFFEN L, MATTHIAS L. Android security, pitfalls and lessons learned[C]//The 28th International Symposium on Computer and Information Sciences. Berlin, Germany, c2013: 409-417.
[9] KARI K, ELENA R, JAN ERIK E, et al. Old, new, borrowed, blue: a perspective on the evolution of mobile platform security architectures[C]//The First ACM Conference on Data and Application Security and Privacy. New York, USA, c2011: 13-24.
[10] LUBKE R, SCHUSTER D, SCHILL A. A framework for the development of mobile social software on Android[C]//Third International Conference, MobiCASE 2011. Los Angeles, CA, USA, c2011: 207-225.
[11] HONG Y R, DONGSOO K. Security enhancement of smart phones for enterprises by applying mobile VPN technologies[C]//Computational Science and Its Applications(ICCSA). Santander, Spain, c2011: 506-517.
[12] KORKMAZ I, METIN S K , GUREK A, et al. A cloud based and Android supported scalable home automation system[J]. Computers & Electrical Engineering, 2015, 43(5): 112-128.
[13] PEIRAVIAN, N. ZHU X Q. Machine learning for Android malware detection using permission and API calls[C]//IEEE 25th International Conference on Tools with Artificial Intelligence (ICTAI). Herndon, VA, c2013: 300-305.
[14] SHABTAI A, KANONOY U, ELOVICI Y, et al. Andromaly: a behavioral malware detection framework for android devices[J]. Journal of Intelligent Information Systems, 2012, 38(1): 161-190.
[15] SCHREUDERS Z C, MCGILL T, PAYNE C. The state of the art of application restrictions and sandboxes: a survey of application- oriented access controls and their shortfalls[J]. Computers & Security, 2013, 32(2): 219-241
[16] JUNFENG X, LI Z , DONG L, et al. Recommendable schemes of anti-decompilation for android applications[C]//2015 Ninth International Conference on Frontier of Computer Science and Technology (FCST). Dalian, c2015: 84-90.
[17] WANG Y, ZHENG J, SUN C, et al. Quantitative security risk assessment of Android permissions and applications[C]//27th Annual IFIP WG 11.3 Conference. Newark, NJ, USA, c2013:226-241.
[18] BERESFORS A R, RICE A, SKEHIN N, et al. MockDroid:trading privacy for application functionality on smartphones[C]//The 12th Workshop on Mobile Computing Systems and Applications. New York, USA, c2011: 49-54.
[19] ENCK W, GILBERT P, CHUN, et al. Taintdroid: an information-flow tracking system for realtime privacy monitoring on smartphones[C]// The 9th USENIX Conference on Operating Systems Design and Implementation. Berkeley, CA, USA, c2010: 1-6.
[20] TEUFL P, THOMAS Z, CHRISTOF S. Mobile device encryption systems[C]//8th IFIP TC 11 International Conference. Auckland, New Zealand, c2013: 203-216.
[21] HUANG T Y, WANG H, PENG C L, et al. A new remote desktop approach with mobile devices: design and implementation[M]//Ubiquitous Computing Application and Wireless Sensor, 2015, 331: 305-321.
[22] NAKAO K. NAKAMOTO Y. Toward remote service invocation in Android[C]//Ubiquitous Intelligence & Computing and 9th International Conference on Autonomic & Trusted Computing (UIC/ATC). Fukuoka, c2012: 612-617.
[23] BELKEDE M, GULHANE V, BAJAI P. Biometric mechanism for enhanced security of online transaction on Android system: a design approach[C]//Advanced Communication Technology (ICACT). Pyeong Chang, c2012: 1193-1197.
[24] KHANDELWAL A, MOHAPTRA A K. An insight into the security issues and their solutions for android phones[C]//Computing for Sustainable Global Development (INDIACom). New Delhi, c2015: 106-109.
[25] MA L, TEYMORIAN A Y, CHENG X. A hybrid access point protection framework for commodity Wi-Fi networks[C]//The 27th Conference on Computer Communications. Phoenix, AZ, c2008: 1894-1902.
[26] WANG D, ZHOU M. A framework to test reliability and security of Wi-Fi device[C]//Electronic Packaging Technology (ICEPT). Chengdu, c2014: 953-958.
[27] YERIMA S Y, SEZER S, MCWILLIAN G. Analysis of Bayesian classification-based approaches for Android malware detection[J]. Information Security, IET, 2013, 8(1): 121-129.
[28] SHINA S, ANITHA R, NATARAJAN V. Android based malware detection using a multifeature collaborative decision fusion approach[J]. Neurocomputing, 2015, 151(3): 905-912.
[29] FELT A P, WAGNER D. Phishing on mobile devices[M]. NA, 2011.
[30] BOTTAZZI G, CASALICCHIO E, CINGOLANI D, et al. MP-Shield: a framework for phishing detection in mobile devices[C]//2015 IEEE International Conference on Computer and Information Technology, Ubiquitous Computing and Communications; Dependable, Autonomic and Secure Computing, Pervasive Intelligence and Computing (CIT/IUCC/DASC/PICOM). IEEE, c2015: 1977-1983.
[31] WU L, DU X, WU J. MobiFish: a lightweight anti-phishing scheme for mobile phones[C]//2014 23rd International Conference on Computer Communication and Networks. IEEE, c2014: 1-8.
[32] HE M, HORNG S J, FAN P, et al. An efficient phishing webpage detector[J]. Expert Systems with Applications, 2011, 38(10): 12018- 12027.
[33] BASNET R, MUKKAMALA S, SUNG A H. Detection of phishing attacks: a machine learning approach[M]//Soft Computing Applications in Industry. Springer Berlin Heidelberg, 2008: 373-383.
[34] SHABTAI A, FLEDEL Y, ELOVICI Y. Securing Android-powered mobile devices using SELinux[J]. Security & Privacy, 2010, 8(3): 36-44.
[35] SMANEY S, CRAIG R. Security enhanced (SE) android: bringing flexible MAC to Android[C]//The 20th Annual Network and Distributed System Security Symposium. Switzerland, c2013: 20-38.
[36] AVD Android漏洞庫[EB/OL]. http://android.scap.org.cn/avdview.html. AVD Android vulnerability database[EB/OL]. http://android.scap.org.cn/avdview.html
[37] ZHANG W, CAO C, LIU W, et al. Vulnerability mining techniques in Android platform[J]. CCIS-13, 2013, 52(1391):535-540.
[38] STIRPARO P, FOVINO I N. KOUNELIS I. Data-in-use leakages from Android memory-test and analysis[C]//Wireless and Mobile Computing. Networking and Communications (WiMob). Lyon, c2013: 701-708.
[39] SHAHRIAR H, NORTH S, MAWANGI E. Testing of memory leak in Android applications[C]//High-Assurance Systems Engineering (HASE). Miami Beach, FL, c2014: 176-183.
[40] ALESSANDRO A, ALESSIO M, MAURO M, et al. Breaking and fixing the android launching flow[J]. Computers & Security, 2013, 39: 104-115.
[41] DAVI L, DMITRIENKO A, SADEGHI A. Privilege escalation attacks on Android[M]//Information Security. Springer Berlin Heidelberg, 2010: 346-360.
[42] BUGIEL S, DAVI L, DMITRIENKO A, et al. Poster: the quest for security against privilege escalation attacks on Android[C]//The 18th ACM Conference on Computer and Communications Security. ACM, c2011: 741-744.
[43] DEMERTZIS K, ILIADIS L. SAME: an intelligent anti-malware extension for android ART virtual machine[C]//Computational Collective Intelligence 7th International Conference, ICCCI 2015. Madrid, Spain, c2015: 235-245.
[44] CHIN E, FELT A P, GREENWOOD K, et al. Analyzing inter-application communication in android[C]//The 9th International Conference on Mobile Systems, Applications, and Services. New York, USA, c2011: 239-252.
[45] ENCK W, ONGTANG M, MCDANIEL P. Understanding Android security[J]. IEEE Security & Privacy, 2009, 7(1): 50-57.
[46] 傅建明, 李鵬偉, 易喬. Android組件間通信的安全缺陷靜態(tài)檢測方法[J]. 華中科技大學學報(自然科學版), 2013, 41: 259-264. FU J M, LI P W, YI Q. A static detection of security detects between inter-components’ communication [J]. Journal of Huazhong University of Science and Technology (Natural Science Edition), 2013, 41: 259-264.
[47] FANG Z R, HAN W L, LI Y J. Permission based Android security: issues and countermeasures[J]. Computers & Security, 2014, 43(6): 205-218.
[48] SCHLEGEL R, ZHANG K, ZHOU X, et al. Soundcomber: a stealthy and context-aware sound trojan for smartphones[C]//NDSS. San Diego, California, USA, c2011: 17-33.
[49] GARCE M, ZHOU Y, WANG Z, et al. Systematic detection of capability leaks in stock Android smartphones[C]//The 19th Network and Distributed System Security Symposium (NDSS 2012). San Diego, CA, c2012.
[50] ONGTANG M, MCLAUGHLIN S, ENCK W, et al. Semantically rich application-centric security in Android[C]//In ACSAC '09. Computer Security Applications Conference. Honolulu, HI, c2009:340-349.
[51] BUGIEL S, DAVI L, DMITRIENKO A, et al. XManDroid: a new Android evolution to mitigate privilege escalation attacks[R]. Technical Report TR-2011-04, Technische Universitat Darmstadt. Germany, c2011: 1-17.
[52] DIETZ M, SHEKHAR S, PISETSKY Y, et al. QUIRE: lightweight provenance for smart phone operating systems[C]//The 20th USENIX Conference on Security. USENIX Association Berkeley, CA, USA, c2011:23.
[53] LU L, LI Z C, WU Z Y, et al. CHEX: statically vetting android apps for component hijacking vulnerability[C]//ACM Conference on Computer and Communications Security. New York, USA, c2012: 229-240.
[54] ZHONG Y, XIN Z, MAO B, et al. DroidAlarm: an all-sided static analysis tool for android privilege-escalation malware[C]//The 8th ACM SIGSAC Symposium on Information, Computer and Communications Security. New York, USA, c2013:353-358.
[55] ENCK W, ONGTANG M, MCDANIEL P. On lightweight mobile phone application certification[C]//ACM Conference on Computer and Communications Security. Chicago, USA, c2009:235-245.
[56] NAUMAN M, KHAN S, ZHANG X. Apex: extending Android permission model and enforcement with user-defined runtime constraints[C]//The 5th ACM Symposium on Information, Computer and Communications Security. New York, USA, c2010: 328-332.
[57] FELT A, CHIN E, HANNA S, et al. Android permissions demystified[C]//The 18th ACM Conference on Computer and Communications Security. New York, USA, c2011:627-637.
[58] GENEIATAKIS D, FOVINO I N, KOUNELIS I, et al. A permission verification approach for android mobile applications[J]. Computers & Security, 2015, 49(3): 192-205.
[59] HOLAVANALLI S, MANUEL D, NANJUNDASWAMY V, et al. Flow permissions for Android[C]//2013 IEEE/ACM 28th International Conference on Automated Software Engineering (ASE). Silicon Valley, CA, c2013:652-657.
[60] BARRERA D, KAYACIK H G, OORSCHOT P C, et al. A methodology for empirical analysis of permission-based security models and its application to Android[C]//The 17th ACM Conference on Computer and Communications Security.New York, NY, USA, c2010:627-637.
[61] GRACE M, ZHOU Y J, ZHANG Q, et al. RiskRanker: scalable and accurate zero-day Android malware detection[C]//The 10th International Conference on Mobile Systems, Applications, and Services (MobiSys). ACM, Lake District, UK, c2012: 281-294.
[62] ZHENG M, SUN M, LUI J. Droid analytics: a signature based analytic system to collect, extract, analyze and associate Android malware[C]//The 12th IEEE International Conference on Trust Security and Privacy in Computing and Communications. c2013: 163-271.
[63] ENCK W, OCTEAU D, MCDANIEL P, et al. A study of Android application security[C]//The 20th USENIX Conference on Security. USENIX Association Berkeley, CA, USA, c2011:1175.
[64] FEIZOLLAH A, ANUAR N B, SALLEH R, et al. A review on feature selection in mobile malware detection review article[J]. Digital Investigation, 2015, 13(6): 22-37.
[65] SHABTAI A, FLEDEL Y, ELOVICI Y. Automated static code analysis for classifying Android applications using machine learning[C]//The 2010 International Conference on Computational Intelligence and Security(CIS). Nanning, China, c2010:329-333.
[66] SARMA B P, LI N, GATES C, et al. Android permissions: a perspective combining risks and benefits[C]//The 17th ACM Symposium on Access Control Models and Technologies. New York, USA, c2012:13-22.
[67] SATO R, CHIBA D, GOTO S. Detecting Android malware by analyzing manifest files[C]//The Asia-Pacific Advanced Network.Tokyo, c2013: 23-31.
[68] WU D J, MAO C H, WEI T E, et al. DroidMat: Android malware detection through manifest and API calls tracing[C]//Seventh Asia Joint Conference on Information Security (Asia JCIS). Tokyo, c2012:62-69.
[69] WEICHSELBAUM L, NEUGSCHWANDTNER M, LINDORFOR M,et al. Andrubis: Android malware under the magnifying glass[R]. Vienna University of Technology, 2014. TRI-SECLAB- 0414-001 .
[70] HOU Y, WANG Z, ZHOU W, et al. Hey, you, get off of my market: detecting malicious apps in official and alternative android markets[C]//The 19th Annual Network and Distributed System Security Symposium(NDSS). San Diego, c2012.
[71] AU K W Y, ZHOU Y F,HUAGN Z, et al. Pscout: analyzing the android permission specification[C]//The 2012 ACM Conference on Computer and Communications Security. New York, USA, c2012: 217-228.
[72] XU R, SAIDI H, ANDERSON R. Aurasium: practical policy enforcement for Android application[C]//The 21st USENIX Conference on Security Symposium. USENIX Association Berkeley, CA, USA, c2012:27.
[73] ZHANG M, DUAN Y, YIN H, et al. Semantics-aware Android malware classi?cation using weighted contextual API dependency graphs[C]//The 2014 ACM SIGSAC Conference on Computer and Communications Security. New York, USA, c2014:1105-1116.
[74] ARZT S, RASTHOFER S, FRITZ C, et al. FlowDroid: precise context, flow, field, object-sensitive and lifecycle-aware taint analysis for Android apps[C]//The 35th ACM SIGPLAN Conference on Programming Language Design and Implementation. c2014: 259-269.
[75] HU G, LI T, DONG H, et al. Malicious code detection for Android using instruction signatures[C]//IEEE 8th International Symposium on Service Oriented System Engineering. Oxford, c2014:332-337.
[76] SCHMIDT A D, BYE R, SCHMIDT H G, et al. Static analysis of executables for collaborative malware detection on Android[C]// IEEE International Conference on Communications. Dresden, c2009: 1-5.
[77] CEN L,GATES C, et al. A probabilistic discriminative model for Android malware detection with decompiled source code[C]//IEEE Transactions on Dependable and Secure Computing. c2013:1-14.
[78] ZHOU W, ZHOU Y, JIANG X, et al. Detecting repackaged smartphone applications in third-party android marketplaces[C]//The Second ACM Conference on Data and Application Security and Privacy. New York, USA, c2012: 317-326.
[79] CRUSSELL J, GIBLER C, CHEN H. Attack of the clones: detecting cloned applications on Android markets[C]//Proceedings of ESORICS. Berlin, Germany, c2012:37-54.
[80] HANNA S, HUANG L, WU E, et a1. Juxtapp: a scalable system for detecting code reuse among Android applications[C]//The 9th International Conference on Detection of Intrusions and Malware, and Vulnerability Assessment. Berlin, Germany, c2013:62-81.
[81] LIN Y D, LAI Y C, CHEN C H, et al. Identifying Android malicious repackaged applications by thread-grained system call sequences[J]. Computers & Security, 2013, 39(12): 340-350.
[82] 文偉平, 梅瑞, 寧戈, 等. Android惡意軟件檢測技術(shù)分析和應用研究[J]. 通信學報, 2014, 35(8): 79-85. WEN W P, MEI R, NING G, et al. Malware detection technology analysis and applied research of android platform[J]. Journal on Communications, 2014, 35(8): 79-85.
[83] BURGUERA I, ZURATUZA U, et al. Crowdroid: behavior-based malware detection system for Android[C]//The 1st ACM Workshop on Security and Privacy in Smartphones and Mobile Devices. New York, USA, c2011: 15-26.
[84] BLASING T, BATYUK L, SCHMIDT A D, et al. An Android application sandbox system for suspicious software detection[C]//5th International Conference on Malicious and Unwanted Software (MALWARE). Nancy, Lorraine, c2010: 55-62.
[85] ZHOU Y J, ZHANG X W,et al. Taming information-stealing smartphone applications(on Android)[C]//The 4th International Conference on Trust and Trustworthy Computing. Berlin, Germany, c2011:93-107.
[86] HORNYACK P, HAN S, JUNG J, et al. These aren’t the droids you’re looking for: retro?tting android to protect data from imperious applications[C]//The 18th ACM Conference on Computer and Communications Security. New York, USA, c2011: 639-652.
[87] GIBLER C,CRUSSELL J, ERICKSON J, et al.AndroidLeaks: automatically detecting potential privacy leaks in Android applications on a large scale[C]//The 5th International Conference on Trust and Trustworthy Computing. Berlin, Germany, c2012:291-307.
[88] SCHRECKLING D, POSEGGA J, et al. Kynoid: real-time enforcement of fine-grained, user-defined, and data-centric security policies for Android[C]//WISTP'12 The 6th IFIP WG 11.2 International Conference on Information Security Theory and Practice. Berlin, Germany, c2012:208-223.
[89] WANG Z H, MURMURIA R, STAVROU A. Implementing and optimizing an encryption filesystem on Android[C]//The 2012 IEEE 13th International Conference on Mobile Data Management. Washington, DC, USA, c2012: 52-62.
[90] TAN G W, OOI K B, CHONG S C, et al. NFC mobile credit card: the next frontier of mobile payment[J]. Telematics and Informatics, 2014, 31(2): 292-307.
[91] 王志強, 劉奇旭, 張玉清. Android平臺NFC應用漏洞挖掘技術(shù)研究[J]. 通信學報, 2014, 35(z2): 118-123. WANG Z Q, LIU Q X, ZHANG Y Q. Research of discovering vulnerabilities of NFC applications on Android platform[J]. Journal on Communications, 2014, 35(z2): 118-123.
Survey of security for Android smart terminal
XU Yan-ping1, MA Zhao-feng1, WANG Zhong-hua2, NIU Xin-xin1, YANG Yi-xian1
(1.Information Security Center, Beijing University of Posts and Telecommunications, Beijing 100876, China; 2. National Computer Network Emergency Response Technical Team/Coordination Center of China (CNCERT/CC), Beijing 100029, China)
Aiming at the security, the layered security system was constructed. Firstly, the devices safety protection based on remote anti-theft, biometric identity verification and hardware security module was expounded. Secondly, network security referring to the wireless security network, virus propagation killing and anti-phishing was illustrated. Thirdly, the OS safety was introduced from the perspective of system kernel, runtime environment and application framework. Fourthly, application security was showed containing the reverse engineering static analysis, behavior dynamic analysis, safety reinforcement and safety assessment. Fifthly, the privacy data protection was summarized including tracking, encryption and backup. Finally, the future development direction was prospected on the security framework and intelligent behavior analysis.
Android, device security, network security, system security, application security, data security
TP309
A
10.11959/j.issn.1000-436x.2016127
2015-10-19;
2016-02-19
國家自然科學基金資助項目(No.61272519);“十二五”國家科技支撐計劃基金資助項目(No.2012BAH23F00);國家科技支撐計劃基金資助項目(No.2012BAH45B00)
The National Natural Science Foundation of China (No.61272519 ), The Twelfth-five National Science and Technology Support Program (No.2012BAH23F00), The National Science and Technology Support Program (No.2012BAH45B00)
許艷萍(1986-),女,安徽亳州人,北京郵電大學博士生,主要研究方向為移動互聯(lián)網(wǎng)安全、Android智能終端應用安全。
馬兆豐(1974-),男,甘肅鎮(zhèn)原人,博士,北京郵電大學講師,主要研究方向為移動互聯(lián)網(wǎng)安全技術(shù)、云計算安全技術(shù)、數(shù)字版權(quán)管理。
王中華(1986-),男,山東聊城人,國家計算機網(wǎng)絡應急技術(shù)處理協(xié)調(diào)中心工程師,主要研究方向為移動互聯(lián)網(wǎng)安全、網(wǎng)絡安全攻防演練。
鈕心忻(1963-),女,浙江湖州人,北京郵電大學教授、博士生導師,主要研究方向為數(shù)字水印、信息隱藏、隱寫分析。
楊義先(1961-),男,四川鹽廳人,北京郵電大學教授、博士生導師,主要研究方向為密碼學、計算機網(wǎng)絡與信息安全。