謝麗霞,王 沖
(中國民航大學計算機科學與技術學院,天津 300300)
移動蜜罐MHP的設計和實現
謝麗霞,王沖
(中國民航大學計算機科學與技術學院,天津300300)
針對移動終端惡意軟件泛濫的現狀,提出一種誘騙、捕獲、分析惡意軟件的移動蜜罐(mobile honey pot,MHP)技術。MHP包含3個核心模塊,環境欺騙模塊構造出具有誘騙性的安全資源;惡意行為捕獲模塊通過監聽通信端口、掃描系統內存、識別敏感權限來捕獲惡意行為;惡意數據分析模塊分析捕獲數據,識別和定位安全威脅的類型和根源。結果表明:MHP可有效地捕獲和識別惡意行為并適于在移動終端部署應用。
惡意行為;移動蜜罐;欺騙環境;行為捕獲
隨著無線網絡的普及和移動智能終端集成功能的增多,移動智能終端面臨越來越多的安全威脅。2004年出現第一個手機病毒Cabir,在塞班操作系統上通過手機藍牙傳播[1]。Dunham[2]定義了移動設備可能遇到的安全威脅,如Ad/Spyware、Bluebug、BlueChop、Denial-of-Services(DoS)、Trojan等。傳統的安全防御技術主要為防火墻、入侵檢測、蜜罐技術。相比入侵檢測和防火墻,蜜罐技術可以提供更為主動的防御手段。Honeynet project創始人Lance Spitzner對蜜罐的定義是:一種安全資源,其價值在于被探測、掃描和攻擊[3]。蜜罐技術本質上是一種對攻擊方進行欺騙的技術,通過布置一些作為誘餌的網絡服務或者信息,誘使攻擊方對其實施攻擊,從而達到對攻擊行為進行捕獲和分析,了解攻擊方所使用的工具和方法,推測攻擊意圖與動機,能夠讓防御方清晰地了解所面對的安全威脅,并通過技術和管理手段來增強實際系統的安全防護能力。
本文針對移動智能終端平臺安全威脅的蜜罐技術研究與開發具有滯后性[4],基于移動智能終端平臺研究,設計并實現移動蜜罐,通過構建欺騙環境誘捕惡意軟件攻擊,再通過仿真網絡服務、分析系統內存、獲取應用權限信息,捕獲其惡意行為,最后分析惡意行為應用的意圖與特點,提示用戶移動終端存在的安全威脅,提高用戶的安全意識。
蜜罐技術最早用于PC端的安全防御。早期蜜罐工具DTK通過提供欺騙性服務監聽網絡端口[5]。蜜罐獨特的優勢如:①數據價值高,訪問蜜罐的數據是由攻擊者發出的,可以認為蜜罐收到的數據都是攻擊數據,可見蜜罐的數據價值比其他方法收集到的數據要高很多;②使用簡單,管理員只需將蜜罐部署在網絡中的某個區域,然后定期記錄和分析產生的數據即可;③資源占用少,蜜罐自身不提供真實服務,因此數據流量比防火墻和入侵檢測系統相比也少得多。同時蜜罐技術也有指紋識別、視野有限和風險較高等缺點。Provos[6]開發了Honeyd軟件,通過構建虛擬網絡拓撲結構、模擬網絡協議與在協議棧指紋特征上偽裝成特定的操作系統,實施對攻擊者的欺騙。隨著移動智能終端的快速發展,對新平臺安全威脅進行監測與分析的蜜罐技術得到了一定的關注。早期移動蜜罐的關注點在藍牙通信[7-8],當前移動蜜罐重點在于檢測移動設備的惡意軟件[9-10]。Mulliner等[11]首次提出將蜜罐技術應用在移動設備上。Wahlishch等[12-13]從無線網絡的快速發展分析移動蜜罐的發展前景。Oconnor[14]提出能夠仿真手機藍牙、GPS和WIFI的虛擬蜜罐軟件HoneyM。HoneyM由Python語言開發,適用于蘋果IOS操作系統,支持軟件復用,交互性較低。Collin[15]針對安卓平臺,通過硬件的模擬仿真設計Honeydroid。Honeydroid不支持軟件復用,交互性較高[15]。移動蜜罐MHP具有高移動設備適用性、高擴展性和高可見性,是未來蜜罐技術的發展方向。
根據蜜罐運行的核心機制,本文提出的移動蜜罐MHP由3個核心模塊組成:環境欺騙模塊、惡意行為捕獲模塊和惡意行為分析模塊。
環境欺騙模塊通過強制關閉查毒軟件,暴露移動終端的系統資源吸引惡意程序對其進行攻擊;惡意行為捕獲模塊通過監聽通信端口、掃描系統內存、識別敏感權限來捕獲應用惡意行為;惡意行為分析模塊分析捕獲的可疑數據,識別、定位惡意應用程序。本文提出的MHP整體架構,如圖1所示。

