1、. 15 第五章 挖矿木马的防御措施 . 17 一、 基于 PC 平台的防御策略 . 17 二、 基于移动端的缓解策略 . 17 第六章 总结 . 19 一、 发展前景 . 19 二、 风险控制 . 19 附录一:参考资料 . 21 2 第一章 Android 平台 挖矿木马介绍 一、 什么是 手机挖矿木马 挖矿( Mining),是获取 比特币 等 电子 加密 货币 的勘探方式的昵称。由于其工作原理与开采 矿物 十分相似,因而得名。 手机挖矿木马就是 在 用户不知情的 情况下 利用 其 手机的计算能力 来 为 攻击者 获取电子加密 货币的应用程序。 二、 电子 加密 货币 电子 加密货币是一
2、种匿名性的虚拟货币。它不依靠任何法定货币机构发行,更不受央行管控。交易在全球网络中运行,有特殊的隐秘性,加上不必经过第三方金融机构,因此得到越来越广泛的应用 。 由于 不受政府控制、相对匿名、难以追踪的特性, 电子 加密货币 常 被用来进行非法交易, 也 成为犯罪工具、或隐匿犯罪所得的工具。 以 WannaCry 为代表的勒索软件,都采用 比特币为支付工具。 2009 年 , 比特币 成为第一个 去中心化 的 电子 加密货币,也是目前知名度与 市场总值 最高的加密货币。 比特币 在 2013 年 4 月 2018 年 1 月 价格变化趋势 1 2017 年 比特币 的 价格上涨 了 1500%
3、, 最高时 单个 比特币价格逼近 2 万 美元。 且 随着比特币价格的疯狂上涨, 挖矿木马的攻击事件也越来越频繁。 3 三、 手机挖矿木马历史 演变 挖矿木马最早 是 2013 年在 PC 平台 上 被发现 ,而 首个 手机挖矿木马 CoinKrypt2最 早 被国外安全厂商在 2014 年 3 月 曝光 。 手机 挖矿木马 经过一阵 沉寂 后, 随着 电子加密 货币价格的一路走高 ,恶意软件作者又重新将目标转向了挖矿。手机 挖矿木马的攻击事件 也重回视野,且 势必 是 未来 恶意软件的趋势 之一 。 2014 年 03 月 Android.Coinkrypt, Android 平台上首个挖矿
4、木马。 2014 年 04 月 Android. BadLepricon3, 在 Google Play 上发现 手机挖矿木马。 2014 年 05 月 Android. Widdit4,首个使用 Android 挖矿 SDK 的 挖矿 木马。 2017 年 10 月 Android.JsMiner5,首个 加载 JavaScript 的挖矿木马。 2017 年 10 月 Android.CpuMiner6, 首个使用 cpuminer 库的挖矿木马 。 2017 年 12 月 Android.PickBitPocket7,伪装成比特币钱包的欺诈 程序 。 2017 年 12 月 Androi
5、d.Loapi8, 拥有复杂模块化架构的挖矿木马。 2018 年 1 月 Android.Hackword9,首个使用 Coinhive 安卓 SDK 挖矿的木马 。 4 第二章 Android 平台 挖矿木马 现状 一、 规模和影响 从 2013 年开始至 2018 年 1 月, 360 烽火实验室 共捕获 Android 平台 挖矿木马 1200 余个 ,其中仅 2018 年 1 月 Android 平台挖矿木马 接近 400 个,占全部 Android 平台挖矿类木马近三分之一。 2014 年 Android 挖矿木 马 经过短暂的 爆发 后, 于 2015, 2016 年 逐渐 归于
6、平静 。 主要 原因是 受到当时移动 平台 技术等限制,以及电子货币价格影响,木马作者的投入和产出比不高。但随着 2017 年 年底 电子货币价格的一路 高涨 , 挖矿技术的成熟,再次得到木马作者的目标,手机 挖矿木马 在 也 呈 爆发式增长 。 Android 平台挖矿木马伪装成各类应用软件, 统计发现 其中工具类( 20%)、 下载器 类( 17%)、壁纸类( 14%)是最常伪装的应用类型。 5 从样本来源来看, 除了被曝光的在 Google play 中发现的十多个挖矿木马外,我们在 第三方下载站点捕获了 300 多个挖矿木马, 根据其网页上的标识,估算出这个网站上的 APP总下载次数高
7、达 260 万 余 次。 第三方下载站点 下 的挖矿木马 从网站来看 , 据 Adguard 数据显示 10, 2017 年近 1 个月 内 在 Alexa 排行前十万的网站上,约有 220 多个网站在用户打开主页时无告知的利用用户计算机进行挖矿, 影响人数多达 5 亿。 Adguard 近一个月的调查数据 6 这些网站来自 美国 、 印度 、 俄罗斯 、 中国 、巴西以及中国等多个国家。 主要国家占比 而这部分网站大 多是 以 视频 门户 网站 , 文件分享 站,色情网站和新闻媒体 站 等 这类 相对访问 时 间 较长的站点。 挖矿 网站分类情况 二、 目标 币种 挖矿木马在币种选择上 是
8、随着币种的挖掘难度和币种 相对价格 等因素 而变化。 目前在Android 平台发现的挖矿木马选择的币种主要有( BitCoin) 、莱特币 (Litecoin)、狗币 (Dogecoin)、卡斯币 (Casinocoin) 以及 门罗币( Monero)这五种。 7 币种优劣势对比 三、 挖矿 方式及 收益 分配 挖矿 方式 有 单独挖矿 和 矿池挖矿 两种。 下面 以比特币为例来说明两种挖矿方式的区别。 (一) 独立挖矿 独立挖矿是指使用自己计算机当前拥有的计算能力去参与比特币的挖掘,获取到的新区块的收益全归个人所有。 独立挖矿流程 比特币 平均 每 十 分钟产生一个区块 , 而 参与 比
9、特币 挖掘 的用户数量非常庞大 , 独立 挖矿可能一整年也无法抢到一个区块。 且 手机 的计算能 力 相比于其他挖矿设备更是 有限 ,当前Android 平台还未发现使用独立 挖矿手段来获取电子货币的挖矿木马。 8 (二) 矿池挖矿 矿工是参与 比特币勘探 竞争的 网络 成员 的昵称 。 而 矿池是一个通过特定算法而设计的服务器,所有连接到矿池服务器的用户,会组队进行挖矿 。 个人 设备 的性能虽然渺小,但是成千上万的 人 进行组队挖矿,总体性能就会变得十分强大,在这种情况,挖矿的成功率会大大提升,一旦矿池中的队伍成功制造了 一个区块,那么所有队伍中的人会根据每个人 贡献的 计算能力 进行分红
10、。 矿池的开发者一般会对每个用户收取 一定 手续费,但由于这种方法让大家更稳定得获得比特币, 大部分 矿工 都会 选择矿池挖矿,而不是单独挖矿。 矿池挖矿流程 矿池挖矿 也 分为一般 矿池 挖矿和 前端矿池挖矿。 1. 一般 矿池 挖矿 : 一般矿池挖矿直接利用 CPU 或 GPU 本身的高速浮点计算能力进行挖矿工作。 由 使用 C或者其他语言构造的 挖矿程序 进行 CPU 或 GPU 计算 得到 算力 价值 。 矿池 根据产生的算力价值进行分红, 并收取 10%以下的 矿池手续费 。 2. 前端矿池挖矿: 前端挖矿利用 asm.js 或 webAssembly 前端解析器中介在浏览器端被动使用用户的 CPU完成挖矿或者利用 Html5 新规范 WebGL 利用浏览器完成 GPU 挖矿操作。 由浏览者产生的CPU 或 GPU 计算得到 算力价值 。 前端 矿池 ( 如 Coinh