智能合约安全

2024年07月08日更新 456 人订阅
专栏简介 DeFi安全之杠杆挖矿 SharkTeam系列课程—NFT&GameFi开发与安全 NFT和GameFi概念介绍 ERC20/ERC721/ERC1155概念与协议 闪电贷和重入攻击:Grim Finance被黑事件分析 重入攻击:Uniswap V3流动性协议Visor Finance被黑事件分析 领航Web3安全,让数字生活更安全更美好:SharkTeam线上AMA实录 闪电贷攻击:Sashimi Swap被黑事件分析 ERC20相关业务的合约开发与合约安全 权限问题:Crosswise 被黑事件分析 细节决定成败:QBridge被黑事件分析 损失3.26亿,跨链协议再暴雷:Wormhole被黑事件分析 参数校验不严谨:Superfluid被黑事件分析 ERC721/ERC1155合约开发与合约安全 闪电贷+提案攻击-Beanstalk Farms攻击原理及资金流向分析 监守自盗?Titano.Finance被黑事件分析 AscendEX黑客攻击事件资金流向分析 NFT交易平台安全风险频发--OpenSea & X2Y2安全事件分析 SharkTeam系列课程—NFT 应用场景分析 SharkTeam发布2022年Q1智能合约安全态势感知季报 ChainAegis链上分析:以太坊合并后的中心化风险 大意失荆州-Akutar合约漏洞导致34M美元资金永久被锁 SharkTeam:十大智能合约安全威胁之回退攻击 闪电贷&重入攻击:Hundred与Agave被黑事件分析 从APE空投漏洞谈起,NFT安全情况究竟如何? 千里之堤,溃于蚁穴—跨链协议Nomad被黑事件分析 SharkTeam服务全线升级,重磅推出ChainAegis链上风险分析平台,全面保障Web3生态安全 ChainAegis:从链上数据看,FTX会崩盘吗? NFT合约同样也有重入风险:Revest Finance被黑事件分析 操纵预言机+提案攻击—Fortress Loans被黑事件分析 去年519,今年510—从链上分析的角度看,LUNA会不会真的陷入死亡螺旋? 算法稳定币UST崩盘—是完美风暴还是金融围猎? 6.2亿,再破记录:Ronin Bridge攻击事件技术分析与资金流向分析 周天王的愚人节-NFT精准钓鱼事件技术分析与资金流向分析 【深度】从链上分析和金融安全角度,看stETH的囚徒困境和Celsius挤兑事件 NFT流动性协议的安全困局—NFT借贷协议XCarnival被黑事件分析 NFT流动性市场安全问题频发—NFT交易平台Quixotic被黑事件分析 【深度】OpenSea 新协议 Seaport源码解析 重入攻击+闪电贷—NFT金融协议Omni被黑事件分析 SharkTeam发布2022年第二季度Web3安全态势感知报告 DeFi安全之DEX与AMMs SharkTeam完成Flow生态NFT市场MatrixMarket的安全审计 闪电贷技术详解-Part 1 闪电贷技术详解-Part 2 闪电贷技术详解-Part 3 SharkTeam系列课程:什么是DeFi借贷 DeFi安全之抵押借贷 从链上分析角度看Tornado Cash被制裁事件 Defi安全之借贷杠杆 链上数据角度,看DeFi隐私赛道的现状和未来 火眼金睛,教你如何识别Rug Pull项目 SharkTeam:十大智能合约安全威胁之重入攻击 SharkTeam:十大智能合约安全威胁之操纵预言机 SharkTeam:十大智能合约安全威胁之逻辑校验漏洞 SharkTeam:十大智能合约安全威胁之权限漏洞 SharkTeam:8月Web3安全报告 SharkTeam:十大智能合约安全威胁之合约升级漏洞 警惕以太坊合并后的重放攻击:Omni跨链桥被攻击事件分析 SharkTeam:十大智能合约安全威胁之函数恶意初始化 波卡“以太坊"Moonbeam的技术创新之路 左手以太坊、右手跨链-Moonbeam的创新与突破 批准+校验漏洞-TransitSwap安全事件分析 ChainAegis:BTC和ETH第三季度链上数据解读 默克尔树漏洞成因和链上资金追踪-BNBChain跨链桥攻击事件分析 SharkTeam:Move合约开发与合约安全 Moonbeam的多链架构 高保真还原BNBChain跨链攻击实现原理-攻击者选择高度为110217401的区块到底有什么讲究? SharkTeam:十大智能合约安全威胁之三明治攻击 香港要成为国际虚拟资产中心,链上安全是关键 SharkTeam:十大智能合约安全威胁之提案攻击 ChainAegis:FTX资金流向最新分析,风险大,请尽快提款 SharkTeam:十大智能合约安全威胁之重放攻击 Move语言安全性分析及合约审计要点 之权限漏洞、重入攻击 ChainAegis:Top20 中心化交易所资金储备链上分析-Part 1 区块链安全 Move语言安全性分析及合约审计要点 之逻辑校验漏洞 ChainAegis:Top20 中心化交易所资金储备链上分析-Part 2 ChainAegis:Top20 中心化交易所资金储备链上分析-Part 3 Move语言安全性分析及合约审计要点 之函数恶意初始化 链上数据分析:CeFi频繁暴雷后,DEX会成为主流吗? Move语言安全性分析及合约审计要点之回退攻击 SharkTeam:11月Web3安全报告 SharkTeam与NFMS达成合作,提供Move合约审计服务 Move语言安全性分析及合约审计要点之提案攻击 ChainAegis分析报告:Dogecoin排名前10的市值从何而来? SharkTeam完成APTOS生态项目NFMS的合约审计 ArWiki调研报告 Move语言安全性分析及合约审计要点之合约升级漏洞 Verto调研报告 在深熊中艰难前行,DeFi & CeFi 2022年度分析报告 SharkTeam:2022年度Web3安全报告 ChainAegis:2022年度NFT&GameFi分析报告 Move语言安全性分析及合约审计要点之操纵预言机 加密货币反洗钱(AML)分析 SharkTeam:Move语言安全性分析及合约审计要点 之三明治攻击 ChainAegis:BUSD链上数据分析报告 闪电贷攻击+业务逻辑漏洞:Platypus Finance事件分析 SharkTeam:Move语言安全性分析及合约审计要点之重放攻击 加密货币钓鱼团伙Monkey Drainer链上行为分析 权限漏洞+价格操纵:SwapX被攻击事件分析 ChainAegis:Blur链上数据分析报告 ChainAegis:数读Silvergate & SVB崩盘事件 业务逻辑漏洞+闪电贷攻击:Euler Finance被攻击事件分析 ChainAegis:稳定币协议Liquity链上分析报告 ChainAegis:GMX链上分析报告 SharkTeam与GoPlus Security达成战略合作,共同守护Web3世界安全 香港之夜,Dao的盛会 SharkTeam:2023年第一季度Web3安全报告 Talk with us,公链、DeFi等Web3时代的创新发展机遇有哪些? 香港Web3嘉年华“Web3与安全”主题论坛议程揭秘 2023香港Web3嘉年华,SharkTeam展台指引 权限校验漏洞:SushiSwap被攻击事件分析 香港会议期间,SharkTeam发布“链上安全分析研究报告” 安全是发展Web3的必要条件-SharkTeam受邀香港Web3嘉年华 ChainAegis:LSD赛道链上分析报告 Sui 与 Aptos 技术实现对比 ChainAegis:去中心化保险赛道及风险分析 ChainAegis:Pancakeswap V2V3链上数据分析 ChainAegis:AAVE V2/V3链上数据分析 ChainAegis:Gains Network链上数据分析 逻辑漏洞:DEUS被攻击事件分析 ChainAegis:BRC-20链上数据分析 ChainAegis:Blend链上数据分析 SharkTeam:Tornado.Cash提案攻击原理分析 SharkTeam:Sui主网链上数据分析 SharkTeam:Jimbos protocol闪电贷攻击原理分析 SharkTeam:RWA赛道链上数据分析 SharkTeam:Zksync Era链上数据分析 SharkTeam:Atomic Wallet攻击原理和洗钱模式分析 链安全 Sui主网上线满月,链上持币者数据分析 SharkTeam:Atlantis提案攻击原理分析 SharkTeam:HashFlow攻击事件原理分析 SharkTeam:2023年第二季度Web3安全报告 SharkTeam与Move Accelerator达成合作,Let’s Move! SharkTeam:Themis protocol闪电贷价格操纵攻击分析 SharkTeam:4月28日攻击者就已实施攻击-PolyNetwork攻击原理和资产转移分析 SharkTeam:AzukiDAO攻击事件分析 SharkTeam:BNO攻击事件原理分析 SharkTeam:Vyper漏洞导致Curve和JPEG'd等项目被攻击原理分析 SharkTeam:UniswapV4 Hook最佳安全实践 SharkTeam:UniswapX 源码分析 SharkTeam:Worldcoin运营数据及业务安全分析 SharkTeam与TOKEN2049正式达成合作伙伴关系 SharkTeam:Exactly Protocol攻击事件原理分析 SharkTeam:Rugpull工厂黑色产业链分析 SharkTeam开启9月双城记 SharkTeam上海区块链全球峰会展台指引 SharkTeam:Web3安全实践与创新 KYT/AML:Web3合规展业的必要条件 SharkTeam:典型钓鱼攻击链上资产转移分析 SharkTeam:起底朝鲜APT组织Lazarus Group,攻击手法及洗钱模式 SharkTeam:2023年第三季度Web3安全报告 SharkTeam:BH闪电贷攻击原理分析 SharkTeam:Platypus Finance攻击事件原理分析 SharkTeam:Onyx Protocol攻击事件原理分析 SharkTeam:Raft攻击事件原理分析 从链上分析角度看FTX破产清算过程,美国加密货币监管与风险处置能力究竟如何 SharkTeam:KyberSwap攻击事件原理分析 SharkTeam:ERC2771\&Multicall任意地址欺骗漏洞原理分析 SharkTeam:OKX DEX攻击事件分析及链上资产追踪 SharkTeam:从链上数据看稳定币的安全与监管 SharkTeam:2023年加密货币犯罪分析报告 SharkTeam:MIM_SPELL被攻击事件原理分析 SharkTeam:合约精度计算漏洞与安全建议 SharkTeam:Woo Finance被攻击事件分析 SharkTeam:Prisma Finance被攻击事件分析 SharkTeam:2024年第一季度Web3安全报告 SharkTeam:Hedgey Finance被攻击事件分析 SharkTeam:Sonne Finance攻击事件分析 SharkTeam:Web3常见钓鱼方式分析与安全防范建议 SharkTeam:UwU Lend攻击事件分析 SharkTeam:美国众议院FIT21法案解读 SharkTeam:2024年上半年度Web3安全报告

