欢迎访问点融网!

点融网

您现在的位置是:点融网 > 问答 >

问答

科普 | 区块链安全入门笔记

发布时间:2021-07-12问答评论
随着更加的人参与到区块链这个行业中来,为行业注入新活力的同时也由于有关知识的薄弱与安全意识的匮乏,给了攻击者更多的可乘之机。面对频频爆发的安全事件,慢雾特推出区块

买卖回滚攻击(Roll Back Attack),故名思义,指的是能对买卖的状况进行回滚。回滚具体的意思是呢?回滚具体指的是将已经发生的状况恢复成它未发生时候的样子。那样,买卖回滚的意思就是将已经发生的买卖变成未发生的状况。即攻击者本来已经发生了支付动作,但通过某些方法,让转账步骤发生错误,从而回滚整个买卖步骤,达到买卖回滚的目的,这种攻击手法多发于区块链上的的智能合约游戏当中,当用户的下注动作和合约的开奖动作在一个买卖内的时候,即内联买卖。攻击者就可以通过买卖发生时测试智能合约的某些状况,获知开奖信息,依据开奖信息选择是不是对下注买卖进行回滚。

随机数攻击(Random Number Attack),就是针对智能合约的随机数生成算法进行攻击,预测智能合约的随机数。现在区块链上不少游戏都是使用的链上信息作为游戏合约的随机数源,也称随机数种子。用这种随机数种子生成的随机数被叫做伪随机数。伪随机数不是真的随机数,存在被预测的可能。当用可被预测的随机数种子生成随机数的时候,一旦随机数生成的算法被攻击者猜测到或通过逆向等其他方法拿到,攻击者就可以依据随机数的生成算法预测游戏马上出现的随机数,达成随机数预测,达到攻击目的。

2018 年 11 月 11 日,攻击者向 柚子币.WIN 发起连续随机数攻击,共获利 20,000 枚 柚子币,在此慢雾安全团队建议智能合约开发者用安全的随机数源作为合约随机数,如通过用链下的随机数种子生成随机数的方法上传至链上,减少合约被攻击的风险。

买卖排挤攻击(Transaction Congestion Attack)是针对 柚子币 上的用 defer 进行开奖的游戏合约的一种攻击手法,攻击者可以通过某些方法,在游戏合约的 defer 开奖买卖前发送很多的 defer 买卖,恶意侵占区块内的 CPU 资源,使得智能合约内本应在指定区块内实行的 defer 开奖买卖因资源不足没办法实行,只能去到下一个区块才实行。因为不少 柚子币 上的游戏智能合约用区块信息作为智能合约本身的随机数,同一个 defer 开奖买卖在不同区块内的实行结果是不同的。通过如此的方法,攻击者在获知没办法中奖的时候,就通过发送很多的 defer 买卖,强行让智能合约重新开奖,从而达到攻击目的。

该攻击手法早期常用于 柚子币 DApp 上,后逐步向波场等其他公链蔓延,截止现在,已有 12 个  DApp 遭遇攻击,慢雾安全团队建议开发者们不要将用户的下注与开奖放在同一个买卖内,预防攻击者通过测试智能合约中的开奖状况达成买卖回滚攻击。

买卖排挤攻击 Transaction Congestion Attack

 

智能合约 Smart Contract

该攻击手法最早在黑客 loveforlover 向 柚子币.WIN 发起攻击时被发现,随后相同的攻击手法多次得手,据 SlowMist Hacked 统计仅 2019 年就有 22 个竞猜类 DApp 因此损失了很多资金,慢雾安全团队建议智能合约开发者对在不同区块内实行结果不一样的重要的操作不要使用 defer 买卖的方法,减少合约被攻击的风险。

随机数攻击 Random Number Attack

伴随愈加的人参与到区块链这个行业中来,为行业注入新活力的同时也因为有关常识的薄弱与安全意识的匮乏,给了攻击者更多的可乘之机。面对频频爆发的安全事件,慢雾特推出区块链安全入门笔记系列,向大伙介绍区块链安全有关名词,让小白们更快适应区块链危机四伏的安全攻防世界!

科普 | 区块链安全入门笔记 科普 | 区块链安全入门笔记

伴随区块链智能合约数目的与日俱增,随之暴露出来的安全问题也愈加多,攻击者常能借助漏洞入侵系统对智能合约用户导致巨大损失,据 SlowMist Hacked 统计,截止现在仅 以太币、柚子币、TRON 三条链上因智能合约被攻击而致使的损失就高达 $126,883,725.92,具备相同攻击特点的手法更是呈现出多次得手且跨公链的趋势,下面大家将为大伙介绍近年来一些容易见到的智能合约攻击手法。

买卖回滚攻击 Roll Back Attack

智能合约(Smart Contract)并非一个新的定义,早在 1995 年就由跨范围法律学者 Nick Szabo 提出:智能合约是一套以数字形式概念的承诺(Promises),包括合约参与方可以在上面实行这部分承诺的协议。在区块链范围中,智能合约本质可以说是一段运行在区块链互联网中的代码,它以计算机指令的方法达成了传统合约的智能化处置,完成用户所赋予的业务逻辑。

系列回顾:

广告位