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

基于Android源碼的應(yīng)用安全提升研究與實踐

2020-07-24 02:11:37吳一鳴
軟件導(dǎo)刊 2020年6期

吳一鳴

摘要:Android生態(tài)系統(tǒng)未加限制地應(yīng)用安裝權(quán)限存在巨大安全隱患問題.對此提出修改Android系統(tǒng)源代碼,實現(xiàn)比對apk格式文件包含的公鑰信息、確認文件來源安裝權(quán)限的安全提升方案。該方案充分滿足Android生態(tài)系統(tǒng)對惡意代碼防范的信息安全要求。操作系統(tǒng)定制功能更符合業(yè)務(wù)需求,可作為深度定制版本的移動智能操作系統(tǒng)。實踐結(jié)果達到預(yù)期,未經(jīng)認證的應(yīng)用無法安裝,提升了Android源碼的安全性。

關(guān)鍵詞Android系統(tǒng);惡意代碼;源碼安全

DOI:10.11907/rjdk.201018 開放科學(資源服務(wù))標識碼(OSID):

中圖分類號:TP309文獻標識碼:A 文章編號:1672-7800(2020)006-0253-04

0引言

Android生態(tài)系統(tǒng)應(yīng)用安全隱患主要是惡意代碼,根據(jù)《2019年上半年中國手機安全狀況報告》,360互聯(lián)網(wǎng)安全中心共截獲Android平臺新增惡意程序樣本約92.0萬個,平均每天截獲新增手機惡意程序樣本約0.5萬個,平均每天攔截手機惡意程序攻擊約107.5萬次。雖然危害方式及特點各異,但惡意代碼均需以應(yīng)用作為媒介在目標終端上運行,由此導(dǎo)致各種形式的網(wǎng)絡(luò)安全破壞及非法操作。當前Android生態(tài)系統(tǒng)應(yīng)用的安全性提升主要是通過權(quán)限機制及惡意代碼檢測實現(xiàn)。文獻[2]分析了基于權(quán)限的Android應(yīng)用程序安全性提升;文獻[3]提出一個通用的惡意軟件檢測框架,該框架通過逆向工程從Android應(yīng)用中提取(安全應(yīng)用、受感染應(yīng)用)特征信息并建立關(guān)鍵信息特征庫。這兩種方法較適合已知存在安全缺陷的應(yīng)用,一旦未在應(yīng)用安裝階段加以限制,則安全隱患會帶人Android終端。

因此,未加限制的應(yīng)用安裝權(quán)限存在巨大安全隱患,通過源碼優(yōu)化的Android系統(tǒng)可有效提升Android終端的網(wǎng)絡(luò)安全性,禁止安裝未經(jīng)認證的應(yīng)用。本文通過研究Android源碼,修改、優(yōu)化相應(yīng)功能模塊,實現(xiàn)比對apk格式文件包含的公鑰信息,確認文件來源安裝權(quán)限,提升Android源碼的安全性。

1 需求分析

Android生態(tài)系統(tǒng)應(yīng)用惡意代碼的安裝分為兩種方式:①直接方式。因終端安裝權(quán)限未受限制,各類非法應(yīng)用可以隨意安裝;②間接方式。終端被動捆綁靜默安裝惡意代碼應(yīng)用,比如采用與其它應(yīng)用打包安裝的方式植入終端。

當用戶下載、安裝并運行包含惡意代碼的應(yīng)用時,終端便會遭到攻擊。針對上述問題,本文提出一個技術(shù)方案,在Android終端禁止未經(jīng)認證的應(yīng)用安裝,只有通過安全模式認證的應(yīng)用方能安裝到終端上。該方案杜絕了終端使用者因有意或無意安裝含有惡意代碼的應(yīng)用,有效提升了Android終端的安全性。

2 技術(shù)原理

Android生態(tài)系統(tǒng)應(yīng)用認證模式采取簽名機制,該機制確保應(yīng)用apk格式安裝文件的完整性。為實現(xiàn)完整性確認,對apk格式安裝文件要作一個摘要處理,然后采用密碼學理論的非對稱加密,即用私鑰對摘要內(nèi)容進行加密,用公鑰解密。摘要信息經(jīng)此加解密過程如能對應(yīng)一致,則表明apk格式安裝文件完整無篡改。文件簽字機制可保證apk格式文件在公開發(fā)布之時摘要信息覆蓋的apk格式文件均無法被篡改。

Android生態(tài)系統(tǒng)應(yīng)用簽名機制如圖1所示。

簽名機制另一個技術(shù)優(yōu)勢是可利用公鑰具備的驗證屬性作為確認安裝文件來源的依據(jù)。本文方案技術(shù)原理:通過簽名機制認證是否為指定的安裝文件,同時確保文件完整性,決定該apk格式文件是否具有安裝權(quán)限。

