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

基于HTTP 數據包分析的安卓隱私泄露檢測機制

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

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

0 引言

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

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

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

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

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

1 相關研究工作

1.1 安卓隱私泄露研究

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

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

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

1.2 HTTP 流量分析研究

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

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

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

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

2 隱私泄露檢測機制

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

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

2.1 流量捕獲與過濾

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

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

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

2.2 鍵值對提取

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

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

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

2.3 隱私信息匹配

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

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

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

3 實驗與結果分析

3.1 實驗環境與數據集

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

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

3.2 數據集檢測實驗

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

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

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

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

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

由于文獻[24]的方法未給出源碼,因此本文僅從方法上進行對比,如表3 所示。該方法通過對HTTP 內容和目的的距離進行層次聚類,從聚類結果生成特征簽名并判斷是否發生泄露。其中,聚類過程需要計算簇之間的距離,該步驟的時間復雜度為O(N2)而非文獻中提到的O(N),N為HTTP 數據包個數,且在聚類之前需要對每條數據包進行人工分析。本文方法僅對每個HTTP 數據包進行一次鍵值對提取,處理時間復雜度為O(N),無需人工干預。文獻[24]方法在Google Play 的檢測率達到95.05%,與本文的檢測結果有較大出入,經過分析發現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 款應用程序中發現2 款應用(橙子VR、天天P 圖)的網絡數據包含MAC 地址、CPU使用率、內存使用率等隱私信息,分析這2 款應用是通過直接讀取系統敏感文件獲取這些信息的。由于該方法不經過安卓API 調用,因此基于API 調用檢測方法均無法有效檢測。其余應用均是在權限允許的情況下進行隱私信息收集,不存在權限提升等惡意行為。使用安卓的權限管理工具拒絕相應權限時,該應用便無法獲取權限,因此這些應用只能歸類為權限濫用而非隱私泄露。

4 結語

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

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

猜你喜歡
分析檢測信息
“不等式”檢測題
“一元一次不等式”檢測題
“一元一次不等式組”檢測題
隱蔽失效適航要求符合性驗證分析
電力系統不平衡分析
電子制作(2018年18期)2018-11-14 01:48:24
訂閱信息
中華手工(2017年2期)2017-06-06 23:00:31
電力系統及其自動化發展趨勢分析
小波變換在PCB缺陷檢測中的應用
展會信息
中外會展(2014年4期)2014-11-27 07:46:46
健康信息
祝您健康(1987年3期)1987-12-30 09:52:32
主站蜘蛛池模板: 2021天堂在线亚洲精品专区| 免费激情网址| 日韩视频福利| 99精品免费在线| 五月天福利视频| 国产成人啪视频一区二区三区| 91青青在线视频| 毛片一区二区在线看| 香蕉蕉亚亚洲aav综合| 99国产在线视频| 欧美日韩国产在线人成app| 日韩第一页在线| 亚洲色图另类| 一区二区三区高清视频国产女人| 国产精品30p| 国产欧美日韩va另类在线播放| 亚洲第一区欧美国产综合| 狠狠久久综合伊人不卡| 久久综合色天堂av| 国产精品网拍在线| 国产内射在线观看| 日韩精品无码免费专网站| 久久综合九九亚洲一区| 四虎成人精品在永久免费| 就去吻亚洲精品国产欧美| 亚洲综合久久成人AV| 国产欧美日韩视频一区二区三区| 不卡无码网| 伊人久久久久久久| 亚洲精品人成网线在线| 亚洲人成网站日本片| 婷婷综合缴情亚洲五月伊| 麻豆精品视频在线原创| 亚洲一区毛片| 人妻一区二区三区无码精品一区| 丰满人妻被猛烈进入无码| 国产精品爽爽va在线无码观看| 精品1区2区3区| 日韩人妻少妇一区二区| 国产一区二区三区在线观看免费| 成人日韩精品| 日韩欧美色综合| 国产性爱网站| 亚洲日韩欧美在线观看| 一级成人a毛片免费播放| 全免费a级毛片免费看不卡| 中日韩一区二区三区中文免费视频 | 一级片免费网站| 国模极品一区二区三区| 国产XXXX做受性欧美88| 免费网站成人亚洲| 国产精品偷伦在线观看| 免费aa毛片| 日韩美毛片| 青青热久免费精品视频6| 久久国产精品77777| 国产成人精品视频一区二区电影| 制服丝袜在线视频香蕉| 国产美女精品一区二区| 国产人人乐人人爱| 国产福利微拍精品一区二区| 精品无码国产一区二区三区AV| 亚洲人成网线在线播放va| 国产超碰一区二区三区| 999精品视频在线| 一级毛片免费不卡在线视频| 五月天综合网亚洲综合天堂网| 美女高潮全身流白浆福利区| 2021国产精品自产拍在线观看| 国产午夜精品一区二区三| 亚洲婷婷丁香| 国产香蕉在线| 日韩无码白| 91福利片| 亚洲成人动漫在线观看| 久久成人免费| 亚洲国产日韩在线观看| 久久精品人人做人人爽97| 67194成是人免费无码| 欧美成人日韩| 欧美精品在线看| 免费精品一区二区h|