宋春
摘要:随着移动互联网的普及,移动安全问题日益突出,针对手机的木马病毒等软件迅速发展,其中,短信拦截马为互联网传播最为广泛的一种手机木马病毒。本文针对短信拦截马主要功能进行了简要的分析与研究,期望能对打击此类木马病毒案件有所帮助。
关键词:短信拦截马;MainActivity;SMSservice;加固;反制
中图分类号:TP393 文献标识码:A 文章编号:1009-3044(2016)24-0020-02
随着移动互联网的普及,移动安全问题日益突出,针对手机的木马病毒等软件迅速发展,利用手机木马病毒进行网络犯罪的事件呈现爆发式增长趋势,手机用户面临前所未有的安全风险。其中,短信拦截马作为一个功能简单、开发成本低、获利颇高的非法牟利手段,很快就成为互联网传播最为广泛的一种手机木马病毒。
1 短信拦截马传播过程
短信拦截马,顾名思义是一种可以拦截受害者手机中短信内容的木马,并通过网络秘密的将受害者手机中的短信内容发送到攻击者的手机或者邮箱中。
短信拦截马的主要传播过程如下:首先,攻击者通过伪基站或者短信猫的方式定向发送社工欺诈短信;然后诱导用户点击欺骗短信中包含的短链接,当用户点击恶意链接后,就会从远程服务器上下载安装用于拦截用户手机短信的短信拦截马;当用户手机安装此木马程序后,该用户手机就变成了一个“肉鸡”,此时木马程序就会在后台默默地向攻击者指定的邮箱中发送用户手机上的所有短信息内容。
2 短信拦截马主要功能与分析
2.1短信拦截马主要功能
短信拦截马的主要功能如下图1所示。经分析可见,一般的短信拦截马及其“变种”大都提供了以下几种基本功能:
1)激活设备管理器防止被用户正常卸载;2)禁用MainActivity组件隐藏图标;3)短信通知攻击者中招肉鸡已上线;4)异步邮件发送受害者通讯录以及短信记录;5)启动后台服务进程实时监控用户短信和系统行为。
2.2具体的短信拦截马简要分析
短信拦截马通常伪装成中国移动10086掌上营业厅、聚会相册、车辆违章、校讯通等手机APP客户端方式诱导用户安装。
下面以一个具体的校讯通短信拦截马为例,具体分析一下该类木马的主要功能。首先,利用APKKiller逆向分析查看“校讯通.apk”的总体结构,经过反编译后的短信拦截马程序,主体结构由META-INT文件夹下的签名文件,res资源文件夹下各类资源,smali代码,以及配置文件AdroidManifest.xml等组成。
根据配置文件AdroidManifest.xml,发现校讯通短信拦截马主要申请了短信收发、读取联系人、开机自启动、联接互联网等权限。由这些权限,基本可以判定这是一款典型的短信拦截马,因为此类短信拦截马及其变种基本上都需要申请这些权限。
接着,继续分析短信拦截马的主入口点MainActivity,由图2可以看出,此拦截马程序主要包含两个Activity,一个程序的主入口点MainActivity,另一个DeleteActivity。 MainActivity的主要功能有: 1)禁用MainActivity组件隐藏图标;2)激活设备管理器防止被用户正常卸载;3)短信通知木马使用者肉鸡已上线;4)异步邮件发送受害者通讯录以及短信记录;5)启动后台服务进程实时监控用户短信和系统行为。
下面,进一步分析此短信拦截马的Service,校讯通短信拦截马共包含有3个Sevice, BootService、SecondService、SmsService。其中BootService和SecondService的主要功能是:(1)为了保持短信拦截马程序的兼容性,该拦截马同时注册了短信广播接收器和观察者模式,如下图3所示;(2)被Destory后重新自启动。
其中,SmsService的主要作用是木马使用者通过发送远程控制命令(ALL,SOME和NO命令)来控制受害者手机是否或者部分转发短信内容的功能,另外还可实现拦截马到期时间查询(命令TIME),以及获取受害者设备信息等功能。此外,SmsService还实现了短信息收发服务功能。
3 对短信拦截马加固后的反制
木马制作者为了逃避公安机关的打击,许多新型的短信拦截马往往通过多种措施来对木马进行加固处理。
1)通过加壳方式加固
木马编写者为了对抗反编译技术,通常对木马进行加壳处理。加壳的基本原理就是在对源APK程序进行加密,然后再套上一层壳即可。由此可知,对Android的apk木马程序进行加壳处理,需要三个对象(1)需要加密的源apk木马程序;(2)壳apk程序;(3)对源apk进行加密的加密工具。
对apk木马程序进行加壳的主要过程为:首先通过加密算法对源apk进行加密处理,再将壳程序apk与加密后源apk程序进行合并得到新的apk程序。此时得到的apk程序已经不是严格意义上的apk程序了,它多了一些功能,负责解密源apk程序,然后加载apk,让其正常运行起来。目前,市面上比较流行的加壳工具有APKProtect加壳工具。
那么如何对加壳的apk木马程序进行反编译。对于常见的加壳方式, JEB或者APKKiller反编译工具,一般会自动检测出加壳工具,并自动进行脱壳处理。而对于使用动态链接库对apk程序进行加壳的情况,例如使用libcore.so动态连接库对apk程序进行加壳处理后。此时脱壳处理就比较麻烦,往往需要使用IDAPro进行反汇编,逐行分析源代码,再从中找出可疑的邮箱帐号和密码。
2)通过加密方式加固
木马编写者除了使用加壳程序对源apk程序进行加固外,往往木马编写者还会对木马中的敏感数据进一步进行加密处理。常见的加密方式有利用DES、AES等算法对拦截马中的回传邮箱帐号与密码,以及通知木马使用者肉鸡上线的手机号码进行加密处理。
当遇到此类加密后的敏感字符串时,通常的处理方式是先查找到解密算法类,而后通过交叉引用查看哪些类调用了这些解密算法类;通常,那些调用了解密算法类的类中基本都会向解密算法类传递解密密钥,如图4所示;当有了解密密钥,就可以利用网上的解密工具对拦截马中加密的敏感字符串进行解密了。
4 总结
通过以上分析我们基本了解了短信拦截马的技术原理及实现方式。由于短信拦截马制作简单,不断的产生变种,然后在社会广泛传播,使广大群众深受其害。在此,真切期望广大用户能够对来历不明的短信提高警惕,不要随便点击,以便在最大程度上避免自己的隐私和财产受到此类木马病毒诈骗的威胁。
参考文献:
[1] 李维强.电信诈骗犯罪的规律特点及治理对策问题研究[D]. 兰州大学,2012 .
[2] 戴刚,郝俊华,李少华. 垃圾短信实时拦截系统建设研究与探讨[J]. 网络安全技术与应用,2010(11).
[3] 王明. 基于实时流技术的诈骗短信预警系统的设计与实现[J].软件,2015(1).
[4] 宫路,潘超. 手机短信诈骗犯罪侦查研究[J].广州市公安管理干部学院学报,2009(01) .