羅 佳,葉 猛,江 舟
(1.光纖通信技術和網絡國家重點實驗室,湖北 武漢 430074;2.武漢郵電科學研究院通信與信息系統,湖北 武漢 430074;3.武漢虹旭信息技術有限責任公司安全產品部,湖北 武漢 430074)
近幾年,隨著移動互聯網大眾時代的來臨,智能手機得到了廣泛普及。利用移動互聯網,智能手機用戶可以享受各種方便、快捷、豐富的多媒體無線業務。然而,根據“騰訊移動安全實驗室”2012年2月手機病毒報告顯示,以Android手機為代表的智能平臺,病毒數在迅速增加,感染用戶數飛速增長。僅2月份,便截獲3787個病毒,其中隱私獲取類就占24%[1]。目前解決方案主要有手機終端殺毒軟件、隱私審計平臺以及訪問權限申請警告機制[2]。
由于手機終端自身資源的限制,以病毒庫為依據的手機殺毒軟件將會耗費很大的資源。為手機軟件商店中的程序提供初審功能的審計平臺,由于細節的不公開(Apple)或完全公開(Android),并不能保證對隱私泄露程序的檢測,更不能對依托論壇傳播的軟件進行審計,而訪問權限申請機制則依賴于用戶的專業知識[2]。
針對當前手機隱私泄露檢測方案存在的不足,本文提出了一種在網絡側檢測手機用戶是否存在隱私泄露的方案。在用戶授權的情況下,實現主動檢測。
手機用戶隱私信息大致可以分為用戶相關及終端相關兩類。用戶相關的隱私信息主要包括通訊錄、短消息、通話記錄、銀行卡信息、郵件等。終端相關的隱私信息主要是MSISDN(手機號碼)、IMEI/ESN(電子序號,即手機唯一標識)、IMSI(全球移動用戶識別碼,即用戶唯一標識)、基站位置信息、地理位置信息(GPS)等。
根據設計,系統將被部署在移動運營商的核心網中,直接對用戶的網絡數據進行安全檢測,系統模型如圖1所示。
系統主要由3部分組成:數據采集模塊、隱私泄露檢測模塊、系統數據庫。
數據采集模塊負責移動運營商核心網Gn接口數據的采集。Gn接口數據包含兩種類型:信令面數據GTP-C以及用戶面數據GTP-U。根據PDP上下文的創建請求、應答及更新信令,可以獲得與終端相關的隱私信息。根據Gn接口用戶面的數據,可以獲得用戶所有的上網數據信息。

