2022年,区块链行业迎来新的发展时期,但各类安全风险也在不断升级。

成都链安新推出的《安全研究季报》栏目,将为大家盘点每季度全球区块链安全态势。

今天,跟着我们一起来回顾,2022年Q1区块链安全生态都发生了什么。

ONE,

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的黑客依旧在分批次进行洗钱。

扩展阅读:

超6亿美元资金被盗!Ronin跨链桥被攻击事件简析

成都链安关于Poly Network被攻击事件全解析

从链平台来看

Ethereum和BNB依旧是被攻击频次最高的两条链,但高攻击频次并不意味着高损失金额。2022年第一季度,我们监测到Solana链典型攻击事件2起,损失金额却高达3亿7400万美元,远远多于BNB Chain上的损失。

从资金流向来看

80%的情况下,黑客都会最终将盗取资金转入Tornado.Cash进行混币。有10%的情况,黑客会将资金暂时留在自己的地址,有时要等待几个月,甚至几年才对赃款进行转移。有少部分黑客会主动归还盗取资金。

从攻击手法来看

合约漏洞利用和闪电贷攻击是黑客最常使用的手段。50%的攻击手法为合约漏洞利用。

从审计情况来看

在被攻击的项目中,70%的项目经过了第三方安全公司的审计。然而在剩余30%未经审计的项目中,因攻击事件遭受的损失却占了整个损失金额的60%以上。

从项目类型来看

DEFI项目依旧是黑客攻击的热点领域,占了总共被攻击项目数量的60%。而跨链桥虽然被攻击的次数不多,但涉及的金额却巨大。

TWO,

Q1发生典型攻击事件超30起

跨链桥类项目损失惨重

2022 年第一季度,区块链领域共发生典型安全事件约30起。总损失金额约为12亿美元,与去年同期相比增长了823%。

在前20排名里,损失金额最高的Ronin为6.25亿,约是金额最低的Build Finance(112万美元)的558倍。

从统计图表可以看到,Ronin和Wormhole两个项目的损失金额达到了9亿5000万美元,占2022年Q1总损失金额的80%。值得注意的是,这两者均为跨链桥类项目。

THREE,

被攻击项目类型方面

DeFi仍为黑客攻击的重点领域

2022 年第一季度,区块链领域,DeFi项目仍为黑客攻击的重点领域,共发生19起安全事件,约60%的攻击发生在DeFi领域。

此外,针对NFT的攻击事件在2022年第一季度有所上升,跨链桥项目被攻击了4次,造成的损失却高达9亿5000万美元,占到2022年一季度损失金额的80%,跨链桥安全事件频发,涉及金额巨大。

FOUR,

链平台损失金额方面

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等。

FIVE,

攻击手法分析

合约漏洞利用和闪电贷最常见

2022 年第一季度,区块链安全生态领域,约50%的攻击方式为合约漏洞利用,24%的攻击方式为闪电贷。

有12%的攻击为私钥泄露、钓鱼攻击和社会工程学攻击。此类攻击源于项目方没有保管好私钥或警惕性不足。

被黑客利用的合约漏洞中,最常见的漏洞为重入漏洞(30%),其次分别为业务逻辑不当(24%)、call注入攻击(18%)和验证不当或不足(18%);其中绝大部分漏洞都可以通过安全审计尽早发现和修复。

SIX,

典型安全事件分析

案例一:TreasureDAO被攻击事件

背景:

3月3日,TreasureDAO NFT 交易市场被曝发现漏洞,导致100多个NFT被盗。然而在事件发生几小时后,攻击者却开始归还被盗NFT。

详情:

交易发起者通过合约的buyItem函数传入了数值为0的_quantity参数,从而无需费用就能购买TokenID为5490的ERC-721代币。

项目合约的 buyItem 函数代码

从代码上来看,合约的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函数。

Build Finance被攻击流程

继续跟进发现,在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 官方表示,所有证据都表明这次攻击或与社会工程学相关。

Ronin黑客洗钱过程(更新至3月30日)

建议:

1、注意签名服务器的安全性;

2、签名服务在相关业务下线时,应及时更新策略,关闭对应的服务模块,并且可以考虑弃用对应的签名账户地址;

3、多签验证时,多签服务之间应该逻辑隔离,独立对签名内容进行验证,不能出现部分验证者能够直接请求其它验证者进行签名而不用经过验证的情况;

4、项目方应实时监控项目资金异常情况。

SEVEN,

被盗资金流向分析

Tornado.Cash或为黑客洗钱惯用途径

80%的情况里,黑客在得手后,会立刻或几天内将盗取资金转入Tornado.Cash进行混币。

10%的情况里,黑客会暂时将赃款留在自己地址,等待几个月至几年才将资金转出。例如去年12月被盗的交易所AscendEX,黑客等到今年2月、3月才开始进行分批次洗钱。而今年Ronin的攻击者目前依然在进行频繁的洗钱操作。

有少部分黑客会归还盗取资金。Cashio的攻击者在盗取4800万美元的资金后,公开留言表示将向价值在10万美元以下账户进行退还,并声称“我的目的只是从不需要的人那里拿钱,而不是从需要的人那里拿钱”。

目前Tornado.cash依旧为黑客惯用的洗钱途径。

EIGHT,

项目审计情况分析

30%未经审计的项目损失金额占总量的60%

项目审计情况:

70%的被攻击项目经过了第三方安全公司的审计;

30%未审计的项目,损失金额达7.2亿美元,占第一季度总损失金额的60%;

项目上线之前的审计依旧重要。在未审计的项目中,50%的攻击手法都为合约漏洞利用。因此,尽早审计和及时修复代码漏洞,可以避免上线后项目被攻击造成的严重损失。

项目审计情况及总损失金额

NINE,

2022年Q1结语

安全事件频发,涉及金额大幅增加

2022年第一季度 ,区块链领域攻击类安全事件造成的损失高达约12亿美元,比2021年的任何一个季度损失的金额都要高。跨链桥项目被盗取金额巨大,DeFi项目被攻击频次最高,这两个领域今后或许也是黑客重点盯上的攻击目标。

项目方应及时关注资金异常情况,成都链安【链必应-区块链安全态势感知平台】可以让项目方和用户及时发现风险交易,从而快速采取措施。例如立刻暂停相关服务,或告知用户取消授权等,避免后续更大的损失。

项目安全审计依旧重要,约50%的攻击方式为合约漏洞利用,这其中绝大多数漏洞都可以通过安全审计及早发现和修复。