A Survey of DeFi Security: Challenges and Opportunities
本次分享的文章是于2022年预印的一篇综述,第一作者为Wenkai Li。这篇文章第一次系统地分析了DeFi系统层面的安全问题、将所有漏洞进行了分类、把所有系统层面的优化进行了调研,并提出了一些研究方向。
Intro to DeFi
DeFi这一概念最初起源于将CeFi的服务搬运到区块链上的需求,第一个Ethereum上的应用是2014年的MakerDAO。随后,许多借贷、交易所、衍生品和保证金交易的的项目逐渐增多。直到2020年,流动性交易使得Compound之类的交易所成功兴起。后续又逐渐出现了多种产品融合/组合的协议。22年以来,受监管的DeFi(rDeFi)称为了新的趋势。
整体上,DEX的服务在于提供资产卖家和买家的互相交互功能,又具体可以分为两类:中心化的订单撮合系统和自动做市商。前者更像一个普通的交易所,后者则依赖前序建立的资产定价算法。
漏洞分析
数据安全漏洞
Oracle机制缺陷
Oracle的技术缺陷主要集中在三个问题:
1)如何准确地获取数据
2)如何处理数据尽可能减少错误
3)如何将数据上传到链上
密钥管理
DeFi系统中,钱包经常是用密钥来管理的。这些密钥如果管理不当,则可能造成巨大问题。这里列举了九种常用的钱包管理机制:
其中,钱包可分为三类,软件、硬件和纸钱包。其中软件(智能合约)钱包又继续分为六类如上表。
共识缺陷
区块链的共识机制通常认为是非常健壮的,不过在其之上也发生过一些安全事件,这里列举如下表:
这部分,作者分为以下大类:
•交易顺序缺陷:抢跑、三明治攻击等。•分叉缺陷:51%攻击、自私挖矿、无利害关系等。•状态管理缺陷:时间戳溢出、错误条件限制等•其他:块丢弃、DDoS、跳池、日蚀、女巫攻击等
智能合约缺陷
合约缺陷则种类更繁多,也是最为常见的攻击面。
应用层缺陷
这里特指在合约代码缺陷外的,功能设计上的缺陷。因为DeFi协议有一定的一致性,所以很多相关的机制也有相似的问题。
•借贷市场问题:与价格发现机制有关,经常会出现非均衡价格。•加密货币瞬时性:大笔交易经常会使得价格瞬时变化较大,进而引起清算。•设计不完善:如闪电贷。•滥用交易的可见性:所有的交易都是可见的,所以交易所可以选择用户或者进行限制来操纵市场。
攻击事件分析
这部分开始,作者取材真实世界的攻击并进行了分析。
数据层事件
利用泄露的私钥/密钥管理问题
•钓鱼•后门•哈希冲突
利用预言机缺陷
•借入资产•提高目标资产价格•实际获利•还回原资产
分布式DoS
共识层事件
交易排序等问题都属于这一层面。常见的攻击类型:
•三明治攻击•51%攻击•女巫攻击
合约层事件
这一部分在前序paper sharing中涉及较多,这里不再重复。
安全优化
这里开始列举文献中的安全优化。
数据层优化
Oracle
Wallet
网络层优化
共识层优化
合约层优化
检测:
管理:
应用层优化
挑战和未来方向
挑战:
1.不可能三角:安全-去中心化-可扩展性。2.数据安全需要额外保证。3.关键机制还不够健壮。4.功能特性还没有实用化。5.DeFi的账户问题。6.用户不负责任的行为难以管理。7.跨链带来新风险。
未来方向:
1.预言机和外部世界链接的机制还需更新。2.协议安全的开发指导需要建立。3.成熟的侧链技术也需要开发。4.底层安全还没有完全保证。5.有效的多层漏洞检测工具还没有出现。6.对于每个层面动态监管也没有实现。7.最上应用层面的管理和控制还不足。8.去中心化还在模仿中心化的阶段。9.间接攻击目前无法防御。
原文始发于微信公众号(COMPASS Lab):[论文分享] A Survey of DeFi Security: Challenges and Opportunities