分类: 网络与安全
2011-10-20 13:12:19
P2P货币BitCoin将成为新的DDoS发源地?
安全厂商趋势科技公司最近发现了一种僵尸网络,它可以将受到感染的系统变成自动开采Bitcoin虚拟货币的系统。Bitcoin是一种数字货币,使用点对点(P2P)网络来跟踪和确认交易。Bitcoin虚拟货币是由免费的Bitcoin开采应用软件生成的。
这个被检测出来的恶意软件名为BKDR_BTMINE.MNR,可以将开采软件安装到系统上。它使用系统的资源来攻克Bitcoin小山包(Bitcoin block),以便生成更多的Bitcoin虚拟货币。
Bitcoin“小山包”是一个复杂的密码学问题。攻克一个小山包目前要支付50个Bitcoin虚拟货币;每当Bitcoin交易完成,就会生成Bitcoin小山包。攻克这些小山包的过程就叫作“开采”(mining)。攻克小山包的唯一办法就是使用蛮力,而使用蛮力的过程需要耗用系统资源。为了加快攻克小山包,就会生成开采池(mining pool)。开采池被划分成了多个部分,由多个系统共同攻克。奖励机制取决于开采系统为攻克小山包作出了多大的贡献。
这里,BKDR_BTMINE.MNR安装三个不同的开采软件,它们运行系统的处理速度所允许的任何资源。为了加快处理速度,该恶意软件针对受到感染的系统的图形处理器(GPU)和处理器(CPU)下载了必要的驱动程序。如果攻克了小山包,攻击者就能获得生成的Bitcoin虚拟货币。
我们还发现了另一个被检测出来的名为BKDR_BTMINE.DDOS的恶意软件,这是BKDR_BTMINE.MNR的一个组件。BKDR_BTMINE.DDOS可以针对被盯上的对象发动分布式拒绝服务(DDoS)攻击。该恶意软件还能从远程站点获得一份被盯上网站的清单。DDoS组件可以用来攻击与之竞争的Bitcoin开采系统,并限制对方的处理能力。恶意软件还试图与一长串的IP地址进行联系。包括2000多个IP地址的清单被硬编码到恶意软件里面;一旦执行,清单就不断加以更新。
眼下,Bitcoin虚拟货币每个值8美元多。由于Bitcoin虚拟货币的价值不断上升,与Bitcoin开采有关的恶意软件的数量势必也会随之增加。由于Bitcoin利用了P2P共享机制,与通过银行或票据交换所转账相比,产生的费用要低得多。此外,Bitcoin交易是匿名的,可以在任何地方使用,也没有什么限制。正是由于这些优点,Bitcoin虚拟货币的使用在网络交易领域日渐流行,但同时也带来了一些安全问题。为了确保安全,一旦你离开系统,就应该对所有电子钱包进行加密。使用唯一的强密码用于钱包加密。
初步认识Bitcoin
Bitcoin 是一种网络虚拟货币,跟腾讯公司的Q币类似,你可以使用Bitcoin购买一些虚拟的物品,比如网络游戏当中的衣服、帽子、装备等,只要有人接受,你也可以使用Bitcoin购买现实生活当中的物品。跟Q币不同的是,Bitcoin的发行、流通和管理权不属于某一个人、组织、公司或者国家,或者换一句话说:它是平等地属于参与其中的每一个人。每个人只要有一台能接入互联网的计算机,然后通过运行一个自由的开放源代码的软件都可以参与其中,所有参与的人当中不存在所谓的管理员、中心节点或者特权人员,是一个平等的点对点(P2P)的系统,统称 Bitcoin 系统。
为什么有人愿意使用Bitcoin?
Bitcoin系统目前能保证如下几点:
1、Bitcoin在某一个时间点上总数量是确定的;
2、Bitcoin的数量以缓慢的速度增长,不会突然增加;
3、Bitcoin最终会增长到一个总量,不会无限增长;
4、以上几个特征是由一个公认的数学公式来提供保证,不需要任何人、组织或国家来提供保证。
5、Bitcoin的流通不需中间机构,转账过程不受干预。
从上面的特征可以看到Bitcoin具有作为一般等价交换物的潜质,某些方面甚至比黄金更为理想。刚开始的时候Bitcoin可能用于交换低价值的虚拟物品,比如实现不同网站(/游戏)之间的积分、虚拟物品等交换,可以打通所有网站(/游戏)的虚拟金融系统,可能后来有人为了得到虚拟物品而在网上拍卖自己的现实物品(比如旧数码产品、球鞋等)以收取Bitcoin,而另外一些人为了购买这些现实物品但手头上没有Bitcoin,可能会使用现实中的货币去兑换Bitcoin,如此一来,Bitcoin就开始流通,于是就开始拥有了“价值”。
Bitcoin如何获得?
只要有一台能接入互联网的计算机,从这个网站下载 Bitcoin 程序,首次运行会产生一个数字账号,然后保持运行,这个程序就会一直不停地计算上面提到的数学公式所产生的一系列“数学题”,当你成功地计算完“一道数学题”之后,就有可能得到一定数量的Bitcoin,但并不是每次计算都一定能获得Bitcoin,还要看你的计算是否首个完成以及对整个系统的贡献程度。(这里所说的“数学题”只是一个形象比如,它的作用是用于验证整个 Bitcoin 系统的每一笔交易是否有效的,因为没有中心节点,所以这个验证需要耗费大量的计算资源,而Bitcoin就是系统对你的付出的奖励)。这个“不劳动无收获,一分耕耘并不一定有一分收获”的过程非常像挖金矿,所以挂机运行 Bitcoin 程序的过程被称为“挖金矿(mining)”,而 Bitcoin 程序自然被称为“挖矿机”或者“矿工(miner)”。
挖金矿是人人机会平等的,然而收获却不是平均的,性能越好的计算机“解决数学问题”的速度越快,就越有机会获得Bitcoin。那么什么样的计算机速度最快呢?超级计算机?不是,是你用来玩3D游戏的显卡,现在中高档的显卡都带有GPU具有运算功能,一块高档显卡顶得上200台主流CPU的速度(具体原理这里有说明,各种显卡性能对比列表),所以参与挖金矿的人还得有一张中高档的显卡。
另外随着参与的人数不断增加,其中有不少程序员还进行各种衍生品的开发,于是各种各样的矿工程序随之出现,比如有使用纯JavaScript实现的挖金矿程序(比如 ),你可以把它挂在博客里,当读者们阅读你的文章时,他们的计算机会不知不觉地帮你挖金矿。
获取Bitcoin的成本
Bitcoin 系统会控制Bitcoin的增长速度,现在整个系统大概保持每10分钟增加50个Bitcoin的增长速度,这个速度并不会随着参与人数的增加而加快。也就是说,假设整个 Bitcoin 系统有100个人参与,那么平均每人一小时能获得 3 个Bitcoin,同理假如有 10000 人参与,平均每人一小时只能获取 0.03 个Bitcoin。而目前的情况是,使用普通计算机即使挖了一年时间,可能连1个Bitcoin都获取不了(因为参与的人数很多),考虑到所消耗电能的成本,挂机挖矿行为实在不值得推广。当迫切需要Bitcoin时可能更多人宁愿使用现实货币去兑换而不会亲自去挖。
更不幸的是获取Bitcoin的成本将会越来越高,因为 Bitcoin 的数学公式确定每21万Bitcoin增长速度就会减半,到 2140 年左右基本上就不增长,到时Bitcoin总数量大概维持在 2000 万左右。目前总量为 600 万,见这里,估计大部分都集中在创始者以及最先加入游戏的一批人手中。
因为获取Bitcoin的难度高,一些“矿场(mining pool)”网站就产生了,矿场的作用是集中零散的个人力量一起挖金矿,以增加获取Bitcoin的机会。共同获得的Bitcoin会根据其中每个人的贡献量平摊,一般矿场还会收取2%左右的佣金用于维持自身的运作。
Bitcoin能买什么?
这里有一个接受Bitcoin支付的网站商店列表,可见现在已经可以用它来购买音乐、书籍、软件、服务等等,列表当中还有一些货币兑换网站,从中可以了解Bitcoin跟美元等现实货币的汇率以及汇率走势等。