圖1 MHP架構Fig.1 MHP architecture
2.1環境欺騙模塊
MHP的環境欺騙模塊用于構造出具有誘騙性的安全資源,吸引惡意程序對其進行探測、攻擊和利用。環境欺騙模塊的主要實現方式為:真實系統搭建和模擬仿真。真實系統搭建可以較容易地構造出具有誘騙性的環境,交互性較高;模擬仿真通過第三方應用構造出誘騙性的系統環境,交互性較低,因此,根據交互性蜜罐分為高交互蜜罐和低交互蜜罐。MHP通過模擬仿真網絡協議和系統內存的方式構造欺騙環境,達到跟真實系統一樣的效果。仿真協議負責偵聽各個端口的惡意連接,根據各自協議的要求提供對應接口。MHP支持惡意軟件傳播的多種方式,如FTP、HTTP和TELNET等。環境欺騙模塊中也可添加更多的協議,如HTTPS和SSH,其模塊設計流程如圖2所示。

圖2 環境欺騙模塊設計流程Fig.2 Design process of fraudulent environment module
2.2惡意行為捕獲模塊
惡意行為捕獲模塊是MHP的重要模塊。該模塊由3個線程組成:線程1通過服務協議的仿真來捕獲有安全威脅的應用,仿真的服務協議包括FTP、HTTP和TELNET,Android底層使用Linux內核,通過指令獲取系統運行中應用的端口號、服務名稱等信息,將獲取的信息存入模擬服務數據表中;線程2主要捕獲DOS攻擊,惡意行為捕獲模塊通過周期訪問系統內存,獲取內存占用情況,將內存占用信息存入內存使用數據表中;線程3捕獲惡意軟件的權限信息。通過周期掃描手機已安裝應用程序的權限信息,查看是否有敏感權限,將獲取的敏感權限信息存入敏感權限數據表,最后將模擬服務數據表、內存使用數據表、敏感權限數據表中的數據同步到安全威脅數據庫。惡意行為捕獲模塊的設計流程,如圖3所示。
2.3惡意行為分析模塊
惡意行為分析模塊識別、分析可疑數據并定位安全威脅。惡意行為分析模塊的數據來源為安全威脅數據庫中的模擬服務數據表、內存使用數據表和敏感權限數據表。惡意行為分析模塊的設計流程,如圖4所示。目前,惡意軟件一般通過網絡協議傳播,所以在該模塊中通過查詢模擬服務數據表確定應用對應的網絡端口,結合用戶當前的操作判定存在惡意服務的應用。在內存使用數據表中通過查看限定時間內應用程序內存占用情況,判定是否發生DOS攻擊。在敏感權限數據表中通過獲取應用的權限信息,并使用Wxshall算法檢測用戶敏感數據,判定應用是否有惡意權限行為。最終將分析結果反饋給用戶,提高用戶的安全意識。Wxshall算法步驟,如表1所示。

圖3 惡意行為捕獲模塊設計流程Fig.3 Design process of malicious behavior capture module

圖4 惡意行為分析模塊設計流程Fig.4 Design process of malicious behavior analyzing module

表1 Wxshall算法Tab.1 Wxshall algorithm
在Eclipse環境下使用Java編程實現MHP原型系統。Android的4層體系結構中,上一層的實現依賴下一次的支持,下一層也為上一層的實現奠定基礎,如圖5所示。

圖5 Android架構Fig.5 Android architecture
本文設計實現MHP的3個核心模塊為環境欺騙模塊、惡意行為捕獲模塊和惡意行為分析模塊,其對應核心功能為MHP.serviceBasis、MHP.core和MHP. judge,模塊結構如圖6所示。