从链上分析角度看Tornado Cash被制裁事件

  • SharkTeam
  • 发布于 2022-08-11 17:10
  • 阅读 5195

本文将以Nomad资金被盗事件为例,在链上分析过程中揭开Tornado Cash的神秘面纱。

2022年8月8日,美国财政部发文表示制裁Tornado Cash。在美国财政部对Tornado Cash实施制裁后,USDC稳定币背后的财团 Centre 已将 Tornado Cash 控制的钱包地址列入黑名单。本文将以Nomad资金被盗事件为例,在链上分析过程中揭开Tornado Cash的神秘面纱。 image.png

一、Tornado Cash工作原理

Tornado.Cash 是一种完全去中心化的非托管协议,通过打破源地址和目标地址之间的链上链接来提高交易隐私。用户可将ETH或者其他代币发送到Tornado Cash提供的一个智能合约上,并可再提款至不同的地址上,这样就打破了源地址和目标地址之间的链上链接从而提高了交易隐私。

Tornado 接收各种交易并将它们混合在一起,然后再将它们传输给各自的接收者。虽然据称目的是增加隐私,但像 Tornado 这样的混合器通常被非法行为者用来洗钱,尤其是那些在重大抢劫中被盗的资金,对美国国家安全构成重大威胁。据Dune Analytics统计,该平台的资金量自2020年1月以来一直保持着高速增长,目前已经有近348万个ETH存款于这个隐私池中,存入的总额为76亿美元,Tornado Cash已然变成以太坊最大的隐私解决方案。 image.png image.png Tornado Cash是基于ZK-SNARK的去中心化、非托管隐私解决方案。它是通过打破存款人和取款人的链上连接来完成混币从而提高交易隐私。可以这样理解,将若干没有关系的人和互相没有关系的交易混在Tornado Cash系统中,此时,在外界看来就不知道输入的交易对应哪个输出交易,通过这种方式达到混淆的效果,从而达到真正的匿名交易。