圖1 系統模型
隱私泄露檢測模塊負責隱私的泄露檢測與預警。從數據采集模塊獲取到用戶信令面的數據和數據面的數據。根據預先配置的特征庫,分析用戶URL請求或下載的軟件信息,判斷是否為危險事件以實現預警。通過分析用戶數據面所有的上行數據,判斷是否為隱私泄露事件。
系統數據庫負責存儲用戶的數據信息以及特征庫配置信息。
系統功能分為兩塊:危險檢測,即對用戶的行為進行檢測,對危險行為進行預警;泄露檢測,即檢測用戶的上傳數據是否含有隱私信息。
手機用戶隱私遭到泄露,大多是由于用戶下載并安裝了一些未經授權或未明確提示用戶而侵犯用戶隱私的惡意軟件。本系統專門針對侵犯用戶隱私一類的惡意軟件。
危險檢測主要分為兩個部分。一是檢測惡意手機軟件下載URL鏈接,提取用戶的HTTP請求URL,根據預先配置的惡意軟件URL鏈接庫進行模式匹配[3],如果命中則將此行為定義為危險行為,協同運營商網關阻止此條鏈接。二是檢測用戶下載的應用軟件,由于應用軟件的下載途徑很多,惡意軟件URL鏈接庫不可能完全覆蓋,于是預先對已知的惡意軟件利用MD5進行簽名,同時對是否惡意進行標識,在獲得完整的軟件包后計算相應的MD5簽名,對比配置信息。如若命中惡意標識,則將此次下載URL鏈接添加到惡意軟件下載URL鏈接庫并提示用戶。若未命中任何標識,保存此軟件交由人工檢測確定其是否惡意。
危險檢測以公共模式匹配庫作為基礎,所以其針對所有的授權用戶。
當用戶行為非軟件下載時,需檢測用戶的上行數據,確定是否為隱私泄露行為。由于每個用戶的隱私信息不同,同時上傳的隱私信息可能經過加密處理,所以其處理流程較危險,檢測復雜。泄露檢測分為兩大類:已知惡意軟件泄露檢測和未知惡意軟件泄露檢測。對于用戶的上行數據,優先進行已知惡意軟件泄露事件檢測,未命中的情況下進行未知惡意軟件泄露事件監測。
已知惡意軟件泄露檢測是指依據預先配置的惡意軟件網絡流特征字,對用戶的上行數據進行模式匹配,根據匹配結果判斷是否為隱私泄露行為。其中,惡意軟件網絡流特征字是指通過研究已定性的惡意軟件上行數據流特征,從中提取出可以唯一確定軟件身份的字符集標識。此過程可以識別出絕大部分的已知惡意軟件流,特別是加密流。
從騰訊移動安全實驗室2012年2月手機病毒報告可以看出,惡意軟件數量的增長速度非常快,所以惡意軟件特征庫不可能達到完全覆蓋,需要隨時更新。在不完善的情況下,當已知惡意軟件檢測失敗時,須進一步執行未知惡意軟件泄露檢測,確定用戶數據中是否含有未經授權的隱私信息。
根據用戶隱私信息的定義,未知惡意軟件泄露檢測又可以分為兩類:終端相關檢測和用戶相關檢測。終端相關的隱私信息可以通過用戶信令面數據PDP上下文獲取到。當用戶上線或更新PDP上下文時,提取或更新用戶的終端相關隱私信息。以此為依據,檢測用戶上行數據中是否存在隱私泄露。其中用戶的地理位置信息包含兩類:GPS經緯度及基站信息。一般惡意軟件優先通過GPS獲取精確經緯度,其次利用手機的基站信息通過谷歌提供的開放接口轉化為粗略的經緯度。根據此特點,依據用戶所在基站編號提取經緯度,降低其精度后對用戶數據進行單模匹配,確定是否存在地理位置信息泄露。
對于用戶相關隱私信息而言,由于具有不確定性,只能通過目標信息主動提取加以判斷。大多數情況下,用戶相關的隱私信息具有固定的結構,惡意軟件上傳時一般直接上傳隱私信息固定結構列表。針對此特點,本系統中采用正則表達式[4]提取手機號碼、銀行卡號、郵箱等信息,根據命中的數量同時結合信息相關格式特征字(通訊錄、通話記錄、郵件等)判斷隱私信息類別。
由于核心網數據量很大,考慮將大型正規服務應用的IP或者HOST加入白名單,在數據采集階段直接將其過濾從而降低系統的負擔,提高檢測效率。
操作系統選用Red Hat Enterprise Linux 5,用Oracle作為系統數據庫,編程語言使用C語言。根據上述系統的功能要求,系統實現如圖2所示。

圖2 系統流程圖
1)系統啟動時,裝載所有預先配置的模式匹配庫,待后續進行多模匹配。
2)高速數據采集[5],實現用戶信令面信息及用戶面數據的提取。
3)危險檢測,如圖3所示。
4)泄露檢測,如圖4所示。

圖3 危險檢測模塊
根據方案設計,相對于傳統的用戶側隱私泄露檢測方案,本系統將部署在移動運營商核心網中運行,其中系統的輸入數據為SGSN和GGSN之間的GTP-C/GTP-U。由于系統部署環境的特殊性,難以在真實的環境中進行相關測試實驗,只能通過搭建虛擬的移動網絡平臺進行實驗。

