手机银行是为用户完成交易,随时随地方便。毕马威预测,手机银行的用户群将由2019增长到1.8美元。而且,当涉及到钱,坏人总是找到创造性的方式来偷。现在他们越来越多地在Android平台在他们的网上银行的电脑上一样。就在上周,新加坡银行协会(ABS)发布咨询在手机银行的恶意软件感染的Android智能手机和感染量大幅上升。我们的利益要在这个新兴的威胁进行深入研究,我们发现了一个Android恶意软件的目标,移动银行应用程序。
安装 这种移动端恶意软件通过其他恶意软件-一个独立的app或者用户登入恶意网站时进行他们不了解的下载更新进入到用户的手机中。
目前为止,我们把所有遇到的伪装过的样本归结命名为假冒的Adobe Flash Player,这个名字并不奇怪,大家都知道"Adobe Flash Player"这个梗(这个东西今年被曝出很多漏洞啊,还有0day什么的,大家都懂的)。Adobe Flash Player所需的权限要比同类普通应用高的多(事实上,在某些情况下安卓并不支持它)。Player最引人注目的权限就是被激活为设备管理员,也就是需要安卓的最高权限,这点很容易被恶意软件操纵。从本质上讲,设备管理员权限赋予了这款恶意软件禁止用户强制停止和卸载app的权利,它的进程决定了移除它非常困难。
深入了解恶意代码
木马病毒的配置数据
如下图所示,恶意软件检索和解码它的配置文件,Base64编码,使用"@"解析,因此它可以以数组形式储存。
经过解码的Base64配置数据显示了它的C&C服务器,目标的应用程序,银行列表,C&C命令等等。
每当恶意软件需要特定的数据,它可以通过对于数组来说作为索引的硬编码整数值进行检索。如下面的代码所示,整数值14和46指向带有"type"和"device info"值的配置数组的索引。我们还可以看到C&C服务器和作为感染设备标志符的代码值来回应。
我们再来看下清单文件,然后就能很快发现样本想要做什么了。我们很确定这款恶意软件的目标就像我们之前提到的一样,针对手机银行和移动支付用户。下面是清单文件的截图:
这款恶意软件可以通过创建伪造银行窗口来进行网络钓鱼获取被然后用户的银行信息,如信用卡帐号、账单地址、银行用户名、PIN和密码等等。
下图是基于我们样本的被瞄准的银行和支付服务的列表:
接下来我们再看看恶意软件的核心功能及主要操作,尤其是执行数据窃取的一系列活动。
钓鱼技巧
当受害人打开合法手机银行或者支付app时,该恶意软件同时打开了它伪造的银行窗口,然后把两个窗口叠加,用户很难通过界面发现一个新的窗口被打开了。假冒的窗口和原生窗口非常类似。然而,当用户点击其他功能,比如编辑或者屏幕上的菜单功能时就能发现他们的区别了。在这里,假冒的界面没有任何反应,因为假的用户界面没法实现这些功能。
点击更多任务查看两种登录页面-第一个是合法的应用程序,第二个是伪造的Adobe Flash Player。
另外一些钓鱼窗口的例子,他们简直和合法窗口太像了:
收集登录凭证 像前面所说的,最重要的一部就是劝说受害者进入他们伪造的登录界面进行信息验证。因此,恶意软件需要做的第一件事就是决定确定用户使用的是什么公司的银行以及银行界面长什么样。
恶意软件定期检查设备上运行的app并通过getPackageName() API调用检索应用程序相关的界面名称然后把这个来自这个API的返回参数和下面这个目标应用程序名字列表进行比较:
金融应用程序:
com.commbank.netbankcom.cba.android.netbankau.com.nab.mobileorg.westpac.bankorg.stgeorge.bankcom.anz.android.gomoneynz.co.kiwibank.mobilenz.co.westpacnz.co.bnz.droidbankingnz.co.anz.android.mobilebankingde.dkb.portalappdk.bec.android.mb1.b00037.prodcom.hangseng.servicemenuappcom.scb.breezebanking.hkcom.citibank.mobile.hkat.bawag.mbankingat.erstebank.georgeat.spardat.netbankingcom.bankaustria.android.olbcom.dbscom.posbcom.ocbc.mobilecom.uob.mobilecom.paypal.android.p2pmobilecom.isis_papyrus.raiffeisen_pay_eyewdgcom.bbva.bbvacontigoes.bancosantander.appsSocial and communication applicationcom.android.vendingcom.google.android.musiccom.whatsappcom.viber.voipcom.instagram.androidcom.skype.raidercom.google.android.gm
如果匹配的应用程序被发现正在受感染设备上运行,负责回应的类会显示上映的伪造的登录页面。
下面的视频解释了一个真实的攻击情形,当用户的手机被感染时,他们的网上银行凭据是如何被窃取的。希望这个关于真实攻击的视频可以给你启示:
http://v.qq.com/page/x/4/x/x0176fpv44x.html
你可以从这个视频看出,当真实的DBS应用被触发时,受害者将看到一个假冒的DBS登录画面。之后你可以看到受害者会被要求进入这个登录界面两次。接下来,受害者将被重定向到合法的DBS应用GUI。
在假的登录界面截取的登录凭证就会被恶意软件发送的C&C服务器上:
截取一次性密码(OTP) 银行经常把短信作为一次性密码(OTP)发送给用户作为用户ID和密码之外的登录凭证。获取这种额外的登录凭证需要攻击者进入受害者的设备获取接入OTP的权限来获取OTP。
恶意软件通过把自己注册成安卓操作系统的SMS广播接收方来完成OTP获取工作。在这种理论中,只要受害者在安装时授予了软件合适的执行权限,恶意软件就能很轻松的完成这项工作,这种权限在清单文件中被明确的指出了。因此,所有接收的SMS都可以被很容易的劫持,SMS的内容可以被发送到攻击者的C&C服务器。
持久性机制 我们还有兴趣了解恶意软件的持久性机制是如何工作的。在清单列表的表住下,我们快速定位了持久性机制的入口点-android.intent.action.BOOT_COMPLETED 和 android.intent.action.ACTION_EXTERNAL_APPLICATIONS_AVAILABLE。但是,分析反编译源码并不是一项简单的任务,因为攻击者把java代码进行了模糊处理。好消息是模糊的代码可以被轻易地确定,因为只有一小部分垃圾代码和实际代码进行了混合。
清理Service Starter代码中的垃圾代码后,我们意识到恶意软件看起来回避了俄罗斯用户。这可能表明,这段恶意代码来自俄罗斯。
图 17
图18
我们可以从上图看出,恶意软件丢弃使用硬编码文件名的SD卡中的隐藏文件。
图19
结论 大多数安卓恶意软件app不会自动安装-他们需要用户参与来感染设备。所以如果你想让你的设备安全就需要在下载和更新应用程序时保持警惕。明智的做法是从Google Play商店这种安全的受信任的源来下载应用程序。
话虽这么说,恶意软件编写者也会提高钓鱼能力,让用户下载看起来像合法app的恶意软件并进行更新。安装安全软件更有助于保护用户的个人数据和设备上的在线交易资料。
主动检测恶意软件,如Android/Acecard.B!tr,C&C服务器就会被监测成Android.Acecard。
Fortiguard Lion Team
相关MD5哈希:
76745ce873b151cfd7260e182cbfd404702770d70c7aab793ffd6a107fd08dadeeab2f9137c59efdfae5db2b2b93f178d08b2f4d851b2505f4aed31ecfa53c2ea7e28a9efc8a6acb02d65829a6d773c2C&C服务器列表:
http://37.235.48.177:34580http://46.108.39.12:34580http://5.196.243.6:34580http://31.148.219.192:34580STIX xml的报告:https://github.com/fortiguard-lion/AceCard/blob/master/acecard.xml
如何删除恶意软件 第一步:把你的手机或者平板设置为安全模式。按住手机电源键知道手机提示你关机。接下来,点击并按住电源关闭直到手机提示你重新启动到安全模式,然后点击确定。如果你的设备没有翻译,你可以百度一下,"你的手机型号如何进入安全模式"。
图 20
第二步:在安全模式里,打开设置菜单,滑到安全选项进入。查看名叫设备管理员的一栏,点击进入。现在它会显示设备的管理员列表。移除它作为设备管理员的一项,停用恶意软件app Adobe Flash Player作为设备管理员。
图 21
第三步:进入设置带但,滚到应用程序,确保有下载选项。点击恶意软件app Adobe Flash Player,打开app info(app信息),然后点击uninstall(卸载)并确定。
图 22
第四步:用正常模式重启手机
更多如何找到恶意软件的指示 通过使用如文件管理或者安卓SDK工具的adb第三方应用,你可以浏览额外的存储信息,如SD卡等,然后你可以查看隐藏文件(在文件名前加.)。然后你可以查看每个隐藏文件,找到类似于图19中的文件名。
从设备管理员列表中查看任意不知名的或者没见过的应用,如图21所示。
|