BT

如何利用碎片时间提升技术认知与能力? 点击获取答案

对现有(不断蔓延)恶意移动软件的检测

| 作者 Hee Beng Kuan Tan 关注 0 他的粉丝 , Mahinthan Chandramohan 关注 0 他的粉丝 ,译者 陈菲 关注 0 他的粉丝 发布于 2013年5月29日. 估计阅读时间: 26 分钟 | 如何结合区块链技术,帮助企业降本增效?让我们深度了解几个成功的案例。

本文首先发布于Computer杂志上,现在由InfoQ & IEEE Computer Society在此为你呈献。

由于它的超级便携性和易用性,智能手机在多方面提高了我们的日常生活,它不仅提供了对互联网上丰富信息的即时访问,同时也带来了以下的各种功能:信用卡支付,视频会议和语言识别。根据Gartner的统计,仅在2011年第二季度就有超过4.28亿部移动设备售往世界各地,占到目前为止已售出移动设备总数的25%。IMS Research预计到2016年底,智能手机的年销售量将超过10亿部。

用户对移动手机的依赖不断增加,而这些设备所存储的大量个人信息使得它们成为恶意软件攻击的主要目标。自从2004年卡巴斯基实验室发现了移动手机第一个互联网蠕虫Cabir开始,恶意软件数量就随着智能手机的普及而不断增加。

调查为“现有”(移动应用市场上已有的恶意应用1)恶意移动软件背后的动机提供更好的解释。反过来这些信息又可以帮助移动安全研究者开发更新的技术来防止智能手机受到安全上的威胁。

什么是恶意移动软件?

恶意软件指的就是那些表现出恶意行为的软件,可以大致分类为病毒,僵尸网络,蠕虫和特洛伊木马。最初,恶意软件只是用来强调软件系统的安全漏洞。但它背后的动机已经开始慢慢改变,现在它的作者主要利用它来获取大规模的经济利益。在文献中已经提出了很多检测恶意软件的新技术,并且大多数已被Manuel Egele和他同事在2011年进行的全面调查中指出来2。尽管如此,对恶意移动软件的研究还依然处于初级阶段,同时恶意软件的开发者也才刚刚将他们的注意力转移到智能手机上。

除了恶意软件外,移动设备还面临着其它两大威胁:间谍软件和灰色软件1。间谍软件在受害人未知情况下收集类似用户位置,短信和电话记录。间谍软件并不属于非法范畴,因为它并不将信息发送给应用作者。但是未经过设备所有者同意就私自在移动电话上安装个人间谍软件是不道德的。

灰色软件令人厌烦,但是它远不及恶意软件来得严重。举个例子,灰色软件它不会影响计算机运行或收集敏感资料,但是它可能会改变用户的字体颜色或安装烦人的弹出框。灰色软件在智能手机中非常常见,并刚刚处于法律边缘:作者会描述他们的意图以及应用在隐私政策上的行为,但是用户往往直接就点击选择了“同意”,而忽略了声明上真正陈述的内容。

很多研究人员已经将恶意移动软件根据它们的作者意图及应用在行为上的相似度做了分类了1。由该链接获得的表1总结了其中最重要的例子。

表1.现有恶意移动软件的行为分类概述

恶意行为

描述

提供新颖和娱乐

主要用于玩乐或炫耀作者的技术能力;并不严重;不会产生有目的破坏。举例:Android.Walkinwat

出售用户信息

秘密收集用户细节,比如:地点,安装软件,下载历史和通讯录;然后将这些细节销售给广告商或市场人员。举例:DroidDreamLight

窃取用户信用

捕捉用户信用,比如:通过秘密监听文本信息获取银行账户信息,通过键盘纪录、文件扫描和发动网络钓鱼攻击获取按键信息。举例:Ikee.B

操纵提交内容

产生高费用电话或文本信息,可能用于提交类似技术支持,股票报价或成人服务等内容。举例:FakePlayer

发送垃圾短信

发送多条通常包含广告和网络钓鱼链接的垃圾短信给移动电话。举例:Geinimi

