区块链研习社金马带你定投区块链

比特币威胁模型

2018-01-27  本文已影响220人  永远游泳的鱼

本文翻译自:https://github.com/JWWeatherman/bitcoin_security_threat_model/blob/master/README.md

译者:区块链中文字幕组

翻译时间:2018-1-20

本文由币乎社区(bihu.com)内容支持计划奖励。

alt text

比特币威胁模型

对加密货币比特币的安全审查


动机

比特币威胁模型旨在帮助开发者,投资者和用户更好地理解比特币的安全性。所有旨在阻止比特币实现现金(包括记帐单位)功能的任何活动都视为威胁。在每种威胁之下是对威胁的描述,为防范威胁而设计的安全特性以及任何执行威胁攻击的例子。对比特币的直接攻击可以通过影响软件运行而使比特币的功能失效,也可以直接攻击比特币软件的支持人员。

结论

目前还没有任何已经确定的威胁可以阻止或显着减缓比特币作为现金使用的功能。但是,可能会发现新的威胁,或者现有的威胁可能会变得更有影响力。考虑到比特币可能产生的影响以及过去攻击的频率和强度,这仍然具有现实的可能性。

介绍

比特币威胁模型旨在帮助开发者,投资者和用户更好地理解比特币的安全性。威胁定义为旨在阻止比特币实现其成为现金(包括记帐单位)功能的任何活动。

在每种威胁之下是对威胁的描述,为防范威胁而设计的安全特性以及任何执行威胁攻击的例子。
对比特币的直接攻击可以通过影响软件运行而使比特币现金功能失效,也可以直接攻击比特币软件的支持人员。

威胁被分类为以下之一:

目前还没有任何已经确定的威胁可以阻止或显着减缓比特币作为现金使用的功能。但是,可能会发现新的威胁,或者现有的威胁可能会变得更有影响力。考虑到比特币可能产生的影响以及过去攻击的频率和强度,这仍然具有现实的可能性。


软件威胁

软件威胁是利用软件中的安全漏洞来阻碍比特币作为现金使用的威胁。

创建交易

比特币的所有者可以通过创建一个数字签名的交易并将其传播到比特币网络来将他们的比特币发送给另一个用户。创建交易的软件被称为“钱包”。对于网络接受的交易,必须使用所有者的私钥进行数字签名。保持私钥的秘密性也是由比特币钱包软件来实现。

攻击者可以窃取用户的私钥来窃取比特币。

如果攻击者可以访问用户的私钥,他就可以将其相关的比特币发送给自己。

安全特性

曾有的攻击

No Impact on Adoption

对使用没有影响

攻击者可以使用量子计算机来猜测每个人的私钥。

如果攻击者可以获取私钥,他就可以窃取所有比特币。

安全特性

曾有的攻击

对使用没有影响

广播交易到网络

创建交易后,交易通过比特币网络进行转发。

攻击者可以通过向网络广播伪造的交易来窃取比特币

如果攻击者可以让网络认为此交易是合法的,他可以将比特币从受害者帐号转移到他自己的帐户。

安全特性

曾有的攻击

对使用没有影响

攻击者可以通过广播大量的付费交易来阻塞网络。

由于任何人都可以在比特币网络上广播交易,因此攻击者可能会广播大量将比特币发送到自己的交易。比特币网络将无法区分合法交易和以堵塞网络为目的而创建的交易。如果网络无法处理合法交易,比特币将不合适作为现金来使用。

安全特性

过去的攻击

对使用没有影响

攻击者可以通过网络流量分析来识别交易中的参与者

比特币交易由发送者在互联网上广播。如果攻击者可以监控网络流量来发现交易的来源和目的地,这会使比特币不太适合做为现金使用。

安全特性

过去的攻击

对采用没有影响

攻击者可以通过公共的交易数据来识别出交易中的参与者。

比特币交易是在公共总账上公布,它们包含每笔交易的来源、目的地、大致时间和金额。如果攻击者有可能发现参与交易的人,这会降低特币的吸引力。

安全特性

过去的攻击

中等风险

比特币交易的确认

比特币交易通过一个称为挖矿的过程来确认。为了防止双重支出交易(双花),交易被分组在一起,并且使用当前交易集和前一组交易作为输入解决一个困难的数学问题。交易集称为“块”。数学问题非常困难,为了解决这个问题必须花费大量的电力。解决数学问题的人将得到交易发送者的交易费用,及创建的额外比特币的“块奖励”作为回报。解决这个数学问题又称“找到一个块”。每个正在运行挖矿软件的人都争着成为第一个找到下一个区块的人。