Tornado Cash可以分为新(Tornado cash nova)旧(Tornado cash classic)两个版本。新版本在旧版本的基础上做了一些变化:

(1)转入系统后,有多个不关联的接收地址

一般交易时,会有多个地址作为接收方。试想,A和B两地址之间存在过链上转账记录,或者和同一个交易所地址有过充提记录,很容易被关联起来,进而破坏了混币的效果。因此,为了保护隐私,这两种地址不存在任何关联。

(2)控制提现额度

为了增强隐匿性,Tornado Cash的老版本中,存在4个存储ETH池合约(Pools),分别用来接收和提币0.1、1、10、100 ETH的单笔交易,不支持用户充值任意数量的ETH,在新版本中则做了修改,没有对这个数量进行限制,用户可以自行定义想要充值和提币的数量(目前单笔最小0.05ETH,最大不超过10ETH,也可以通过社区投票自治,多签执行来改变这个最大限额)。但是大多数用户为了隐私性仍会选择老版本的提币额度进行混币交易。

(3)生成新的地址及私钥

在旧版本中,用户想要转移一笔资产或混币时,需要将资产转入到Tornado Cash的智能合约中,Tornado Cash会给用户随即生成一个秘钥作为凭证,取出时只需要向Tornado Cash提供秘钥即可。多笔交易生成后,也会产生多个秘钥,从而达到混币的目的。而在新版本中,任何用户在首次使用新版本时会自动创建一个新的地址及秘钥,相较于之前的多个秘钥,操作上也方便了不少。

