MoleEdu|安全合规之周-区块链安全

23-03-10 18:41
阅读本文需 23 分钟
总结 AI 总结
看总结 收起
原文标题:《 MoleEdu|安全合规之周-区块链安全 》
原文来源: MoleDAO


图片

01 web3 生态安全态势


1.1 2022 年攻击事件概况


根据「2022 全球 web3 区块链安全态势报告」统计,2022 年的重大攻击事件总计 167 起,总损失 36 亿美元,相比 2021 年,总损失增长了 47%。如下图「2022 季度损失统计图」显示,第一和第四季度的总损失较高。


图片


 1.2 被攻击的项目类型


被攻击的项目类型主要分为:跨链桥、DeFi、中心化交易所、链平台、钱包、NFT。其中 DeFi 主要包含稳定币、交易借贷、资产管理、基础设施和保险等项目。2022 年全年发生了 12 次跨链桥安全事件,损失接近 18.9 亿美元,是所有项目类型中损失最多的。在跨链桥安全事件中,单次损失超过 1 亿美元的有五起,攻击手法包括社会工程学、私钥泄露、链平台或合约漏洞等。


在全年的 167 起主要攻击事件中,被攻击次数最多的是 DeFi,共发生了 113 次,占比达到了 67.6%。DeFi 的总损失排名第二,仅次于跨链桥,接近 9.5 亿美元。与用户相关或涉及用户最广的是交易所和钱包类的安全事件,共发生了 21 起,损失金额达到了 6 亿美元。


图片


1.3 主要攻击手法


攻击手法可归纳为漏洞利用、社会工程学、私钥泄露、闪电贷、价格操控、虚拟机漏洞、交易重放和钓鱼等。其中「漏洞利用」是全年频率最高并且损失最多的一个攻击方式,去年总共发生有 87 起,造成的总损失达到了 14.58 亿美元。其次是社会工程学攻击,去年仅有一起,就是 Ronin 事件,事件造成了 6.24 亿美元的损失。私钥泄露也占了重要比例,总共 19 起泄露事件,损失总计达到了 4.3 亿美元;总共有 8 起单次损失金额超过千万美元。据调查结果,团队成员或离职前团队成员盗取私钥的情况较为普遍,因此提醒项目方要加强团队的安全管理和运营安全;同时在使用第三方工具时进行专业的安全评估。


02 链平台安全


针对链平台的攻击一般分为两类,一种是针对共识层面的攻击,另一种则是网络层面的攻击。在共识层面上,最常见且影响最大的攻击是 51% 算力攻击,这种攻击在链平台上已经发生了很多次。历史上也有很多 51% 攻击的案例,我们可以在下图看到历史上攻击事件的案例。


图片

2.1 51% 算力攻击的原理


在区块链中,目前比较常用的共识算法是 POW 和 POS。比特币一直采用 POW 共识。在这种共识算法中,有两个要注意的点。第一是采用 PoW 共识机制来解决如何获得记账权的问题,第二是采用「最长链共识」解决如何记账的问题。简单来说,如果网络中同时出现了两个版本的区块链,共识算法会促使全网的矿工选择最长的那一条链。「51% 攻击」,其实就是是指攻击者控制全网 50% 以上的算力。


下图展示了攻击是如何发生的:当发生「51% 算力攻击」时,一个恶意的矿工获得了记账权,并打包交易;然而,他可以选择不将交易广播出去,从而导致出现两个版本的区块链。在攻击前,全网矿工认可绿色链作为主链。在攻击后,红色攻击者私自打包了一个区块链,但没有将其广播出去。例如,在第 40 个区块的位置,他花费 100 个比特币购买了一辆汽车。尽管交易得到了大家的共识,但在他私自打包的区块链中并没有记录这个交易。在第 41 个块时,商家已经确认了交易;但攻击者在自己的区块链中没有记录交易。如果他已经控制了超过 51% 的算力,那么他就有更大的机会比其他矿工更快地算出这个区块,并将其添加到链上,就像下图中「攻击后」的情况。因为他拥有更多的算力,所以他出块的概率更高。以至于如果他出的块的比上面的块更多,那么根据最长链的共识,他放出来的这个链就会被当作主链。因为他没有把自己消费的交易打包进去,所以他自己还有 100 个比特币的余额,但事实上,他已经把这辆车开走了,他可以再用这 100 个比特币去购买其他物品。我们也把这种情况称为「双花攻击」。


