2021 年对于区块链来说是一个巨大的里程碑,无论是对于用户量还是对于机构接受程度。链资产比重都远超历史上的任何其他时期。
与此同时,兴起了许多多元化的事物如号称终极未来的元宇宙、边玩边赚的 GameFi 以及链链互信的跨链等。而各类传统 Defi Dapp 也加速了步伐迎来了全新的升级,如 Uniswap V3, Aave V3 等新版协议问世。
种种这些,不仅为区块链生态带来了活力,同时也带来了全新的安全挑战。现在请跟随 知道创宇区块链安全实验室 的视角一起回顾2021区块链安全生态以及各月份的典型安全事件。
2021区块链安全生态速览
据**知道创宇区块链实验室【被黑事件档案库】**不完全统计数据,截止本文发稿前,2021 年区块链可供查询的相关安全事件为 312 起,直接损失超 100 亿美元。
对比往年数据来说依然是一个令人心悸的走高态势。蓬勃发展的多链系统,链链互信的跨链需求,新链上的花式仿盘,都为这一庞大的数字做出了相应的"贡献"。
在安全事件方面我们使用了6个纬度来进行统计,分别是 交易所、DeFi、跑路/骗局、钱包、公链、其他。其中以DeFi安全尤为突出达到了 141 起。
该原因主要在于区块链底层技术愈加趋向成熟,但合约实现规范还没有充分完备化和体系化,审计还没有被足够的落实。尤其合约具备着直接担当着资金载体和运行逻辑的功能,这使得越来越多黑客将目标瞄向该领域。
另一方面,攻击者利用闪电贷和链上监控愈发成熟。使得攻击面得以被充分暴露,同时各个项目方对于协议的实现也存在着巨大的差异,这些种种,无疑皆助长了该攻击的广泛性和频繁性。
在资金损失方面则是跑路/骗局尤为严重,损失总计超 64 亿美元。相较于 DeFi 安全事件的多发性来说,跑路/骗局对人们造成的经济损失更加明显。
跑路的方式由于 Owner 权限过大、合约可升级、DAO 比例操控等等难以避免。同时由于区块链的不可追溯性导致该行为风险变得非常的低,甚至有项目方直接在群组公开宣告自己跑路的行径,导致大量用户失去信心。
无论是交易所清退诈骗、链上蜜罐、假钱包、转账钓鱼,花样众多的攻击方式也为链安全带来了新的挑战。当然,这不仅仅应该完全依赖安全公司,更多的还应该寄希望于群体安全意识提升的落地。
2021各月份典型安全事件回顾
Ⅰ:挑 战 伊 始
关键词:权限控制,手续费
1月27日,SushiSwap 因收取手续费的函数存在权限控制缺陷,被黑客利用操控了 DIGG/WETH 交易对的滑点,从而套取了 WBTC/DIGG 交易对的手续费。 安全月度风险评估:低 月度评价:新年伊始,但不应该是新漏洞的开始
Ⅱ:风 雨 初 现
关键词:闪电贷,无限授权
Yearn Finance 被攻击,黑客利用闪电贷操控 3pool 代币平衡,并通过y Dai保险库放大差异,获利 280 万美元,而保险库损失 超1100 万美元。 以太坊协议组合工具 Furucombo 智能合约被爆出存在请求授权权限过高问题,黑客可通过向 Furucombo 代理添加攻击合约,从而获得影响用户账户的权限,该漏洞影响超 1400 万美元。 安全月度风险评估:中 月度评价:同类型漏洞相继爆发,需做好安全预警
Ⅲ:花 式 危 险
关键词:双花交易,错误铸币,权限控制
去中心化交易所 DODO 因未对init进行权限控制,导致黑客在进行闪电贷归还操作时通过init函数将需要归还的代币修改为自己提前加入pool的垃圾代币,从而规避校验以次充好,损失超 200 万美元。 Paid Network 铸币功能存在漏洞,被利用铸造超 6000 万枚PAID代币。 Filecoin 由于节点特性出现“双花交易”漏洞。 安全月度风险评估:高 月度评价:漏洞类型花样百出,但核心都是资金安全
Ⅳ:经 典 重 现
关键词:重入攻击,协议兼容性
Uniswap 上的 imBTC 池遭到黑客攻击,漏洞原因是 Uniswap 与 ERC777 协议出现兼容性问题,当交易产生时,ERC777 中的迭代调用 tokensToSend 可以被用来实现重入攻击,损失超 30 万美元。 安全月度风险评估:低 月度评价:经典漏洞以全新方式体现,说明安全理念并不会停滞,需要时刻进步
Ⅴ:八 方 风 雨
关键词:重入攻击,协议冲突,滑点,闪电贷
合成资产协议 Spartan Protocol 遭到闪电贷攻击,由于添加/移除流动性存在滑点修正机制的差别导致套利,损失 3050万 美元 机枪池项目 Value DeFi 由于协议组合存在的冲突隐患遭到攻击,损失 1000 万美元,2 天后再次遭到攻击,损失 1100 万美元; PancakeBunny 遭到闪电贷攻击,由于 LP 代币价格计算问题导致套利,损失约 4500 万美元; BurgerSwap 遭到闪电贷攻击,由于重入漏洞和架构问题导致套利,损失约 330 万美元; 安全月度风险评估:高 月度评价:本月是闪电贷攻击多发月份,造成的损害也及其重大,所以必须不放过任意可能存在漏洞的细节,避免无法挽回的结果。
Ⅵ:风 雨 依 旧
关键词:薅羊毛,错误变量,address(this),闪电贷
PancakeBunny 项目仿盘 PancakeHunny 项目遭遇黑客攻击,主要漏洞原因在于mintFor函数错误地使用合约余额作为参数,且兑换 HunnyToken 使用的固定参数,导致套利可行。 以太坊 DeFi 项目 Alchemix 的 alETH 合约出现安全问题,由于部署脚本错误的创建 vault 值并在调用中使用了错误的索引,导致用户奖励超发 BSC 链上DeFi协议 xWin Finance 遭到闪电贷攻击,合约未对奖励推荐人地址做校验,导致同一地址推荐人奖励可累计。 安全月度风险评估:中高 月度评价:本月闪电贷攻击依然多发,其提醒着控制变量值得反复审计。
Ⅶ:逻 辑 理 性
关键词:私钥,双花攻击,tx.origin,逻辑漏洞
去中心化跨链交易协议 Anyswap 遭到攻击,漏洞原因在于其 V3 路由器 MPC 帐户下存在两个 v3 router 交易,这两个交易具有相同的 R 值签名,攻击者可以反推出 MPC 账户的私钥,损失约800万美元。 BSV 网络遭受恶意攻击,造成多个区块重组,攻击者借此进行了双花攻击。 去中心化跨链交易协议 THORChain 遭受多次攻击,因其代币特性 tx.origin 可被用做钓鱼,损失约 2500 万美元。 收益耕作协议 PolyYeld Finance 遭受攻击,因其转账时存在实际到账少于转出的缺陷,被黑客利用控制了 MasterChef 合约中代币,实现超额奖励。 安全月度风险评估:中高 月度评价:本月存在各类型的逻辑漏洞,涉及私钥、转账已经功能特性等,需做更全面的考虑。
Ⅷ:危 险 之 最
关键词:年度损失之最,重入攻击,同类型协议攻击,闪电贷
以太坊上DeFi 协议 Popsicle Finance 遭遇闪电贷袭击,漏洞原因在于 PLP 池合约对手续费奖励的计算存在缺陷,损失 2,070 万 美元; 跨链协议 Poly Network 遭到攻击,由于函数缺陷导致keeper可被修改,这次攻击被称为年度最大黑客事件,损失约 6.1 亿美元; BSC 链上DeFi 项目 Dot.Finance 遭受闪电贷攻击,这次攻击属于 PancakeBunny 同类型协议攻击,损失近 43 万美元,迄今为止,此类攻击已造成损失超 5,000 万美元; 以太坊上的 DeFi 协议 Cream Finance 遭遇重入漏洞袭击,损失超 1800 万美元; 安全月度风险评估:高 月度评价:本月各类攻击损失都十分巨大,还有着堪称全年损失之最的Poly Network攻击,该月份攻击不仅影响到新兴的跨链项目也对同类型的协议敲响警钟,这份影响持续着整个区块链安全生态。
Ⅸ:问 题 依 旧
关键词:初始化攻击,恒定乘积校验,预言机操控,闪电贷
NFT 赛马项目 DeRac 被攻击,其漏洞原理是:Vesting 合约 未进行 init 未初始化保护,从而让黑客初始化了 init 中他想要的参数,最后通过紧急提款函数提取了合约资金,损失约400万美元。 去中心化交易所 NowSwap 遭到黑客攻击,由于没有修改 swap 函数的参数导致闪电贷的恒定乘积校验逻辑失效,攻击者返还部分闪电贷金额即被认为是完全归还,从而实现了攻击,损失金额超100万美元。 借贷协议 Vee.Finance ,超3500万美元资产被盗,据官方调查,极可能是小数点未精确以及权限校验问题导致预言机价格被操纵。 去中心化借贷协议 Compound 出现变量设置错误转移了更多的 COMP 代币, 该漏洞损失约 28 万枚 COMP 代币。 安全月度风险评估:高 月度评价:本月各类攻击损失依然巨大,但相较于新型漏洞,大多数漏洞都属于可追溯漏洞即已经出现过的漏洞。
Ⅹ:漏 洞 多 样 化
关键词:价值描述,修补方案,多次攻击
以太坊上被动收益协议 Indexed Finance 遭到攻击,其漏洞产生的原因在于协议通过一种代币来描述整个矿池价值,损失约1600万美元。 去中心化借贷协议 Compound 在试图通过 社区提案修补流动性挖矿代币分发合约含有的漏洞的同时,因为 drip() 函数的调用而向漏洞合约打入了20万枚 comp 代币,由此该协议已面临 1.58 亿美元的潜在损失。 以太坊上 DeFi 借贷协议 Cream Finance 再遭受攻击,此次攻击产生的核心代码原因在于价格因子pricePerShare通过简单的资产数额占比来动态定价,损失约 1.3 亿美元。 安全月度风险评估:高 月度评价:各种漏洞产生的情况也是各有不同,有矿池功能存在问题、有兑换功能存在问题、甚至有铸币功能存在问题等,但是 Cream Finance 该年度已经多次遭受攻击实属应该做好防护。
Ⅺ:问题多元化
关键词:预言机操控,治理攻击,私钥泄露
以太坊上的 DeFi 协议 VesperFi Fianance 遭遇预言机操控攻击,损失超 300 万美元。 Curve.Finance 遭 Mochi 稳定币 USDM 团队「治理攻击」,损失超 3000 万美元。 DeFi 借贷协议 bZx 在 Polygon 和 BSC 链上的私钥泄露事件已导致超 5500 万美元资产被盗。 安全月度风险评估:高 月度评价:该月份同样问题严重,有传统的预言机安全问题、私钥泄露问题甚至还有着项目方反撸矿工的操作。
Ⅻ:经 典 再 现
关键词:闪电贷,重入
Fantom 链上复合收益平台 GrimFinance 遭遇了闪电贷攻击,攻击者利用 depoistFor 函数不存在 token 校验,通过将 token 地址指向自己的攻击合约实现重入攻击,损失超 3000 万美元。 Definer 遭遇预言机操控攻击,问题在于 OEC 链上对于预言机的实现存在问题,使用了单一流动池在一个时间点的池内代币余额作为价格源从而导致了事故的发生。 安全月度风险评估:中 月度评价:传统的预言机安全问题与重入安全问题,但是杀伤力依旧巨大。
总 结
凡是过去,皆为序章。
2021年,注定是不平凡的一年。对区块链而言,各种新事物不断出现的同时,也产生了诸多的安全问题,同时带来了全新的安全挑战。
在这些种种安全事件中最亮眼的名词当属闪电贷,在上述经典攻击事件中闪电贷工具被使用了数10次。而攻击难度低,收益高的跑路和诈骗也时有发生。每年对于区块链安全所造成的损失也仍在不断增加,并且没有一丝暂缓之势。
在这些攻击中,DeFi 仍是区块链安全的重灾地,由于各种项目方实现的多样性和复用代码造成的理解差异,导致了如此多的经济损失值得每一个人深思。这不是某一个人或者某一个组织的事,而是需要整体行业大众普遍安全意识的提升。
最后,希望大家在新的一年中,以史为鉴,砥砺前行。
|