首页 / 财经

sol钱包怎么注册,sol钱包怎么安装

发布时间:2022-11-25 12:07:41
  

  只有不忘历史,我们才能展望未来。在接下来的时间里,我们将一起回顾区块链安全事件的总结和区块链技术的展望。   

  

  Parity 多重签名钱包被盗事件详细回顾:   

  

  arity 多重签名钱包被盗事件解析   

  

  事件简介:   

  

  奇偶多签名钱包,是目前应用最广泛的以太坊钱包之一。它的创始人和首席技术官是加文伍德,邰方的前首席技术官,黄皮书的作者。   

  

  7月19日,Parity发布安全警报,警告其钱包软件版本1。5及更高版本有一个漏洞。根据该公司的报告,确认有15.3万ETH(约3000万美元)被盗。   

  

  根据奇偶校验,该漏洞是由一个名为wallet.sol的多重签名合同中的bug引起的,后来白帽黑客恢复了大约37.7万个受影响的ETH。   

  

  这次攻击导致以太坊价格波动。Coindesk的数据显示,事件曝光后,以太坊的价格一度从235美元跌至196美元左右。这一事件主要是由不精确的合同代码引起的。我们可以从块浏览器看到黑客的钱地址:   

  

  从可以看出,总共有153037个ETH被盗,受影响的合同代码都是奇偶校验创始人Gavin Wood写的多Sig库代码:   

  

  事件原因:   

  

  Github用户devops199打开#6995――任何人都可以删除合同。然后用户声称自己不小心删了合同。   

  

  漏洞原因:   

  

  由于initWallet函数是一个公共函数,攻击者调用initWallet,重新初始化钱包会覆盖之前契约的钱包所有者,即改变钱包所有者。   

  

  漏洞代码:   

  

  攻击过程的技术分析与还原:   

  

  第一步:成为合同的所有者   

  

  通过将value=0,msg.data.length 0的事务转移到这个契约地址,执行到_ Walletlibrary.delegatecall的分支,这个函数可以无条件调用契约中的任意函数,黑客调用一个名为initWallet的函数:   

  

  该函数再次调用initMultiowned函数:   

  

  不幸的是,initWallet没有进行检查来防止攻击者在契约初始化后调用initMultiowned。这个函数使得这个契约的所有者变成了攻击者,相当于从unix获得了root权限。   

  

  第二步3360转账,剩下的就清楚了。通过调用execute函数将钱转移到黑客的地址:   

  

  第一个参数3360 address to=0xb 3764761 e 297 d6f 121 e 79 c 32 a 65829 CD 1 DDB 4d 32,转账金额116779808c03e4140000是以卫为单位的eth,即82189000000000000。   

  

  总结:   

  

  通过对代码的分析,可以确定核心问题在于超越权限的函数调用。契约接口必须精心设计,访问权限必须明确定义,或者说,契约的设计必须符合一些成熟的模式或标准。部署前最好将合同代码提交给专业机构审核。否则,一个晦涩难懂的代码会让你血本无归。   

  

  提示:以太坊被盗不是以太坊区块链技术本身的问题,而是项目合同的技术安全问题。因此,一般公众误解为区块链安全有问题,这是不客观的。其次,安全是整个互联网金融的重要命题。智能合约的漏洞最近频频暴露,社区和公司一定要重视。目前智能合约还处于发展初期,没有像现有传统金融领域那样的审核机构和环节。智能合约的建设过程中迟早会加入这一缺失环节,有助于智能合约行业提高启动门槛和安全水平,促进其稳步推广应用。   

  

  (作者:WF翘曲未来;本文仅代表作者观点,不代表链家官方立场)   

以上就是帮企客小编为大家带来的全部内容,希望可以帮助到大家。

免责声明:本文为转载,非本网原创内容,不代表本网观点。其原创性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容、文字的真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。

如有疑问请发送邮件至:bangqikeconnect@gmail.com