图片


2.2 其他攻击方式


包括:日蚀攻击、女巫攻击和自私挖矿攻击。


在实际生活中,「女巫攻击」更常见。包括一些恶意的榜单刷票行为,例如一个人可以伪装成多个不同的人去刷票。也包括恶意空投活动,一些人伪装成多个不同的用户或身份,去抢夺空投奖励。有三种规避」女巫攻击「的方法。第一种方式是通过工作量证明身份。第二种可以通过资源检测来找到真实节点与伪造节点之间的差异,以确定是否为女巫节点。第三种是对这些节点进行身份验证,以确保它们可信。


图片


03 智能合约安全


3.1 漏洞利用


代码部署在智能合约上就没有办法修改,因此就吸引了一些攻击者利用合约中的漏洞来获利。也正是因为这样,所以从智能合约里面被盗的资产是没有办法收回的,去追踪也是比较复杂。


「漏洞利用」为全年频率最高、且损失最多的攻击方式。2022 年全年涉及漏洞利用的攻击事件有 87 起,总损失达到了 14.58 亿美元。再按照漏洞类型细分,造成损失最多的前三名分别是验证问题、链平台漏洞和业务逻辑/函数设计不当。


图片

  下图展示了常见的漏洞类别:


图片  

3.2 漏洞利用 - 重入漏洞  


3.2.1 漏洞原理


图片


3.2.2 实现攻击的条件


大多数重入漏洞出现在转账场景中。转账有两种情况:向普通钱包用户的 EOA 账户转账,或向合约账户转账。在合约账户转账的情况下,会默认调用受害者的一个 fallback 函数,如果这个函数包含恶意功能,存在安全隐患。


真正要实现重入攻击,必须具备下图中的两个条件:

图片


 关于「账本的改变在实际转账后」的调用过程,可参照下图代码:  


图片


举例(如下图):攻击者帐户使用 1 个以太币调用 Attacker.beginAttack 函类数将会重复攻击受害者帐户,并将赚取远超其提供以太币的数量。  


图片


3.2.3 漏洞修复建议


1. 使用 transfer() 函数:在可能的情况下,将 ether 发送给外部地址时使用 solidity 内置的 transfer() 函数,transfer() 转账时只发送 2300gas,不足以调用另一份合约 (即重入发送合约)。


2. 检查-生效-交互模式 (checks-effects-interactions):确保状态变量改变发生在 ether 被发送 (或者任何外部调用) 之前,即 Soliditv 官方推荐的「检查-生效-交互」模式。


3. 使用互斥锁:添加一个在代码执行过程中锁定合约的状态变量,防止重入调用。


3.2.4 OrionProtocol 被攻击案件分析


事件背景:2 月 3 日,以太坊和 BSC 链上的 OrionProtocol 合约遭到了重入攻击,攻击者获利 300 万美金。Orion 是一种新型的 DeFi 平台,它围绕着流动性聚合器来连接主要的中心化和去中心化的交易所。


下面几个截图展示了攻击发生的过程;导师详细的讲解请参考课程视频回放(从 24 分 30 秒到 33 分):


图片


图片

图片

图片

图片

图片


3.3 智能合约审计


在 2022 年监测到的 167 次主要攻击事件里,经过审计与未经审计的项目比例分别为 51.5% 和 48.5%。在 86 个经过审计的项目里,仍有 39 次攻击事件 (45%) 源自于漏洞利用。建议项目上线之前一定要寻找专业的安全公司进行审计,才能有效地保障资产安全。


04 智能合约安全 


4.1 钓鱼攻击


根据统计数据,常见的钓鱼攻击分为以下四类:


第一种:伪造官网引诱用户进行转账。


第二种:假空头诱骗用户进行授权。


第三种:诱骗用户去填写助记词。


第四种:虚假的 discord。