操纵搜索引擎优化

提高网站在搜索引擎结果中的排名。举例:Hong TouTou

恶意软件检测技术

可用于检测恶意移动软件及其他安全漏洞的技术有它们各自不同的优点和弱点。

静态分析

静态分析不用通过执行代码来发现应用中的恶意行为或糟糕代码段,是一个快速而相对低廉的方法。当可疑应用程序被第一次评估检测出有任何明显的安全威胁时,图1所展示的技术就被广泛用来做初始分析。

图1a展示了一个针对Symbian系统的恶意软件检测技术3。该技术使用了IDA Pro来解析移动应用和提取系统调用(特征提取)。然后它使用Centroid Machine,一个轻量级集群机制,来将移动应用分类为恶性或良性(异常检测)。然而,对于一个统计学方法(机器学习法),目前恶意软件样本还是太少,仅有33个恶性和49个良性移动软件?此外,研究人员只在流行的应用上测试了该方法,对于在正常或较冷门的应用上的性能目前还不清楚。

图1b展示了PiOS的使用,一个推荐在iOS应用程序二进制文件上进行静态污点分析的技术4。PiOS将移动应用分解,并构建一个控制流程图(CFG)。该分析认为流程路径来自比如:通讯录,当前GPS坐标,键盘缓存,唯一设备标识和其他手机相关信息等敏感情报。数据流分析会检测任何由底端传输到同步信息,会导致隐私泄漏的敏感数据。使用PiOS测试Apple应用商场里825个免费应用和Cydia的BigBoss库里582个应用得出,超过50%的应用会在用户不知情情况下泄漏唯一设备标识。但是,PiOS只能在单一应用内检测隐私泄漏,当检测两个或两个以上应用传递链的时候则会失效。

图1c展示了一个专门为Android推荐的恶意软件检测技术5。该技术使用ded,一个Dalvik反编译器,来从应用的安装镜像中生成Java源代码;然后使用Fortify SCA,一个静态代码分析套件,来评估所恢复的源代码。尽管研究人员在多达1100个常用应用上测试过该软件,但一般来说,它仅限于那些使用相对较少权限和API调用的程序。

动态分析

与静态分析不同,动态分析需要在一个隔离的环境中执行移动应用,比如在一个虚拟机或模拟器上,这样研究人员才能监控该应用的动态行为。研究人员主要在进行污点跟踪或系统调用追踪的时候使用动态分析。

TaintDroid为Android提供了系统级的动态污点跟踪6。如图2a所示,移动应用在Dalvik虚拟机上展开了4种粒度的污点渗透:变量,方法,信息和文件。污点跟踪将任何来自敏感源的可疑信息都打上标记,比如:地点,话筒,相机及手机其它标识符。该技术通过修改本机的库加载器来确保所有的本地库都在虚拟机中被调用过,进而防止不信任应用直接执行本地方法。最后,动态分析会在数据离开系统前,在网络接口(一个漏洞引爆点)处将任何可能会造成敏感数据泄漏的数据显示出来。

通过使用TaintDroid测试了30个流行的Android第三方应用发现,在用户不知情的情况下,其中有15个应用将用户位置信息分享给广告商,7个将手机标识符分享给远程服务器6。尽管如此,TaintDroid可能会出现错误否定或错误肯定的结果。同时,它仅仅关注数据流,对其它漏洞则不予考虑。

Android应用沙箱(AASandbox)为Andoird应用提供了两步分析7。如图2b所示,移动应用通过AASandbox来离线执行静态和动态分析。静态分析将应用的二进制镜像文件分解,然后使用分解文件来查看任何可疑模式。动态分析在Android模拟器中执行二进制文件并记录系统调用。尽管研究者使用Android Monkey(ADB Monkey)来生成输入数据,但是还是没有通过实际用户测试来得有效7。另外,该方法还没有在具有多态行为或加密代码片断的恶意软件上测试过。

应用权限分析

权限在移动应用中起着至关重要的作用:它为用户传递了应用的意图及后台行为。在智能手机里,权限是明确规定的,应用作者必须要申请相应的权限。但是,有些作者会刻意隐藏应用中使用的权限,从而导致了应用漏洞。

