2024 第一季度因安全事件造成的总损失达到 4.62 亿美元,本季度币价上涨等因素对总金额的增加有一定的影响,但总体而言,Web3 安全形势不容乐观。
作者:SharkTeam
封面:Photo by Markus Spiske on Unsplash
一、概述
2024 年第一季度因黑客攻击、Rugpull 诈骗、钓鱼攻击等恶意行为,总计造成 4.62 亿美元损失,与 2023 年第一季度(约 3.83 亿美元)同比增长约 18.02%。本报告旨在对全球 2024 年第一季度 Web3 行业安全状况、重大事件、安全趋势进行整理分析,为读者提供有益的信息和新思路,为促进 Web3 的安全、健康发展贡献力量。
二、安全事件分析
根据 SharkTeam 链上安全分析平台 ChainAegis 数据,2024 年第一季度 Web3 领域共发生了 280 起安全事件(如图 1),损失金额累计超过 4.62 亿美元(如图 2),与去年同期相比,安全事件发生频率增加约 32.70%,损失金额增长约 20.65%。
2024 年 Q1 黑客攻击共发生 60 起,同比 2023 年 Q1 增加 140%,损失金额达到 3.85 亿美元,占比为 83%(如图 3),相对 2023 年 Q1(3.62 亿)同比上升 6.35%。
Rug Pull 共发生 127 起,同比 2023 年 Q1(30 起) 激增 323.33%,损失金额却下滑 59.44%,共计 821 万美元,占整个 Q1 损失金额的 2%。
钓鱼攻击在 Q1 总共发生 93 起,同比有所增加,损失金额约 6866 万美元,占比约 15%。
将 Q1 分月来看(如图 5),1 月的损失最为严重,超过 2.50 亿美元,远高于 2 月(7142 万美元)和 3 月(1.40 亿美元)。其中 1 月发生安全事件 88 起,略高于 2 月的 72 起,略低于 3 月的 120 起,可见 1 月单次安全事件的损失金额最高。造成 1 月损失严重的攻击手段是黑客攻击,总共发生 20 起黑客攻击,造成 2.17 亿美元的损失。与此同时,1 月钓鱼攻击也呈现高发状态,总共发生 39 起钓鱼攻击,但损失金额相对最低,共计 2915 万美元。2 月整体安全事件发生频次和损失金额相对 1 月和 3 月均处于较低水平。
2.1 黑客攻击
第一季度共发生黑客攻击 60 起,共计损失金额高达 3.85 亿美元。其中,1 月损失最为严重为 2.17 亿美元。主要原因为 1 月共发生 2 起大额资金损失事件。
(1)2024 年 1 月 1 日,跨链桥项目 Orbit Chain 遭遇了网络攻击,导致价值约 8150 万美元的加密货币被盗。该事件涉及 5 笔独立的交易,每笔交易都指向不同的钱包地址。未经授权的资金流动包括 5000 万美元的稳定币(其中包括 3000 万美元的 USDT,1000 万美元的 DAI 和 1000 万美元的 USDC),价值约 1000 万美元的 231 个 wBTC 和价值约 2150 万美元的 9500 个以太坊。
(2)2024 年 1 月 31 日 Ripple 联合创始人 Chris Larsen 的四个钱包被攻击,共计被盗 2.37 亿枚 XRP,约合 1.125 亿美元。ChainAegis 链上分析显示,被盗资金已通过 MEXC、Gate、Binance、Kraken、OKX、HTX、HitBTC 等进行转移。这是 2024 年迄今为止最大的加密货币盗窃案,也是加密世界迄今为止第 20 大加密货币盗窃案,XRP 的价格在事件发生的 24 小时内下跌约 4.4%。
2.2 Rug Pull & Scams
如下图(图 6)所示,Rugpull & Scam 事件 1 月发生 29 起,之后逐月增加,3 月发生约 63 起;1 月损失约 451 万美元,2 月损失约 149 万美元。根据 ChainAegis 分析,事件发生集中在主流链 Ethereum 和 BNB Chain,BNB Chain 项目 Rug Pull 事件发生频率远高于 Ethereum。
除此之外,2 月 25 日,Blast 生态的 GameFi 项目 RiskOnBlast 发生 Rugpull。据 ChainAegis 分析显示,RiskOnBlast 的地址 0x1EeB963133f657Ed3228d04b8CD9a13280EFC558 在 22 日至 24 日间,共募资 420 枚 ETH,价值约 125 万美元,随后却兑换成 DAI,转移至 ChangeNOW、MEXC、Bybit 等交易所存款地址中套现。
2.3 钓鱼攻击
如下图(图 7)所示, 钓鱼攻击在 1 月发生频率最高共 39 起,造成损失金额约 2915 万美元;2 月发生频率最低共 21 起,造成损失金额约 1134 万美元。SharkTeam 提醒大家,牛市中市场活跃,空投机会也多,但大家要提高警惕,避免被 Angel Drainer、Pink Drainer 等活跃的钓鱼团伙攻击,转账和授权时一定要仔细检查交易信息。
三、典型案例分析
3.1 合约精度计算漏洞与安全建议
2024 年 1 月 30 日,MIM_SPELL 遭受闪电贷攻击,因为精度计算漏洞,损失 650 万美元。被攻击原因是项目方的智能合约在进行借贷变量计算时精度出现了漏洞,使得关键变量 elastic 和 base 值被操纵后比例失衡,导致计算抵押物和借贷数量时出现问题,最终超额借出 MIM 代币。
被攻击合约(0x7259e1520)中 borrow 函数和 repay 函数在对 elastic 和 base 两个变量进行计算时,都采用了向上取整的方式。
攻击者(0x87F58580)首先通过偿还其他用户借款的方式,将 elastic 变量和 base 变量分别设置为了 0 和 97。
随后不断的调用 borrow 函数和 repay 函数并且参数 amount 都为 1,在第一次调用 borrow 函数时,由于 elastic=0,会执行上述 if 逻辑并回到 add 函数中。这样会导致 elastic = 1,base = 98。
攻击者(0x87F58580)再调用 borrow 函数并传入 1,由于 elastic=1, 会执行 else 逻辑,计算出的返回值为 98,这样在回到 add 函数中时,elastic=2,base 变量为 196.
但此时攻击者(0x87F58580)调用 repay 函数并传入 1,由于 elastic=2, 会执行 else 逻辑,计算出的 elastic 变量本来为 1*2/98 =0,但由于下面存在向上取整的步骤,导致计算出的返回值 1,这样在回到 sub 函数中时,elastic 变量又变回 1,而 base 变量为 195。
可以看到在经历一次 borrow-repay 循环后,elastic 变量不变而 base 变量近乎翻倍,利用这一漏洞,黑客频繁进行 borrow-repay 函数循环,最后再调用一次 repay,最终使得 elastic=0 base = 120080183810681886665215049728。
当 elastic 和 Base 变量之间的比例严重失衡后,攻击者(0x87F58580)添加极少量抵押物后即可借出大量 MIM 代币,完成攻击。
3.2 DeGame 被钓鱼攻击事件与 Pink Drainer 诈骗团伙
2024 年 3 月,一名 Web3 用户在不知情的情况下点击了被盗号的 DeGame 官推发布的钓鱼链接并遭受损失。
事后,该用户误以为 DeGame 在此过程中监守自盗所以在推特上公开了这一事件,一众 KOL 和媒体及相当一部分用户在不知情的情况下将此事持续扩散,对 DeGame 的品牌形象和平台口碑造成了很大的影响。
事发后,DeGame 启动了紧急预案,帮助受害用户尝试追回资产,DeGame 钓鱼攻击事件的经过大致如下:
(1)3 月 14 日 4:00 AM 至 9:30 AM 期间,DeGame 官方 X 账号 ( @degame_l2y ) 日发送 4 条空投推文,推文中空投链接为均为仿制 DeGame 官方的钓鱼网站。一名用户反馈,自己点击该空投链接后损失约 57 PufETH;
(2)DeGame 官方推特运营人员在 9:30 AM 之后发现了平台上的钓鱼链接并删除。同时 DeGame 通过官方社媒和社区向全体用户同步这一消息,并发布了提示公告。
(3)受害用户在 DeGame 官方推特账户异常的时间段内,浏览到了钓鱼网站链接及攻击者发布的说明文字,他在不知情的情况下以为该链接确实系 DeGame 官方联合其他项目方举办的代币空投活动,点击链接后按照攻击者预设的提示进行操作,丢失了资产。
(4)用户点击钓鱼网站连接钱包后,网站会自动检测钱包地址中有无资产。若有资产,将直接弹出 Permit Token Approval 交易签名。与常规的交易签名所不同的是,该签名完全不上链,完全匿名,很可能被用于非正当途径。另外用户也不需要事先授权,就能通过附加一个授权签名(Permit)与应用合约交互。
(5)在此次被盗事件中,钓鱼黑客获取到了被盗用户授权给钓鱼合约地址 0xd560b5325d6669aab86f6d42e156133c534cde90 的 Permit Token Approval 交易签名,并在攻击交易中提交 Permit 调用 Approve 获取代币授权后转移被盗资金。
(6)钓鱼工具的提供者为黑客诈骗团伙 Pink Drainer,Pink Drainer 是一款恶意软件即服务(Malware-as-a-Service,MaaS),能够让攻击者快速建立恶意网站,通过该恶意软件获取非法资产。在这笔被盗交易中约有 25% 左右的被盗资金转移到了 PinkDrainer: Wallet 2,即钓鱼团伙 PinkDrainer 的编号 2 钱包地址,系钓鱼实施方在使用钓鱼团伙 PinkDrainer 的钓鱼工具后给 PinkDrainer 的自动分成。
3.3 批量 Rugpull 导致事件数量激增
2024 年 Rugpull 事件数量激增和 RugPull 工厂合约批量创建 Rugpull 代币有很大关系,SharkTeam 安全研究团队对这些 Rugpull 事件进行了详细分析。在分析过程中,我们发现 BNB Chain 上的 Rugpull 工厂合约在过去一个月内已经发起了 70 多次 Rugpull,批量 Rugpull 事件通常具有如下行为特征:
(1)这些代币都是由代币工厂合约进行 createToken 操作创建的。在 createToken 函数中,创建代币时需要传入以下参数:代币名称、代币符号、精度、供应量、代币所有者地址、创建代币对的工厂合约地址以及 BUSD-T 稳定币地址。其中,创建代币对的工厂合约使用了 PancakeSwap 的工厂合约,并且每个代币都有不同的所有者地址。
(2)代币所有者利用其它地址对 Rugpull 代币进行批量买入和卖出操作。在买入和卖出操作下,代币的流动性明显增加,价格也会逐步上涨。
(3)通过钓鱼等方式宣传,诱惑大量用户购买,随着流动性增加,代币价格翻倍。
(4)代币的价格达到一定的数值时,代币所有者进场 sell 操作进行 Rugpull。
这一系列行为背后有一个分工明确的 Web3 诈骗团伙,构成了一个黑色产业链,主要涉及热点搜集、自动发币、自动交易、虚假宣传、钓鱼攻击、Rugpull 收割等环节。所发的 Rugpull 虚假代币都与行业热点事件紧密相关,具有较强的迷惑性和鼓动性。用户需时刻提高警惕,保持理性,避免损失。
四、总结
2024 第一季度因安全事件造成的总损失达到 4.62 亿美元,本季度币价上涨等因素对总金额的增加有一定的影响,但总体而言,Web3 安全形势不容乐观。智能合约逻辑漏洞、Rugpull 黑色产业链、钓鱼攻击等是威胁用户加密资产安全的主要原因,希望 Web3 用户和项目方能尽快提高安全防范意识,减少损失。
免责声明:作为区块链信息平台,本站所发布文章仅代表作者及嘉宾个人观点,与 Web3Caff 立场无关。文章内的信息仅供参考,均不构成任何投资建议及要约,并请您遵守所在国家或地区的相关法律法规。