钓鱼攻击的入口如下面两张截图,希望大家注意防范。


图片


图片


4.2 私钥安全


私钥安全分「项目方」和「用户」两个类别。


4.2.1 项目方私钥安全


项目方私钥泄露造成的损失一般都是非常大的。下图是几次重大泄露事件总结:


图片


4.2.2 用户私钥安全


1. 钓鱼网站 (诱骗用户填写助记词)


2. 假 App 钱包:利用搜索引擎伪造钱包官网。向受害者发送邮件、海报等,引诱用户下载假钱包。通过社工的方式,首先获取受害者信任,然后再诱骗其下载假 APP 钱包。


3. 木马:这种攻击主要是通过 Discord 邀请用户参与新的游戏项目内测,打着「给予优惠」等幌子,或是通过群内私聊等方式发一个程序让你下载,一旦你在电脑上运行,它会扫描你电脑上的文件,然后筛选包含 Wallet 等关键词的文件上传到攻击者服务器,达到盗取加密货币的目的。


4.3 安全防护措施


4.3.1 钱包安全


用户可通过以下四种措施,来保障自己的钱包安全。


图片


4.3.2 私钥安全


在存储私钥的时候,做到以下三点:


1. 不使用剪贴板保存私钥


2. 助记词不使用云服务保存私钥


3. 助记词警惕供应链攻击


4.3.3 钓鱼防护


避免钓鱼攻击,有以下三种措施:


1. 社交媒体交叉信息验证


2. 使用防钓鱼插件


3. 谨慎点击不明链接


05 金融安全


5.1 Rug Pull 骗局


Rug Pull 骗局是指恶意的项目方在开盘后收集到资金后就立刻跑路的行为。下图是 2022 年月度 Rug Pull 骗局造成的损失金额。


2022 年全年共发生 Rug Pull 事件 243 起,总涉及及金额达到了 4.25 亿美元。243 起 Rug Pull 事件中,涉及金额在千万美元以上的共 8 个项目。210 个项目 (约 86.4%) 跑路金额集中在几千至几十万美元区区间。


图片

以下几点提示,可以帮助大家识别 Rug Pull 骗局:


1. Rug Pull 项目大多无法通过审计,因为要隐藏后门,而审计公司很容易发现。审计公司不会为这样的项目提供合格的审计报告。


2. Rug Pull 项目的社交媒体信息通常不完善,统计显示,至少有一半的 Rug Pull 项目缺乏完善的官网、推特、Telegram 或 Discord 群组。


3. 项目不规范:抄袭其他项目的白皮书,语法错误等等。


4. 蹭热点的项目,这些项目基本上都是在 3 个月内卷到资金后就跑路。



5.2 钞能力攻击


顾名思义,攻击者要有很高的资金储配,不然无法发动攻击。下图是去年去中心化交易平台 Mango 被黑客攻击的过程:


图片


5.3 其他骗局:


5.3.1 老鼠仓


「老鼠仓」是金融行业的一个很常见的民间俗语,指的就是涉嫌内幕交易的行为。基本表现为:在利好消息出来之前,那些掌握内部消息的买家会低价购入大量代币,等利好一兑现就立马砸盘走人。


据相关数据分析,某个加密钱包在币安宣布即将上架 Gnosis 币的前 6 天购买了价值 36 万美元的 Gnosis 币,之后在币安宣布 Gnosis 币即将上线的四分钟后,这个钱包开始抛售 Gnosis 币,净赚了大概 14 万美元,回报率约为 40%。5.3.2「貔貅盘」

「貔貅」是中国古代传说中一种神兽,有嘴无肛,能吞万物 (大多为黄金珠宝) 且不泄,只进不出,所以被形容只能买进而无法卖出的某种数字货币。


原文链接




欢迎加入律动 BlockBeats 官方社群:

Telegram 订阅群:https://t.me/theblockbeats

Telegram 交流群:https://t.me/BlockBeats_App

Twitter 官方账号:https://twitter.com/BlockBeatsAsia

举报 纠错/举报
选择文库
新增文库
取消
完成
新增文库
仅自己可见
公开
保存
纠错/举报
提交