链资讯 链资讯
Ctrl+D收藏链资讯
首页 > FIL > 正文

0x协议:0x协议漏洞原理剖析:恶意挂单可扰乱正常交易秩序_ALL

作者:

时间:

昨天,去中心化交易所协议0x项目方称其发现严重安全漏洞。PeckShield安全人员跟进分析发现,0xExchange合约在校验订单签名时存在缺陷,导致攻击者可以进行恶意挂单,进而将用户的数字资产低价卖出,扰乱正常的交易秩序。所幸项目方及时发现并修复问题,截至目前,尚未有真实攻击发生,并没有产生数字资产损失。

背景

北京时间2019年07月13日,去中心化交易所0x协议项目方称其发现严重安全漏洞,并紧急关闭了0xExchangev2.0合约,随后部署了修复后的合约。受此影响,基于0x协议的交易所及钱包,包括RadarRelay,Tokenlon,StarBit等紧急暂停了相关交易服务。PeckShield安全人员跟进分析发现,0xExchange合约在校验订单签名时存在缺陷,导致攻击者可以进行恶意挂单,进而将用户的数字资产低价卖出,扰乱正常的交易秩序。0x协议简介

蓝色光标与百度希壤达成战略合作:12月27日消息,百度战略级大会Create 2021(百度AI开发者大会)在百度希壤虚拟空间拉开帷幕,希壤在内测后正式面向所有用户开放。大会同期,百度希壤与蓝色光标宣布达成战略合作,双方将携手推动元宇宙技术与营销的有机融合,以希壤虚拟空间为基石,共同助力品牌方在元宇宙时代与消费者建立新连接、开拓新场景,赋能营销形态进化。(证券时报)[2021/12/27 8:07:29]

0x协议是一个基于以太坊的开放协议,实现链上资产的点对点交易。它期望在以太坊上创建一种标准协议,使得任何人能够基于此协议运行去中心化交易所,实现以太坊上的代币之间的交易。0x协议上的交易特点是链下订单撮合,链上结算,其中为用户交易提供订单服务的参与者称为中继者。0x项目发行了自己的代币ZRX,一方面作为去中心化治理投票权的证明,同时也被作为交易服务费,用于建立在0x协议之上的中继者提供服务的收益。0x协议受到不少去中心化交易所和钱包的青睐,从Etherscan的DEX过去七天交易份额的饼图中能看到,排名靠前的RadarRelay和Tokenlon都是基于0x协议:

百度区块链技术负责人荆博:区块链可以和多种技术融合:金色财经现场报道,首届区块链服务网络(BSN)全球技术创新发展峰会暨湖北区块链技术创新大会11月27日在武汉举行。百度区块链技术负责人荆博在会上表示,区块链网络是新基建的信任基石,区块链可以和其他技术融合成为智慧城市的基础设施。比如,区块链+物联网+轻量级节点可以解决数据可信采集,区块链+AI图像验证可以进行产品溯源;区块链+Spider+AI侵权检测可以进行存证维权,区块链+大数据可以打破数据孤岛,区块链+TEE可以构建可信计算网络;区块链+隐私计算可以处理高敏感数据。[2020/11/27 22:21:38]

另外,从DAppTotal的DEX24小时交易额排名中也能看到它们的排名:

由于Ethereum平台上大量的DEX都使用了0x协议,而作为最根本的TokenTranfer主合约出问题,这对于整个DEX领域来说,都是比较重大的事件。漏洞原理分析

动态 | 百度与重庆在智能政务、区块链等多个层面展开合作:据雷帝网消息,百度与重庆日前就共同推进大数据融合创新发展进行合作签约,双方将携手在自动驾驶、智能城市、智能政务、区块链等多个层面展开合作。[2019/8/26]

本次漏洞共涉及isValidWalletSignature()和isValidValidatorSignature()两个相似的漏洞,由于两者出问题的代码是相似的,本文只以前者为例说明。isValidWalletSignature(bytes32,address,bytes)函数用于验证给定的Wallet合约所定义的签名信息与给定的签名是否一致,用于确保Order是由正确的Maker/Taker执行的交易。但是0xExchange合约在验证的过程中,存在着比较严重的问题:

动态 | 百度指数:近7天比特币搜索指数整体环比下降17%:据百度指数数据显示,近7天比特币搜索指数整体日均值为31316,整体同比上升33%,整体环比下降17%,移动同比上涨51%,移动环比下降15%;近7天区块链搜索指数整体日均值为4561,整体同比下降64%,整体环比下降9%,移动同比下降48%,移动环比下降8%。[2019/8/3]

上图是这一函数的全部逻辑,分为两部分:组装签名具体字段为ABI编码格式;根据组装的ABI编码内容计算签名值正确性。其中,第2步的逻辑,在0xv2合约代码中是用汇编实现的:引入cdStart指针,指向calldata中对应的位置;对WalletAddress调用staticcall()OpCode计算签名正确性,注意观察代码,其中的input和output都为cdStart这一指针,即复用input/output的内存;检验步骤2.2中的结果是否正确。WalletAddress为合约的前提下,这样子的流程没有问题。先来看下EVM中合约的执行流程是怎样的,PeckShield安全人员查阅EVM源码的时候发现:

