区块链安全科普:女巫攻击
系列回顾:
越权访问攻击
Exceed Authority Access Attack
以 EOS 上著名的 BetDice 游戏为例,由于在游戏合约内的路由(EOS 内可自定义的事件转发器)中没有对来源账号进行严格的校验,导致普通用户能通过 push action 的方式访问到合约中的关键操作 transfer 函数,直接绕过转账流程进行下注,从而发生了越权攻击,事后虽然 BetDice 官方紧急修复了代码,并严格限制了来源账号,但这个漏洞已经让攻击者几乎无成本薅走 BetDice 奖池内将近 5 万 EOS。又如在以太坊使用 solidity 版本为 0.4.x 进行合约开发的时候,很多合约开发者在对关键函数编写的时候不仅没有加上权限校验,也没有指定函数可见性,在这种情况下,函数的默认可见性为 public,恶意用户可以通过这些没有进行限制的关键函数对合约进行攻击。
慢雾安全团队建议智能合约开发者们在进行合约开发的时候要注意对关键函数进行权限校验,防止关键函数被非法调用造成合约被攻击。
Transaction-Ordering Attack
慢雾安全团队建议智能合约开发者在进行合约开发的时候要注意交易顺序对交易结果产生的影响,避免合约因交易顺序的不同遭受攻击。
Sybil Attack
https://github.com/slowmist/papers/blob/master/EOSIO-P2P-Sybil-Attack/zh.md
慢雾安全团队建议在搭建全节点的情况下,服务器需要在系统层面上对网络连接情况进行监控,一旦发现某个IP连接异常就调用脚本配置 iptables 规则屏蔽异常的 IP,同时链开发者在进行公链开发时应该在 P2P 模块中对单 IP 节点连接数量添加控制。
Fake Onerror Notification Attack
慢雾安全团队建议智能合约开发者在进行智能合约开发的时候需要对 onerror 的来源合约进行校验,确保合约帐号为 eosio 帐号,防止假错误通知攻击。
Impossible Finance遭遇闪电贷攻击,背后到底发生了什么? https://www.8btc.com/article/6651409
本次攻击的核心在于 cheapSwap 函数中未进行 K 值检查,导致攻击者可以通过在一次兑换过程中进行多次兑换操作以获得额外的代币。...
走过最长的路,竟是自己的套路?—— Alchemix 事件分析 https://www.8btc.com/article/6650256
通过错误的元素获取了错误的收益。...
我竟骗了我自己?—— BurgerSwap 被黑分析 https://www.8btc.com/article/6642407
DApp 开发者在移植其他协议的代码时,需充分了解移植协议的架构。...