前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >针对网站漏洞怎么修复区块链漏洞之以太坊

针对网站漏洞怎么修复区块链漏洞之以太坊

作者头像
网站安全专家
发布2019-07-24 11:47:49
1.1K0
发布2019-07-24 11:47:49
举报
文章被收录于专栏:网站漏洞修复网站漏洞修复

前段时间以太坊升级架构,君士坦丁堡的硬分叉一个升级代号,被爆出含有高危的网站漏洞,该漏洞产生的原因是由于开启了新的协议模式eip1283导致的,也是区块链漏洞当中危害较为严重的,可以让一些交易进行重入,一个转账可以导致写入2次,但该漏洞并不是确实的可以进行重入漏洞。以太坊区块链在发现该漏洞之后,紧急的停止了以太坊的硬分叉升级,并与上个星期五召开了内部会议对其漏洞进行修复,延期对以太坊的硬分叉升级。

区块链当中,以太坊属于比较大的虚拟币,位列于比特币,第二。关于该漏洞的详情我们来分析一下,关于这次以太坊的升级大家都可以提议,必须经过内部审核,才会通过提议,在这次的提议当中有个eip1283的升级建议, 以太坊的漏洞就是由他而生。

这个建议主要是对以太坊的操作码进行长久的保存数据以及更好的整理以太坊的交易手续费,便捷,快速,处理过程的逻辑更为人性化,大大节省了成本以及时间,使得该提议被提上了日程,以太坊也进行了采纳,公开与众,攻击者根据公开的一些细节,对其进行漏洞挖掘,才导致了今天发生以太坊漏洞。

区块链重入漏洞在同一个交易当中,1个买家1个卖家进行的合约交易,两种合约互相调用并产生了重复转账的一个漏洞,漏洞产生的根源并没有将转账当成一个事务处理来看待。我们来看一下下图:

我们模拟了一个合约,交易的虚拟币由deposits来存储,然后再推送到splits变量当中去分配这个存储比例。比如一个交易需要买家跟卖家一起去分配,首先会调用一个init函数去存储双方的一个交易钱包地址,然后使用deposit的变量通道来进行充值虚拟币到钱包地址,再使用updatasplit的一个函数进行分配虚拟币,整个过程就是这也,在这个过程当中卖家买家就可以转账虚拟币一次,哪么多次重入会导致攻击者进行。

关于区块链漏洞的修复建议

区块链漏洞的修复补丁,以太坊已经开始着手准备应对升级,对该漏洞的产生进行了详细的分析,据我们SINE安全观察,以太坊的社区正在跟大家讨论处理这个漏洞的问题,关于合约产生的漏洞还是该由合约的提议者去解决,不能一直让以太坊区块链去解决,关于合约的安全写法以及规则,正式化,会避免以后区块链漏洞的产生。

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
区块链
云链聚未来,协同无边界。腾讯云区块链作为中国领先的区块链服务平台和技术提供商,致力于构建技术、数据、价值、产业互联互通的区块链基础设施,引领区块链底层技术及行业应用创新,助力传统产业转型升级,推动实体经济与数字经济深度融合。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档