本文为 Coinlive & SlowMist 原创年度盘点文章,转载请注明出处。
(2022 年安全事件统计)
其中各生态 DeFi、跨链桥、NFT 等安全事件 245 起,交易所安全事件 10 起,公链安全事件 11 起,钱包安全事件 5 起,其他类型安全事件 24 起。
从时间上来看,5月和10月攻击事件数量最高,达到38件。3月损失金额最高,达到约7亿美元。
一、区块链生态安全概览
公链
公链是 Web3 领域最重要的基础设施,也是行业中竞争最激烈的赛道之一。而 2022 年最令人讶异的莫过于 Terra 事件了。5 月 8 日,加密货币市场上出现了史上最具破坏性的一次崩盘。Terra 网络的算法稳定币 UST 出现了 2.85 亿美元的巨额抛售,引发了一系列连锁反应。Terra 的原生代币 LUNA 的价格突然毫无征兆的连续跳崖式暴跌,一天时间,Luna 市值蒸发了近 400 亿美元,全生态项目 TVL 也几乎归零。此次事件或许成为了开启 2022 加密寒冬的死亡按钮。
DeFi / 跨链桥
据 DeFi Llama 数据显示,截止 12 月底,DeFi 总锁仓价值约为 398 亿美元,同比巨降75%。Ethereum 以占比整个 DeFi TVL 的 58.5%(233 亿美元)占据主导地位,紧随其后的是 TRON,TVL 为 43 亿美元,BNB Chain ( BNB ) 为 42 亿美元。有趣的是,2022 年 5 月,Ethereum 的TVL 在 DeFi 中的占比减少了 35% ,而TRON 的 TVL 占比增长了 47%。
根据 SlowMist Hacked 统计,2022 年 BNBChian 上发生安全事件约 90 起,总损失金额约 7.85 亿美元,居各链平台损失金额第一位。而 Ethereum 上发生安全事件约 50 起,总损失金额约 5.28 亿美元,其次是 Solana 上发生安全事件约 11 起,总损失金额约 1.96 亿美元。
据 Dune Analytics的数据,以太坊跨链桥的锁定总价值(TVL)约 83.9 亿美元,对比上半年降低了约 31%。目前 TVL 最高的是 Polygon Bridges(30 亿美元),排名第二的是 Arbitrum Bridges(12.8 亿美 元),随后是 Optimism Bridges(8.5 亿美元)。跨链桥允许用户将加密资产从一条链转移到另一条链,主要解决多链扩展问题。然而,跨链桥智能合约中的大量资金加上缺少安全审计,引来了黑客的目光。
根据 SlowMist Hacked 统计,2022 年跨链桥安全事件共 15 起,损失高达 12.1 亿美元,占比2022年总损失的 32.45%。
总而言之,对项目方来说,想要尽可能的消除漏洞、降低安全风险,就必须做出有效的努力——在项目上线之前,对其进行全面深入的安全审计。同时,建议各项目方通过引入多签机制来加大资产保护的力度。另一方面,各项目在进行协议间交互或移植其他协议的代码时,需充分了解移植协议的架构以及自己项目的架构设计,做好协议之间的兼容性,防止资金损失情况的发生。对用户来说,随着区块链领域的玩法愈发多样化,用户在进行投资前认真了解项目背景,查看该项目是否有开源、是否经过审计,在参与项目时需要提高警惕,注意项目风险。
NFT
NFT 在 2022 年表现极为抢眼,据 NFTScan 数据显示,在以太坊上的 NFT 全年交易次数达 1.98 亿次,明显高于 2020 年和 2021 年。而在 BNBChain 上的 NFT 全年交易次数达 3.45 亿次,在 BNBChain 上的 NFT 全年交易次数达 7.93 亿次。
另一方面,根据 SlowMist Hacked 不完全统计,2022 年 NFT 赛道安全事件约 56 起,损失超 6543 万美元,其中大部分是由钓鱼攻击导致,占比约为 40%(22 起),其次是 Rug Pull,占比约为 21%(12 起)。
钱包 / 交易平台
2 月 8 日,美国司法部(DOJ)发布公告称,已经查获了价值 36 亿美元的比特币,这些比特币与 2016 年加密货币交易所 Bitfinex 的黑客事件有关。34 岁的 Ilya Lichtenstein 和其 31 岁的妻子 Heather Morgan 在纽约被捕,两人被指控共谋洗钱和诈骗罪。这也是美国司法部有史以来最大规模的金融扣押。
11月6日,币安创始人CZ发推称决定清算账面上所有剩余的FTT,由此引发两大交易所之间的对峙。尽管Alameda CEO和FTX CEO SBF接连发推试图稳固用户信心并辟谣此前曝光的消息,但还是引发FTX 在流动性枯竭后迅速破产。最终,FTX暴雷,SBF被捕。中心化交易所的不透明再度引发人们的信任危机,缺乏审慎监管的问题越发凸显。无论是对消费者更严格的保护,还是对机构更明确的规则,监管的脚步都将愈发清晰。
在 FTX 暴雷后,硬件钱包的销量大幅增长,用户量最多的钱包 MetaMask 月活用户达 3000 万。根据 Finbold 数据显示,基于排名前 21 个加密货币存储 APP 应用,在 2022 年 1 月至 2022 年 10 月期间,Android 和 iOS 设备上的加密钱包下载量已经达到约 1.0206 亿次。虽然这个数字低于 2021 年牛市期间的 1.7785 亿次下载量,但比除 2021 年之外的任何一年都高。按月细分数据显示,加密钱包下载量年初呈下降趋势,但在 Terra/Luna 崩溃以及 FTX 暴雷后均出现较大幅度增长。
其他
区块链技术不可逆、匿名性特征在有效保护隐私的同时,也为网络犯罪提供了“保护伞”。随着元宇宙、NFT 等概念受到热捧,加密货币盗窃事件、欺诈事件时有发生,很多不法分子打着区块链旗号发行所谓的虚拟资产,实施诈骗,黑灰产的先进与专业度已经远超想象。
据中国人民银行支付结算司数据,2021年涉诈款项的支付方式中,利用加密货币进行支付仅次于银行转账,排名第二位,高达 7.5 亿美元;而 2020 年、2019 年仅为 1.3、0.3 亿美元,逐年大幅 增长的趋势明显。值得关注的是,加密货币转账在“杀猪盘”诈骗中增长迅速。2021 年“杀猪盘”诈骗 资金中 1.39 亿美元使用加密货币支付,是 2020 年的 5 倍、2019 年的 25 倍。
根据美国联邦贸易委员会(FTC)发布的一份报告,在自2021年年初以来的一年多时间里,已有超过4.6万人报告自己遭遇了加密货币骗局,损失总额超过10亿美元。根据报告,最常见的加密货币骗局类型是投资相关欺诈,在总金额10亿美元中占5.75亿美元,最常向诈骗者支付的加密货币包括 BTC(70%)、USDT(10%)和ETH(9%)。
二、攻击手法
295 起安全事件中,攻击手法主要分为三类:由项目自身设计缺陷和各种合约漏洞引起的攻击;包含 Rug Pull、钓鱼、Scam 类型的手法;由私钥泄露引起的资产损失。
2022 年最常见的攻击手法是由项目自身设计缺陷和各种合约漏洞引起,约 92 起,造成损失 10.6 亿美元,占总数量的40.5%。其中较为主要的是利用闪电贷引起的攻击,约 19 起,造成损失 6133 万美元,其他包括重入问题、价格操纵、验证问题等等。
因私钥被盗引起的资产损失发生率约为 6%,损失金额却达到 7.46 亿美元,仅次于合约漏洞利用,因私钥被盗的事件中,损失最大的来自Ronin事件,其次是Harmony,都是来自跨链桥。
在 Web3 世界,用户的安全意识往往是参差不齐,这也导致了针对用户的钓鱼攻击花样多多且频繁发生。例如,攻击者利用恶意手段将各项目的官方媒体平台(如 Discord、Twitter)占为己有或者伪造官方媒体号并发布钓鱼Mint、AirDrop链接,还时不时转发真正的官方号内容来混肴视听。例如,利用搜索引擎上的广告宣传虚假网站或者与官方域名高度相似的域名及内容来以假乱真;例如通过伪造的邮件、吸引人的赠品活动来引你入局;又例如利用新用户信息差提供假APP下载链接。无论如何,提高安全意识才是最必要的,同时,一旦发现自己中招,第一时间转移资产,及时止损并保留证据,必要时寻求业内安全机构的帮助。
其次,最令人憎恶的则是 Rug Pull。Rug Pull通常指项目的开发者放弃项目,带着资金逃跑,更多是项目方主动作恶。它可以以多种方式发生:比如当开发者启动初始流动性,推高价格,然后撤回流动性项目方先创建一个加密项目,通过各种营销手段吸引加密用户投资,并在合适的时机毫无征兆地卷走用户投资的资金,抛售加密资产,最终销声匿迹,投资该项目的用户也将蒙受巨大损失。再比如推出一个网站,但在吸引了数十万存款后关闭。2022 年 RugPull 事件达到起,损失约美元,常发生于BSC生态。
2022年其他较为新型的手法为前端恶意攻击、DNS攻击以及BGP劫持;最为奇葩的则是人为配置操作失误导致的资产损失。
三、钓鱼/骗局手法
此节只选取部分 SlowMist 曾披露过的钓鱼/骗局手法。
浏览器恶意书签盗取 Discord Token
现在的浏览器都有自带的书签管理器,在提供便利的同时却也容易被攻击者利用。通过精心构造恶意的钓鱼页面可以让你收藏的书签中插入一段 JavaScript 代码,有了这个几乎可以做任何事情,包括通过 Discord 封装好的 webpackChunkdiscord_app 前端包进行信息获取。当 Discord 用户点击时,恶意 JavaScript 代码就会在用户所在的 Discord 域内执行,盗取 Discord Token,攻击者获得项目方的 Discord Token 后就可以直接自动化接管项目方的 Discord 账户相关权限。攻击者拿到了 Token 等同于登录了 Discord 账号,可以做登录 Discord 的任何同等操作,比如建立一个 Discord webhook 机器人,在频道里发布公告等虚假消息进行钓鱼。下面是演示受害者点击了钓鱼的书签:
下面是演示攻击者编写的 JavaScript 代码获取 Token 等个人信息后,通过 Discord Server 的 webhook 接收到。
可以看到,在用户登录 Web 端 Discord 的前提下,假设受害者在钓鱼页面的指引下添加了恶意书签,在 Discord Web 端登录时,点击了该书签,触发恶意代码,受害者的 Token 等个人信息便会通过攻击者设置好的 Discord webhook 发送到攻击者的频道上。
“零元购” NFT 钓鱼
例如下图钓鱼网站,签名内容为
Maker:用户地址
Taker:0xde6135b63decc47d5a5d47834a7dd241fe61945a
Exchange:0x7f268357A8c2552623316e2562D90e642bB538E5(OpenSea V2 合约地址)
这是一种较为常见的 NFT 钓鱼方式,即骗子能够以 0 ETH(或任何代币)购买你所有授权的 NFT。也就是说,这是欺骗用户签名 NFT 的销售订单,NFT 是由用户持有的,一旦用户签名了此订单,骗子就可以直接通过 OpenSea 购买用户的 NFT,但是购买的价格由骗子决定,也就是说骗子不花费任何资金就能“买”走用户的 NFT。
此外,签名本身是为攻击者存储的,不能通过 Revoke.Cash 或 Etherscan 等网站取消授权来废弃签名的有效性,但可以取消你之前的挂单授权,这样也能从根源上避免这种钓鱼风险。
Redline Stealer 木马盗币
这种攻击主要是通过 Discord 邀请用户参与新的游戏项目内测,打着“给予优惠”等幌子,或是通过群内私聊等方式发一个程序让你下载,一般是发送压缩包,解压出来是一个大概 800 M 左右的 exe 文件,一旦你在电脑上运行,它会扫描你电脑上的文件,然后过滤包含 Wallet 等关键词的文件上传到攻击者服务器,达到盗取加密货币的目的。
RedLine Stealer 是一种恶意木马软件,2020 年 3 月被发现,在地下论坛上单独出售。该恶意软件从浏览器中收集保存的凭据、自动完成数据和信用卡等信息。在目标机器上运行时,会搜集如用户名、位置数据、硬件配置和已安装的安全软件等详细信息。 新版本的 RedLine 增加了窃取加密货币的能力,能够自动扫描本地计算机已安装的数字货币钱包信息,并上传到远端控制机。该恶意软件具有上传和下载文件、执行命令以及定期发回有关受感染计算机的信息的能力。常常针对加密货币钱包目录、钱包文件进行扫描:
空白支票 eth_sign 钓鱼
连接钱包后并点击 Claim 后,弹出一个签名申请框,同时 MetaMask 显示了一个红色提醒警告,而光从这个弹窗上无法辨别要求签名的到底是什么内容。其实这是一种非常危险的签名类型,基本上就是以太坊的“空白支票”。通过这个钓鱼,骗子可以使用您的私钥签署任何交易。
这种 eth_sign 方法可以对任意哈希进行签名,那么自然可以对我们签名后的 bytes32 数据进行签名。因此攻击者只需要在我们连接 DApp 后获取我们的地址对我们账户进行分析查询,即可构造出任意数据(如:native 代币转账,合约调用)让我们通过 eth_sign 进行签名。
除此之外,还有一种钓鱼:在你拒绝上述的 sign 后,它会在你的 MetaMask 自动显示另一个签名框,趁你没注意就骗到你的签名。而看看签名内容,使用了 SetApprovalForAll 方法,同时 Approved asset 的目标显示为 All of your NFT,也就是说,一旦你签名,骗子就可以毫无节制地盗走你的所有 NFT。
这种钓鱼方式对用户会有很强的迷惑性,以往我们碰到的授权类钓鱼在 MetaMask 会给我直观的展示出攻击者所要我们签名的数据。而当攻击者使用 eth_sign 方法让用户签名时,MetaMask 展示的只是一串 bytes32 的哈希。
尾号相同 + TransferFrom 零转账骗局
用户的地址转账记录中不断出现陌生地址转账 0 USDT,而这笔交易均是通过调用 TransferFrom 函数完成的。究其原因主要是代币合约的 TransferFrom 函数未强制要求授权转账数额必须大于 0,因此可以从任意用户账户向未授权的账户发起转账 0 的交易而不会失败。恶意攻击者利用此条件不断地对链上活跃用户发起 TransferFrom 操作,以触发转账事件。
除了0USDT转账骚扰,还伴随着攻击者针对交易规模较大频率较高的用户不断空投小额数量的 Token(例如 0.01 USDT 或 0.001 USDT 等),攻击者地址尾数和用户地址尾数几乎一样,通常为后几位,用户去复制历史转账记录中的地址时一不小心就复制错,导致资产损失。
以上只是举例了一些常见的攻击手法和场景,实际上道高一尺魔高一丈,黑客的攻击手法永远都在推陈出新,我们能做的就是不断提高自己的见识。
对于个人用户来说,遵守以下安全法则及原则,可以避免大部分风险:
两大安全法则:
● 零信任。简单来说就是保持怀疑,而且是始终保持怀疑。
● 持续验证。你要相信,你就必须有能力去验证你怀疑的点,并把这种能力养成习惯。
安全原则:
● 网络上的知识,凡事都参考至少两个来源的信息,彼此佐证,始终保持怀疑。
● 做好隔离,也就是鸡蛋不要放在一个篮子里。
● 对于存有重要资产的钱包,不做轻易更新,够用就好。
● 所见即所签。即你看到的内容就是你预期要签名的内容,当你签名发出去后,结果就应该是你预期的,绝不是事后拍断大腿的。
● 重视系统安全更新,有安全更新就立即行动。
● 不乱下程序。
在此,十分推荐阅读并掌握 《区块链黑暗森林自救手册》 。