图3显示了Kirin,Android的一个应用认证8。Kirin会在应用安装时对其进行一个权限检测。当用户安装一个应用时,Kirin会提取它的安全配置,然后对应它已有的安全策略规则对其进行检测。如果一个应用没有通过所有的安全策略规则,那么Kirin要么将其删除,要么通知用户。

以下就是从一个Kirin中提取出来的策略规则例子:

一个应用不可以有PHONE_STATE,RECORD_AUDIO或INTERNET权限标签

该规则保证了在用户用手机谈话时,应用程序不会录制或访问网站,从而防止了设备端的通话窃听。

通过使用Kirin测试311个常见应用显示:该规则标志出了10个应用,其中有5个带有可疑行为8。Kirin仅检测应用程序作者的权限请求,但不检查应用如何使用这些权限。

David Barrera和他的同事在1100个Android应用上进行了权限检测,并使用自组织图(self-organizing maps:SOMS)将应用及其权限请求之间的关系可视化了9。尽管如此,SOMs也只关注应用程序作者的权限请求,而不检查应用如何使用这些权限。

一个包含100个付费应用和856个免费应用,针对Android应用权限请求的研究表明,大约有93%的免费应用和82%的付费应用中至少含有一个危险的权限请求10。Internet权限是最常见的危险权限。但是,仅仅对恶意移动软件进行权限请求检测和分析是不够的;必须同时进行静态或动态分析。

基于云的检测

由于有限的计算能力和能量源,智能手机并不携带功能齐全的安全机制。在一个Android HTC G1设备上进行一个简单的文件扫描需要将近30分钟,并减少了2%电池电量11。报告显示,一个扫描应用在HTC G1上的运行速度要比台式机慢11.8倍,这强调了我们需要新的恶意移动软件分析技术12

图4a显示了Paranoid Android(PA),一个基于云的恶意软件检测技术,它将安全分析和计算移动到一个远程服务器上,而该服务器承载了多个运行在模拟器上的移动手机副本11。一个置于智能手机内的追踪器会纪录所有用于回应移动应用执行所需要信息。然后该追踪器将纪录信息传送给基于云的复原器,由复原器在模拟器上重现所有执行。该复原器可以利用云里的丰富资源执行多个安全检查,比如:动态恶意软件分析,内存扫描,异常系统调用检测,和商业病毒扫描。

PA使用一个代理来暂时存储入站网络流量信息,这样手机就不需要往服务器回发信息,从而节省了能量。而服务器也可以直接联系代理获取所需的网络流量信息来成功重现执行。然而,PA会导致一些重大开销,比如:增加了15%的CPU负载;在运行重量级任务时,需要多消耗30%能量。还有,由于跟踪系统是在用户空间执行追踪模式,这些调用会导致比本机执行要沉重得多的开销。举个例子,在用户空间跟踪单个类似read()的系统调用需要0.7毫秒,而在内核中只需要0.1毫秒。

图4b描述了Crowdroid,一个针对Android基于行为的恶意移动软件检测技术13。Crowdroid是个轻量级客户端应用,它监控由目标移动应用产生的系统调用,预处理这些调用,然后发送给云,最后由云的集群技术帮助鉴定该应用是良性还是恶性。对Crowdroid的使用不断增加将提高恶意软件检测技术,但是使用该方法一开始可能会出现错误的测试结果,因为目前的样本量依然非常小。另外,用户对于要把他们的应用行为发送给第三方将有什么样的反应,还不大清楚。而且如果完全依赖用户行为的话,其产生的结果可能也不大准确。CloudAV是一个基于云的防病毒文件扫描机制,但是它缺少相应的功能来检测零时攻击,远程供给和内存驻留攻击14

电池寿命监控

由于智能手机的电池能力有限,通过观察电池消耗有时可以鉴定出恶意应用,因为这些恶意软件通常比良性的消耗更多能量。如果正常用户行为,当前电池状态,及其它领域特定细节(比如:信号强度和网络流量)已知的话,则能更准确检测出隐藏的恶意行为。

