趙一凡 曹晨業(yè) 劉斌 黃力冶
針對移動應(yīng)用出現(xiàn)的個人信息非法泄露和使用等問題,提出一種結(jié)合人工滲透測試和漏洞分析的檢測方法,通過靜態(tài)和動態(tài)檢測相結(jié)合,針對移動應(yīng)用App進(jìn)行多維度安全檢測。
隨著信息基礎(chǔ)建設(shè)的發(fā)展和移動應(yīng)用的普及,用戶個人信息在使用過程中被應(yīng)用開發(fā)者大量收集,出現(xiàn)了對個人信息的非法泄露和使用問題,嚴(yán)重威脅到了個人信息安全。據(jù)東部某省2020年App個人信息違法違規(guī)收集專項(xiàng)行動的數(shù)據(jù)顯示,85%的App未明示收集使用個人信息的目的、方式和范圍,56%的App未經(jīng)用戶同意收集使用個人信息,37%的App未按法律規(guī)定提供刪除或更正個人信息功能或未公布投訴、舉報方式等信息。
為此,筆者針對移動應(yīng)用出現(xiàn)的個人信息非法泄露和使用等問題,提出一種結(jié)合人工滲透測試和漏洞分析的檢測方法。通過靜態(tài)和動態(tài)檢測相結(jié)合,針對移動應(yīng)用App進(jìn)行列的分析,包含基本信息、漏洞信息、收集和使用個人信息行為、通訊傳輸行為、軟件和技術(shù)供應(yīng)鏈情況、技術(shù)脆弱性、隱私政策規(guī)范性以及App中第三方插件或SDK等進(jìn)行多維度安全檢測。
靜態(tài)檢測
靜態(tài)檢測由信息獲取、重打包檢測、權(quán)限檢測和特征檢測4個模塊組成,對應(yīng)用程序的源代碼和文件信息進(jìn)行掃描分析,解讀應(yīng)用程序的行為,具體流程如圖1所示:
信息獲取功能。該功能可獲取應(yīng)用程序的文件信息、權(quán)限的信息和組件信息。APK格式文件也可看作一個ZIP壓縮文件,通過查看ZIP文件信息就可以獲取文件相關(guān)信息;使用開源工具將Android應(yīng)用程序中Android Manifest.xml文件轉(zhuǎn)換成XML文件,然后使用Python中的XML文件處理功能,來讀取該XML文件中的uses-permission權(quán)限屬性;Activity列表可獲得應(yīng)用的界面的類,服務(wù)是指后的運(yùn)算類,可以通過service列表得到應(yīng)用程序的后臺運(yùn)算類。
權(quán)限檢測。權(quán)限檢測技術(shù)可以提取到申請權(quán)限的Permission信息,根據(jù)Permission信息列表即可得出其敏感權(quán)限。應(yīng)用程序的權(quán)限是安裝時由用戶確定的,如果一個應(yīng)用程序在安裝時未獲得相應(yīng)的權(quán)限,就無法正常運(yùn)行。敏感權(quán)限是指App獲取個人信息和個人敏感信息所需要的手機(jī)系統(tǒng)權(quán)限。如果安裝時應(yīng)用向系統(tǒng)申請了敏感權(quán)限,則應(yīng)該做進(jìn)一步檢測。
特征檢測功能。特征檢測能識別出應(yīng)用中的惡意代碼,但因?yàn)樘卣鲙斓母虏患皶r,這種檢測方法有一定的滯后性。由于惡意行為必須通過系統(tǒng)API序列調(diào)用才能完成,在檢測時舍棄二進(jìn)制特征而采用API特征,對API序列進(jìn)行分析,可以降低傳統(tǒng)特征檢測技術(shù)的滯后性。APK的特征參數(shù)包括被檢測APK包含的所有的類以及函數(shù)名、參數(shù)簽名和包名,以此來提高檢測的全面性和準(zhǔn)確性。
重打包檢測功能。將APK文件進(jìn)行反編譯,嵌入惡意代碼,再重新打包放在網(wǎng)絡(luò)上供用戶下載,是目前惡意代碼傳播的一種途徑。公鑰信息是由簽名文件生成的,兩個簽名文件一定會生成不一致的公鑰信息。重打包檢測的原理是對比APK文件中和數(shù)據(jù)庫中的Package Name和公鑰信息,若兩者一致,就判定為安全,如果不一致,則說明APK文件存在被重打包的風(fēng)險。
動態(tài)檢測
動態(tài)檢測技術(shù)的核心是通過沙箱監(jiān)測App動態(tài)運(yùn)行行為,獲取App代碼中申請和使用的權(quán)限集合。采用的沙箱系統(tǒng),如沙箱手機(jī)和云手機(jī),可監(jiān)測App在運(yùn)行過程中的高達(dá)100+種行為,包括讀取文件、寫入文件、獲取應(yīng)用進(jìn)程、讀取系統(tǒng)配置等行為。同時行為函數(shù)調(diào)用棧對行為主體進(jìn)行分析,過濾App或SDK行為,針對性排查違規(guī)行為主體,定位行為觸發(fā)的代碼位置。
沙箱系統(tǒng)結(jié)合DPI技術(shù),對應(yīng)用通訊傳輸數(shù)據(jù)進(jìn)行抓取,分析傳輸數(shù)據(jù)內(nèi)容,訪問服務(wù)器地址、地理位置、網(wǎng)絡(luò)傳輸類型等信息。定位信息接收對象,分析數(shù)據(jù)內(nèi)容是否包含個人信息。建立本地websocket服務(wù),瀏覽器連接上后,啟動動態(tài)/法規(guī)檢測,會給IDB發(fā)啟動命令,IDB啟動手機(jī)websocket服務(wù),通過ssh通知手機(jī)連接IDB手機(jī)websocket服務(wù),IDB下載ipa之后,將ipa移動到手機(jī)指定路徑,調(diào)用命令安裝,然后啟動。手機(jī)檢測過程中產(chǎn)生行為數(shù)據(jù),經(jīng)由IDB轉(zhuǎn)發(fā)到瀏覽器端。
漏洞分析
通過靜態(tài)和動態(tài)的檢測方式對上述軟件系統(tǒng)權(quán)限進(jìn)行檢測,能夠發(fā)現(xiàn)常見的一些權(quán)限錯配方面的問題,但還需根據(jù)代碼測試進(jìn)行漏洞的分析,以發(fā)現(xiàn)相關(guān)漏洞帶來的個人信息安全威脅,具體檢測漏洞類型見表1。
檢測分析
檢測樣本選取。本次App個人信息安全檢測對象為從在東部某省注冊的7249個App中隨機(jī)選擇50個,分別從華為應(yīng)用市場、應(yīng)用寶、安智市場、百度手機(jī)助手、魅族市場、360市場等多個應(yīng)用商城渠道下載獲取,涵蓋公眾服務(wù)、衛(wèi)生健康、新聞傳媒、出行、互聯(lián)網(wǎng)金融、兒童教育、網(wǎng)絡(luò)游戲等領(lǐng)域,同時兼顧下載次數(shù)較高、領(lǐng)域內(nèi)代表性強(qiáng)、社會熱度較高的移動應(yīng)用作為本次檢測的對象。
檢測結(jié)果分析。本次對東部某省App個人信息安全檢測的結(jié)果顯示,移動App在隱私政策、用戶賬號、個人信息收集等方面存在較多問題,具體情況如下:
未在隱私政策中說明個人信息存儲和超期處理方式:存在未明確個人信息存放地域(國內(nèi)、國外)、存儲期限(法律規(guī)定范圍內(nèi)最短期限或明確的期限)、超期處理方式的問題。檢測情況:經(jīng)檢測有27款應(yīng)用不符合此項(xiàng)要求,占比為54%。
未在隱私政策中明示各項(xiàng)業(yè)務(wù)功能所收集的個人信息類型:存在未詳細(xì)列舉收集個人信息的業(yè)務(wù)功能及其收集的個人信息類型、收集/使用目的、收集具體方式的問題。檢測情況:經(jīng)檢測有20款應(yīng)用不符合此項(xiàng)要求,占比為40%。
隱私政策等文件存在免責(zé)等不合理?xiàng)l款:存在App運(yùn)營者在用戶協(xié)議、服務(wù)協(xié)議、隱私政策等文件中出現(xiàn)免除自身責(zé)任、加重用戶責(zé)任、排除用戶主要權(quán)利條款的問題。檢測情況:經(jīng)檢測有17款應(yīng)用不符合此項(xiàng)要求,占比為34%。
未在隱私政策中明示收集個人信息的業(yè)務(wù)功能:存在未逐項(xiàng)列舉收集個人信息的業(yè)務(wù)功能及其收集的個人信息類型、收集/使用目的、收集具體方式的問題。檢測情況:經(jīng)檢測有17款應(yīng)用不符合此項(xiàng)要求,占比為34%。
不支持用戶注銷賬號或是否支持用戶查詢、更正或刪除個人信息:存在未提供App注銷賬號的途徑,App未提供查詢、更正、刪除個人信息的途徑,或因共享、轉(zhuǎn)讓、批露涉及第三方的,未通知第三方及時刪除的問題。檢測情況:經(jīng)檢測有16款應(yīng)用不符合此項(xiàng)要求,占比為32%。
未在隱私政策中明示對外共享、轉(zhuǎn)讓、公開披漏個人信息規(guī)則:存在個人信息對外共享、轉(zhuǎn)讓、公開批露等情況,但在軟件測試過程中查看隱私政策條款,未明確對外共享轉(zhuǎn)讓公開批露個人信息的目的、涉及的個人信息的類型、接受方類型或身份及承擔(dān)的法律責(zé)任等信息的問題。檢測情況:經(jīng)檢測有14款應(yīng)用不符合此項(xiàng)要求,占比為28%。
隨著5G技術(shù)的普及,移動App與生活聯(lián)系將越發(fā)緊密,移動App個人信息安全評估將會成為信息安全的重要工作。本文中靜態(tài)檢測和動態(tài)檢測相結(jié)合的方法,可以兼顧測試結(jié)果的全面性和準(zhǔn)確性。在大數(shù)據(jù)時代,只有做好個人信息合規(guī)建設(shè),才能讓信息更好為人們服務(wù),移動應(yīng)用行業(yè)才能健康發(fā)展。
(作者單位:浙江省電子信息產(chǎn)品檢驗(yàn)研究院)