圖6 MHP模塊結構Fig.6 MHP module structure
環境欺騙模塊的核心類包括ConnectivityManager、HoneypotProtocol等;惡意行為捕獲模塊的核心類包括PackageManger、ActivityManager等;惡意行為分析模塊的核心類包括ShellcodeHandler、TansferLog等。
3.1環境欺騙模塊的實現
環境欺騙模塊用HoneypotProtocol類管理仿真協議和ProtocolProcessing類管理仿真協議。環境欺騙的具體實現步驟為:
1)通過Android系統提供的ConnectivityManager類獲取移動設備目前的網絡狀態,若移動設備未連接網絡則開啟網絡連接。
2)通過Android系統提供的PackageManager類獲取已安裝的應用程序的名稱、PID等,識別系統是否存在目前主流的殺毒軟件,若存在則通過Kill-9 PID指令強制關閉該應用,構造出欺騙性環境,其實現流程如圖7所示。
3.2惡意行為捕獲模塊的實現
惡意行為捕獲模塊后臺運行3條線程。線程1啟動時通過調用Android系統提供的PackageManager類獲取已安裝應用的信息,周期執行cat/pro/net/tcp指令,獲取21、23、80端口和對應的UID信息,查詢應用程序表確定應用程序對應的包名,將信息傳到應用程序表中。線程2通過Android系統提供的ActivityManager. getRunningAPPProcessInfo()獲取正在運行的進程ID,再通過ActivityManager.getProcessMemoryInfo()獲取相應進程號的內存占用情況,周期性獲取進程的內存信息,存入內存使用數據表。線程3通過調用Android系統提供的PackageManger類中的getPackageInfo()函數返回對象的requested Permission并查看應用程序的權限信息,同時將權限信息存入權限信息表中。

圖7 欺騙環境模塊實現流程Fig.7 Realization process of fraudulent environment module
其核心代碼如下:

3.3惡意行為分析模塊的實現
惡意行為分析模塊通過ShellcodeManager類管理、提取惡意代碼的重要參數實現惡意行為的分析判定。TansferLog類負責將獲取到的安全威脅報告給用戶。線程1通過獲取用戶的任務棧,判斷應用是否處于棧頂,若應用處于棧頂,則為正常應用程序;若不處于棧頂,則應用為惡意程序。通過Android系統提供的ActivityManager的getMemoryInfo查看相鄰時間段應用占用系統內存的變化分析判定是否發生DOS攻擊。若短時間內內存占用增長過快則可認定發生了DOS攻擊。通過userPermissionName獲取應用權限的詳細信息,并與權限信息表中的信息比對分析判定惡意權限。如果出現android.permission.READ_LOGS,android. permission.Brick,android.permission.DELETE_PACKAGS等權限,則判定應用為惡意應用。android.permission. READ_LOGS權限讀系統底層日志,良性軟件運行均不需讀系統底層日志而且此權限可以獲取移動設備的敏感信息。android.permission.Brick權限能夠禁用移動設備,使移動設備變成磚頭。android.permission. DELETE_PACKAGS權限允許程序刪除應用。惡意行為分析模塊的實現流程,如圖8所示。

圖8 惡意行為分析模塊實現流程Fig.8 Implementation process of malicious behavior analysis module
為驗證本文提出的MHP的有效性,構建的測試環境如圖9所示。基于本文提出的MHP模型,采用J2SE技術設計并實現。以Android 4.0平臺為測試環境進行軟件行為檢測,在該環境下部署了移動手機、筆記本計算機、平板電腦等多種無線終端和移動辦公設備,在其中的一臺Galaxy Nexus手機上部署MHP,在一臺筆記本的WindowsXP SP3系統中運行多種惡意軟件。Galaxy Nexus手機的配置如下:
CPU:1.2GHz dual-core ARM Cortex-A9
OS:Android 4.2.2
Linux內核:3.0.31
在測試試驗中,通過運行筆記本的惡意軟件對部署MHP的手機進行滲透和攻擊。在試驗過程中,Galaxy Nexus手機上的MHP發現并捕獲了絕大部分的惡意軟件攻擊行為。

圖9 MHP驗證實驗部署Fig.9 MHP deployment
MHP為用戶提供了多種服務選擇,如HTTP、Telnet、FTP、敏感授權、Dos攻擊發現等,如圖10所示。

圖10 MHP用戶選擇服務界面Fig.10 UI of MHP
MHP對惡意軟件的捕獲結果如圖11所示,其成功地檢測到3個HTTP惡意軟件、1個Telnet惡意軟件,發現1個敏感權限的應用。

圖11 MHP運行結果Fig.11 MHP running result
此外,在研究檢測攻擊有效性的同時也需要考慮MHP在移動終端上的電量消耗情況,以便能有效利用手機的有限資源,滿足移動終端應用的低耗電量要求。使用PowerTuror[16]工具,對MHP、微信、QQ空間、360安全衛士進行了電池電量消耗檢測。在1 h內,對上述4個應用在同一個Galaxy Nexus手機上的電池電量消耗情況進行了檢測和記錄,得到了幾款應用的電池耗電量對比分析結果:MHP與其他幾款應用相比具有較低的耗電量,表明MHP適用于在移動終端部署并應用,如圖12所示。

