APK分析常识和最新技术文章
数字加密货币的造富神话,不止吸引了各行业的投入,且随着比特币价格的疯狂上涨,挖矿木马的攻击事件也越来越频繁,呈爆发式增长。起先是绑架用户的电脑,现在已经蔓延到利用几乎人手一部的智能手机来替自己挖矿牟利。互联网安全中心的调查主要是集中在Android平台上。
在电脑端,现阶段有两种途径可利用挖矿工具来获利,一是比较传统的、直接把用户流量导向挖矿网站的,其次则是新兴的手法,由内容网站自行建置挖矿能力,而不必再与挖矿网站分享利润。根据分析DNS流量,Alexa流量前30万的网站中有629个嵌入挖矿工具,其中色情网站就占了将近一半,其次是诈骗网站(7.5%)、广告网站(7.3%)、挖矿网站(7.1%)等等。
从网站来看,据Adguard数据显示,2017年近1个月内在Alexa排行前十万的网站上,约有220多个网站在用户打开主页时无告知的利用用户计算机进行挖矿,影响人数多达5亿。这些网站来自美国、印度、俄罗斯、中国、巴西以及中国等多个国家。
手机挖矿木马就是在用户不知情的情况下利用其手机的计算能力来为攻击者获取电子加密货币的应用程序。电子加密货币是一种匿名性的虚拟货币,由于不受政府控制、相对匿名、难以追踪的特性,电子加密货币常被用来进行非法交易,也成为犯罪工具、或隐匿犯罪所得的工具
Android平台发现的挖矿木马选择的币种主要有(BitCoin)、莱特币(Litecoin)、狗币 (Dogecoin)、卡斯币(Casinocoin)以及门罗币(Monero)这五种。挖矿方式有单独挖矿和矿池挖矿两种,Android平台挖矿木马主要采用矿池挖矿。从Android平台挖矿木马伪装应用类型看,工具类(20%)、下载器类(17%)、壁纸类(14%)是最常伪装的应用类型。
Android平台挖矿木马技术原理从代码上看,主要分为使用开源的矿池代码库进行挖矿和使用浏览器JavaScript脚本挖矿。前者,挖矿方式有单独挖矿和矿池挖矿两种。在狂池挖矿中,个人设备的性能虽然渺小,但是成千上万的人进行组队挖矿,总体性能就会变得十分强大,在这种情况,挖矿的成功率会大大提升。矿池挖矿也分为一般矿池挖矿和前端矿池挖矿。由于使用方便,跨平台且隐藏性较好等特点,前端矿池挖矿逐渐得到挖矿木马作者的青睐。
攻击者通过挖矿木马赚取收益的攻击流程
在使用浏览器JavaScript脚本挖矿的情形中,由于浏览器JavaScript挖矿脚本配置灵活简单,具有全平台化等特点,受到越来越多的恶意挖矿木马的青睐,同时也导致了利用JavaScript脚本挖矿的安全事件愈发频繁。
挖矿的过程运行会占用CPU或GPU资源,造成手机卡顿、发热或电量骤降等现象,容易被用户感知。为了隐匿自身挖矿的行为,挖矿木马会通过一些技术手段来隐藏或控制挖矿行为,例如检测设备电量、唤醒状态、充电状态、设置不可见页面以及仿冒应用下载器等。
挖矿木马运行会导致电池电量明显下降,为保证手机在多数情况下正常运行而不被用户察觉,会选择在电池电量高于50%时才运行挖矿的代码,另外设备在充电时也会有足够的电量和发热现象,挖矿木马也会趁机运行也避免用户察觉。其次,挖矿木马会检查手机屏幕的唤醒状态,当手机处于唤醒状态,当处于锁屏状态时才会 开始执行,避免用户在与手机交互时感知到挖矿带来的卡顿等影响。
网页方面,挖矿木马通过设置android:visibility为invisible属性,达到不可见的Webview页面加载效果从而使用JavaScript脚本进行挖矿,隐藏自身的恶行挖矿行为。还会通过仿冒热门应用骗取用户下载,实际只是应用的下载器,软件启动后就开始执行挖矿,仅仅是提供了一个应用的下载链接。
Android平台挖矿木马的演变很大程度上受到PC上的挖矿木马影响,通过持续关注挖矿木马的攻击事件,Android平台挖矿木马正朝着三个方向发展:应用盈利模式由广告转向挖矿、门罗币成为挖矿币种首选、黑客攻击目标向电子货币钱包转移。
对于攻击者而言,选择现阶段币种价格相对较高且运算力要求适中的数字货币是其短期内获得较大收益的保障。随着比特币挖矿难度的提高,新型币种不断出现,比特币已经不在是挖矿木马唯一的选择。门罗币(Monero)首发于2014年4月,发行时间相对较短,现阶段的挖矿木马主要以门罗币作为挖掘目标,主要在于门罗币相对其他电子加密货币拥有匿名性、挖矿更容易、自适应区块大小限制、有许多优秀的开源门罗币挖矿项目等明显的优势。
值得注意的是第三个趋势,对于电子货币钱包应用本身存在的漏洞和风险,并没有引起足够的重视程度。由于攻击电子货币钱包能直接获取大量的收益,PC上已出现多起攻击电子货币钱包的木马,通过盗取电子货币私钥或者在付款时更改账户地址等手段实现盗取他人账户下的电子货币。而在Android平台也发现了类似的攻击事件,PickBitPocket木马伪装成比特币钱包应用,且成功上架在Google Play。其在用户付款时将付款地址替换成攻击者的比特币地址,以此来盗取用户账户下的比特币。
目前挖矿木马的防御措施,PC平台已经具备防御能力,移动平台由于权限控制不能彻底防御。与PC平台相比,移动平台受限于权限限制,并且App应用又通常自己实现内置浏览器功能,所以不能对挖矿木马进行彻底的拦截。
对已有Root权限的手机,可以设置Iptables对挖矿网址进行通信拦截实现防火墙功能。但是,对于普通用户这种方法操作难度高且网址更新存在滞后性。对没有Root权限的手机,禁用手机浏览器JavaScript特性可以起到一定的防护作用。然而这种方式只能阻止使用浏览器访问网页的挖矿行为,并不能对应用内嵌的浏览器功能进行有效的防护。
挖矿、勒索成为2017年两大全球性的安全话题,并快速从PC向智能手机等移动平台蔓延。然而,移动平台在挖矿能力上受限于电池容量和处理器能力,并且在挖矿过程中会导致设备卡顿、发热、电池寿命骤降,甚至出现手机物理损坏问题,就目前来看移动平台还不是一个可持续性生产电子货币的平台。
电子加密货币正在快速增长,现有货币增值并出现新的货币币种,挖矿最终会变得更有利可图。其调查发现,coinhive已经提供了用户告知提示,在启动挖矿程序前会弹出提示框 明确告知用户挖矿行为,如果用户取消,则可以终止挖矿,这确实是个好的开始。
无论如何,各位读者尤其是Android手机用户,在使用智能手机时,更要打起十二分的精神提高警惕,以避免手机硬件资源遭到绑架,甚至造成永久性物理损害。
网络安全安全专家建议用户:
1、如果发现家中安卓设备出现发烫、卡慢的情况,及时查看并确保安卓设备的ADB调试处于关闭状态,可在设置-系统-开发者选项-网络ADB调试中查看;
2、尽量避免root手机;
3、避免下载安全性未知的应用;
4、使用安全软件防范恶意程序。
上一篇:新型Android 银行木马分析