(4)设置专门的机器人Relayer解决地址关联问题

在提币过程中,需要一个地址来发起交易,而这笔交易将会需要一些ETH作为gas手续费,那么不可避免的需要有人通过一些路径把这笔gas充值到这个提币地址中。对于同一个用户来讲,一般从同一个交易所账户提币到不同链上账户,这样链上账户间就有可能被关联,从而导致隐私性受损。为了解决这个问题,Tornado协议使用了Relayer,让Relayer机器人代替用户发送这笔提币交易到用户指定的收款地址中,同时会奖励给Relayer一定的ETH奖励(一般为提币总金额的0.4%左右)。这样能很好的保护用户隐私。Relayer机器人是中立的,一般通过质押一定的Torn代币才能成为Relayer

(5)新增隐私转账(shielded transfer)

这是新版本增加的功能之一。以往转账的时候需要用户把资金从混币池中提币到另一个地址。在这个新版本中,允许用户资金在不离开Gnosis Nova Pool的情况下,进行池内转账到一个shielded address(前提是这个地址也register过Nova Pool了),转币数量也是任意的,同时需要支付Relayer一笔金额很低的小费。

新版本在一定程度上增加了反洗钱的难度。以上的几个方面无一不是为了增加用户的隐私性,却也正是大多数黑客选择Tornado Cash作为资金转移系统的主要原因。

被盗资金转移到Tornado Cash进行混币的事件数不胜数。今年2月,跨链协议Wormhole遭到黑客攻击,损失达1.2万枚ETH(约合3.26亿美元),攻击者通过匿名交易协议 Tornado Cash 获得攻击的启动资金;3月29日,Ronin Network被黑,超过6亿美元的加密货币被盗,被盗资金最终流入了 Tornado Cash 。6月23日,Horizon 跨链桥遭恶意攻击,导致 Harmony 链上将近1亿美元等值的虚拟资产被盗,攻击者分批次分步骤转移被盗资金的洗钱模式与Ronin Network黑客的洗钱模式高度一致,攻击者可能是来自朝鲜的黑客组织 Lazarus 。2022年上半年,大约11.407亿美元的被盗资金被黑客转移到Tornado Cash,占Web3损失总额的60%。

二、制裁与“投毒”

美国财政部的海外资产控制办公室(OFAC)在本周一的公告中显示,在美国特别指定国民名单中添加了几个与Tornado Cash有关的加密货币地址,使之可以有效禁止美国居民使用Tornado Cash相关的40多个美元硬币(USDC)和以太币(ETH)地址。 此消息一出,以太坊隐私交易平台Tornado Cash的Token TORN价格跌至21.49美元,24小时跌幅达26.68%。8月9日,USDC发行商Circle也已正式将美国财政部制裁名单中的以太坊地址列入黑名单。 image.png

