快讯:
中国首个哈萨克斯坦经济研究中心昨日在杭州举行开幕仪式。经济研究中心由哈萨克斯坦驻中国大使馆和哈萨克斯坦驻中国上海领事馆支持下设立。研究中心主要目标为加强与阿斯塔纳国际金融中心之间的合作。研究中心将为数字经济、区块链技术、新创项目以及电子商务领域交流经验起到重要作用。
1、中科院院士:建立国家主权区块链基础平台迫在眉睫。 2、人民网:智能合约将会激发版权链更大的活力。 3、原银监会主席尚福林:金融机构要通过区块链等技术提高服务精准度。 4、重庆两江新区将建内陆贸易创新发展中心,加快建设数字经济产业园 5、前上交所总工程师白硕:稳定币的问题不是技术问题,而是政策和业务问题。 6、日本金融厅:正式将区块链用于证券、贸易金融等各行业。 7、EOS关于至少提升2倍可用CPU资源的提案已通过。 8、数据显示:昨日GUSD链上24小时交易量增长超90%,其他稳定币大幅下降。
福布斯分析师Joseph Young发推表示,“随着时间的推移,在数字货币领域,所有阴暗的业务和不可靠的交易、平台和项目将被淘汰。现在,这个行业还有太多不透明和不诚实的业务,但其很快就会被取代。”
中国首个哈萨克斯坦经济研究中心昨日在杭州举行开幕仪式。经济研究中心由哈萨克斯坦驻中国大使馆和哈萨克斯坦驻中国上海领事馆支持下设立。研究中心主要目标为加强与阿斯塔纳国际金融中心之间的合作。研究中心将为数字经济、区块链技术、新创项目以及电子商务领域交流经验起到重要作用。
1、中科院院士:建立国家主权区块链基础平台迫在眉睫。 2、人民网:智能合约将会激发版权链更大的活力。 3、原银监会主席尚福林:金融机构要通过区块链等技术提高服务精准度。 4、重庆两江新区将建内陆贸易创新发展中心,加快建设数字经济产业园 5、前上交所总工程师白硕:稳定币的问题不是技术问题,而是政策和业务问题。 6、日本金融厅:正式将区块链用于证券、贸易金融等各行业。 7、EOS关于至少提升2倍可用CPU资源的提案已通过。 8、数据显示:昨日GUSD链上24小时交易量增长超90%,其他稳定币大幅下降。
福布斯分析师Joseph Young发推表示,“随着时间的推移,在数字货币领域,所有阴暗的业务和不可靠的交易、平台和项目将被淘汰。现在,这个行业还有太多不透明和不诚实的业务,但其很快就会被取代。”
中国首个哈萨克斯坦经济研究中心昨日在杭州举行开幕仪式。经济研究中心由哈萨克斯坦驻中国大使馆和哈萨克斯坦驻中国上海领事馆支持下设立。研究中心主要目标为加强与阿斯塔纳国际金融中心之间的合作。研究中心将为数字经济、区块链技术、新创项目以及电子商务领域交流经验起到重要作用。
1、中科院院士:建立国家主权区块链基础平台迫在眉睫。 2、人民网:智能合约将会激发版权链更大的活力。 3、原银监会主席尚福林:金融机构要通过区块链等技术提高服务精准度。 4、重庆两江新区将建内陆贸易创新发展中心,加快建设数字经济产业园 5、前上交所总工程师白硕:稳定币的问题不是技术问题,而是政策和业务问题。 6、日本金融厅:正式将区块链用于证券、贸易金融等各行业。 7、EOS关于至少提升2倍可用CPU资源的提案已通过。 8、数据显示:昨日GUSD链上24小时交易量增长超90%,其他稳定币大幅下降。
福布斯分析师Joseph Young发推表示,“随着时间的推移,在数字货币领域,所有阴暗的业务和不可靠的交易、平台和项目将被淘汰。现在,这个行业还有太多不透明和不诚实的业务,但其很快就会被取代。”

parity多签名合约漏洞分析

菠菜philsong 2017-11-08 13:43 发布在 技术指南 7438

昨晚出事后看了安全公告:https://paritytech.io/blog/security-alert.html

分析合约代码后:https://etherscan.io/address/0x863df6bfa4469f3ead0be8f9f2aae51c91a907b4#code

Computer security

发现漏洞由如下代码段引起:

  // constructor - just pass on the owner array to the multiowned and
  // the limit to daylimit
  function initWallet(address[] _owners, uint _required, uint _daylimit) only_uninitialized {
    initDaylimit(_daylimit);
    initMultiowned(_owners, _required);
  }

// constructor is given number of sigs required to do protected "onlymanyowners" transactions // as well as the selection of addresses capable of confirming them. function initMultiowned(address[] _owners, uint _required) only_uninitialized { m_numOwners = _owners.length + 1; m_owners[1] = uint(msg.sender); m_ownerIndex[uint(msg.sender)] = 1; for (uint i = 0; i < _owners.length; ++i) { m_owners[2 + i] = uint(_owners[i]); m_ownerIndex[uint(_owners[i])] = 2 + i; } m_required = _required; }

这个函数假定创建者会调用initWallet函数,但是initWallet根本没有任何鉴权,任何人都可以成为owner,然后就可以调用kill函数杀死合约自身。
  // kills the contract sending everything to `_to`.
  function kill(address _to) onlymanyowners(sha3(msg.data)) external {
    suicide(_to);
  }

自杀之后,唯一可以用的函数只有
  // gets called when no other function matches
  function() payable {
    // just being sent some cash?
    if (msg.value > 0)
      Deposit(msg.sender, msg.value);
  }

parity是我现在用的eth客户端,速度快,体验好,然而安全问题是0容忍的,出现安全事故也是挺震惊的。

评论(1)
登录 账号发表你的看法,还没有账号?立即免费 注册