针对VirusMeter的执行能力,研究者已经在Symbian系统里相对较小范围的恶意软件上进行了测试15。尽管如此,由于VirusMeter完全依赖以用户为中心的功率模型,不可预测的用户行为及恶意注入假事件会影响功率模型的正确性。另外,该方法对于有多任务功能的智能手机并不适用。

智能手机保护技巧

尽管已经有多种工具和技术可用于检测恶意攻击和保护智能手机,但用户还必须意识到可能的安全威胁及其后果。已经被广为人知的是:用户的疏忽和对可能威胁缺乏意识往往帮助了安全攻击的成功。

以下几个实践可以很好地帮助保护智能手机,防止可能的威胁:

  • 安装一个好的移动安全应用来保护智能手机不受攻击,并在发生可疑事件时通知用户。
  • 从可信的,正式的应用提供商那下载所有移动应用。避免从不可信的第三方应用商店下载任何东西。
  • 在安装应用前,应先阅读评论及其等级评估,哪怕其作者是广为人知的。
  • 在安装过程中,确保阅读应用发出的权限申请。如果有可疑之处,就不要安装应用。最好在网页上留言以帮助其他人。
  • 在不使用Wi-Fi,蓝牙或红外线的时候,关闭它们。在连接不安全的公共Wi-Fi时要小心,其中包括使用防火墙,禁用共享,使用SSL或虚拟专用网。
  • 保证应用的更新的同时,确保防火墙的即时更新。
  • 将所有保存在手机里的机密数据加密,并定期备份。确保敏感信息不缓存在本地。
  • 在任何可能的情况下,为机密文件和应用设置密码。
  • 不要点击任何可疑或不可靠的互联网连接。如果绝对需要的话,通过在浏览器上键入其URL来访问,不要在浏览器上拷贝粘贴链接。这有助于防止手机受到驱动式下载攻击。
  • 始终监视电池寿命,短信和通话费用。发现任何不寻常行为应及时对最近安装应用进行一次彻底检查。很有可能该手机已经受到安全攻击了。
  • 最后,如果手机被偷了,应远程删除所有应用、联系人和机密数据,然后使用设备唯一标识ID来阻止被盗手机。

就算是一个有效的移动恶意软件检测工具,也几乎不能做到零失误。因此,遵循这些好的实践能帮助防止智能手机遭受现有大多数恶意软件威胁。

恶意移动软件不仅仅是一段恶意代码;它正在迅速成长,而且与地下经济紧密相连。因此,防止移动恶意软件攻击已经成为关键,而智能手机安全研究同时关注于检测和预防恶意应用感染移动设备。

由于智能手机有限的资源,能用来检测移动安全攻击的度量是有限的。为了解决资源有限问题,未来移动安全机制将充分利用云计算和分布式计算能力。

为了防止用户从不可信的第三方市场下载移动应用,智能手机制造商和平台开发者应确保移动设备得到了充分保障。智能手机新功能,比如:近距离无线通讯(NFC)支付服务,由于它们可能取代信用卡和物理纸币,将成为恶意软件作者下一个主要攻击目标。基于NFC的支付应用程序可以通过逆向工程接触存储的信用卡凭证,甚至开发出恶意软件来模拟一个合法软件。这些威胁可以通过对存储机密数据访问部署强大的加密机制,以及限制非授权开发者访问NFC卡来减轻。

最后,让用户参与到智能手机生态系统是成功实现大幅度降低恶意软件攻击的关键。

参考

1 A.P. Felt et al., “A Survey of Mobile Malware in the Wild,” Proc. ACM Workshop Security and Privacy in Mobile Devices (SPMD 11), ACM, 2011, pp. 3-14.

2 M. Egele et al., “A Survey on Automated Dynamic Malware Analysis Techniques and Tools,”ACM Computing Surveys, 2012;

3 A.D. Schmidt et al., “Detecting Symbian OS Malware through Static Function Call Analysis,”Proc. 4th Intl Conf. Malicious and Unwanted Software (Malware 09), IEEE, 2009, pp. 15-22.