但事件远未结束, 8月10日凌晨,有人开始将Tornado Cash混币过的地址内虚拟资产发送到Vb 3、Justin Sun、sifu.eth、Brian Armstrong、Beeple、Shaq、乌克兰加密捐赠和中心化交易所等业内知名人士或者交易所的ENS钱包,截止8月10日晚,约有440个地址收到了通过Tornado Cash发送的0.1枚ETH。目的是让这些钱包也受到污染,此事件被业内网友称为“投毒事件”。 image.png 此举似乎是对Tornado Cash受到美国财政部海外资产控制办公室(OFAC)打击的某种抗议。但是黑客在污染其他人的地址,这也大大提高了反洗钱的难度。收到0.1 ETH的440个地址,会因为受到被恶意“投毒”面临审查问题,即使这些地址可能是无辜的,资产也可能会遭到冻结。

三、如何对Tornado Cash混币过的地址进行反洗钱分析

以Nomad事件两个攻击地址为例,通过ChainAegis链上分析平台如何对经过Tornado Cash混币过的地址进行反洗钱分析。

(1)Nomad攻击地址72cc:

我们找到Nomad事件攻击地址:0x65760288f19cFf476B80A36a61F9DEDAb16Bab49通过分析发现,该地址还有一个关联地址:0x72ccbb2002254bd8a0485d13a3a2faa9b0f992c6 image.png image.png

该地址在2022-08-02 08:13:40~2022-08-02 08:23:22向合约Tornado.Router转入了3100枚ETH。查看最后一笔交易哈希(0xd156),我们可以发现这个合约又将 ETH转到了合约Torando.Cash:100ETH。最后通过合约Tornado.Router向地址3586转了3000枚ETH。在2022-08-02 15:55:04,2022-08-08 14:53:23这两个时间段,地址3586分别向Aave:WETH:Gateway转出了2000 ETH,999.7 ETH。 image.png image.png

经过核对我们可以看到地址:0x35869B5fACa988519681Bb16CbB9E193Ed574aA3中的转出资金数额与黑客分批存入Tornado.Router中的资金数额基本一致,与我们的分析吻合。

(2)Nomad攻击者C994:

Nomad的另一个攻击地址:0xC9943f94142D81790eCf8EEE2C879d47730cf599分别将1205枚ETH和2580枚ETH转移到中间地址(0x7a98开头和0xC994开头),最后转入Tornado.Router。 image.png image.png

按照上述地址的分析方法,我们可以找到两个主要地址: (1)0xA89DB320721f517c36b1256314aD4575F12342e8接收了来自Tornado.Router的1960 枚ETH。 (2)0xae40379049d22D7CB780D3a908ddED0c30be46EA接收了来自Tornado.Router的740枚ETH。 image.png image.png 根据资金转出记录的时间线索我们可以推断出以上的两个地址(0xA89D开头和0xae40开头)中的转入资金数额是黑客分批存入Tornado.Router中的主要资金流向。

Tornado Cash的设计和开发初衷是为了保护用户隐私,但是在监管和市场没准备好的情况下却被不法分子滥用,其违背了Tornado Cash的设计初衷,我们相信这也不是项目团队希望看到的结果,需要引入KYC和AML等机制来不断完善。但反观此次美国财政部对Tornado Cash的制裁,粗暴且不讲道理,殊不知这本身就是监管不明确、不完善带来的问题,监管缺失造成的问题不应当完全由项目方和社区来承担后果,这也违背Web3的发展理念。好的监管应该是双赢的,既能支持活跃的生态发展,维护普通用户的合法利益;又能发现犯罪、打击犯罪,维护生态秩序。

关于我们:SharkTeam的愿景是全面保护Web3世界的安全。团队成员分布在北京、南京、苏州、硅谷,由来自世界各地的经验丰富的安全专业人士和高级研究人员组成,精通区块链和智能合约的底层理论,提供包括智能合约审计、链上分析、应急响应等服务。已与区块链生态系统各个领域的关键参与者,如Huobi Global、OKC、polygon、Polkadot、imToken、ChainIDE等建立长期合作关系。 Telegram:https://t.me/sharkteamorg Twitter:https://twitter.com/sharkteamorg 更多区块链安全咨询与分析,点击下方链接查看 D查查|链上风险核查 https://m.chainaegis.com

点赞 1
收藏 0
分享
本文参与登链社区写作激励计划 ,好文好收益,欢迎正在阅读的你也加入。

0 条评论

请先 登录 后评论