趙一凡 林逸風 張鴻飛 葛軼眾
從組件、代碼和數(shù)據(jù)三個層面分析移動應用風險存在的原因,通過敏感權限風險檢測、權限過度聲明風險檢測、權限濫用檢測、權限越權檢測、信息跨境傳輸檢測和信息加密通道風險檢測6個方面,設計出的這套全面準確的移動應用安全檢測系統(tǒng)
近年來,隨著網(wǎng)絡通信技術的發(fā)展,互聯(lián)網(wǎng)正在以前所未有的速度改變著世界。移動互聯(lián)網(wǎng)通過不同的移動智能終端進行信息傳遞,用戶可以使用基于移動智能系統(tǒng)的由第三方服務商提供的各類服務和功能。整個移動互聯(lián)網(wǎng)生態(tài)不斷完善,移動應用功能更加細化,與生活聯(lián)系越發(fā)緊密。
隨著移動互聯(lián)網(wǎng)的發(fā)展,移動互聯(lián)網(wǎng)用戶數(shù)量、應用種類、市場規(guī)模等均呈現(xiàn)迅猛增長態(tài)勢?!吨袊苿踊ヂ?lián)網(wǎng)發(fā)展狀況及其安全報告(2020)》統(tǒng)計數(shù)據(jù)顯示,2019年我國移動網(wǎng)民人均安裝App總量已經(jīng)從2018年的51款增長到了2019年的60款;在2019年第四季度,人均App每日使用時長達5.1小時,同比2018年增長了近1個小時,超過80%的智能終端使用的是Android系統(tǒng)。但由于Android系統(tǒng)自身的開源性特點,導致眾多未經(jīng)過嚴格審核的應用進入了市場,提升了安全風險。為此,筆者針對Android系統(tǒng)的特性,分析風險發(fā)生的原因,并設計了一套安全可靠的移動應用檢測系統(tǒng)。
Android系統(tǒng)應用安全隱患分析
傳統(tǒng)的移動應用安全檢測只針對單個Android移動智能終端,但缺少對應用風險的檢測。Android系統(tǒng)應用的安全隱患主要存在3個層面:組件安全、代碼安全以及數(shù)據(jù)安全。
組件安全。Android系統(tǒng)應用內(nèi)部的activity、service、content provider、broadcast receiver等組件的互相通信是通過Internet協(xié)議實現(xiàn)的,需要在Androidmainfest.xml文件中進行配置。由此可能產(chǎn)生惡意調(diào)用、攔截有序廣播、惡意啟動應用服務、調(diào)用組件等一系列風險。
代碼安全。Android SDK編譯的工程打包為一個安裝程序文件,格式為Apk(Android package)。Android應用通過將安裝包Apk文件直接傳到Android手機中即可執(zhí)行安裝。但是Apk文件極易被反編譯、重打包,導致Apk文件有被篡改、被侵入的風險。
數(shù)據(jù)安全。數(shù)據(jù)安全風險存在于傳輸和存儲過程。存儲數(shù)據(jù)時,將軟件運行數(shù)據(jù)或隱私數(shù)據(jù)保存在不可控的外面存儲,會提升被篡改或者被攻擊的風險,攻擊者也可能會利用存儲中的登錄憑證來竊取網(wǎng)絡賬戶隱私數(shù)據(jù)。在數(shù)據(jù)傳輸過程中,由于應用只和固定服務器之間通信,即使使用加密傳輸?shù)雎宰C書驗證環(huán)節(jié),也會導致遭受中間人的網(wǎng)絡攻擊。
移動應用檢測系統(tǒng)研究
針對Android系統(tǒng)的風險隱患,既要考慮應用信息、系統(tǒng)環(huán)境安全、數(shù)據(jù)安全、業(yè)務安全、移動應用漏洞、移動應用源碼安全等多維度,也要構(gòu)建一套準確高效檢測系統(tǒng),保障移動應用安全?;贏ndroid系統(tǒng)的移動應用檢測系統(tǒng)包括敏感權限風險檢測、權限過度聲明風險檢測、權限濫用檢測、權限越權檢測等4個方面,對應用進行安全檢測與評估。
敏感權限風險檢測。敏感權限是指移動應用獲取個人信息和個人敏感信息所需要的權限,敏感權限集合是指獲取到個人信息所涉及的敏感信息的集合。通過統(tǒng)計App中含有的敏感權限,可以分析出App中取得個人信息的種類和方式。通過對Android應用所有的權限和個人信息安全的相關性進行分析,并結(jié)合相關法律法規(guī),按照相關性的強弱形成個人信息安全敏感權限知識庫。檢測原理是獲取AndroidManifest.xml文件中的權限聲明集合,將該權限集合與敏感權限集合進行逐一比對,分析出移動應用的聲明所有敏感權限,以及分析出各項敏感權限對個人信息安全的影響,流程如下:一是反編譯Apk文件;二是獲取AndroidManifest.xml文件中的權限聲明集合;三是找出高敏感權和AndroidManifest.xml文件中的權限重疊的權限,如果沒有重疊的就沒有敏感權限,如果有重合的就有敏感權限。
權限過度聲明風險檢測。過度聲明是指應用聲明需要的權限在代碼實際運行中沒有使用,不符合《個人信息安全規(guī)范》中的最少夠用原則。沒有用到的權限,在配置文件中就不應該過度聲明。檢測分為靜態(tài)掃描和動態(tài)行為檢測2個模塊。靜態(tài)掃描部分使用權限代碼掃描知識庫對反編譯代碼進行靜態(tài)掃描,掃描出代碼中所有的申請和使用權限情況;動態(tài)行為檢測技術利用沙箱監(jiān)測系統(tǒng),對被檢測的App進行行為監(jiān)測,并把個人隱私相關的行為轉(zhuǎn)化為權限申請和使用的信息。通過動態(tài)運行App監(jiān)測到的權限情況可以對抗各種靜態(tài)代碼變形無法準確代碼分析的問題。通過靜態(tài)檢測和動態(tài)行為檢測技術,將兩者檢測獲取的權限形成權限集合,與AndroidManifest.xml文件的權限集合進行比對,兩者之間的差距權限,定義為過度聲明權限風險,流程如下:一是反編譯App包,并靜態(tài)掃描申請和使用的權限匯總成靜態(tài)權限集合;二是使用沙箱動態(tài)監(jiān)測App包申請和使用權限的匯總成動態(tài)權限集合;三是將靜態(tài)權限集合和動態(tài)權限集合合并為一個代碼權限集合,將代碼權限集合和AndroidManifest.xml文件中聲明的權限進行比對。AndroidManifest.xml文件中聲明的權限多于代碼權限集合的部分就是過度聲明權限。
權限濫用檢測。權限是應用系統(tǒng)的一種安全機制,其作用是限制應用程序內(nèi)部的限制性功能使用和控制應用程序之間的組件相互訪問。Android系統(tǒng)權限控制是通過在AndroidManifest.xml文件中增減權限實現(xiàn)的。權限濫用是指應用權限開放程度過高、聲明的權限中超出應用實現(xiàn)功能所需要的最小范圍,導致攻擊者利用應用權限可以實現(xiàn)攻擊行為,如讀取通訊錄、下載照片、開啟錄音、遠程植入木馬等,導致隱私數(shù)據(jù)泄露、盜取賬號等風險。檢測原理是通過對應用市場對同一行業(yè)的各個應用系統(tǒng)使用權限的情況進行統(tǒng)計,分析出各個行業(yè)的App對權限的共性需求,形成行業(yè)App最小權限知識庫。再將AndroidManifest.xml文件中所聲明權限和行業(yè)最小權限庫相比對,判斷是否存在權限濫用的行為。具體流程如下:一是反編譯Apk文件,并獲取到AndroidManifest.xml文件中聲明的所有權限;二是將AndroidManifest.xml文件中聲明的所有權限和行業(yè)最小權限庫對比;三是比行業(yè)最小權限庫多出的權限為濫用權限。
權限越權檢測。權限越權行為是指通過分析在App隱私條款里邊所提及的功能,這些功能所對應的權限形成一個功能權限集合。在App配置文件中聲明的權限超過了隱私條款中說明的功能權限集合的功能,那么就存在權限越權行為。通過移動應用MD5值,通過大數(shù)據(jù)匹配是否實現(xiàn)與抓取隱私條款,若沒有,則手動上傳,通過人工智能匹配出條款中界定使用的權限類型,和AndroidManifest.xml文件進行比對,多余部分定義為權限越權,權限濫用作為檢測項在個人信息安全檢測報告中呈現(xiàn)。具體流程如下:一是人工打開App并找到隱私條款的頁面;二是解讀隱私條款中功能列表,通過網(wǎng)頁頁面轉(zhuǎn)化為對應權限;三是將隱私條款中解析出來的權限和AndroidManifest.xml文件進行比對。
信息跨境傳輸檢測。未向監(jiān)管部門報備的個人信息向境外傳輸,有信息泄露的風險。通過檢測移動應用是否有與境外通訊的情況,可以防范個人信息直接向境外傳輸。通過正則表達式對反編譯代碼和App中配置文件進行匹配,掃描出App中所有的IP信息和域名信息。采用靜態(tài)檢測技術獲取移動應用中IP和域名信息,通過第三方技術接口查詢出IP和域名歸屬地和運營商信息,從而分析移動應用是否有向境外服務器傳輸數(shù)據(jù)的情況。具體流程如下:一是反編譯Apk文件;二是掃描smali文件內(nèi)容,分析代碼和配置文件中是否有IP和域名地址;三是將IP和域名地址進行所屬地判斷,如果發(fā)現(xiàn)國外的網(wǎng)址則有風險,無則沒有風險。
信息加密通道風險檢測。移動應用后臺自行啟動VPN服務,會造成數(shù)據(jù)被劫持、敏感信息泄露。通過對Apk文件反編譯,再對smali文件進行掃描,識別出VPN服務器的特征代碼,即可識別出移動應用的信息加密通道風險。
移動應用與生活密不可分,但惡意移動應用威脅著隱私和財產(chǎn)安全?;诎沧肯到y(tǒng)應用特點,從組件、代碼和數(shù)據(jù)三個層面分析移動應用風險存在的原因,通過敏感權限風險檢測、權限過度聲明風險檢測、權限濫用檢測、權限越權檢測、信息跨境傳輸檢測和信息加密通道風險檢測6個方面,設計出的這套全面準確的移動應用安全檢測系統(tǒng),能夠有效促進移動應用信息使用規(guī)范化,推動移動信息產(chǎn)業(yè)安全有序發(fā)展。
(作者單位:浙江省電子信息產(chǎn)品檢驗研究院)