apk格式安裝文件經(jīng)解壓后,可看到一個META-INFO文件夾。該文件夾實現(xiàn)簽名機制,包含MANIFEST.MF、CERT.RSA和CERT.SF文件,這3個文件定義及功能如下:

(1)MANIFEST.MF:apk格式安裝文件摘要信息。假設(shè)apk格式安裝文件中某個文件被篡改,當應(yīng)用安裝驗證時,篡改后的文件摘要信息與MANIFEST.MF的檢驗信息不同,則無安裝權(quán)限。MANIFEST.MF文件的生成方式為遍歷apk格式安裝文件壓縮包含的所有文件,對非文件夾以及非簽名文件逐個采用SHA-1算法和BASE64編碼生成摘要信息,這是Android應(yīng)用安裝文件簽名驗證過程的第一步。安裝文件壓縮包含的每個文件與MANIFEST.MF摘要文件信息要對應(yīng),修改某個壓縮包文件內(nèi)容,必須修改MANFEST.MF文件中對應(yīng)的摘要值。

(2)CERT.SF:MANIFEST.MF摘要信息的簽名文件。這是應(yīng)用安裝文件認證過程的第二步,是對第一步得到摘要文件的簽名。對MANIFEST.MF文件本身及文件中的每一條內(nèi)容再次采用SHA-1算法及BASE64編碼后,轉(zhuǎn)換內(nèi)容寫入CERT.SF文件中。CERT.SF文件記錄的簽名信息保證apk格式安裝文件和MANIFEST.MF摘要文件同時符合完整性要求。

(3)CERT.RSA:保存公鑰、加密算法以及CERT.SF非對稱密文等信息。Android終端在進行驗證時,使用公鑰對不正確的簽名密文進行解密,與CERT.SF文件不一致則不能通過檢驗。假設(shè)apk格式安裝文件修改了程序內(nèi)容,新生成的摘要信息能與內(nèi)容對應(yīng)起來,簽名文件CERT.SF也能與摘要信息文件對應(yīng),但是由于篡改者沒有私鑰,因而也不能生成正確的CERT.RSA文件。

META-INFO文件夾各文件關(guān)系如圖2所示。

3 功能實現(xiàn)

通過apk格式文件簽名認證提升應(yīng)用安全性,主要應(yīng)用于以下3種場景:

(1)第三方認證。這種場景適用于殺毒安全軟件或APP Market之類的軟件下載市場,由可信賴的第三方應(yīng)用負責指定應(yīng)用安全問題。第三方收集樣本并置于云端,對比應(yīng)用安全樣本,聯(lián)網(wǎng)檢查特定應(yīng)用的安全認證結(jié)果。該場景缺點是無法將大量的應(yīng)用簽名數(shù)據(jù)放在移動設(shè)備本地,在無網(wǎng)絡(luò)情況下無法實現(xiàn)功能,需要聯(lián)網(wǎng)檢測。

(2)應(yīng)用自檢測認證。在應(yīng)用運行時,自身完成簽名認證。授權(quán)的簽名信息可以存放在apk格式文件內(nèi),也可存放于云端。該場景缺點是應(yīng)用一旦被破解自檢測功能便會失效。

(3)Android系統(tǒng)對安裝應(yīng)用進行簽名機制認證,指定應(yīng)用安裝權(quán)限,該場景涉及Android系統(tǒng)源碼修改。

綜合比較上述3種場景可知場景(3)最優(yōu),因此本文方案的實現(xiàn)技術(shù)為修改Android源代碼,通過比對apk格式文件包含的公鑰,確認文件的安裝權(quán)限。如果來源在允許安裝權(quán)限范圍內(nèi)就進行安裝,反之不予安裝;再由簽名機制確認apk格式安裝文件完整無篡改,并觸發(fā)之后的安裝流程。本文技術(shù)方案流程如圖3所示。

功能實現(xiàn)關(guān)鍵代碼如下:

(1)在Android源碼中,新增提取第三方應(yīng)用簽名信息的函數(shù)。

代碼說明:通過傳參"apk安裝文件路徑”至PackageParser類,實例化pp對象;pp對象調(diào)用collectCertificates方法后返回應(yīng)用簽名信息。

代碼說明:以“X.509”靜態(tài)模式將CertificateFactory類實例化為certFactory對象;通過傳送簽名信息至certFactory對象,實例化cert對象;cert對象調(diào)用getPublicKey方法后返回應(yīng)用公鑰信息。這兩個函數(shù)可以提取第三方應(yīng)用的公鑰。