现场 | 百度将于明年2020上半年开源超级节点技术 实现跨链:7月27日,在百度超级链举办的线下沙龙上,高级开发工程师郑旗和资深开发工程师樊冰新详细介绍了百度超级链。超级链由百度自主研发,简单易用,支持网络、链、智能合约完全线上化部署、管理和使用,并支持热插拔共识机制,例如TDPoS、PoW、XPoS等,以此满足不同的共识应用需求。郑旗表示XuperModel 是超级链独特的技术,它指的是,通过判断交易的输入引用是否有冲突来实现事务,并发性能好。樊冰新表示百度将于明年2020上半年开源超级节点技术,实现跨链。[2019/7/27]

当被调用的合约没有code,也就是EOA账号的情况下,什么都没有的执行,直接返回。因此,对应到isValidWalletSignature(bytes32,address,bytes)函数来说,其中的cdStart所对应的内存内容在调用staticcall()前后并没有变化,而后面在判断签名是否正确的isValid取值的时候,也就取到了错误的值。用户通过fillOrder(Order,uint256,bytes)函数完成Token买卖,PeckShield安全人员发现,这一函数的三个参数可以由用户自由配置:

分别为:代表订单信息的Order类型;用户为此订单付出的Token数量;Order对应的签名信息signature其中比较关键的是Order及对应的signature信息的一致性正是通过上面的isValidWalletSignature()类函数校验,因此,当攻击者精心构造signature为SignatureTypeWallet时,可『跳过』签名合法性检查,从而使得用户在不经意之间被恶意挂单,从而被攻击者顺利吃单,由于这一订单信息是由攻击者直接传入合约的,因此这一订单信息在线下的中继者也无法查询。漏洞影响分析

基于上述分析发现,曾在0x协议Exchange上做过授权转账的普通用户帐号都将受到影响:攻击者可伪造用户挂单,低价获得用户代币。鉴于此安全漏洞的危害性,PeckShield安全人员发现0x项目方在漏洞被发现的时候先紧急关闭了0xExchangev2.0合约的Tokentransfer功能,将所有的ERC20、ERC721、以及MultiAsset的Transfer功能全部下线;随后部署了修复后的合约,同时告知用户及使用了0xExchange的所有DEX及Relayer,相关的迁移升级工作正在进行中。受此影响,基于0x协议的交易所及钱包,包括RadarRelay,Tokenlon,StarBit等紧急暂停了交易服务。PeckShield安全人员通过漏洞特性分析链上数据发现,从0xExchange2018-09上线至今,并没有因此安全漏洞造成的用户直接资产损失。对于使用了0x的DEX及钱包来说,当前的阶段需要暂停交易服务,如无法暂停交易服务的话,可将对应的0xExchange合约地址变更为当前已经修复的合约地址。结语

0x协议本次出现漏洞的合约代码,主要是内联汇编代码编写签名验证功能出现的问题,直接编写汇编代码虽然在编译器无法优化合约代码的情况下非常有用,可控性更强且能提高执行效率,减少Gas消耗,但是编写Solidity汇编代码需要对EVM运行机制有非常熟悉的理解,不然EVM的某些特性可能导致编写的合约无法正常运行,同时也缺少了Solidity提供的多种安全机制。PeckShield安全人员在此提醒广大开发者及时排查合约的相关代码,避免类似问题可能造成的安全风险,对于DEX等DeFi类项目,项目方在上线前需要找有资质的安全公司审计安全风险。

标签:0x协议ALLChangeLIDAlly DirectRocketX exchangeSolidex

FIL热门资讯
COI:交易所“黑马”制造_BNBX Finance

!webp\"data-img-size-val=\"952,677\"width=\"953\"\u002F\\>交易所一直是币圈竞争最火热的赛道,市场变幻,王朝也在不断更迭.

BTC:图文追踪PlusToken资产转移行踪(一): BTC部分有1,203个流入交易所_BTC2价格

PeckShield在对PlusToken的BTC主钱包地址进行分析后,PeckShield发现目前共还有72,708个BTC暂存在20多个主要地址中.

BTC:百度的“弃子”,想死不敢死的度宇宙_NMBTC币

编者按:本文来自巴比特,作者:海伦,星球日报经授权发布。度宇宙「元素」是数字货币吗?你觉得「元素」有投资价值吗?能否囤「元素」它上交易所?两周前,小L加我微信后,对我展开了连环夺命问.

0x协议:成也萧何,败也萧何_Change

上期回顾 BTC:BTC价格处于整理三角形中,在震荡整理中寻求择向,过于快速的上涨导致市场逐渐出现恐高心理,需要一定幅度的震荡来消化恐慌盘.

ENU:“币圈第一空投”项目疑似陨落,是创始人离开还是社区分裂的锅?_ENU价格

作者:海绵近日,ENU的创始人AidenPearce已注销电报账号,同时ENU的官网显示:“ENU已经死亡,卖掉你的ENU,但绝不要买。整个项目都被一些人控制着,他们想操纵价格.

ENU:利用神经元网络,如何治理区块链上的“邪恶市场”?_kraken是什么意思

作者:DominicWilliams翻译:红军大叔&BlockPunk社区:果壳宇宙添加微信:timesfriends,加入果壳宇宙,共建DFINITY生态.