韓曙亮
【摘要】隨著互聯(lián)網(wǎng)的高速發(fā)展,促使智能手機等移動終端得到了較大的創(chuàng)新進(jìn)步。而對于多數(shù)采用Android系統(tǒng)的手機而言,其在對人們的生活提供便利性的同時,也存在著一定安全隱患。當(dāng)前人們對智能手機的安全防護(hù),基本依靠自我安全認(rèn)知,注重對個人信息的保護(hù),但對于未知信息交互、系統(tǒng)運行安全檢查等缺乏重視,從而導(dǎo)致安全防防護(hù)不足。鑒于此,本文主要分析Android系統(tǒng)存在的安全缺陷和安全威脅,并從開發(fā)、應(yīng)用、安裝、運行、更新等五個階段提出有效的防護(hù)技術(shù),旨在為Android防護(hù)技術(shù)的應(yīng)用提供借鑒和參考。
【關(guān)鍵詞】Android;安全問題;防護(hù)技術(shù)
中圖分類號:TN94? ? ? ? ? ? ? ? ? ? ? ? 文獻(xiàn)標(biāo)識碼:A? ? ? ? ? ? ? ? ? ? ? DOI:10.12246/j.issn.1673-0348.2021.011..019
1. Android設(shè)備系統(tǒng)構(gòu)成
當(dāng)前我國科學(xué)技術(shù)持續(xù)創(chuàng)新發(fā)展,智能手機更新?lián)Q代速度日益加快。Android手機系統(tǒng)的應(yīng)用也越來越廣泛,在實際生活和工作中發(fā)揮較為明顯的優(yōu)勢。但由于移動互聯(lián)網(wǎng)技術(shù)的不斷發(fā)展,手機系統(tǒng)的開發(fā)性逐漸加強,促使安全問題成為人們關(guān)注的重要內(nèi)容。尤其是在網(wǎng)絡(luò)攻擊形式趨向復(fù)雜的情況下,強化Android系統(tǒng)安全防護(hù)是至關(guān)重要的,必須通過停止信息交互和惡意進(jìn)程的運行,避免損失擴大。因此應(yīng)當(dāng)進(jìn)一步加強對Android防護(hù)技術(shù)的研究和應(yīng)用。
而Android手機系統(tǒng)是一種開源移動操作系統(tǒng),主要構(gòu)成部分包括以下幾個部分:
應(yīng)用系統(tǒng)。其具有實現(xiàn)軟件頁面交互的功能。通常情況下,人們在使用手機軟件的過程中,往往需要對不同軟件進(jìn)行切換。而每當(dāng)切換一個軟件應(yīng)用時,Android設(shè)備的應(yīng)用系統(tǒng)都會保障各個軟件運行的平穩(wěn)性。
框架系統(tǒng)。該構(gòu)成部分主要是負(fù)責(zé)為手機的運行提供良好環(huán)境。
系統(tǒng)運行庫。主要是為Android應(yīng)用提供所必需的系統(tǒng)庫和虛擬機。
內(nèi)核系統(tǒng)。其功能是保障手機操作系統(tǒng)具有一定的內(nèi)部存儲空間。
2. Android系統(tǒng)安全問題
2.1 安全缺陷
基于Android智能手機的廣泛普及,對其安全問題得到了較大的重視和關(guān)注,基于Android安全機制,可以總結(jié)其存在的安全缺陷,概括如下:
Android設(shè)備的固件、操作系統(tǒng)以及預(yù)裝應(yīng)用等,可能受到惡意網(wǎng)絡(luò)攻擊。這是由于當(dāng)前世界上存在多種不同的移動設(shè)備供應(yīng)商,其所使用的操作系統(tǒng)通常是經(jīng)過深度定制的,安全特性不同,存在的安全漏洞也有一定的差異性,一旦被不法分子所利用則會引發(fā)嚴(yán)重的安全問題。
應(yīng)用開發(fā)者的安全意識不足也會導(dǎo)致Android系統(tǒng)出現(xiàn)缺陷。比如對系統(tǒng)權(quán)限的認(rèn)知不足,不經(jīng)意聲明無關(guān)權(quán)限,致使某些應(yīng)用會暴露內(nèi)部接口,為惡意網(wǎng)絡(luò)攻擊提供入侵路徑。
應(yīng)用市場的安全審查機制不同,導(dǎo)致惡意應(yīng)用無法被識別和篩查。一旦Android手機用戶安裝惡意應(yīng)用,則會造成病毒傳播、手機及個人信息泄露、系統(tǒng)癱瘓等問題。同時也會引發(fā)軟件漏洞問題,其包括安全性邏輯缺陷,表現(xiàn)為黑客在軟件中植入惡意代碼,形成惡意軟件程序,自動讀取和傳送用戶信息,比如惡意扣費軟件、惡意捆綁廣告軟件等;功能性邏輯缺陷,其表現(xiàn)為軟件程序無法正常安裝、運行錯誤等。
應(yīng)用安裝驗證惡意行為缺陷。由于Android手機的智能性,為人們提供更多的使用便利性,所以其往往存在多樣化的應(yīng)用安裝途徑。其中作為直接的即是通過應(yīng)用市場直接下載安裝程序,此外,還有通過USB連接,將應(yīng)用傳輸?shù)紸ndroid設(shè)備中,再進(jìn)行安裝。而這一過程,主要是利用ADB的install命令,促使應(yīng)用程序有效安裝在Android設(shè)備中。但因為對應(yīng)用程序的惡意行為缺乏驗證手段,導(dǎo)致安裝安全缺陷較為明顯。
Android權(quán)限模型粒度相對較粗。當(dāng)Android設(shè)備用戶在安裝應(yīng)用程序時,往往需要對應(yīng)用權(quán)限進(jìn)行授權(quán)。但用戶并不能準(zhǔn)確的了解授權(quán)領(lǐng)域,從而就會導(dǎo)致安全風(fēng)險增大。雖然當(dāng)前Android設(shè)備權(quán)限管理相對嚴(yán)格,不過對于未更新的Android系統(tǒng)而言,仍然存在較大的風(fēng)險。
Android的可執(zhí)行文件容易反編譯。而且反編譯后的代碼較為脆弱,當(dāng)對其添加新代碼并重新打包后,可形成新應(yīng)用,為惡意軟件的形成提供了便利性,具有很大的安全風(fēng)險性。
Android設(shè)備應(yīng)用間的通信方式存在安全隱患,很容易出現(xiàn)多個應(yīng)用合謀的情況。同時應(yīng)用合謀通道具有多樣性和隱蔽性的特點?,F(xiàn)階段Android系統(tǒng)對隱蔽合謀通道的監(jiān)控和防范不完善,導(dǎo)致通信安全存在嚴(yán)重缺陷。
2.2 安全威脅
除了Android設(shè)備系統(tǒng)自身存在安全缺陷以外,其還面臨著多種惡意攻擊威脅。攻擊者能夠通過挖掘平臺的漏洞,對用戶的敏感信息進(jìn)行竊取,并利用電話、短信服務(wù)等獲取不法利益。甚至攻擊者可創(chuàng)造僵尸網(wǎng)絡(luò)控制Android智能設(shè)備,基于動態(tài)執(zhí)行、代碼混淆以及重新打包等技術(shù),威脅個人信息及財產(chǎn)賬戶的安全。結(jié)合Android各個層次的安全缺陷,其面臨的威脅包括以下幾個方面:
重新打包攻擊。攻擊者通過網(wǎng)絡(luò)技術(shù)對Android設(shè)備的原始應(yīng)用進(jìn)行反編譯,并添加惡意代碼,生成可以偽裝原應(yīng)用的新惡意程序,在為用戶提供基礎(chǔ)功能時,可執(zhí)行惡意攻擊行為。
越權(quán)攻擊。其是指對于沒有權(quán)限的應(yīng)用,可通過其他具有權(quán)限的應(yīng)用或者設(shè)置功能等方式,獲取相應(yīng)的運行權(quán)限,以此對資源進(jìn)行訪問和執(zhí)行越權(quán)操作。這一越權(quán)行為一般發(fā)生在應(yīng)用內(nèi)部,獲取root權(quán)限,在外部執(zhí)行越權(quán)和非法控制行為。同時越權(quán)攻擊也可能會發(fā)生在不同操作系統(tǒng)版本的升級過程中,對用戶信息安全產(chǎn)生較大的威脅。
泄露用戶隱私及個人信息。由于移動智能終端的應(yīng)用普及,人們在日常使用中會產(chǎn)生大量的隱私數(shù)據(jù)。比如電話號碼、聯(lián)系人信息、地理位置、銀行賬戶等。攻擊者可利用Android系統(tǒng)的漏洞缺陷,在用戶設(shè)備中植入惡意應(yīng)用程序或偽裝原應(yīng)用,通過短信、互聯(lián)網(wǎng)等通信方式,將個人敏感信息傳遞出去,導(dǎo)致用戶隱私和個人信息泄露。
合謀攻擊。其是指在同一臺Android設(shè)備中,多個擁有證書簽名的應(yīng)用集合,能夠?qū)崿F(xiàn)相互合作,比如其擁有相同的UID,應(yīng)用集合之間可互相共享權(quán)限。在單個應(yīng)用運行時,表現(xiàn)較為正常。而一旦多個應(yīng)用同時運行時,則會通過合作完成攻擊行為,對Android設(shè)備以及用戶隱私造成較大的威脅。
拒絕服務(wù)攻擊。當(dāng)Android設(shè)備的CPU計算資源、電池資源、內(nèi)部資源以及寬帶資源將要耗盡時,則面臨拒絕服務(wù)攻擊,當(dāng)資源完全耗盡,就會導(dǎo)致移動設(shè)備無法正常提供服務(wù)。
遠(yuǎn)程控制攻擊。這一類威脅主要是用戶下載安裝惡意應(yīng)用,攻擊者可通過遠(yuǎn)程命令對用戶設(shè)備進(jìn)行操控,執(zhí)行某些惡意操作,并監(jiān)控用戶的電話、短信、音視頻等,極大的損害了用戶權(quán)益。
3. 現(xiàn)有Android安全防護(hù)技術(shù)類型
3.1 身份認(rèn)證技術(shù)
其中身份認(rèn)證技術(shù)則是在訪問計算機或者網(wǎng)絡(luò)資源的情況下,用于鑒別和認(rèn)證操作者身份的技術(shù),其有利于保障資源訪問策略有效執(zhí)行,避免出現(xiàn)非法用戶通過不良手段獲取資源訪問權(quán)限,進(jìn)而保障Android系統(tǒng)的安全性。當(dāng)前對Android安全采用身份認(rèn)證技術(shù)防護(hù),一般是采取密碼短語、動態(tài)口令等信息秘密的身份認(rèn)證、ID卡、安全令牌等信任物體的身份認(rèn)證以及指紋、面容等生物特征的認(rèn)證方式。比如在當(dāng)前的Android智能終端中,最為常見的身份認(rèn)證方式,則是靜態(tài)密碼和動態(tài)口令,其具有操作方便、簡單的優(yōu)勢,適應(yīng)一定設(shè)備的特點。
3.2 數(shù)字加密技術(shù)
數(shù)字加密技術(shù)則是按照某一種特定算法,并通過密鑰的參與,對普通信息進(jìn)行處理,從而實現(xiàn)加密。當(dāng)輸入對應(yīng)的密鑰后才可顯示原本數(shù)據(jù)內(nèi)容。有利于防治公共讀取或者第三方竊取、篡改等,實現(xiàn)對Android終端的安全保護(hù)。通常其分為對稱加密和非對稱加密,前者常用的算法有DES、3DES等,通過相同的加密密鑰與解密密鑰用于維護(hù)私人信息的多方共享。后者主要采用RSA、ECC算法,其加密和解密密鑰不同,可在不影響安全的情況下進(jìn)行公開分發(fā)。
3.3 混沌理論
對Android安全防護(hù)采用混沌理論,主要是利用圖像加密算法、散列函數(shù)、流密碼以及水印等,在單峰混沌映射、使用控制參數(shù)以及混沌映射等作為密鑰初始條件,通過修改初始狀態(tài),即可滿足混沌密碼序列,對數(shù)據(jù)保密具有良好的安全性,可通過自然的偽隨機性,實現(xiàn)保密性能。
4. Android防護(hù)技術(shù)應(yīng)用
4.1 開發(fā)防護(hù)技術(shù)
為保障Android應(yīng)用的安全性,應(yīng)當(dāng)在開發(fā)階段注重采取防護(hù)技術(shù)。比如根據(jù)其應(yīng)用很容易被反編譯、加入惡意代碼的安全問題,開發(fā)者應(yīng)當(dāng)注重防止重新打包。目前可采用的防護(hù)技術(shù)即是一種基于路徑的水印模式。通過輸入應(yīng)用程序代碼、一組隨機字符串或者數(shù)字等,以生成新的內(nèi)嵌水印應(yīng)用,在運行時能夠?qū)崿F(xiàn)對掛鉤代碼進(jìn)行驗證,充分防護(hù)惡意代碼的隨意添加。另外,也可采用安全漏洞補丁的方式,比如當(dāng)組件劫持漏洞,導(dǎo)致公開接口暴露和惡意程序調(diào)用。對其的防護(hù)主要是先對應(yīng)用進(jìn)行全面分析,對其沉淀點適當(dāng)添加防護(hù)策略,提供以數(shù)據(jù)為中心的系統(tǒng)級防護(hù),如基于時間序列在應(yīng)用運行中實現(xiàn)動態(tài)更新,可保障安全防護(hù)的精細(xì)化。
4.2 應(yīng)用市場防護(hù)技術(shù)
根據(jù)Android設(shè)備的安全缺陷和威脅分析可知,其應(yīng)用程序是導(dǎo)致安全風(fēng)險的主要因素。因此需要針對應(yīng)用市場采取有效的防護(hù)技術(shù),這是因為應(yīng)用市場是連接Android設(shè)備與應(yīng)用的重要平臺,當(dāng)Android市場上存在惡意應(yīng)用,將會導(dǎo)致手機設(shè)備被感染。在此基礎(chǔ)上,為防止惡意軟件的大范圍傳播,應(yīng)當(dāng)設(shè)置先進(jìn)的審查工具,在安裝之前對應(yīng)用進(jìn)行分析,并將其安裝到模擬環(huán)境中進(jìn)行動態(tài)運行,及時發(fā)現(xiàn)可能存在的安全問題。不過仍有部分惡意應(yīng)用能夠利用系統(tǒng)漏洞以及信息技術(shù)等,成功繞過審查工具,所以為保障安全風(fēng)險得到有效降低,還需進(jìn)一步完善安全防護(hù)機制,可利用相似度計算對重新打包應(yīng)用進(jìn)行檢測,按照定義的不同特征匹配其相似度。比如利用應(yīng)用程序的操作碼生成指紋,比對兩個應(yīng)用的指紋距離,判斷是否存在重新打包的情況,并定位應(yīng)用程序;利用權(quán)限映射計算對訪問和操作敏感資源的應(yīng)用進(jìn)行限制,因為Android應(yīng)用權(quán)限與API調(diào)用之間具有映射關(guān)系,通過研究一個應(yīng)用對所聲明的最小使用權(quán)限,確定一個程序所使用的權(quán)限?;趯ndroid各個版本的源代碼進(jìn)行分析,能夠獲得更為全面的權(quán)限映射關(guān)系;對Android應(yīng)用程序采用數(shù)據(jù)流分析防護(hù)技術(shù),即是能夠掌握敏感數(shù)據(jù)的流向,針對性防范可能出現(xiàn)信息安全問題。比如對組件劫持漏洞進(jìn)行防護(hù),可采用數(shù)據(jù)依賴圖分析應(yīng)用程序的可達(dá)性,有利于準(zhǔn)確識別未授權(quán)應(yīng)用對其他程序的惡意操作或攻擊。
4.3 安裝防護(hù)技術(shù)
當(dāng)前對Android設(shè)備安裝應(yīng)用程序的方式多樣,應(yīng)當(dāng)針對不同的安裝方式采取想用的防護(hù)技術(shù)。比如用戶直接從應(yīng)用市場下載安裝,應(yīng)當(dāng)注重檢查其是否滿足Android設(shè)備的安全策略,即是通過特定的權(quán)限組合對應(yīng)用安全規(guī)則進(jìn)行定義,如出現(xiàn)不符和安全規(guī)則,系統(tǒng)將會提示用戶是否拒絕安裝。再比如用戶通過USB連接安裝應(yīng)用程序時,可采用ADB驗證功能,對無法通過RSA密鑰驗證的程序拒絕安裝。另外一方面,對于Android設(shè)備安裝應(yīng)用程序時,一般會提供權(quán)限信息和文字信息兩種。為保證用戶能夠及時有效的意識到安全威脅和風(fēng)險,可對其描述進(jìn)行改進(jìn),則是利用自然語言處理技術(shù),對應(yīng)用描述進(jìn)行重新生成,基于用戶角度判斷該應(yīng)用是否為惡意程序。其主要原理是將應(yīng)用的所有行為圖進(jìn)行提取,并對子圖進(jìn)行挖掘和壓縮,以此生成容易理解的安全描述,保障應(yīng)用程序安裝的安全性。
4.4 運行防護(hù)技術(shù)
Android系統(tǒng)和程序在運行過程中,也會產(chǎn)生一定的安全威脅,而且存在部分應(yīng)用只有在運行時才會出現(xiàn)惡意行為。因此在前幾個防護(hù)技術(shù)基礎(chǔ)上,應(yīng)當(dāng)加強對應(yīng)用運行時的狀態(tài)監(jiān)控。對其采用的技術(shù)一般包括有以下幾種:
訪問控制。在Android應(yīng)用時可基于MAC機制,構(gòu)建SEAAndroid對系統(tǒng)核心層和用戶空間層進(jìn)行支持,并實現(xiàn)策略配置。另外,也可借助機器學(xué)習(xí)的方法,對審查日志開展分析,從而及時發(fā)現(xiàn)日志中的惡性接口,以此提供有效的SELinux防護(hù)策略。
安全策略。其可用兩種防護(hù)技術(shù)進(jìn)行安全保障。一是對Android的監(jiān)控機制進(jìn)行擴展,采用以系統(tǒng)為中心策略。即是在運行是對程序?qū)哟蔚臋?quán)限進(jìn)行檢查和阻止,避免受到惡意攻擊。同時也可通過添加組件間通信機制,防范勾結(jié)攻擊;二是采用分級策略,將應(yīng)用程序分為系統(tǒng)、可信、不可信三個等級,在該框架之下,阻隔可信與不可信程序之間的相互通信,從而營造安全的Android運行環(huán)境。
污點跟蹤。針對Android建立高效的污點動態(tài)跟蹤和分析系統(tǒng),以便于對用戶的敏感數(shù)據(jù)進(jìn)行監(jiān)控,為識別隱私數(shù)據(jù)提供有效方式。并將污點傳播設(shè)置為變量、消息、方法和文件四個級別,幫助用戶全面、準(zhǔn)確的了解應(yīng)用程序?qū)﹄[私數(shù)據(jù)的使用情況。
權(quán)限監(jiān)控。針對Android應(yīng)用存在的越權(quán)攻擊威脅,應(yīng)當(dāng)注重對困惑代理攻擊的防護(hù),其是當(dāng)前Android各個版本中比較常見的攻擊方式。因此技術(shù)人員可在中間層采用權(quán)限裁剪的思路。在應(yīng)用程序被調(diào)用時,可將運行程序的權(quán)限進(jìn)行裁剪,促使其與調(diào)用者權(quán)限相互交集,有效避免越權(quán)攻擊。此外,技術(shù)人員也可對Android設(shè)備的進(jìn)程間通信進(jìn)行跟蹤,并利用輕量級簽名機制,保證同一臺Android設(shè)備上的各個應(yīng)用在允許運行時得到驗證審查,對防范困惑代理攻擊具有良好效果。
4.5 更新防護(hù)技術(shù)
在Android系統(tǒng)更新時,其存在多種漏洞,會產(chǎn)生相對較大的安全威脅。因此應(yīng)當(dāng)注重更新時的防護(hù)。而通常情況下,Android更新分為應(yīng)用更新、操作系統(tǒng)更新兩種。其中應(yīng)用更新的安全防護(hù)主要是依靠應(yīng)用市場的甄別和篩選功能。操作系統(tǒng)更新則是對所有的應(yīng)用程序進(jìn)行校驗,準(zhǔn)確判斷各個應(yīng)用程序是否適應(yīng)更新后的操作系統(tǒng)。因此在更新階段采用安全防護(hù)技術(shù)的要點,則是判斷應(yīng)用是否對安全策略進(jìn)行修改。為有效避免操作系統(tǒng)更新出現(xiàn)越權(quán)攻擊的行為,應(yīng)當(dāng)注重高版本系統(tǒng)新增的權(quán)限修改,及時完善權(quán)限機制,保障安全策略隨版本更新而不斷健全,提高防護(hù)能力。
5. 結(jié)束語
綜上所述,在互聯(lián)網(wǎng)及信息技術(shù)高速發(fā)展的背景下,針對Android移動應(yīng)用存在的安全缺陷和安全威脅,要求技術(shù)人員應(yīng)當(dāng)充分利用防護(hù)技術(shù)保障Android系統(tǒng)及應(yīng)用的安全性。因此可從開發(fā)階段、應(yīng)用市場、程序安裝、應(yīng)用運行以及系統(tǒng)更新等角度出發(fā),積極采用先進(jìn)的安全防護(hù)技術(shù)及手段,加強防范惡意攻擊,保障用戶隱私數(shù)據(jù)及個人信息的安全性,以此推動Android防護(hù)技術(shù)的創(chuàng)新發(fā)展,促使移動智能終端市場的進(jìn)一步擴展,為人們生活和工作提供便利。
參考文獻(xiàn):
[1]胡建偉,張玉,崔艷鵬.Android勒索軟件防護(hù)技術(shù)研究[J].計算機工程與科學(xué),2020,42(04):610-619.
[2]王亞鵬,楊云,周友武,劉明軍.基于Android的電力智能安全帽視頻采集系統(tǒng)[J].內(nèi)蒙古農(nóng)業(yè)大學(xué)學(xué)報(自然科學(xué)版),2019,40(02):84-88.
[3]葉子,李若凡.基于Android的手機惡意代碼檢測與防護(hù)技術(shù)[J].電子科技,2019,32(06):54-57.
[4]麥松濤,賈世準(zhǔn),馮曉榮.基于應(yīng)用層漏洞的安卓應(yīng)用防護(hù)技術(shù)研究[J].電子產(chǎn)品可靠性與環(huán)境試驗,2018,36(S1):70-74.
[5]謝佳筠,伏曉,駱斌.Android防護(hù)技術(shù)研究進(jìn)展[J].計算機工程,2018,44(02):163-170+176.