圖4 泄露檢測模
從系統數據源的角度分析,移動網絡平臺有兩個關鍵的特征:1)上行數據來自移動終端;2)移動核心網SGSN和GGSN之間的Gn接口采用GTP協議,用戶數據使用GTP協議進行封裝。虛擬網絡平臺只有實現這兩項關鍵特征才能算是真正意義上的移動網絡虛擬平臺,才能為系統提供有效的目標數據源。
由于移動終端種類繁多,本實驗選擇當前比較普及的智能安卓手機作為移動用戶終端。使用安卓模擬器Android SDK and AVD Manager在Windows XP上創建Android版本為 2.3.1、API Level為 9、CPU 為 ARM 的 Android虛擬機。借助固網能夠進行正常的軟件下載、安裝并運行。接下來需要解決Android虛擬機網絡數據的獲取和封裝。根據3GPP GTP協議規范,GTP消息有V0(R97/98版本)、V1(R99版本)以及其他版本[6],本實驗使用GTP V1版本消息類型。按照GTP V1版本信令消息結構構建信令消息數據包,同時按照GTP V1版本用戶面消息結構,借助微軟提供的WinPcap驅動獲取網卡原始數據包,區分上下行后對其進行GTP用戶面數據封裝。然后將構建的信令包和用戶面數據包發往系統指定套接口,完成虛擬平臺的搭建。
本系統涉及到的特征數據有:惡意軟件下載URL鏈接庫、惡意軟件MD5簽名庫、安全軟件MD5簽名庫、用戶相關隱私數據庫。為了保證系統具有預警功能,必須提前配置特征數據,具體配置字段如表1和表2所示。其中用戶相關隱私數據庫在用戶上網時段中臨時獲取。根據《蠶豆網不推薦的Android應用》系列文章,實驗中選取20例惡意軟件及其URL下載鏈接,用于危險測試和泄漏測試,其中惡意軟件竊取項覆蓋本系統檢測的范圍。安全軟件選取5例大型社交網站官方版客戶端。

表1 URL特征字段

表2 軟件特征字段
完成實驗平臺的搭建以及特征數據的初始化之后,開始進行聯機測試,檢測系統與虛擬機運行于不同的PC機上。危險測試和泄漏測試如表3和表4所示。

表3 危險測試

表4 泄漏測試
實驗證明,在網絡側可以比較好地執行隱私泄露預警和泄漏檢測工作。雖然系統可以較好地工作,但從實驗數據不難看出系統存在誤報、漏報等問題。由于短信、通訊錄及通話記錄同時涉及到大量手機號碼,在面對未知的上行泄漏流時,三者之間可能存在一定的誤報或漏報。對于未知的泄漏加密流,暫時還無法達到檢測目的。
本文相對傳統的用戶側隱私泄露檢測方式,提出了一種在移動運營商網絡側檢測隱私泄露和預警的方案。實驗證明系統能比較好地工作,如果結合移動運營商的相關網關設備,則可以避免用戶的隱私遭到泄漏。但仍然存在一定的問題,要實現預警功能,系統對特征數據庫的依賴性較高,特別是惡意軟件加密流特征字。進一步研究,可以利用當前手機安全廠商提供的安全軟件設計出一套并行多路惡意軟件檢測系統,配合人工處理以達到豐富特征數據庫的目的。
[1]騰訊移動安全實驗室.2012年2月手機病毒報告[EB/OL].[2012-05-30].http://msm.qq -.com/scan/news/secure_news_detail.jsp?id=84&from=index.
[2]M-Security Team.基于數據流染色的云隱私泄露監測解決方案[EB/OL].[2012-05-30].http://contest.trendmicro.com.cn/workshow/7/平步青云-手機隱私解決方案(M-Secu-rity).pdf.
[3]朱嬌嬌,葉猛.多模式匹配及其改進算法在協議識別中的應用[J].電視技術,2012,36(7):61-62.
[4]胡軍偉.正則表達式在Web信息抽取中的應用[J].北京信息科技大學學報,2011,26(6):87-89.
[5]張輝.高速網絡實時取證數據流重組技術研究[D].武漢:華中科技大學,2008.
[6]陳飛.GPRS網絡GTP協議解析方法研究[J].通信技術,2009(2):108-109.