(2)驗證應(yīng)用簽名信息公鑰的安裝權(quán)限。安裝apk格式文件時調(diào)用自定義函數(shù)showUninstallAPKSignatures()和parseSignature(),驗證應(yīng)用簽名信息公鑰的安裝權(quán)限。其中字符串“R.string.install_failed_invalid_signature”是新增的自定義字符串,例如“禁止安裝,簽名不符”。

代碼說明:調(diào)用showUninstallAPKSignatures函數(shù)獲取應(yīng)用簽名信息;調(diào)用parseSignature函數(shù)獲取公鑰信息;比對公鑰,確認應(yīng)用的安裝權(quán)限。

4 開發(fā)驗證

開發(fā)驗證環(huán)境如表1所示。

對修改后的Android系統(tǒng)源碼進行編譯,在編譯好的Android系統(tǒng)源碼文件夾下命令行輸入“emulator”,運行Android模擬器,模擬器啟動,系統(tǒng)正常,如圖4所示。

通過命令行adb指令"adb install weixin.apk”,將路徑“~/android-2.3.7r1/out/host/linux-x86/bin/”下“weixin”(微信)應(yīng)用的安裝文件“weixin.apk”安裝至模擬器。

返回安裝狀態(tài)信息“failed install‘weixin.apk:INSTALL_FAILED_INVALID_SIGNATURES',其中返回信息包含在PackageManager類中定義"INSTALL_FAILED_INVALID_SIGNATURES”的字段,模擬器Android終端禁止未經(jīng)認證的應(yīng)用app安裝,驗證成功,如圖5所示。

5 結(jié)語

本文基于Android系統(tǒng)修改相應(yīng)源代碼,比對apk格式安裝文件包含的公鑰,確認應(yīng)用安裝權(quán)限,對應(yīng)用層產(chǎn)生規(guī)則性的根本影響。研究成果充分滿足Android生態(tài)系統(tǒng)對應(yīng)用惡意代碼防范的信息安全要求。后續(xù)與研究Android系統(tǒng)中安全認證應(yīng)用的同步機制,確保安全認證應(yīng)用列表及時更新,有效提升安全防護的實時性。

主站蜘蛛池模板: 亚洲第七页| 一级毛片在线播放| 久久香蕉国产线| 亚洲一区二区三区在线视频| 国产原创自拍不卡第一页| 日韩天堂视频| 中文字幕欧美成人免费| 亚洲欧美成人在线视频| 亚洲欧洲日产国产无码AV| 亚洲欧洲自拍拍偷午夜色| 四虎永久在线| 欧美视频在线第一页| 97国产精品视频人人做人人爱| 亚洲天堂首页| A级毛片无码久久精品免费| 国产第一页亚洲| 日本福利视频网站| 9丨情侣偷在线精品国产| 91蝌蚪视频在线观看| 亚洲日韩在线满18点击进入| 四虎影视8848永久精品| 久久久久人妻一区精品色奶水 | 国产人妖视频一区在线观看| 国产女人在线观看| 国产福利影院在线观看| 国产精品亚洲精品爽爽| 久久久久夜色精品波多野结衣| 国产农村妇女精品一二区| 欧美在线一级片| 日本在线视频免费| 99一级毛片| 亚洲AⅤ波多系列中文字幕 | 久久久久久久蜜桃| 久久久亚洲国产美女国产盗摄| 亚洲伦理一区二区| 国产第三区| 福利片91| 国产欧美日韩免费| 色噜噜综合网| 伊人久久婷婷五月综合97色| 国产伦片中文免费观看| 午夜视频免费一区二区在线看| 国产成人福利在线| 激情六月丁香婷婷| 国产精品成人一区二区| 国产精品久久久久久搜索 | 免费av一区二区三区在线| 国产精品成人啪精品视频| 亚洲AV无码精品无码久久蜜桃| 亚洲福利视频网址| 成人免费视频一区| 欧美亚洲激情| 国产精品区网红主播在线观看| 精久久久久无码区中文字幕| 丁香婷婷久久| 青青久视频| 国产福利大秀91| 色悠久久久久久久综合网伊人| 国产视频一区二区在线观看| 美女毛片在线| 欧美激情第一欧美在线| 欧美日韩一区二区在线免费观看| 久久中文无码精品| 亚洲香蕉在线| 国产亚洲精品91| 美女视频黄频a免费高清不卡| 日本欧美午夜| 亚洲国模精品一区| 久久久国产精品免费视频| 国产成人凹凸视频在线| 国产91九色在线播放| 在线国产毛片| 欧洲av毛片| 国产一区亚洲一区| 成人福利免费在线观看| 欧美日韩免费| 国产精品网拍在线| 爆操波多野结衣| 欧美中文字幕在线视频| 欧美三级自拍| a毛片在线| 国产欧美视频综合二区|