昨晚,StarkWare产品负责人AvihuLevy和其团队的产品经理兼研究员LouisGuthmann报告了一个路印交易所前端生成EdDSA密钥对的逻辑漏洞。我们已经确认了该漏洞的确存在。
漏洞
在路印交易所的前端代码中,我们对用于生成用户EdDSA密钥对的种子进行了一次额外的哈希处理。不幸的是,这次哈希导致用户的EdDSA密钥对实际被限制在了一个32位整数空间。这个漏洞导致黑客可以通过穷举,找出所有用户的EdDSA密钥对。这是个严重的安全问题。
对用户资产安全的影响
Anchorage新增支持UMA、路印协议的代币托管:4月28日消息,数字资产银行Anchorage为其机构客户新增支持两类代币托管服务,分别是去中心化合成资产协议UMA(UMA)和路印协议(LRC)的代币。[2021/4/28 21:07:09]
路印协议使用EdDSA密钥对用户的链下请求做签名—因为EdDSA对零知识证明更加友好。这些链下请求包括订单和链下提现。
如果用户的EdDSA密钥对泄露,黑客就可以在路印交易所的订单簿上用非常低的价格出售用户的资产,并作为交易对手方来获利。
黑客还可以进行链下提现,但是用户的资产只会被提现到用户的地址,而不是黑客指定的其他地址。这是路印协议设计中的一个安全保障,正好是用来处理此类密钥泄露的情况。
路印协议Loopring在用户界面中支持RenBridge:路印协议Loopring在用户界面中新增支持Ren协议的RenBridge,允许用户使用比特币铸造renBTC,以zkRollup方式使用。目前renBTC已支持存入Loopring交易所和LoopringPay,将于大约1周后将上线renBTC/USDT交易对。[2020/6/24]
用户的以太坊账户是安全的
这个漏洞和用户的以太坊地址或其ECDSA密钥对无关。路印协议和路印交易所不访问也无法访问用户的以太坊密钥。
漏洞和路印协议、中继无关
路印协议实施新方法生成二层账户密钥,可基于一个以太坊地址生成多个密钥:Loopring路印协议宣布实施一种新方法生成二层(Layer 2)账户密钥,允许用户使用客户端临时更新以太坊地址的帐户密钥,以便将账户密钥分享给第三方(比如做市商)后,然后撤销该帐户密钥。这意味着该方法让以太坊地址和账户密钥的映射成为一对多,而非一对一。该方法无需密码、可更新 / 可撤销、甚至针对同个账户密钥互不相同、完全兼容智能钱包以及与路印协议层解耦。[2020/5/15]
这次发现的漏洞是个网页端的问题,和路印协议,路印中继系统没有直接关联。
问题修复
我们第一时间改进了派生EdDSA密钥对的方式,并已经在生产环境中发布了新版本。
另一方面,我们停止了所有现有用户的订单撮合服务,直到他们更改了交易密码,并由此更新了EdDSA密钥对。充值和提现一直不受影响,可以正常进行。
用户需要采取的行动
所有用户都应该在下次使用路印交易所时重置密码。但这一操作并不急迫,换句话说,即使您现在什么都不做,您的资产也不会受到任何损失。
在重置密码时,您可以使用相同的交易密码。我们只需要一个新的重置密码的以太坊交易。为了确保您使用的网页端是修复后的版本,请在网页的左上角将鼠标悬停在Beta1标签上,并确保LAST_COMMMIT不是c67193a14fb230f28a3be54f81a897f3fa4a8f13。
检查前端提交的哈希如果您仍然看到旧的LAST_COMMMIT,请强迫浏览器重新加载我们的网站。使用Chrome/火狐浏览器,您可以:
按住Ctrl键,然后单击“重新加载”按钮。或者,按住Ctrl并按F5。路印需要采取的行动
我们将对前端代码库进行更彻底的内部安全审计,以确保不会忽略layer2的安全性。我们还会考虑在未来开源我们的前端代码。
对于此漏洞给您带来的任何不便,我们深表歉意。
我们感谢AvihuLevy,LouisGuthmann,和StarkWare及时专业地报告了这个漏洞。非常感谢!
关于路印协议:路印协议采用零知识证明技术,允许开发者在以太坊上搭建高吞吐量、低成本、非托管、基于订单本的去中心化交易平台。路印交易所在不牺牲安全性的前提下,提供媲美中心化交易所的交易体验。
获取路印协议更多最新的动态,请访问我们的社区帐号:?Twitter:twitter.com/loopringorg?Reddit:reddit.com/r/loopringorg?电报:t.me/loopringfans(中文)?微博:https://weibo.com/loopringfoundation?路印的官方微信群:
郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。