攻击者可以运行挖矿软件,来阻止交易的确认。

因为任何人都可以下载并运行在比特币网络上确认交易的软件,攻击者有可能生成不包括交易的块。

安全特性

过去的攻击

对采用没有影响

攻击者可以运行挖矿软件,以实现比特币的双花。

因为任何人都可以下载和运行在比特币网络上确认交易的软件,所以攻击者有可能挖出不包含交易的块。

如果攻击者发出一笔比特币交易,然后他延迟这笔交易被网络确认的时间,一直到使用相同金额的新交易被网络确认为止。确认的交易在网络传输开来后会使初始的交易无效。

安全特性

对采用没有影响
这种攻击不符合成本效益。

攻击者可以利用工作量证明算法中的缺陷来伪造工作量。

如果攻击者能够发现工作量证明算法中的缺陷,他就可以获得交易费及块奖励,而无需进行保护比特币网络所需的工作。

安全特性

过去的攻击

对采用没有影响

攻击者可以窃取所有用于确认比特币交易的硬件。

如果攻击者可以控制用于确认比特币交易的所有硬件,他就可以阻止一些或全部比特币交易。

安全特性

攻击者可以声称是中本聪,并从下一个版本的比特币中删除安全功能。

中本聪是原来比特币白皮书和软件作者的名字。因为他在比特币界非常受人尊敬,所以他或者假装成他的人可能会试图在下一个版本的比特币中删除安全功能。

安全特性

过去的攻击

攻击者为了启用新的功能在下一个版本的比特币中删除安全功能。

在所有软件项目中,有时添加新的特性或功能与保证安全是相互矛盾的。更糟的是,软件的安全功能常常会限制用户对软件使用需求。举例来说,汽车使用限速器来防止发动机以最快允许速度行驶,的确限制了用户以最快速度行驶的可能。

即使在最有效的软件项目中,安全与功能之间的权衡决定也会变得激烈和政治化。如果攻击者能够说服社区新的功能比现有的安全功能更重要,那么这个安全功能有可能将被删除。

安全特性

过去的攻击

对采用没有影响

攻击者可以通过复制代码来创建(又名分叉)一个缺少安全功能的比特币,并诱骗人们使用它。

由于比特币是一个开源项目,任何人都可以复制代码并构建他们自己的比特币版本。如果他们能说服别人,让人相信他们的比特币版本才是真正的比特币,他们可以为这些用户将安全特性移除。

安全特性

过去的攻击

对采用没有影响

攻击者为添加安全漏洞可以创建比特币的各种实现

如果攻击者能够创建一个不经过比特币安全专家完全审查的比特币软件的新实现,那么他可能会在部署前引入一个没有发现的细微安全缺陷。

目前绝大多数的专业知识都集中在一个存储库上,这使得缺陷很难不被发现。

如果攻击者可以创建一个或多个比特币实现,它可能会分散安全专家的工作,使其对某些实现末能进行严格审查从而使软件部署出去。

安全特性

过去的攻击

观察已确认的交易

为了完成交易,接收方必须确信交易已经被比特币网络不可逆转地确认。这是由比特币“节点”软件执行的。

该软件维护着一个最长链的有效交易的一个拷贝。只有块结构正确、并由比特币所有者进行了数字签名,而且转出的金额要小于发送人所拥有的金额,节点软件才认为交易是有效的。某些比特币钱包不包含节点软件,而是连接到远程节点来确认交易的完成。这被称为SPV(简单支付验证)钱包。

攻击者可能会创造一个不太安全的数字资产,并诱骗人们购买。

如果攻击者可以欺骗投资者使用他的数字资产作为现金,它可能会阻碍比特币做为现金使用的功能。

安全特性

过去的攻击

对采用没有影响

攻击者可以创建一个更安全的数字资产,从而让投资者放弃比特币。

如果攻击者可以创建一个更安全的数字资产,投资者将放弃比特币,并将这个新资产作为现金使用。

安全特性

过去的攻击

对采用没有影响

攻击者可能通过挖掘无效的比特币区块来消除比特币的安全功能

如果攻击者可以使网络接受不包含安全功能的块,就能有效地移除该安全功能。

安全特征

对采用没有影响

一个攻击者可能会欺骗一个比特币节点,认为这个交易得到或没有得到证实。

由于比特币节点接受来自运行比特币节点软件的其他任何计算机的信息,因此可以为节点或一组节点提供关于当前交易状态的虚假信息。

安全特性

一个攻击者可能会欺骗一个比特币部分节点(SPV客户端),使其认为交易没有被比特币网络确认或没有确认。

