DAO 黑客和区块链安全漏洞

区块链资讯区块网2018-07-09 12:12:07  阅读 -评论 0

DAO 黑客和区块链安全漏洞

区块链领域中,安全方面的考虑压倒了软件中所有其他要考虑因素。如果实现不了安全, 其他任何方面做得再好也于事无补。


区块链被证明分散的, 可信任的事务工作, 但许多区块链的安全漏洞仍然存在。

安全漏洞存在于设计阶段、编码阶段和操作阶段。同样,区块链有可能受到黑客的攻击。

区块链安全漏洞

智能合约的存在就像钻石一样是永恒存在的,只要它们被部署的区块链继续被使用。因此,所有的漏洞和区块链安全漏洞也会像智能合约一样存在。

通常, 每个区块链提供其自己的编程语言来实现智能合约。

智能合约的编程语言

区块链会利用他们自己的语言来开发智能合约。

例如,以太坊平台包含了编写智能合约的可靠语言。创作者设计的是一种坚固的图灵机完整语言。

图灵机完整的语言实质上允许程序员实现底层系统所能做到的任何事情。因此, 这就给程序员提供了代码中实现循环的能力, 这可能会导致区块链引发安全漏洞。

图灵机完整语言

图灵机完整语言非常的复杂, 但正是这种复杂性往往会招致 bug 和漏洞。

比特币网络也有一种编程语言,它称之为脚本。脚本的目的不是为了增强安全性。

给程序员的选项越少,区块链安全漏洞进入系统的可能性就越小。

为了尽量减少将错误代码发布到链外的风险, 程序员必须了解智能合约编程中固有的常见缺陷和反模式。(反模式表示错误的编程实践)。

DAO黑客:可重入性问题

DAO 黑客和区块链安全漏洞

可重入性问题在被编写到智能合约中的区块链安全漏洞中可能排在最高的位置。可重入性通过对同一事务的多个支出来消耗一个帐户。处理退款的用例适合这种利用,但是如果不在设计和编码阶段解决,这种缺陷就会影响到所有事务。

在迄今为止最臭名昭著的加密货币攻击之一中,DAO黑客就利用了可重入性。没有组织领导决定如何运行DAO(分散的自治组织),使他们能够对投资的项目进行投票。

它在第一个月筹集了超过1.5亿美元的资金。2016年6月17日,黑客从该组织的“重入性"漏洞中抽走了5000万美元。从以太经典ETC)到以太币ETH)的硬叉导致了解决这次黑客攻击所产生问题的所有努力。

反模式易陷入可重入性

代码脆弱的可重入性逻辑看起来是这样的:

处理支付()的函数

(1) 检查交易的有效性、收款人和账户余额;

(2) 处理交易;

(3) 更新系统状态,以显示已处理了事务;

乍一看,逻辑看起来是正确和完整的,但缺陷在于步骤3之前执行步骤2的顺序。

对函数的第一次调用将继续处理步骤2,而对同一事务的另一次调用则可以输入该函数。由于状态信息仍处于初始状态,尚未在步骤3中处理,因此第二个调用将检查为要处理的有效事务。

因此,该系统第二次为同一义务支出货币。黑客在状态正确设置之前,将多个事务快速地发送到函数中。

治疗可重入性

对算法的这一修改纠正了上面的问题:

处理支付()的函数

(1) 检查交易的有效性、收款人和账户余额;

(2) 更新系统状态以显示已处理了事务;

(3) 处理交易;

代码必须说明所有必要的异常处理,并且它还必须说明所有逻辑依赖项。

Overflow

Overflow是程序员需要注意的另一个常见的安全缺陷。

一些编程语言提供了强类型,而其他语言提供了弱类型。例如,强类型语言不允许程序员将字符串数据分配给数值变量,弱类型语言允许执行此类操作。

强类型语言实施范围有很大的限制。如果一个数组是十个元素,程序员就不能尝试访问第十一个元素。弱类型语言允许这样的行为,但会导致崩溃。如果一个变量所允许的最大值是99,并且为它赋值100,那么运行它时就会看到它崩溃!

因此,Overflow是黑客常使用的手段。如果黑客向智能合约提供了一个超出代码处理范围的参数,就会产生崩溃结果。这样的崩溃助长了多重攻击。崩溃可能触发拒绝服务攻击(DDoS攻击),这时,关于系统内部的重要信息有时会在错误消息中显示出来。

