剪贴板幽灵:币圈的神偷圣手

摘要

  • 2018年4月,360互联网安全中心在PC平台首次监控到一类加密数字货币木马。
  • 该木马不断监控用户的剪贴板内容,判断是否为比特币、以太坊等加密数字货币地址,然后在用户交易的时候将目标地址改成自己的地址,悄悄实施盗窃,我们将其命名为“剪贴板幽灵”。
  • 由于攻击电子钱包能直接获取大量收益,PC上已经出了攻击电子钱包的木马。
  • 截至到2018年6月,360安全卫士共拦截了超过5万笔这类木马攻击,帮助用户挽回损失超过4千万。
  • 比特币钱包转账,只需要打开电子钱包,输入要转账的钱包地址和转账数量。
  • “剪贴板幽灵”木马运用了剪贴板劫持技术,以替换钱包地址的方式达到窃取加密数字货币的目的。
  • 剪贴板的使用不需要用户授予额外的权限,这使得剪贴板的使用变得更加容易,剪贴板内容面临被窃取和篡改的风险。
  • 个人用户应当提高安全意识,培养良好的手机使用习惯,涉及到转账操作,要仔细核对账户地址。
  • 电子钱包开发商应该对要输入敏感信息的控件,如账号,密码,钱包地址的输入制作成加密键盘的形式。
  • 在安全方面Android木马很大程度上受PC平台木马的影响,从历史上木马家族的传播趋势来看,在PC平台出现的木马家族很快也会在移动端出现。

 

背景

360烽火实验室对Android平台窃取数字货币木马和挖矿类木马及相关产业进行了持续跟踪与分析。在2018年1月发表的《Android平台挖矿木马研究报告》[1]中,我们已经介绍了挖矿木马,并对挖矿木马的产业现状,原理与危害做了详细阐述。报告中提及到此类木马已有转向攻击电子钱包的趋势。

2018年4月,360互联网安全中心在PC平台首次监控到一类加密数字货币木马[2],该木马不断监控用户的剪贴板内容,判断是否为比特币、以太坊等加密数字货币地址。然后,在用户交易的时候将目标地址替换成自己的地址,实施盗窃,我们将其命名为“剪贴板幽灵”。

截止到2018年6月,该木马累计感染量达到66万。2018年8月,我们在Android平台也捕获到同类型的木马。

一、电子货币钱包

“电子钱包”是电子商务购物活动中常用的支付工具。在电子钱包内存放的电子货币,如电子现金、电子零钱、电子信用卡等。

随着各种数字货币的诞生,为了方便用户记录地址和私钥,官方会同时发布电子钱包应用程序,同时一些第三方公司为了进一步提高用户体验也会开发一些钱包应用程序等。

今年,360曾发表了一篇《数字货币安全白皮书》的报告,报告中详细阐述了电子钱包存在的各方面的安全问题。由于攻击电子钱包能直接获取大量收益,PC平台上已经出了攻击电子钱包的木马。

二、感染地区及损失情况

360互联网安全中心监控的数据显示,“剪贴板幽灵”木马在PC平台通过感染型病毒、木马下载器、垃圾邮件等方式传播,累计传播量高达到100多万次。

截止到2018年6月,360安全卫士共拦截了超过5万笔这类木马攻击,帮助用户挽回损失超过4千万元。

图1.1 PC平台感染的国家分布

“剪贴板幽灵”木马原理

一、电子货币钱包转账流程

以某比特币钱包为例,钱包转账流程只需要打开电子钱包APP,输入要转账的钱包地址和转账数量。

图2.1 比特币转账图

二、剪贴板劫持原理

此类窃取加密数字货币的木马运用了剪贴板劫持技术,以替换钱包地址的方式达到窃取加密数字货币的目的。

(一)PC平台剪贴板劫持

PC平台上剪贴板其实就是由系统预留的一块全局共享内存,用来暂时存储各进程间进行交换的数据:提供数据的进程创建一个全局内存块,并将要传送的数据移到或复制到该内存块;接受数据的进程(也可以是提供数据的进程自身)获取此内存块的句柄,并完成对该内存块数据的读取。

PC平台木马会一直读取剪贴板内存的数据,检查是否为钱包地址,如果是就替换掉剪贴板内存里面的地址。

(二)Android平台剪贴板劫持

Android剪贴板API本身非常简单,它包括自动获取和设置当前剪贴板数据的方法。该数据为ClipData对象,该对象定义了应用之间数据交换的协议。剪贴板使用步骤:

图2.2剪贴板流程图

Android平台木马当在c这一步时,木马会检查剪贴板里的内容是否为电子钱包的地址,如果是,就替换成攻击者的钱包地址,达到劫持的目的。

图2.3 劫持流程图

三、“剪贴板幽灵”分析

(一)PC平台

PC平台木马主要针对太坊地址(ETH)和比特币(BTC)类型的地址进行替换,木马入口函数处为循环读取剪切板数据

图2.4 循环读取剪切板数据

判断是否为以太坊地址(ETH),如果是就替换掉剪切板里面地址

图2.5 替换掉剪切板内容