在某些情况下,比如在手机上操作,比特币客户端软件无法执行比特币交易历史的全面验证。如果客户没有执行完整的验证,即意味着安全功能的丢弃。

攻击者可能会将安全漏洞引入比特币挖掘硬件,以破坏比特币的安全。

在用户收到矿机前,如果攻击者可以在矿机硬件中设置“后门”,那么他就可以控制大部分比特币计算能力。

安全特性

过去的攻击

对采用没有影响

人为的威胁

可以通过攻击支持比特币软件的人来攻击比特币,如网络运营商,投资者,商家,开发人员或硬件制造商。

网络运营商

运行支持比特币的软件的人可能会受到攻击。

攻击者可能会威胁伤害个人或团体挖掘比特币。

比特币挖矿是比特币网络的重要组成部分。没有正常运行的挖矿软件,就不会有可信的比特币交易。

安全特性

对采用没有影响

攻击者可能会威胁运行比特币节点的个人或小组

比特币节点对比特币网络至关重要。没有功能节点的网络,新的事务就不能中继传播。

安全特性

对采用没有影响

投资者

没有投资者比特币将没有市场价值,将会不适合比特币作为现金来使用。

攻击者可以从投资者那里索取私钥。

攻击者可能会威胁要损害比特币投资者,除非他交出自己持有的比特币的私钥。

安全特性

对采用没有影响

攻击者可能会欺骗投资者关于比特币的效用。

如果投资者被欺骗,认为比特币不如其它的资产有用,他们就会卖出比特币。如果这个规模足够大,比特币就不会成为现金。

安全特性

过去的攻击

对采用没有影响

如果比特币投资者不出售或交出比特币,攻击者可能会威胁损害比特币投资者。

这个和攻击者可以向投资者勒索私钥的威胁的一样。使用暴力威胁迫使某人交出其私钥是本质上同样的攻击。唯一的区别在于,这种攻击可能更有可能被大型犯罪组织在对特定地理区域内的人口进行暴力控制,而另一种攻击可能更可能由个人罪犯或较小的犯罪组织企图进行,但攻击的安全特征和技术性质是相同的。

攻击者可能会威胁到任何试图购买或出售比特币的人。

如果攻击者使买卖比特币成为不可能,他就不必强迫现有的投资者出售或交付比特币,因为无法出售的资产不能成为金钱。

安全特性

对采用没有影响

过去的攻击

比特币商家

为了使比特币成为电子现金(包括记帐单位),商家销售商品或服务,必须接受比特币支付。如果攻击者可以阻止商人接受比特币,他会阻止比特币成为现金。

攻击者可能会威胁任何接受比特币付款的人。

为了防止比特币成为现金(包括记帐单位),攻击者可以用直接的暴力手段威胁商人,也可以告诉商人如果他们接受比特币,他们必须付出免费劳动或者付钱。

安全特性

中等风险

过去的攻击

比特币开发商

比特币开发人员对比特币软件的持续改进至关重要。如果没有比特币开发人员,比特币代码将不会被改进,如果未来发现的漏洞未被修复,则可能无法使用。

攻击者可能会威胁损害比特币软件开发人员。

如果攻击者威胁开发者,对比特币软件作出贡献可能导致他们的死亡或遭到绑架,比特币成为现金就会失败。

安全特性

过去的攻击

对采用没有影响

攻击者可能通过贿赂或勒索比特币开发人员引入比特币安全漏洞。

如果攻击者能够将有缺陷的代码加入到下一个版本的比特币中,他可能会破坏比特币的成为有用现金的功能。

安全特性

过去的攻击

对采用没有影响

比特币硬件厂商

比特币硬件制造商生产挖矿硬件。挖矿硬件对于确认比特币交易至关重要。

攻击者可能以威胁损害比特币挖矿硬件制造商来阻止矿机出售。

如果先进的比特币矿机不再可用,那么确认交易就会变得不那么安全。这可能会降低比特币的安全性。

安全特性

过去的攻击

对采用没有影响


区块链中文字幕组

致力于前沿区块链知识和信息的传播,为中国融入全球区块链世界贡献一份力量。

如果您懂一些技术、懂一些英文,欢迎加入我们,加微信号:w1791520555。

点击查看项目GITHUB,及更多的译文...

本文译者简介

鱼 区块链技术爱好者,欢迎加微信号交流:oscnet

本文由币乎社区(bihu.com)内容支持计划奖励。

版权所有,转载需完整注明以上内容。


上一篇下一篇

猜你喜欢

热点阅读