圖12 耗電量對比分析Fig.12 Power consumption analysis
本文提出了一種MHP系統架構,設計并實現了MHP的核心功能模塊及核心類和函數,并在實際環境中驗證了MHP的適用性。通過與其他幾個主流蜜罐的對比可見,MHP具有高復用性、高移動終端適用性和低交互性的特點,如表2所示。

表2 MHP與主流蜜罐的對比Tab.2 Comparison between MHP and other honeypots
為使MHP具有更好的適用性,未來針對MHP的改進工作主要包括:多平臺支持、多用戶模式支持、界面優化和電量消耗優化。
[1]SYMBIAN.Sistema Operacional Symbian[EB/OL].[2012-03-01].http://licensing.symbian.org.
[2]DUNHAM K.Mobile malware attacks and defence[J].Elsevier,2009,7 (3):137-146.
[3]SPITZNER L.Honeypot:Tracking Hackers[M].北京:清華大學出版社,2004:30-35.
[4]諸葛建偉,唐勇,韓心慧.蜜罐技術研究與應用進展[J].軟件學報, 2013,24(4):825-842.
[5]MICHAEL V,JUSTIN M,JAY C,et al.Scalabilit Delity and Containment in the Potemkin Virtual Honeyfarm[C]//Proceedings of the ACMSymposium on Operating System Principles,USA,2005:71-84.
[6]PROVOS N.Honeyd:A Virtual Honeypot Daemon[R].Addison-Wesley,2003:189-194.
[7]Nepenhes Readme[EB/OL].[2009-03-20].http://nepenthes.carnivore. it/documentation:readme.
[8]ZOLFAGHAR K,MOHAMMADI S.Securing Bluetooth-Based Payment System Using Honeypot[C]//International Conference on Innovations in Information Technology,San Francisco,2009:21-25.
[9]GOBEL J.Automatic Capturing of Malicious Software[R].Mannheim: University of Mannheim,2010.
[10]SPITZNER L.Honeypots:Catching the InsiderThreat[C]//2003 IEEE Computer Security Applications Conference,California,USA,2003: 170-179.
[11]MULLINER C,LIEBERGELD S,LANGE M.HoneyDroid-Creating a Smartphone Honeypot[C]//IEEE Symposium on Security and Privacy, USA,2011:151-160.
[12]WAHLISCH M,TRAPP S,KEIL C,et al.First Insights from a Mobile Honeypot[C]//ACM SIGCOMM Conference on Applications,Technologies,Architectures,and Protocols for Computer Communication.Helsinki,Finland ACM.2012:305-306.
[13]WAHLISCH M,SCHMIDT T,VORBACH A,et al.Design,Implementation and Operation of a Mobile Honeypot[R].2013.
[14]OCONNOR T.Honeym:A Framework for Implementing Virtual Honey-Clients for Mobile Devices[C]//Proceedings of the Third ACM Conference on Wireless Network Security.New York,USA:ACM,2010:129-138.
[15]MULLINER C,LANG S,POSTER M.Honeydroid-Creating A Smartphone Honeypot[C]//IEEE Symposium on Privacy and Security,Poster. Oakland,USA,2011:155-158.
[16]YANG Z.PowerTutor-A Power Monitor for Android-Based Mobile Platforms[R].Michigan:University of Michigan,2012.
(責任編輯:楊媛媛)
Mobile honey pot design and implementation
XIE Lixia,WANG Chong
(College of Computer Science and Technology,CAUC,Tianjin 300300,China)
Aiming at the increasing attacks to intelligent mobile terminals,MHP(mobile honeypot)is proposed to decoy, capture and analyze malwares.MHP contains three kernel modules:the decoy module creates fraudulent environment,the malicious behavior capture module catches malicious behaviors through monitoring communication port,scanning system memory and identifying sensitive permissions and the malicious data analyzing module indentifies the types of security threats.Results show that MHP can capture malicious behavior effectively and is suitable for deploying on mobile terminals.
malicious behavior;mobile honeypot;fraudulent environment;behaviors intercept
TP393.08
A
1674-5590(2016)05-0045-06
2015-06-01;
2015-07-07
國家科技重大專項(2012ZX03002002);國家自然科學基金項目(60776807,61179045);天津市科技計劃重點項目(09JCZDJC16800)
謝麗霞(1974—),女,重慶人,副教授,碩士,研究方向為網絡與信息安全.