亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于HTTP 數(shù)據(jù)包分析的安卓隱私泄露檢測機制

        2021-02-04 06:53:50
        軟件導刊 2021年1期
        關鍵詞:分析檢測信息

        (南京航空航天大學計算機科學與技術學院,江蘇南京 211106)

        0 引言

        安卓系統(tǒng)是目前最熱門的移動終端系統(tǒng)。由于安卓系統(tǒng)的開源性,數(shù)量眾多的安卓系統(tǒng)開發(fā)者不斷提升系統(tǒng)性能及完善功能。安卓系統(tǒng)為用戶提供大量簡單且功能強大的應用,得益于這些特性,搭載安卓系統(tǒng)的移動設備尤其是安卓智能手機十分受歡迎。

        安卓設備存儲大量的用戶隱私數(shù)據(jù),隱私泄露成為很多用戶十分擔憂的問題。安卓系統(tǒng)的惡意應用可能會收集用戶的敏感數(shù)據(jù),如電話號碼、位置、聯(lián)系信息等,并在用戶不知情的情況下發(fā)送給廣告商或攻擊者,以此獲取非法利益。

        造成安卓系統(tǒng)隱私泄露現(xiàn)象泛濫的原因有:①安卓開發(fā)的便捷性和第三方市場審核不嚴謹,導致應用可進行無限制權限申請,造成大量權限濫用;②安卓系統(tǒng)缺乏完善的隱私保護機制,僅依靠權限管理限制應用獲取隱私信息;③大量出現(xiàn)的惡意應用對用戶隱私安全造成威脅。

        安卓隱私泄露檢測問題一直是研究熱點。有效的隱私泄露檢測能幫助安全人員了解用戶應用行為,為后續(xù)隱私保護、惡意應用識別工作打下堅實基礎。隱私泄露檢測研究主要分為靜態(tài)分析和動態(tài)分析。靜態(tài)分析通常使用構造函數(shù)調用圖方法,通過可達性分析、污點分析或上下文檢查進行隱私泄露檢測,如Yang 等[1]提出的LeakMiner、Clint 等[2]提出的AndroidLeaks;動態(tài)分析方法則主要通過設置一個模擬器或沙盒運行可疑程序,將其運行中的行為信息記錄并進行分析,如Conti 等[3]提出的Oasis、Zhou等[4]提出的AppCage、Sun 等[5]提出的NativeGuard 等。這兩種分析方法都有一定局限性:靜態(tài)分析檢測準確率受Ja?va 反射、native 代碼影響,且很多惡意應用會產(chǎn)生變體逃避檢測;動態(tài)分析在代碼覆蓋率方面不如靜態(tài)分析,需要執(zhí)行足夠多的次數(shù),因此在資源受限的智能設備上執(zhí)行動態(tài)分析具有挑戰(zhàn)性。

        大多數(shù)應用收集的隱私信息最后都通過網(wǎng)絡傳輸泄露到外部服務器,這些應用使用最多的是HTTP 網(wǎng)絡協(xié)議。基于這一點,本文提出一種基于HTTP 數(shù)據(jù)包分析的隱私泄露檢測機制。首先使用檢測終端運行安卓應用程序,并使用PC 端的網(wǎng)絡流量分析工具捕獲其發(fā)送的網(wǎng)絡數(shù)據(jù)包;然后從數(shù)據(jù)包中提取URL 參數(shù)列表和body 中的文本信息,并使用正則表達式匹配方法檢驗數(shù)據(jù)包中是否包含隱私信息;最后將這些信息與對應權限規(guī)則進行匹配,確定是否發(fā)生隱私泄露。實驗結果表明,本文提出的方法能有效檢測應用的隱私泄露,具有較高的檢測準確率。

        1 相關研究工作

        1.1 安卓隱私泄露研究

        隱私泄露問題在主機時代就十分普遍,而安卓是基于Linux 內核開發(fā)的系統(tǒng),因此在隱私泄露檢測方法上和主機方法有一定類似之處,分為靜態(tài)分析和動態(tài)分析,這兩種傳統(tǒng)方法大多針對應用層源代碼進行分析。近幾年,由于代碼混淆、應用加固等技術的不斷改進,只依靠傳統(tǒng)靜態(tài)和動態(tài)分析進行檢測難以達到令人滿意的效果。因此,很多研究對傳統(tǒng)方法進行改進,在此基礎上提出新的檢測方法,如混合分析(靜態(tài)與動態(tài)結合)方法[6]、機器學習方法[7-8]、動態(tài)污點分析方法[9-10]、native 層代碼分析方法[11-12]等。

        Wei 等[13]提出Amandroid 對FlowDroid 構建的傳統(tǒng)靜態(tài)CG 進行較大修改。Amandroid 可以構建高精準度的過程間控制流圖(inter-procedural control flow graph,ICFG),可將安卓的組件間通信(inter-component communication,ICC)像普通函數(shù)調用一樣包括在內,這樣控制流和數(shù)據(jù)流可經(jīng)過這些邊進行傳遞。在ICFG 基礎上,Amandroid 構建數(shù)據(jù)流圖(data flow graph,DFG)和數(shù)據(jù)依賴圖(data depen?dence graph,DDG),用于記錄應用數(shù)據(jù)傳遞情況。結合ICFG、DFG 和DDG 中的信息,Amandroid 可進行各種類型的安全性分析,比如可以查詢是否存在從source 到sink 的數(shù)據(jù)依賴鏈,使用DDG 查找是否有信息從敏感的source泄露到關鍵sink。由于在一些復雜應用中分析整個調用圖既不高效(太多節(jié)點和邊緣無法分析)也不有效(惡意部分被埋在大量應用程序代碼中),F(xiàn)an 等[14]提出DAPASA,通過敏感子圖分析檢測安卓重打包應用檢測隱私泄露。DAPASA 使用TF-IDF 模型衡量每個安卓API 的敏感度,根據(jù)API 將函數(shù)調用圖分為一組子圖,然后選擇具有最高敏感系數(shù)的子圖作為敏感子圖,以分析給定應用程序的可疑行為;葉延玲等[15]提出一種自動化的安卓應用定向行為測試方法,用靜態(tài)分析得出到達目標API 調用位置的路徑,然后在動態(tài)測試過程中排除無關組件和控件,使應用沿路徑自動運行至目標API 調用的位置,觸發(fā)特定行為。

        以上研究在提高安卓系統(tǒng)安全性方面取得一定進展,但大部分研究僅停留在檢測安卓應用數(shù)據(jù)集階段,在真實場景下的應用程序檢測準確率偏低。部分基于機器學習的檢測方法缺乏魯棒性,針對對抗性機器學習方法[16-18]生成的應用樣本檢測效果不佳。

        1.2 HTTP 流量分析研究

        HTTP 協(xié)議是安卓開發(fā)最常見的通信協(xié)議,很多正常應用與惡意應用都使用該協(xié)議與服務器進行通信。根據(jù)Wang 等[19]研究統(tǒng)計,安卓惡意應用占網(wǎng)絡通信比例達96.2%。一些研究者從HTTP 報文中提取特征,通過機器學習算法訓練分類器用于惡意應用識別效果良好。

        Ren 等[20]提出基于網(wǎng)絡流量跟蹤方式的用戶態(tài)隱私數(shù)據(jù)泄露實時監(jiān)控系統(tǒng)(Recon)。該系統(tǒng)使用多個應用產(chǎn)生的7 萬多條數(shù)據(jù)包作為訓練樣本,通過眾包方式對所截取的隱私數(shù)據(jù)傳輸合理性進行標識,為用戶有效管控隱私數(shù)據(jù)提供指導。在保證檢測準確率條件下,Recon 采用C4.5 決策樹方法進行分類,與一些集成學習(ensemble learning)方法(如AdaBoost、Bagging 和Blending)相比,提高了模型訓練效率;Wu 等[21]對HTTP 流的相似度檢測惡意重打包應用進行研究。HTTP 流相似度計算考慮請求方法、URL、請求參數(shù)列表的鍵與值等因素,實現(xiàn)一種基于平衡制高點樹的多線程比較算法,極大提升了檢測效率。同時,作者在檢測出的重打包應用中發(fā)現(xiàn)廣告及惡意流量;Shanshan Wang 等將應用程序生成的每個HTTP 流都視為一個文檔,采用自然語言處理(natural language processing,NLP)方法進行處理,以提取文本級功能。對于每個HTTP文檔提出一種基于卡方檢驗的自動特征選擇算法,用來識別有意義特征。這些自動選擇的特征會用于構建SVM 分類器以檢測惡意軟件。

        目前,安卓應用HTTP 流量研究大多只關注惡意應用檢測工作,能夠指出惡意應用在運行中泄露的具體隱私信息很少。

        與以上研究相比,本文創(chuàng)新點是對HTTP 流量進行鍵值對提取和正則表達式匹配,精確分析HTTP 數(shù)據(jù)包中包含的隱私信息。在此基礎上與權限機制結合,對安卓應用的隱私泄露進行有效檢測。

        2 隱私泄露檢測機制

        本文隱私泄露檢測架構如圖1 所示。首先使用adb 將待測應用安裝到檢測終端并運行。通過配置檢測終端網(wǎng)絡代理,應用程序在運行中產(chǎn)生的網(wǎng)絡流量被網(wǎng)絡代理監(jiān)控并記錄到日志文件中。然后對應用程序網(wǎng)絡流量信息進行文本分析,包括鍵值對提取和隱私信息匹配處理。

        Fig.1 Privacy leak detection framework圖1 隱私泄露檢測架構

        2.1 流量捕獲與過濾

        隱私泄露目標分為網(wǎng)絡、短信、藍牙等。其中,網(wǎng)絡是惡意安卓應用程序進行隱私泄露最普遍的地方。大量惡意應用使用HTTP 協(xié)議和C&C 服務器進行通信和遠程控制操作。為了解網(wǎng)絡通信中發(fā)生了哪些隱私泄露,對安卓應用HTTP 數(shù)據(jù)包進行捕獲,分析這些應用的隱私泄露情況。

        使用Whistle 進行流量捕獲。Whistle 是基于Node 實現(xiàn)的跨平臺抓包調試代理工具。編寫Whistle 插件andro?auto,對與隱私泄露檢測無關的流量進行過濾。根據(jù)Wu等的研究可知SSDP、NBNS、LLMNR、DHCP、DNS 等協(xié)議流量通常與應用的隱私泄露行為無關,因此在預處理階段過濾掉這些流量。使用小米3W 手機作為檢測終端,手機中MIUI 系統(tǒng)運行的后臺程序會經(jīng)常和小米服務器進行網(wǎng)絡通信,同步系統(tǒng)信息或更新一些系統(tǒng)組件。這些網(wǎng)絡流量為待檢測應用產(chǎn)生,要對其進行過濾。

        對于加密的HTTPS 流量通過類似中間人攻擊的手段進行解密。在檢測終端中安裝代理CA 證書,在HTTPS 交換密鑰時將與代理交換密鑰,通過代理HTTPS 使用代理私鑰進行解密。

        2.2 鍵值對提取

        在HTTP 和HTTPS 請求傳輸格式中,表單(form)是最常用的信息傳輸格式。一個包括隱私信息的請求通常不會只傳輸一種隱私,因此表單格式請求表現(xiàn)為多組鍵值對連接形式(k1=v1k2=v2…kn=vn)的字符串。在GET 請求中,各鍵值通常出現(xiàn)在URL 參數(shù)列表中,在POST 請求中則出現(xiàn)在請求體body 中,也有少部分請求出現(xiàn)在URL 參數(shù)列表和body 同時包含參數(shù)的情況,因此在解析表單格式請求的同時解析URL 參數(shù)列表和body 內容。

        解析步驟如下:①從捕獲的數(shù)據(jù)包中獲取一個ses?sion;②從session 中獲取請求req 的url 和body;③從請求url 和body 中獲取參數(shù)字符串,即“k1=v1k2=v2…kn=vn”格式的字符串;④以“&”分割每組鍵值對,以“=”分割每組的鍵和值;⑤對于每組鍵值對,若已解析的鍵值對中未包含鍵k,則將加入已解析的鍵值對。若已包含鍵k,則將v加入鍵k所對應的值的集合中;⑥用步驟②到步驟⑤循環(huán)處理每一個session。

        對其它格式而言(JSON、XML 等)為每個請求分配唯一標識的鍵,然后將該字符串設為該鍵的值,即用普通的字符串處理。

        2.3 隱私信息匹配

        若一個請求中包含隱私信息,則鍵值對中的鍵和值包含特定字符串的可能性很高。這些字符串包括設備的IMEI、IMSI、ICCID、手機號、位置信息等,是進行隱私泄露目標數(shù)據(jù)提取研究的重點。使用正則表達式匹配的方法確定匹配鍵值對中是否包含以上隱私數(shù)據(jù)字符串。對于值確定的隱私數(shù)據(jù),如設備ID、手機號、安卓系統(tǒng)版本號等直接使用隱私數(shù)據(jù)進行匹配。表1 列出隱私信息匹配過程中部分正則表達式。

        Table 1 Part of the regular expression matching privacy information表1 匹配隱私信息部分正則表達式

        確定報文傳遞的隱私信息后,將這些信息與對應的權限規(guī)則進行匹配以確定是否發(fā)生隱私泄露。主要關注以下權限:手機設備信息(READ_PHONE_STATE)、聯(lián)系人(READ_CONTACTS)、短信(READ_SMS)和位置信息(AC?CESS_COURSE_LOCATIONS、ACCESS_FINE_LOCATIONS)。一些隱私信息如CPU 使用率、內存使用率、MAC 地址等,通過讀取系統(tǒng)文件獲取,無需權限申請。安卓系統(tǒng)用于文件監(jiān)控的抽象類FileObserver 對對應的敏感文件(/proc/cpuinfo、/proc/meminfo、/sys/class/net/eth0/address)進行監(jiān)控。若應用訪問了這些文件且在數(shù)據(jù)包中發(fā)現(xiàn)這些隱私信息,則視其為隱私泄露行為。

        3 實驗與結果分析

        3.1 實驗環(huán)境與數(shù)據(jù)集

        在戴爾OptiPlex-3046 PC 機上進行隱私泄露分析實驗。實驗環(huán)境:CPU 為Intel Core i5 6500,內存為8G,操作系統(tǒng)為64 位Windows 10。運行安卓應用的檢測終端為小米3W,CPU 為高通驍龍800(8 274AB),內存為2G,操作系統(tǒng)為MIUI 9 開發(fā)版(基于安卓6.0.1)。

        實驗應用數(shù)據(jù)集包括正常應用和惡意應用兩部分。正常應用包括Google Play、F-Droid 應用市場中的各500個應用,惡意應用包括VirusShare、Drebin[22]數(shù)據(jù)集中各500 個應用,判斷隱私是否泄露的標準為該隱私所對應的權限是否被系統(tǒng)允許。

        3.2 數(shù)據(jù)集檢測實驗

        為驗證本文提出的隱私泄露檢測方法的有效性,采用FlowDroid[23]和羅亞玲等[24]的研究作為對比。考慮到一些正常應用也會收集隱私信息,因此使用惡意應用隱私泄露檢測的準確率和正常應用隱私檢測的誤報率作為評判標準。實驗結果如表2 所示。

        Table 2 Data set application test results(test number/total)表2 數(shù)據(jù)集應用檢測結果(檢測數(shù)/總數(shù))

        從實驗結果可以看出,與FlowDroid 相比,本文方法能夠檢測更多的惡意應用,同時在正常應用上的誤報數(shù)量更少。經(jīng)過分析發(fā)現(xiàn),部分惡意應用采取反射、動態(tài)加載技術規(guī)避檢測。由于FlowDroid 是靜態(tài)分析方法,對這些惡意應用識別不力,因此檢測率不如本文方法。

        實驗中發(fā)現(xiàn)Drebin 數(shù)據(jù)集部分應用存在閃退情況。由于FlowDroid 分析方法是基于源代碼的靜態(tài)污點分析,不受運行時閃退問題影響,因此在Drebin 數(shù)據(jù)集中,本文方法檢測效果比VirusShare 差一些。排除閃退應用后,本文方法依然有較高的檢測率。

        在正常應用檢測方面,從實驗結果可以發(fā)現(xiàn)FlowDroid誤報率較高。分析后發(fā)現(xiàn),由于安卓系統(tǒng)的隱私保護機制,應用程序在調用API 時不一定獲取真實的隱私信息,如WifiInfo.getMacAddress 方法在無WiFi 連接或應用無權限時會直接返回固定值02:00:00:00:00:00,而不是真正的MAC 地址。FlowDroid 無法識別這種情況,因此產(chǎn)生誤報。

        由于文獻[24]的方法未給出源碼,因此本文僅從方法上進行對比,如表3 所示。該方法通過對HTTP 內容和目的的距離進行層次聚類,從聚類結果生成特征簽名并判斷是否發(fā)生泄露。其中,聚類過程需要計算簇之間的距離,該步驟的時間復雜度為O(N2)而非文獻中提到的O(N),N為HTTP 數(shù)據(jù)包個數(shù),且在聚類之前需要對每條數(shù)據(jù)包進行人工分析。本文方法僅對每個HTTP 數(shù)據(jù)包進行一次鍵值對提取,處理時間復雜度為O(N),無需人工干預。文獻[24]方法在Google Play 的檢測率達到95.05%,與本文的檢測結果有較大出入,經(jīng)過分析發(fā)現(xiàn)Google Play 應用與是否允許獲取隱私與權限相關。在隱私相關權限被禁用時就無法獲取隱私信息,因此并非嚴格意義上的隱私泄露。文獻[24]中的檢測率應為隱私信息檢測率而非隱私泄露檢測率。

        Table 3 Comparison between the proposed method and the method of literature[24]表3 本文方法與文獻[24]方法對比

        3.3 真實檢測實驗

        從《100 款APP 個人信息收集與隱私政策測評報告》[25]中選擇20 款評分較低的應用,這些應用存在權限濫用、過度收集用戶隱私情況。在這20 款應用程序中發(fā)現(xiàn)2 款應用(橙子VR、天天P 圖)的網(wǎng)絡數(shù)據(jù)包含MAC 地址、CPU使用率、內存使用率等隱私信息,分析這2 款應用是通過直接讀取系統(tǒng)敏感文件獲取這些信息的。由于該方法不經(jīng)過安卓API 調用,因此基于API 調用檢測方法均無法有效檢測。其余應用均是在權限允許的情況下進行隱私信息收集,不存在權限提升等惡意行為。使用安卓的權限管理工具拒絕相應權限時,該應用便無法獲取權限,因此這些應用只能歸類為權限濫用而非隱私泄露。

        4 結語

        本文提出一種基于HTTP 數(shù)據(jù)包分析的安卓隱私泄露檢測機制,針對安卓應用的HTTP 數(shù)據(jù)包進行捕獲、過濾、鍵值對提取和隱私數(shù)據(jù)匹配操作,然后通過對比隱私數(shù)據(jù)與相應權限,判斷該應用是否泄露了隱私信息。使用多個數(shù)據(jù)集中的應用及真實應用進行檢測實驗,結果表明,與現(xiàn)有的靜態(tài)污點分析方法相比,本文提出的檢測方法具有較高的準確率和較低的誤報率。

        本文目前工作主要針對網(wǎng)絡數(shù)據(jù)中非加密的隱私信息,未來將對加密的隱私數(shù)據(jù)進行研究。

        猜你喜歡
        分析檢測信息
        “不等式”檢測題
        “一元一次不等式”檢測題
        “一元一次不等式組”檢測題
        隱蔽失效適航要求符合性驗證分析
        電力系統(tǒng)不平衡分析
        電子制作(2018年18期)2018-11-14 01:48:24
        訂閱信息
        中華手工(2017年2期)2017-06-06 23:00:31
        電力系統(tǒng)及其自動化發(fā)展趨勢分析
        小波變換在PCB缺陷檢測中的應用
        展會信息
        中外會展(2014年4期)2014-11-27 07:46:46
        健康信息
        祝您健康(1987年3期)1987-12-30 09:52:32
        香蕉免费一区二区三区| 中文亚洲第一av一区二区| 亚洲av手机在线播放| 中文无码人妻有码人妻中文字幕 | 国产精品一二三区亚洲| 噜噜综合亚洲av中文无码| 白又丰满大屁股bbbbb| 曰韩精品无码一区二区三区| 国产黄色看三级三级三级| 女人av天堂国产在线| 18禁无遮拦无码国产在线播放| 亚洲国产成人精品女人久久久| 无码国产一区二区色欲| 久久久人妻一区二区三区蜜桃d| 丰满少妇作爱视频免费观看| 亚洲欧洲偷自拍图片区| 精品国产性色av网站| 少妇人妻一区二区三飞| 人妻少妇看a偷人无码| 少妇无码一区二区三区| 久久亚洲第一视频黄色| 日韩有码中文字幕在线视频| 亚洲一区二区三区尿失禁| 亚洲学生妹高清av| 波多野结衣一区二区三区免费视频| 伊人婷婷综合缴情亚洲五月| 无码人妻精品一区二区三区夜夜嗨 | 神马影院日本一区二区| 亚洲综合色区另类av| 国产精品嫩草影院午夜| 国产少妇一区二区三区| 精品人妻伦一二三区久久| 无遮无挡爽爽免费视频| 亚洲中文字幕久爱亚洲伊人 | 天天中文字幕av天天爽| 国产精品亚洲综合久久| 成人做受黄大片| 欧美激情区| 亚洲av高清在线一区二区三区| 激情综合婷婷色五月蜜桃| 色偷偷久久一区二区三区|