移动蜜罐MHP的设计和实现

2016-12-06 06:55谢丽霞
中国民航大学学报 2016年5期
关键词:蜜罐数据表线程

谢丽霞,王 冲

(中国民航大学计算机科学与技术学院,天津 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],基于移动智能终端平台研究,设计并实现移动蜜罐,通过构建欺骗环境诱捕恶意软件攻击,再通过仿真网络服务、分析系统内存、获取应用权限信息,捕获其恶意行为,最后分析恶意行为应用的意图与特点,提示用户移动终端存在的安全威胁,提高用户的安全意识。

1 相关研究

蜜罐技术最早用于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具有高移动设备适用性、高扩展性和高可见性,是未来蜜罐技术的发展方向。

2 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

3 MHP的实现

在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

4 测试与分析

为验证本文提出的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

5 结语

本文提出了一种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—),女,重庆人,副教授,硕士,研究方向为网络与信息安全.

猜你喜欢
蜜罐数据表线程
基于C#线程实验探究
湖北省新冠肺炎疫情数据表(2.26-3.25)
湖北省新冠肺炎疫情数据表
湖北省新冠肺炎疫情数据表
基于国产化环境的线程池模型研究与实现
◆素材
蜜罐蚁
线程池调度对服务器性能影响的研究*
被自己撑死的蜜罐蚁
哈密瓜:乡间蜜罐