加入收藏 | 设为首页 |

宋朝皇帝列表-区块链安全入门笔记(九)

海外新闻 时间: 浏览:196 次

跟着越来越的人参加到区块链这个职业中来,为职业注入新生机的一起也因为相关常识的单薄以及安全意识的匮乏,给了进犯者更多的待机而动。面临一再迸发的安全事情,慢雾特推出区宋朝皇帝列表-区块链安全入门笔记(九)块链安全入门笔记系列,向我们介绍区块链安全相关名词,让新手们更快习惯区块链危机四伏的安全攻防国际!

越权拜访进犯 Exceed Authority Access Attack

和传统安全的界说相同,越权指的是拜访或履行超出当时账户权限的操作,如原本有些操作只能是合约管理员履行的,可是因为约束做得不谨慎,导致要害操作也能被合约管理员以外的人履行,导致不行猜测的危险,这种进犯在以太坊和 EOS 上都曾呈现过屡次。

以 EOS 上闻名的 BetDice 游戏为例,因为在游戏合约内的路由(EOS 内可自界说的事情转发器)中没有对来历账号进行严厉的校验,导致普通用户能经过 push action 的方法拜访到合约中的要害操作 transfer 函数,直接绕过转账流程进行下注,然后发作了越权进犯,过后尽管 BetDice 官方紧迫修正了代码,并严厉约束了来历账号,但这个缝隙现已让进犯者简直无本钱薅走 BetDice 奖池内将近 5 万 EOS。又如在以太坊运用 solidity 版别为 0.4.x 进行合约开发的时分,许多合约开发者在对要害函数编写的时分不只没有加上权限校验,也没有指定函数可见性,在这种状况下,函数的默许宋朝皇帝列表-区块链安全入门笔记(九)可见性为 public,歹意用户能够经过这些没有进行约束的要害函数对合约进行进犯。

慢雾安全大冒险团队主张智能合约开发者们在进行合约开发的时分要注意对要害函数进行权限校验,避免要害函数被不合法调用形成合约被进犯。

生意次序依靠进犯 Transaction-Ordering Attack

在区块链的国际傍边,一笔生意内或许含有多个不同的生意,而这些生意履行的次序会影响终究的生意的履行成果,因为在挖矿机制的区块链中,生意未被打包前都处于一种待打包的 pending 状况,假如能事前知道生意里边履行了哪些其他生意,歹意用户就能经过增加矿工费的方法,主张一笔生意,让生意中的其间一笔生意先行打包,打乱生意次序,形成非预期内的履行成果,到达进犯。以以太坊为例,假设存在一个 Token 生意渠道,这个渠道上的手续费是经过调控合约中的参数完成的,假设某天渠道项目方经过一笔生意恳求调高生意手续费用,这笔生意被打包后的一切生意 Token 的生意手续费都要提高,正确的逻辑应该是从这笔生意开端往后一切的 Token 生意生意的手续费都要提高,可是因为生意从宣布到被打包存在必定的延时,恳求修正生意手续费的生意不是当即收效的,那么这时歹意用户就能够以更高的手续费让自己的生意先行打包,避免付出更高的手续费。

慢雾安全团队主张智能合约开发者在进行合约开发的时分要注意生意次序对生意成果发作的影响,避免合约因生意次序的不同遭受进犯。

女巫进犯 Sybil Attack

传闻中女巫是一个会魔法的人,一个人能够幻化出多个自己,令受害人认为有多人,但其实只要一个人。在区块链国际中,女巫进犯(Sybil Attack)是针对服务器节点的进犯。进犯发作时分,经过某种方法,某个歹意节点能够伪装成多个节点,对被进犯节点宣布链接恳求,到达节点的最大链接恳求,导致节点没办法承受其他节点的恳求,形成节点拒绝服务进犯。以 EOS 为例,慢雾安全团队曾发表过的 EOS P2P 节点拒绝服务进犯实际上便是女巫进犯的一种,进犯者能够十分小的进犯成原本到达瘫痪主节点的意图。概况可参阅:

https://github.com/

慢雾安全团队主张在建立全节点的状况下,服务器需要在体系层面上对网络衔接状况进行监控,一旦发现某个IP衔接反常就调用脚本装备 iptables 规矩屏蔽反常的 IP,一起链开发者在进行公链开发时应该在 P2P 模块中对单 IP 节点衔接数量增加操控。

假过错告诉进犯 Fake Onerror Notification Attack

EOS 上存在各式各样的告诉,只要在 action 中增加 require_recipient 指令,就能对指定的帐号告诉该 acti宋朝皇帝列表-区块链安全入门笔记(九)on,在 EOS 上某些智能合约中,为了用户体会或其他原因,一般会对 onerror 告诉进行某些处理。假如这个时分没有对 onerror 告诉的来历合约是否是 eosio 进行查验的话,就能运用和假转账告诉相同的方法对合约进行进犯,触发合约中对 onerror 的处理,然后导致被进犯合约财物遭受丢失。

慢雾安全团队主张智能合约开发者在进行智能合约开发的时分需要对 onerror 的来历合约进行校验,保证合约帐号为 eosio 帐号,避免假过错告诉进犯。