在web应用程序中,黑客经常用自己的恶意代码填充内存,因此,当程序崩溃并进入内存中的一个随机点时,恶意代码就会执行。

弱类型语言提供了强大的功能和动态灵活性,但它们也需要更严格的设计和测试来抵抗攻击。

大量的安全问题困扰着软件世界。随着新技术的出现,出现了新的威胁。除了上面提到的漏洞外,这些明显的缺陷只是许多其他区块链安全漏洞中的一些。

糟糕的密码系统制造了很多麻烦。密码学确保隐私,当隐私被破坏时,一切都会被破坏。IOTA团队犯了一个错误,在产品的初始版本中从头编写自己的密码库。滚动自己来加密所固有的问题是,所有复杂的软件都包含错误。

建立的密码库在经过学术界的审查后仍然存在,并且随着时间的推移,证明它是可靠的。

在钱包的世界里,随机数生成必须是真正随机的。特别是在加密货币出现的初期,一些钱包就不能满足这一要求。

加密货币要求地址必须是唯一的。唯一性来自一个随机数生成器,并且随机数生成器需要一个种子来开始这个过程。如果种子不是真正随机的,系统就会失败。

一个坏的随机性的结果意味着同一地址被多次创建。想象一下,钱包将地址X分配给某人A,然后稍后某个时候将地址X分配给某人B。当付款到达地址X时它只适用于一个人。那么到底哪个人会得到钱?

当黑客找出用于创建种子的算法时,会出现另一个随机性不好的问题。黑客为自己重新生成种子,并拥有系统。

安全永无止境

安全是一场永无止境的战斗,即使程序员、架构师和测试人员从代码中删除了所有漏洞,操作漏洞依然存在。

在一个工作环境的证明中,如果坏的参与者控制了网络的51%,那么完整性就会被破坏。博弈论为这种攻击提供了缓解。但是51%的攻击摧毁了货币的价值,所以攻击者只是伤害了他们自己。

区块链生活在互联网上,和互联网一样,也和黑客有同样的接触。例如,假设您从一个网站上的交换器中购买代币。注射式攻击、跨站点编写脚本、网络钓鱼攻击以及所有其他传统网站攻击都占上风。

结语

正如程序员要防范错误一样,程序员也必须在开发中考虑到安全性。虽然存在一些帮助程序员完成任务的工具,但是程序员必须首先了解他们自己的漏洞以防止它们。

分散式应用安全项目(DASP)希望成为区块链安全性信息和资源的存储库。他们在开放的Web应用安全项目(OWASP)上对自己进行了一些建模。年度OWASP前10名明确列出了目前存在的主要网页应用程序漏洞。DASP前10名希望为区块链提供同等的资源。

并非所有的攻击都是事先知道的。零日攻击定义了黑客在其他人之前就知道的漏洞。所以程序员在设计和实现软件时必须像攻击者一样去思考。如果您没有在代码中找到漏洞,那么希望寻找利润的黑客来替你找到它们。


声明:链世界登载此文仅出于分享区块链知识,并不意味着赞同其观点或证实其描述。文章内容仅供参考,不构成投资建议。投资者据此操作,风险自担。此文如侵犯到您的合法权益,请联系我们100@7234.cn

    参与讨论 (0 人参与讨论)

    相关推荐

    中信银行打造“区块链”信用证结算!

    中信银行打造“区块链”信用证结算!

    科技不会改变金融的实质,但却能让金融服务更高效,能让资金供、需方信息不对称的问题更好地解决。近期,中信银行首个区块链项目——基于区块链的国内信用证信息传输系统(简称BCLC)(一期)成功上线,这是国内银行业第一次将区块链技术应用于信用证结算领域。 据中信银行国际业务部总经理助理张栩青介绍,将现在流行的区块链技术应用在国内信用证中,改变了银行传统信用证业务模式,信用证的开立、通知、交单、承兑报文

    中国信息技术部门成立区块链研究实验室

    中国信息技术部门成立区块链研究实验室

    暴走时评:本月初,中国政府对国内的ICO和数字货币交易所的打击在世界范围内引起了强大反响,但政府已经多次声明不会将区块链与数字货币划等号,依然非常重视区块链技术在中国的发展。鉴于中国工业和信息化部成立了一个专门研究区块链的实验室,这一论调也得到了进一步的证实。 虽然中国政府最近在大力打击比特币交易所和ICO,但仍然致力于开发区块链在其他领域的潜力。 据财新网报道,中国工业和信息化部已经成立了一

     分布式账本中的生命科学

    分布式账本中的生命科学

    生物科学是医学领域涉及遗传研究,疾病预防和生活方式治疗(lifestyle treatments)的学科。它已经存在了很长时间,但区块链技术的基础设施应用给该学科提供了重大进步的可能性。 根据Pistoia Alliance进行的2016年6月份高级制药和生命科学领袖调查,83%的受访者表示,他们预计在五年内将全面采用区块链技术。 Pistoia Alliance是一个全球性的非营利组织,致

    区块链vs.核能:日本最大电力公司东京电力(TEPCO)寻求使用区块链减轻对核电的依赖

    区块链vs.核能:日本最大电力公司东京电力(TEPCO)寻求使用区块链减轻对核电的依赖

    东京电力公司 (TEPCO) 对于能源过度中心化的风险可以说绝不陌生。 也许最著名的就是2011年发生的福岛核电站事故,这个日本最大的能源公司如今正在寻求区块链技术来防止这种灾难再次发生。 然而,从使用微型风车的分布式风力发电到用于存储在电力成本低时购买的电力的智能电池,可替代能源项目一直以来都属于个人慈善事业。 然而,TEPCO风险投资部门主管Jeffrey Char认为区块链能够帮助为这

    继证监会发表代币发行声明之后,香港交易所Gatecoin将下线部分ICO币

    继证监会发表代币发行声明之后,香港交易所Gatecoin将下线部分ICO币

    经过一系列监管以及合规审查后,香港交易所Gatecoin将会下线那些被金融监管部门定性为"证券"的代币。 香港加密货币交易所Gatecoin透露,如果在该平台交易的ICO代币在法律上符合"证券"定义,他们就会下线这些代币。据巴比特上月报道,香港主要的金融监管部门证券及期货事务监察委员会(SFC)表达了对ICO这种日渐普及的募资模式的担忧。 尽管ICO中售卖的数字代币通常都被定义为虚拟商品,但

    IBM与超级账本共同加入去中心化身份基金会(DIF),推动创建区块链ID行业标准

    IBM与超级账本共同加入去中心化身份基金会(DIF),推动创建区块链ID行业标准

    IBM与超级账本已经签署协议加入去中心化身份基金会(DIF),这个于今年初成立的联盟旨在帮助推动基于区块链的ID系统的互操作性和标准。 这两个企业区块链大佬加入了这个有各种企业组成的团体,其中包括像微软和埃森哲这样的大企业,还有像Civic和Gem这样的创业公司,以及像uPort和Sovrin这样的开源项目。 DIF执行主管告诉Coindesk说: "这应该是一个信号,表明在这一领域有广泛的

    为打击人口贩卖,牙买加警方盯上了犯罪分子的比特币钱包

    为打击人口贩卖,牙买加警方盯上了犯罪分子的比特币钱包

    作为打击人口贩卖计划的一部分,牙买加警方已经开始行动,锁定了那些试图用比特币和数字支付来掩人耳目的犯罪分子。 越来越多的人口贩卖者都开始转向数字货币来帮助他们进行地下活动并接收非法活动所得,但牙买加警方已经盯上他们了。 牙买加的'大生意' 不幸的是,人口贩卖以及性奴市场规模十分庞大,预计涉资1500亿美元。在牙买加,大约有7000个妇女、儿童以及成年男性被奴役,他们的操控者出售奴役服务的价格

    深圳市将发布《深圳市扶持金融业发展若干措施》,奖励区块链、数字货币等金融创新

    10月9日,深圳市人民政府向各区人民政府,市政府直属各单位印发《深圳市扶持金融业发展若干措施》(以下简称"《若干措施》")。深圳市政府表示,此举是为进一步完善金融支持政策体系,吸引集聚优质金融资源,推动全市金融业可持续均衡发展,加快建设国际化金融创新中心。 《若干措施》共分五大项,33条。内容包括:坚持服务导向,优化金融政策环境;发展金融总部经济,鼓励金融总部企业做大做强;支持金融企业分支机构

    麦妖榜
    更新日期 2018-07-15
    排名用户贡献值
    1六叶树15992
    2BitettFan14903
    3等待的宿命13659
    4lizhen00213576
    5让时间淡忘13565
    6天下无双13457
    7冷风大q11188
    8Butterfly10433
    9momo9349
    10Leo8764
    返回顶部 ↑