判断太坊地址(ETH)和比特币(BTC)类型的地址

图2.6 判断地址格式

(二)Android平台

木马通过监控用户手机剪贴板中的内容来判断是否是加密数字货币的钱包地址,如果是钱包地址则替换成从云服务得到的攻击者的钱包地址。当用户把复制的钱包地址粘贴到转账地址栏的时候,原先的钱包地址已经被木马替换成了攻击者的钱包地址,造成用户的财产损失。

图2.7 木马行窃流程图

木马要窃取7种加密数字货币:

  • BTC(比特币)
  • DASH(达世币)
  • DOGE(狗狗币)
  • ZEC(大零币)
  • ETH(以太坊)
  • LTC(莱特币)
  • Monero(门罗币)

针对4个目标钱包:

  • QIWI
  • WMZ
  • WMR
  • Yandex

木马首先开启一个监听器,监听剪贴板的内容

图2.8 开启监听器代码

然后,监控剪贴板里的内容和长度是否符合特定钱包地址格式

图2.9 监控剪贴板内容代码

以比特币钱包地址格式为例,1B4cqwD9nMik86HeWpr6uYLox693ZEo5qH,地址总长为34,以1或3开头。

图2.10 比较比特币钱包格式代码

最后,如果符合目标格式就向服务器发送请求,获取对应的电子钱包地址,并替换

图2.11 替换剪贴板内容代码

总结

一、 剪贴板功能的潜在风险预估

剪贴板的使用不需要用户授予额外的权限,这使得剪贴板的使用变得更加容易,与之相关的安全问题更值得我们关注与防范:

剪贴板内容被窃取。剪贴板中有一个监控剪贴板内容变化的监听器,当用户使用剪贴板时,该监听器就能获取用户复制到剪贴板的具体内容,一旦该内容被用户预期之外的第三方获取到,此时用户就会面临隐私泄露的风险。特别是账户密码或较为私密的信息,切勿轻易使用剪贴板功能。

剪贴板内容被篡改。一旦剪贴板中的内容被第三方获知,便可对内容进行篡改,例如修改剪贴板中的链接信息将用户引导至钓鱼事件中,用户在使用剪贴板进行链接类内容操作时,切记仔细甄别打开的页面;在剪贴板功能介绍中我们提到可置于剪贴板中的内容不止Text,还可以是URI和Intent,当URI及Intent被替换时,所产生的结果无法预期,一旦被恶意利用则后果不堪设想。

二、 安全防护建议

在Android平台,由于Android系统权限限制,第三方安全软件难以对劫持剪贴板的木马进行有效的防护。在此,我们建议:

个人用户

  • 应当提高安全意识,培养良好的手机使用习惯,涉及到转账操作,要仔细核对账户地址。
  • 用户从可信的软件源下载软件,安装安全软件并及时更新手机系统至最新版本。

电子钱包开发商

  • 应该对要输入敏感信息的控件,如账号,密码,钱包地址的输入制作成加密键盘的形式:
  • 禁止复制粘贴功能。很多银行类的APP,输入控件都采用了这样的安全措施。
  • 监控剪贴板,对比用户复制和粘贴的内容是否一致。

在PC平台,我们已经能对这一类木马进行有效的拦截,360安全卫士在2018年6月发布了区块链防火墙功能[3],该功能用于解决在用户使用数字货币等区块链相关的产品时,遇到剪贴板被篡改、数字货币钱包被攻击、账户密码被窃取等安全问题。

当用户在进行加密货币交易时,开启“区块链防火墙”的功能,如果检测到剪贴板中钱包地址被篡改的现象,360安全卫士会弹出警示窗口。

图3.1 提示窗口

在安全方面Android木马很大程度上受PC平台木马的影响,从历史上木马家族的传播趋势来看,在PC平台出现的木马家族很快也会在Android平台出现。例如:“勒索”、“挖矿”、“剪贴板幽灵”三个木马家族都是先出现在PC平台,然后再蔓延到Android端。

目前Android平台已经有很多加密数字货币钱包APP,方便了广大加密数字货币爱好者买卖、转账、查询行情等,但同时安全问题也值得我们关注。目前Android平台捕获到的这款“剪贴板幽灵”木马针对的都是欧美地区,还未在国内发现有类似样本的传播。但是从PC平台情况以及Android平台样本的分析来看,该木马已经具备了在Android平台窃取加密数字货币的功能,预测不久就会出现针对中国用户的恶意攻击。

区块链作为新兴的热门技术,在安全保障方面还未完善,可能会导致个人信息泄露,财产损失等。因此,提升数据安全成为亟待解决的问题,360烽火实验室对此类样本会持续关注。

 

附录

[1]Android平台挖矿木马研究报告 http://blogs.360.cn/post/analysis_of_mobile_mining_monero.html

[2]剪贴板幽灵疯狂盗取虚拟货币 360助用户挽回4000万http://www.360.cn/newslist/zxzx/jtbylfkdqxnhb360zyhwh4000w.html

[3]360安全卫士发布区块链防火墙功能http://www.sohu.com/a/241411686_114687

(完)