起源
在90年代,研究科学家Stuart Haber和W. Scott Stornetta提出了一个用时间戳的方法保证数字文件安全的协议,协议要求在文件创建后,其时间戳不能改动,这就使得文件被篡改的可能性为零。这项安全协议后来也成为了比特币区块链协议的原型,但此原型中还需要依赖受托人签名,让解决方案的完整性存在了一定缺陷。
2008年,一个以Satoshi Nakamoto化名的个人或团体将区块链背后的想法概念化,他(们)通过实施加密签名来为数字文档添加时间戳,改进了上述的解决方案,从而消除了依赖信任的风险。
为了了解社会对加密货币的需求,我们需要回顾一下2007年和2009年初的全球金融危机事件。在这场危机中,人们对银行失去了信任。由于信任模型中的弱点,人们希望能有一个替代的系统,来提供透明性、身份验证及审核。
2009年1月3日,比特币网络发布,该网络旨在提供去中心化的支付网络。网络使用分布式分类帐和加密签名,而不是依赖建立在信任模型上的集中式分类帐。
区块链机制
区块链在点对点(P2P)网络上运行。在此网络中,事务广播到所有节点:
图1:连接点
网络中的交易通过电子货币结算。电子货币中包含数字签名,每个所有者通过对上次交易的哈希值和下一个所有者的公钥进行数字签名后才能将电子货币转移给下一位所有者,交易记录会附加到电子货币的末尾。下图中是Satoshi在其论文中提供的一个交易示例:
图2:交易示例
节点会竞相识别所有者签名的正确哈希,根据节点数量增减识别事务块所需的时间,其目标是每十分钟查找一次新的事务块。一旦识别出交易块,就启动验证过程,在该过程中,其余节点会验证该节点是否已正确识别出交易。如果百分之五十以上的节点同意正确识别了该块,则将该块包括在分类帐中。
为了确保能以稳定的速度发行加密货币,使用了一种称为区块减半的方法,即提供给挖矿人员的奖励定期减半。结合以往通胀状况,通常每四年发生一次减半。下图显示了自区块链开始以来每个区块的平均交易数:
图3:区块平均交易数
如图所示,加密挖掘的流量每年都在波动。最后的比特币将在2140年5月7日发布。
比特币不是唯一可用的加密货币类型,常见的加密货币及其工作量证明哈希算法的列表如下:
· Litecoin使用Scrypt算法进行工作量证明挖掘。它可由CPU,GPU或Scrypt ASIC处理单元使用,首选是Scrypt ASIC。
· Ravencoin使用X16R算法进行工作量证明挖掘,并支持GPU处理器。
· Grin使用Cuckoo Cycle算法,它使用内存带宽而不是原始处理器或GPU速度。
· Horizen使用Equihash算法进行工作量证明挖掘,该算法使用内存带宽而不是原始处理器或GPU速度。
· AEON使用CryptoNight-Lite算法进行工作量证明挖掘,并且可以由CPU和GPU使用。
· Electroneum使用CryptoNight算法进行工作量证明挖掘,并且可以由CPU,GPU或ASIC处理单元使用,首选ASIC。
· Feathercoin使用NeoScrypt算法进行工作量证明挖掘,并支持GPU处理单元。
· Vertcoin使用Lyra2REv2算法进行工作量证明挖掘,并支持GPU处理单元。
· Monero使用支持CPU处理速度的CryptoNight(现在使用Random-X算法)。
· Ethereum 1.0 使用KECCAK-256算法进行工作量证明挖掘,并支持CPU和GPU处理器,首选GPU。
除了考虑目标系统之外,处理能力也是加密挖掘的重要因素。从获利结果考虑,威胁分子会关注两个方向,一是有多少系统可以用来挖掘,二是如何保持隐蔽性。例如,从2019年2月开始的Nansh0u活动,其目标是全球的MySQL和phpMyAdmin服务,最终导致超过50,000个MS-SQL和PhpMyAdmin系统被用于挖掘TurtleCoins。TurtleCoins是通过XMRig和JCE加密矿机向公众提供的另一种开源加密货币,Turtlecoin使用12种对CPU友好的工作量证明算法:
· CryptoNight
· CryptoNight v1
· CryptoNight v2
· CryptoNight Lite v0
· CryptoNight Lite v1
· CryptoNight Lite v2
· CryptoNight Turtle v0
· CryptoNight Turtle v1
· CryptoNight Turtle v2
· CryptoNight Soft Shell v0
· CryptoNight Soft Shell v1
· CryptoNight Soft Shell v2
系统故障
面向因特网的服务、网站和存储库是加密攻击者锁定的目标,这是由于它们常被用户访问,并且常在高性能系统上运行。以下是影响运行Docker或Kubernetes的AWS、使用内容管理系统(cms)的网站和运行Oracle WebLogic的系统的攻击示例。
攻击案例1
攻击者通过隐写术将graboids加密矿机隐藏在图像文件中,通过Docker Hub存放传播,Docker Hub是世界上最大的容器图像库和社区。这次攻击导致超过2,000个加密矿机遍布整个Amazon云。通常,安全产品不会检查Docker容器。当Docker容器暴露在互联网上时,它们很快就成为抢手的目标。
下图显示了暴露的Dockers引擎的shodan.io搜索查询,产生了15,914个结果:
图4:15,914个暴露的Docker容器
图5:暴露的Docker容器类别占比
而最近,有研究人员发现了对暴露API端点的Docker进行大规模扫描的操作,能让威胁分子部署加密矿机执行。
攻击案例2
威胁分子破坏了数百个面向互联网的Kubernetes管理控制台,这些管理控制台运行在Telsa公共云上托管的服务器集群中(无密码)。威胁分子通过这些系统来安装采矿软件,并配置系统来生成未列出的、半公开的端点以避免检测,还利用Cloudflare隐藏了矿池的IP地址。截至2019年,已经有10,520个暴露的管理控制台被确认:
图6:10,520个暴露的Kubernete主服务器
攻击案例3
在一场名为“Kitty campaign”的威胁活动中,攻击者利用CVE-2018-7600攻击了运行Drupal的网站,该漏洞允许他们通过恶意PHP后门分发加密矿机。此活动影响了全球400多个政府和大学网站。
攻击案例4
威胁行为者在2018年和2019年利用Oracle WebLogic中的漏洞CVE-2017-10271和CVE-2019-2725部署加密矿机。当前已经确定了17010个系统,运行在默认端口TCP 7001上,如下图所示:
图7:17,010个Oracle WebLogic管理服务器
攻击案例5
威胁分子使用Android调试桥开发了基于Android的物联网设备。这些目标很有吸引力,因为它们很少受到监视,通常会保留下来,并且一般都是联网的。攻击首先在端口5555上映射Android调试桥接器。以下是来自shodan.io的搜索结果,显示有10,197个面向公众的android设备:
图8:10,197个暴露的Android设备
攻击案例6
加密攻击不单单是随机的,攻击者常以高知名度的受害者为目标,以劫持对更大规模资源的访问。最近,一名新加坡的攻击者利用社会工程技术窃取了Riot Games联合创始人Marc Merrill的身份,利用他的身份租赁了亚马逊网络服务和谷歌云来开采各种加密货币。检察官称,攻击者甚至一度成为AWS最大的数据使用者,数月里的挖掘业务消耗了超过500万美元的云计算服务。
得益于Amazon、Google、Facebook和其他公司提供的IP地址和登录信息等数据,警察得以捕获嫌疑人,目前他被指控犯有八项电汇欺诈、四项访问设备欺诈以及两项严重的身份盗窃罪。
在下部分中,我们将介绍一些在野部署加密矿机的策略和工具。
本文翻译自:https://threatvector.cylance.com/en_us/home/threat-research-report-the-state-of-cryptomining.html如若转载,请注明原文地址: