◆郝曉東 孫二鑫 藏丹丹 李瀟瀟
Android應(yīng)用安全問(wèn)題與對(duì)策思考研究
◆郝曉東 孫二鑫 藏丹丹 李瀟瀟
(天津卡達(dá)克數(shù)據(jù)有限公司 天津 300000)
隨著移動(dòng)互聯(lián)網(wǎng)以及智能移動(dòng)設(shè)備的普及,各型種類的APP出現(xiàn)在用戶的視野,并在 Android 操作系統(tǒng)上獲得了飛速的發(fā)展。Android技術(shù)進(jìn)步的同時(shí),由于其獨(dú)特的開(kāi)源特性,各類安全問(wèn)題尤其是應(yīng)用的安全問(wèn)題愈發(fā)引起用戶的關(guān)注。
應(yīng)用安全;Android;對(duì)策;安全威脅;惡意軟件
中國(guó)互聯(lián)網(wǎng)絡(luò)信息中心(CNNIC)于2019年2月28日在京發(fā)布第43次《中國(guó)互聯(lián)網(wǎng)絡(luò)發(fā)展?fàn)顩r統(tǒng)計(jì)報(bào)告》。數(shù)據(jù)顯示,截至2018年12月,我國(guó)網(wǎng)民總規(guī)模達(dá)8.29億,其中手機(jī)網(wǎng)民的規(guī)模達(dá)到了8.17億,占比高達(dá)98.6%。面對(duì)已經(jīng)全面進(jìn)入的移動(dòng)互聯(lián)網(wǎng)時(shí)代的背景,谷歌的Android系統(tǒng)作為最主要的移動(dòng)平臺(tái)開(kāi)發(fā)類型在我國(guó)的使用率占比高達(dá)80%。Android移動(dòng)應(yīng)用更是爆發(fā)性增長(zhǎng)。發(fā)展至今,數(shù)以億計(jì)的網(wǎng)民每天通過(guò)種類繁多的Android應(yīng)用進(jìn)行網(wǎng)絡(luò)購(gòu)物、移動(dòng)支付、網(wǎng)絡(luò)視頻、網(wǎng)絡(luò)音樂(lè)和網(wǎng)絡(luò)游戲等等。面對(duì)移動(dòng)終端市場(chǎng)豐富多樣的應(yīng)用,加之用戶的應(yīng)用安全意識(shí)還比較淡薄,缺乏權(quán)限保護(hù)等方面的專業(yè)知識(shí),極其容易感染各類手機(jī)病毒及安裝下載惡意軟件[1],所以日益凸顯的應(yīng)用安全問(wèn)題愈發(fā)需要引起我們的重視。
自谷歌Android系統(tǒng)發(fā)布以來(lái),由于其獨(dú)特的開(kāi)放性、開(kāi)源特性和可定制性等特性,Android平臺(tái)的開(kāi)放生態(tài)使得每一個(gè)Android設(shè)備中安裝的軟件大多來(lái)自不同的芯片廠商、手機(jī)開(kāi)發(fā)商以及不同的應(yīng)用開(kāi)發(fā)者等?;谶@種現(xiàn)狀,各種軟件組件基本很難達(dá)到遵從一個(gè)統(tǒng)一的標(biāo)準(zhǔn),所以開(kāi)發(fā)的質(zhì)量也會(huì)良莠不齊。對(duì)于一些不法分子以及惡意攻擊者來(lái)說(shuō),卻是一個(gè)很好的目標(biāo)。Android智能終端的安全層基本可以分為5個(gè)層次[2],分別為:網(wǎng)絡(luò)安全層、設(shè)備安全層、系統(tǒng)安全層、數(shù)據(jù)安全層和應(yīng)用安全層。在此,針對(duì)Android APP開(kāi)發(fā)人員,我們主要對(duì)Android的應(yīng)用安全層進(jìn)行一系列深入的研究和探索。用戶隱私數(shù)據(jù)的泄漏主要有以下幾種表現(xiàn)形式:
(1)隱私數(shù)據(jù)被惡意軟件竊取,竊取者利用應(yīng)用漏洞和途徑,騙取用戶安裝惡意插件,從而利用惡意軟件來(lái)獲得用戶隱私數(shù)據(jù)。
(2)移動(dòng)終端往往被用戶隨身攜帶,經(jīng)常移動(dòng)終端被放置在某些地方,例如開(kāi)會(huì)放在會(huì)場(chǎng),在用戶離開(kāi)的時(shí)候,如果該手機(jī)上的涉及錢財(cái)或者隱私的應(yīng)用沒(méi)有身份驗(yàn)證機(jī)制,用戶的信息或者錢財(cái)就存在著風(fēng)險(xiǎn)。
(3)通信被抓包截獲的風(fēng)險(xiǎn)。目前手機(jī)APP通過(guò)接口發(fā)出的通信消息,很大一部分應(yīng)用通信都沒(méi)有加密,為明文數(shù)據(jù),極易被竊取者通過(guò)特定技術(shù)手段進(jìn)行截獲和監(jiān)聽(tīng),造成用戶的隱私泄露。
Android應(yīng)用通常來(lái)自第三方應(yīng)用商店和應(yīng)用程序下載論壇等。這些Android應(yīng)用程序中極易存在安全漏洞,給用戶帶來(lái)隱患和安全風(fēng)險(xiǎn)。針對(duì)Android應(yīng)用層的安全問(wèn)題,我們可以從以下幾個(gè)方面進(jìn)行研究和剖析。
生物身份認(rèn)證是一種分析個(gè)人生物和行為特征的技術(shù)[3],例如指紋識(shí)別,虹膜,視網(wǎng)膜,面部識(shí)別等。由于這種唯一性以及傳統(tǒng)密碼等方式的不安全性,越來(lái)越多的Android應(yīng)用采用了生物身份認(rèn)證?,F(xiàn)在有越來(lái)越多的 Android 終端設(shè)備以及Android應(yīng)用搭載了或使用了指紋識(shí)別技術(shù),例如指紋識(shí)別技術(shù)目前在微型支付等APP中的應(yīng)用。Android應(yīng)用結(jié)合生物身份驗(yàn)證可以大大減少我們被惡意攻擊的風(fēng)險(xiǎn)以及私密信息泄露的風(fēng)險(xiǎn)。當(dāng)然,現(xiàn)階段通過(guò)生物身份認(rèn)證的準(zhǔn)確率還達(dá)不到100%的精準(zhǔn),需要廣大開(kāi)發(fā)者以及各個(gè)行業(yè)去不斷努力探索,精益求精。將來(lái)更多的Android應(yīng)用可以配合生物身份識(shí)別驗(yàn)證來(lái)保證我們的應(yīng)用安全[4-5]。
通過(guò)反編譯等逆向分析方法來(lái)獲取應(yīng)用的特征,比如一些權(quán)限、敏感API調(diào)用、簽名等,通過(guò)針對(duì)樣本的應(yīng)用特征的提取以及分析,來(lái)判斷該應(yīng)用是否屬于惡意應(yīng)用。另外,針對(duì)數(shù)量巨大的各類應(yīng)用,可以引入機(jī)器算法對(duì)應(yīng)用進(jìn)行智能分析。通過(guò)智能分析,實(shí)現(xiàn)對(duì)權(quán)限檢查、軟件安裝和卸載、文件接收和發(fā)送、后臺(tái)撥打和接聽(tīng)電話、收發(fā)短信息、操作數(shù)據(jù)庫(kù)、聯(lián)網(wǎng)、攝像頭操作等行為的監(jiān)控。Burguera 等[6]提出 Crowdroid,在 Android終端用 strace 追蹤器去采集行為數(shù)據(jù),然后傳到分析服務(wù)端,再利用分類器去訓(xùn)練這些行為的樣本,使用 KNN 特定算法判斷應(yīng)用是否含有惡意行為。
Android應(yīng)用逆向工程的飛速發(fā)展,使得開(kāi)發(fā)者辛苦開(kāi)發(fā)出的應(yīng)用能夠被輕而易舉地破解,甚至被惡意篡改,植入病毒,頁(yè)面被劫持等。因此,對(duì)Android應(yīng)用進(jìn)行針對(duì)性的安全加固顯得尤為重要。
關(guān)于應(yīng)用加固,主要是基于核心的加密技術(shù),給Android應(yīng)用進(jìn)行深度加密,加殼保護(hù),使應(yīng)用遠(yuǎn)離惡意破解、反編譯、二次打包以及內(nèi)存抓取等威脅。對(duì)classes.dex文件采用高壓縮及加密變形處理,并對(duì)關(guān)鍵核心邏輯代碼進(jìn)行保護(hù),要防止破解者通過(guò)apktool、jeb、dex2jar等靜態(tài)分析工具逆向分析java層代碼;對(duì)so文件代碼進(jìn)行l(wèi)lvm混淆及加密保護(hù),使IDA等逆向工具無(wú)法分析邏輯,使得native層代碼安全性得到有效的保證;對(duì)應(yīng)用運(yùn)行時(shí)的進(jìn)程空間進(jìn)行防護(hù);阻止代碼注入,屏蔽各種調(diào)試器、游戲外掛、應(yīng)用輔助,防止程序被劫持、數(shù)據(jù)被修改。
Android 應(yīng)用程序的加固方式有很多,加密技術(shù)也是多種多樣,但是我們還是要不斷探索研發(fā)更安全的加密技術(shù),需要引起更多的專家和研發(fā)者的重視以及進(jìn)行更多的研發(fā)投入。
為了加強(qiáng)對(duì)Android應(yīng)用產(chǎn)品的安全監(jiān)測(cè),提高各大Android應(yīng)用市場(chǎng)對(duì)Android產(chǎn)品的安全準(zhǔn)入門檻,各大移動(dòng)應(yīng)用商店應(yīng)建立并不斷完善對(duì)Android應(yīng)用的檢測(cè)與審核機(jī)制。根據(jù)移動(dòng)應(yīng)用軟件的危害來(lái)源,移動(dòng)應(yīng)用存在的安全風(fēng)險(xiǎn)分為:監(jiān)聽(tīng)或遠(yuǎn)程控制等;系統(tǒng)接口側(cè)風(fēng)險(xiǎn),如收集用戶個(gè)人信息,捆綁惡意操作等。對(duì)于政府相關(guān)部門也應(yīng)該對(duì)Android應(yīng)用市場(chǎng)進(jìn)行規(guī)范化管理。根據(jù)應(yīng)用產(chǎn)生的威脅程度建立一個(gè)完善的評(píng)估體系和評(píng)估標(biāo)準(zhǔn),從多個(gè)角度進(jìn)行評(píng)價(jià),綜合得到一個(gè)結(jié)果,反映出應(yīng)用的脆弱性和風(fēng)險(xiǎn)。從而可以最大限度規(guī)避可能受到的惡意程序攻擊。
面對(duì)層出不窮的Android終端 APP,盡管在技術(shù)層面上越來(lái)越成熟,越來(lái)越智能化,但是在用戶使用應(yīng)用安全問(wèn)題上仍然存在著諸多漏洞,在各方設(shè)計(jì)開(kāi)發(fā)過(guò)程中,需要持續(xù)不斷創(chuàng)新,了解最新技術(shù),明確 Android 操作系統(tǒng)以及App開(kāi)發(fā)的深層原理與內(nèi)部構(gòu)造,在針對(duì)各種威脅方面,從應(yīng)用的特征提取、應(yīng)用簽名,再到隱私數(shù)據(jù)加密、應(yīng)用的安全加固、應(yīng)用的安全評(píng)估等各個(gè)方面提出防范措施,保證我們的應(yīng)用安全,讓惡意的破壞分子無(wú)處遁形。
[1]黃海峰. 2011年安卓手機(jī)木馬激增六大安全廠商共話移動(dòng)終端安全趨勢(shì)[J].通信世界,2012(9):32-33.
[2]丁麗萍. Android 操作系統(tǒng)的安全性分析[J]. 信息網(wǎng)絡(luò)安全,2012(3):28 -31.
[3]邵亞楠.移動(dòng)終端APP的交互動(dòng)畫設(shè)計(jì)與運(yùn)用[J].大眾文藝,2017,5(24):52-53
[4]魏秀卓,馬瑞,張晉等.APP 開(kāi)發(fā)中安卓操作系統(tǒng)的應(yīng)用及發(fā)展[J].現(xiàn)代職業(yè)教育,2017,12(22):150-151.
[5]馮登國(guó),孫悅,張陽(yáng).信息安全體系結(jié)構(gòu)[M].北京:清華大學(xué)出版社,2008.
[6]BURGUERA I,ZURATUZA U,etal. 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.