4 M. Egele et al., “PiOS: Detecting Privacy Leaks in iOS Applications,”Proc. ISOC Network and Distributed System Security Symp. (NDSS 11), ISOC, 2011;

5 W. Enck et al., “A Study of Android Application Security,Proc. 20th Usenix Security Symp., Usenix, 2011;

6 W. Enck, “TaintDroid: An Information-Flow Tracking System for Real-Time Privacy Monitoring on Smartphones,”Proc. 9th UsenixSymp. Operating Systems Design and Implementation (OSDI 10), Usenix, 2010;

7 T. Blasing et al., “An Android Application Sandbox System for Suspicious Software Detection,”Proc. 5th Intl Conf. Malicious and Unwanted Software (Malware 10), ACM, 2010, pp. 55-62.

8 W. Enck, M. Ongtang, and P. McDaniel, “On Lightweight Mobile Phone Application Certification,”Proc. 16th ACM Conf. Computer and Communications Security (CCS 09), ACM, 2009, pp. 235-245.

9 D. Barrera et al., “A Methodology for Empirical Analysis of Permission-Based Security Models and Its Application to Android,”Proc. 17th ACM Conf. Computer and Communications Security (CCS 10), ACM, 2010, pp. 73-84.

10 A.P. Felt, K. Greenwood, and D. Wagner, “The Effectiveness of Application Permissions,”Proc. 2nd Usenix Conf. Web Application Development (WebApps 11), Usenix 2011;

11 G. Portokalidis et al., “Paranoid Android: Versatile Protection for Smartphones,”Proc. Ann. Computer Security Applications Conf. (ACSAC 10) ACM, 2010, pp. 347-356.

12 B.-G. Chun and P. Maniatis, “Augmented Smartphone Applications Through Clone Cloud Execution,”Proc. 12th Conf. Hot Topics in Operating Systems (HotOS 09), ACM, 2009, pp. 8-8.

13 I. Burguera, U. Zurutuza, and S. Nadjm-Tehrani, “Crowdroid: Behavior-Based Malware Detection System for Android,”Proc. ACM Workshop Security and Privacy in Mobile Devices (SPMD 11), ACM, 2011, pp. 15-26.

14 J. Oberheide, E. Cooke, and F. Jahanian, “CloudAV: N-Version Antivirus in the Network Cloud,”Proc. 17th Conf. Security Symp.,Usenix, 2008, pp. 91-106.

15 L.G. Liu, Y. Zhang, and S. Chen, “VirusMeter: Preventing Your Cellphone from Spies,”Proc. Intl Symp. Research in Attacks, Intrusions, and Defenses (RAID 09), LNCS 5758, Springer, 2009, pp. 244-264.

关于作者

MahinthanChandramohan是一名来自新加坡南洋科技大学,电气与电子工程学院的研究生。他的研究关注于检测和分析基于行为的恶意软件。Chandramohan从南洋科技大学获得了计算机工程的学士学位。可以通过此邮箱:mahintha001@ntu.edu.sg联系到他。

HeeBengKuan Tan也是南洋科技大学,电气与电子工程学院信息工程部门的一名副教授。他的研究关注于软件安全和软件测试及分析。Tan从新加坡国立大学获得了计算机科学的博士学位。可以通过此邮箱:ibktan@ ntu.edu.sg联系到他。

查看英文原文: Detection of Mobile Malware in the Wild

评价本文

专业度
风格

您好,朋友!

您需要 注册一个InfoQ账号 或者 才能进行评论。在您完成注册后还需要进行一些设置。

获得来自InfoQ的更多体验。

告诉我们您的想法

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我
社区评论

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

讨论

登陆InfoQ,与你最关心的话题互动。


找回密码....

Follow

关注你最喜爱的话题和作者

快速浏览网站内你所感兴趣话题的精选内容。

Like

内容自由定制

选择想要阅读的主题和喜爱的作者定制自己的新闻源。

Notifications

获取更新

设置通知机制以获取内容更新对您而言是否重要

BT