2022 年,区块链行业迎来新的发展时期,但各类安全风险也在不断升级。成都链安新推出的 《安全研究季报》栏目,将为大家盘点每季度全球区块链安全态势。今天,跟着我们一起来回顾,2022 年 Q1 区块链安全生态都发生了什么。
原用标题:成都链安独家 | 2022 年 Q1 全球区块链安全生态报告,攻击类安全事件造成的损失高达 12 亿美元
封面:Photo by h heyerlein on Unsplash
2022 年 Q1 区块链安全生态概览
安全事件造成的损失高达约 12 亿美元
2022 年第一季度 ,根据成都链安【链必应-区块链安全态势感知平台】监测到的数据统计,攻击类安全事件造成的损失高达约 12 亿美元,较去年同期(2021 年 Q1)的 1.3 亿美元上涨约 9 倍。同时也比 2021 年的任何一个季度损失的金额都要高。
2022 年 3 月,Ronin 攻击事件造成 6.25 亿美元资金被盗,超越 2021 年 8 月 Poly Network 被攻击的 6.1 亿美元,登上 Defi 黑客攻击损失榜第一位。当然,不是每个项目都能像 Poly Network 一样能够追回资金。截止本报告撰写时(4 月),Ronin 的黑客依旧在分批次进行洗钱。
从链平台来看
Ethereum 和 BNB 依旧是被攻击频次最高的两条链,但高攻击频次并不意味着高损失金额。2022 年第一季度,我们监测到 Solana 链典型攻击事件 2 起,损失金额却高达 3 亿 7400 万美元,远远多于 BNB Chain 上的损失。
从资金流向来看
80% 的情况下,黑客都会最终将盗取资金转入 Tornado.Cash 进行混币。有 10% 的情况,黑客会将资金暂时留在自己的地址,有时要等待几个月,甚至几年才对赃款进行转移。有少部分黑客会主动归还盗取资金。
从攻击手法来看
合约漏洞利用和闪电贷攻击是黑客最常使用的手段。50% 的攻击手法为合约漏洞利用。
从审计情况来看
在被攻击的项目中,70% 的项目经过了第三方安全公司的审计。然而在剩余 30% 未经审计的项目中,因攻击事件遭受的损失却占了整个损失金额的 60% 以上。
从项目类型来看
DEFI 项目依旧是黑客攻击的热点领域,占了总共被攻击项目数量的 60%。而跨链桥虽然被攻击的次数不多,但涉及的金额却巨大。
Q1 发生典型攻击事件超 30 起跨链桥类项目损失惨重
2022 年第一季度,区块链领域共发生典型安全事件约 30 起。总损失金额约为 12 亿美元,与去年同期相比增长了 823%。
在前 20 排名里,损失金额最高的 Ronin 为 6.25 亿,约是金额最低的 Build Finance(112 万美元)的 558 倍。
从统计图表可以看到,Ronin 和 Wormhole 两个项目的损失金额达到了 9 亿 5000 万美元,占 2022 年 Q1 总损失金额的 80%。值得注意的是,这两者均为跨链桥类项目。
被攻击项目类型方面
DeFi 仍为黑客攻击的重点领域
2022 年第一季度,区块链领域,DeFi 项目仍为黑客攻击的重点领域,共发生 19 起安全事件,约 60% 的攻击发生在 DeFi 领域。
此外,针对 NFT 的攻击事件在 2022 年第一季度有所上升,跨链桥项目被攻击了 4 次,造成的损失却高达 9 亿 5000 万美元,占到 2022 年一季度损失金额的 80%,跨链桥安全事件频发,涉及金额巨大。
链平台损失金额方面
Ethereum 损失金额占比最高
2022 年第一季度,Ethereum 和 Solana 链上攻击损失金额排名前 2,分别为 6 亿 5448 万和 3 亿 7400 万美元。
Ethereum 被攻击的频次也是最多的,占到了总频次的 45%;排名第二的是 BNB Chain,占比 19%。
Solana 链上的两次攻击事件都造成了巨额损失:Wormhole 损失 3 亿 2600 万美元,Cashio 损失 4800 万美元。两者的攻击手法同为合约漏洞利用。
此外,一些 TVL 排名靠前的公链在 2022 年第一季度未检测到重大安全事件,如:Terra、Avalanche、Tron 等。
攻击手法分析
合约漏洞利用和闪电贷最常见
2022 年第一季度,区块链安全生态领域,约 50% 的攻击方式为合约漏洞利用,24% 的攻击方式为闪电贷。
有 12% 的攻击为私钥泄露、钓鱼攻击和社会工程学攻击。此类攻击源于项目方没有保管好私钥或警惕性不足。
被黑客利用的合约漏洞中,最常见的漏洞为重入漏洞(30%),其次分别为业务逻辑不当(24%)、call 注入攻击(18%)和验证不当或不足(18%);其中绝大部分漏洞都可以通过安全审计尽早发现和修复。
典型安全事件分析
案例一:TreasureDAO 被攻击事件
背景:
3 月 3 日,TreasureDAO NFT 交易市场被曝发现漏洞,导致 100 多个 NFT 被盗。然而在事件发生几小时后,攻击者却开始归还被盗 NFT。
详情:
交易发起者通过合约的 buyItem 函数传入了数值为 0 的_quantity 参数,从而无需费用就能购买 TokenID 为 5490 的 ERC-721 代币。
从代码上来看,合约的 buyItem 函数在传入_quantity 参数后,并没有做代币类型判断,直接将_quantity 与_pricePerItem 相乘计算出了 totalPrice,因此 safeTransferFrom 函数可以在 ERC-20 代币支付数额只有 0 的情况下,调用合约的 buyItem 函数来进行代币购买。
然而在调用 buyItem 函数时,函数只对购买代币类型进行了判断,并没有对代币数量进行非 0 判断,导致 ERC-721 类型的代币可以在无视_quantity 数值的情况下直接购买,从而实现了漏洞攻击。
建议:
本次安全事件主要原因是 ERC-1155 代币和 ERC-721 代币混用导致的逻辑混乱,ERC-721 代币并没有数量的概念,但是合约却使用了数量来计算代币购买价格,最后在代币转账时也没有进行分类讨论。
建议开发者在开发多种代币的销售贩卖合约时,需要根据不同代币的特性来进行不同情况的业务逻辑设计。
扩展阅读:怪事?盗了又归还?TreasureDAO 安全事件分析
案例二:Build Finance 项目遭遇治理攻击
背景:
2 月 15 日,DAO 组织 Build Finance 表示遭遇恶意治理攻击,攻击者通过获得足够多的投票成功了控制其 Token 合约。
详情:
在 2020 年 9 月 4 日的一笔交易中,Build Finance 合约创建者通过 setGovernance 函数将治理权限转移。通过查找内部的 Storage,发现权限转移给了 0x38bce4b 地址。继续跟进 0x38bce4b 地址,发现是一个 Timelock 合约,而合约中可以调用 setGovernance 函数的只有 executeTransaction 函数。
继续跟进发现,在 2021 年 1 月 25 日,0x38bce4b 地址调用 executeTransaction 函数将权限转移到了 0x5a6ebe 地址。2022 年 2 月 11 日,由于投票设置的阈值较低导致提案通过,0x5a6ebe 地址的治理权限变更为了 0xdcc8A38A 地址。在获取到治理权限后,攻击者恶意铸币并耗尽了交易池的流动性。
建议:
DAO 合约应该设置合适的投票阈值,实现真正的去中心化治理,避免很少的投票数量就使得提案通过并成功执行,建议可以参考 openzeppelin 官方提供的治理合约的实现。
扩展阅读:Build Finance 遭遇恶意治理接管,被洗劫一空!
案例三:Ronin6 亿美元盗币案
背景:
3 月 23 日,Sky Mavis 的 Ronin 验证器节点和 Axie DAO 验证器节点遭到破坏,攻击者使用被黑的私钥来伪造假提款,获利约 6.25 亿美元。而 Ronin Network 直到 3 月 29 日才发现自己遭受到了攻击。
详情:
Sky Mavis 的 Ronin 链目前由 9 个验证节点组成。为了识别存款事件或取款事件,需要九个验证者签名中的五个。攻击者设法控制了 Sky Mavis 的四个 Ronin 验证器和一个由 Axie DAO 运行的第三方验证器。此后 Ronin 官方表示,所有证据都表明这次攻击或与社会工程学相关。
建议:
1、注意签名服务器的安全性;
2、签名服务在相关业务下线时,应及时更新策略,关闭对应的服务模块,并且可以考虑弃用对应的签名账户地址;
3、多签验证时,多签服务之间应该逻辑隔离,独立对签名内容进行验证,不能出现部分验证者能够直接请求其它验证者进行签名而不用经过验证的情况;
4、项目方应实时监控项目资金异常情况。
被盗资金流向分析
Tornado.Cash 或为黑客洗钱惯用途径
80% 的情况里,黑客在得手后,会立刻或几天内将盗取资金转入 Tornado.Cash 进行混币。
10% 的情况里,黑客会暂时将赃款留在自己地址,等待几个月至几年才将资金转出。例如去年 12 月被盗的交易所 AscendEX,黑客等到今年 2 月、3 月才开始进行分批次洗钱。而今年 Ronin 的攻击者目前依然在进行频繁的洗钱操作。
有少部分黑客会归还盗取资金。Cashio 的攻击者在盗取 4800 万美元的资金后,公开留言表示将向价值在 10 万美元以下账户进行退还,并声称 “我的目的只是从不需要的人那里拿钱,而不是从需要的人那里拿钱”。
目前 Tornado.cash 依旧为黑客惯用的洗钱途径。
项目审计情况分析
30% 未经审计的项目损失金额占总量的 60%
项目审计情况:
70% 的被攻击项目经过了第三方安全公司的审计;
30% 未审计的项目,损失金额达 7.2 亿美元,占第一季度总损失金额的 60%;
项目上线之前的审计依旧重要。在未审计的项目中,50% 的攻击手法都为合约漏洞利用。因此,尽早审计和及时修复代码漏洞,可以避免上线后项目被攻击造成的严重损失。
2022 年 Q1 结语
安全事件频发,涉及金额大幅增加
2022 年第一季度 ,区块链领域攻击类安全事件造成的损失高达约 12 亿美元,比 2021 年的任何一个季度损失的金额都要高。跨链桥项目被盗取金额巨大,DeFi 项目被攻击频次最高,这两个领域今后或许也是黑客重点盯上的攻击目标。
项目方应及时关注资金异常情况,成都链安 【链必应-区块链安全态势感知平台】可以让项目方和用户及时发现风险交易,从而快速采取措施。例如立刻暂停相关服务,或告知用户取消授权等,避免后续更大的损失。
项目安全审计依旧重要,约 50% 的攻击方式为合约漏洞利用,这其中绝大多数漏洞都可以通过安全审计及早发现和修复。
免责声明:作为区块链信息平台,本站所发布文章仅代表作者及嘉宾个人观点,与 Web3Caff 立场无关。本文内容仅用于信息分享,均不构成任何投资建议及要约,并请您遵守所在国家或地区的相关法律法规。